CLI

The ENSEMBLE API as ensemble <noun> <verb>. Generated from the same OpenAPI document as the MCP server, so one vocabulary reaches the shell, the agent and the code.

zsh: ensemblestdout: json · logs: stderr
# Build a model from natural language
$ npx ensemble.marketsmodels create "Hold SPY when its 50-day average is above its 200-day"
{
"id": "m-9f2c...",
"status": "building"
}
# Run it at other inputs; waits for the result
$ensemble models run m-9f2c --set lookback=100 --label "fast"
# Read the live history as a table
$ ensemble models history m-9f2c --include metrics -o table
$ ensemble schema # the whole command tree as JSON

How it works

Install

npx ensemble.markets, or install globally from npm.

Run

ensemble <noun> <verb>: models, simulations, analyses, runs, assets. JSON on stdout.

Automate

Scripts, CI, or coding agents. Logs go to stderr.

Commands

models
list get create update delete rebuild run runs builds history script
simulations
list get create update delete rebuild run runs builds script
analyses
list get create update delete rebuild run runs builds script
runs
get update delete compare promote
assets
list get history
backfills
list set delete
optimizers
list get create update delete allocate
builds · webhooks · account · feedback · schema

Specification

Package
npm i -g ensemble.markets · or npx ensemble.markets
Output
JSON when piped, a table at a TTY · -o json|table, --fields, -q
Arguments
Path params are positionals · query and body fields are --kebab-case flags · --set k=v fills inputs
Agent-native
ensemble schema for discovery · --stdin for a JSON body · --dry-run prints the request
Runs
run and promote wait by default · --no-wait returns the queued run
Errors
The API's own {error: {type, code, message}} on stderr · exit 2 for credentials, 3 for a refused delete
Authentication
ENSEMBLE_API_KEY environment variable or --api-key
Feedback
ensemble feedback <message> · ensemble feedback get <id> · ensemble feedback list