Allocation infrastructure.
In your application.
REST APIResearch 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.