curl.
Use it for:
- Automating company creation and teardown
- Wiring Company Agents into an existing CI/CD pipeline
- Building a custom dashboard or CLI
- Pulling metrics into your observability stack
Where the API lives
On a desktop install, the orchestrator serves the API at:3101; the API is on 3100. The two
are separate ports so you can expose the API without exposing
the dashboard or vice versa.
On a Docker install, the API is on the orchestrator container:
Versioning
All endpoints live under/v1/:
/v1/ prefix is a commitment: additive changes are allowed
inside a version, breaking changes bump the version. Deprecations
stay available for at least six months before removal.
Authentication
Every request needs an API token in theAuthorization header:
Response shape
Every response is JSON with a consistent envelope:Your first request
Rate limits
The API has per-token rate limits:- Reads: 600 requests per minute
- Writes: 120 requests per minute
- Costly operations (exports, audit pulls, backups): 10 per minute
429 with a Retry-After header.
Back off and retry; do not hammer.
Webhooks
Every meaningful event can also be pushed to you via webhooks. Configure webhook endpoints at Dashboard → Settings → Webhooks and you get a POST for every task state change, approval request, budget breach, and audit event. Webhooks are the right choice when you want to react to events rather than poll. See the per-resource pages for which events each resource emits.Per-resource pages
The rest of this section has a page per top-level resource:- Authentication — tokens, scopes, rotation
- Companies — CRUD on companies
- Agents — hire, pause, retire, update
- Issues — tasks (called “issues” in the API for Paperclip compatibility), their state machine, and bulk operations
- Approvals — list, approve, deny, comment
- Goals and projects — the planning layer on top of tasks
- Costs — cost roll-ups and exports
- Secrets — read-only metadata on the encrypted store
- Activity — activity log search and export
- Dashboard — the read-only aggregated view the UI uses