Skip to content

Allocation infrastructure.
In your application.

REST API

Research assets, maintain models and retrieve allocation outputs through a documented REST API. Build the workflow your systems need around the same persistent resources.

Read a model’s latest allocation
# Replace MODEL_ID with a model you can access
curl "https://api.ensemble.markets/v1/models/MODEL_ID/history?include=latest" \
  -H "Authorization: Bearer YOUR_API_KEY"

Work with resources that last.

Assets + backfills
Discover the catalog, inspect history and manage explicit history extensions.
Models
Validate supplied scripts, build from prompts or code, inspect history and run at new inputs.
Builds + runs
Inspect execution records, compare model results and promote eligible runs.
Optimizers
Store allocation logic and use it across models.
Integrations
Manage credentials and account usage; use webhooks on Business.

One contract across the platform.

The canonical /v1 surface provides typed request and response schemas. Generated interfaces keep the TypeScript client, CLI and MCP vocabulary aligned with the API.

Explore before building
curl "https://api.ensemble.markets/v1/openapi.json"

# Read the supported catalog
curl "https://api.ensemble.markets/v1/assets?q=VTI" \
  -H "Authorization: Bearer YOUR_API_KEY"

Explicit execution. Inspectable outcomes.

Authentication
Use an ENSEMBLE API key as a bearer token. Keep it server-side.
Long-running work
Builds and runs expose lifecycle state. Use the documented wait option where available, or poll the resource.
Lists + errors
Paginated data/total responses and a consistent error envelope.
Usage
Reads are free. Builds and runs incur metered usage, subject to plan capabilities and spending caps.
Create an API keyOpen the API reference