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.
| Server | Use |
|---|---|
https://mitosislabs.ai | Production |
https://dev.mitosislabs.ai | Sandbox / 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
| Response | Meaning |
|---|---|
200 | Index of the API |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/status
Platform status
| Parameter | In | Type | Required |
|---|---|---|---|
serviceNarrow the services array to the named service | query | string | no |
| Response | Meaning |
|---|---|
200 | Current platform status |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/pricing
Current plans, credit allowances, and metered rates
| Parameter | In | Type | Required |
|---|---|---|---|
planNarrow the payload to one plan by slug (404 problem+json on unknown slug) | query | string | no |
| Response | Meaning |
|---|---|
200 | Pricing for all plans and add-ons |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/skills
List published agent skills (paginated)
| Parameter | In | Type | Required |
|---|---|---|---|
limitPage size (default 20, max 100) | query | integer | no |
cursorOpaque pagination cursor from a previous response’s `nextCursor`. Preferred over offset. | query | string | no |
offsetItems to skip (legacy alternative to cursor) | query | integer | no |
| Response | Meaning |
|---|---|
200 | Paginated skill list |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/search
Search docs and product pages
| Parameter | In | Type | Required |
|---|---|---|---|
qSearch query | query | string | yes |
limit | query | integer | no |
| Response | Meaning |
|---|---|
200 | Ranked results |
400 | Malformed request |
404 | Not found |
429 | Rate 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.
| Parameter | In | Type | Required |
|---|---|---|---|
Idempotency-KeyUnique key. Replays return the original job with Idempotency-Replayed: true | header | string | no |
| Response | Meaning |
|---|---|
202 | Job accepted |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/jobs/{id}
Poll an async job
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string | yes |
| Response | Meaning |
|---|---|
200 | Job state (poll until status=completed) |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
POST/api/v1/batch
Execute up to 20 GET requests in one call
| Response | Meaning |
|---|---|
200 | Per-request results in input order |
400 | Malformed request |
404 | Not found |
429 | Rate limit exceeded. Retry after X-RateLimit-Reset seconds |
GET/api/v1/me
Current account (requires bearer auth)
| Response | Meaning |
|---|---|
200 | Authenticated account profile |
401 | Missing/invalid credentials. Carries WWW-Authenticate with RFC 9728 resource_metadata pointing at /.well-known/oauth-protected-resource. |