Mitosis Labs

API reference

REST API reference

Every operation in the public API at /api/v1, generated from the OpenAPI spec.

The public API is small on purpose: nine read-oriented operations under /api/v1, none of which need a credential. Errors are RFC 9457 application/problem+json, responses carry rate-limit headers, and writes accept an Idempotency-Key.

The reference below is generated from /openapi.json, the same document the site serves, so the two cannot disagree. Point a code generator or a function- calling agent at the spec directly rather than at this page.

ServerUse
https://mitosislabs.aiProduction
https://dev.mitosislabs.aiSandbox / test environment (disposable data, no billing side effects). GET /api/v1 on this host returns "environment": "sandbox".

GET/api/v1

API index: entry point with links to every resource

ResponseMeaning
200Index of the API
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

GET/api/v1/status

Platform status

ParameterInTypeRequired
service
Narrow the services array to the named service
querystringno
ResponseMeaning
200Current platform status
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

GET/api/v1/pricing

Current plans, credit allowances, and metered rates

ParameterInTypeRequired
plan
Narrow the payload to one plan by slug (404 problem+json on unknown slug)
querystringno
ResponseMeaning
200Pricing for all plans and add-ons
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

GET/api/v1/skills

List published agent skills (paginated)

ParameterInTypeRequired
limit
Page size (default 20, max 100)
queryintegerno
cursor
Opaque pagination cursor from a previous response’s `nextCursor`. Preferred over offset.
querystringno
offset
Items to skip (legacy alternative to cursor)
queryintegerno
ResponseMeaning
200Paginated skill list
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

POST/api/v1/jobs

Start an async job (returns 202 + poll URL)

Async-job pattern: POST returns 202 Accepted with a Location header; poll GET /api/v1/jobs/{id} until status is `completed`. Supports Idempotency-Key.

ParameterInTypeRequired
Idempotency-Key
Unique key. Replays return the original job with Idempotency-Replayed: true
headerstringno
ResponseMeaning
202Job accepted
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

GET/api/v1/jobs/{id}

Poll an async job

ParameterInTypeRequired
idpathstringyes
ResponseMeaning
200Job state (poll until status=completed)
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

POST/api/v1/batch

Execute up to 20 GET requests in one call

ResponseMeaning
200Per-request results in input order
400Malformed request
404Not found
429Rate limit exceeded. Retry after X-RateLimit-Reset seconds

GET/api/v1/me

Current account (requires bearer auth)

ResponseMeaning
200Authenticated account profile
401Missing/invalid credentials. Carries WWW-Authenticate with RFC 9728 resource_metadata pointing at /.well-known/oauth-protected-resource.