Endpoint index
Find the guide, authentication, protocol and recovery instructions for each customer data-plane operation.
This inventory counts each method and canonical path once. Each /api/v1 path has a /v1 alias. Download the OpenAPI reference for request fields, bounds, required inputs, response content types and security requirements. The Markdown export contains the same inventory.
Availability and model limits
A documented operation depends on your key's permissions and on the model and provider route that serves it. Read the model catalogue, use the endpoint route its entry declares, and read the provider list on the model card.
Per-provider parameter values, defaults, output-token bounds and media constraints are in the endpoint schema and the family guide. For a limit that is not listed there, contact support with the model, provider and request identifier.
Operation index
All entries link to safe recovery. Read-only polling can use bounded backoff. Submission, cancellation, upload and deletion each have their own retry rules, described on their guides. Realtime uses a WebSocket handshake and protocol events.
| Operation | Guide / protocol | Authentication | Availability and recovery |
|---|---|---|---|
GET /api/v1/realtime | audio-inputs WebSocket | Workspace inference key; see operation security | Needs an enabled realtime model; an unavailable model answers 404. Server-to-server upgrade only. Recovery: Handle WebSocket error and close events. After a lost connection open a new session; audio is not replayed. |
GET /api/v1/generation | billing HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/chat/jobs | chat HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/chat/jobs | chat HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/chat/jobs/{chat_job_id} | chat HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/chat/jobs/{chat_job_id}/cancel | chat HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Cancellation depends on job state. On not_cancellable or an uncertain answer, read the existing job; cancelling does not reverse completed work. |
POST /api/v1/audio/generations | audio-api HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled audio model. Status and content use your key or a signed delivery URL. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/generations/{job_id} | audio-api HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled audio model. Status and content use your key or a signed delivery URL. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/audio/generations/{job_id}/content | audio-api HTTP bytes | Workspace inference key; see operation security | Needs an enabled audio model. Status and content use your key or a signed delivery URL. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
GET /api/v1/videos | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/videos | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/videos/{job_id} | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/videos/{job_id}/content | video HTTP bytes | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
POST /api/v1/videos/{job_id}/cancel | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Cancellation depends on job state. On not_cancellable or an uncertain answer, read the existing job; cancelling does not reverse completed work. |
GET /api/v1/videos/models | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/videos/characters | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Save the created character ID and poll that character to ready/failed. Fix consent or input refusals before another creation; reconcile uncertain creation first. |
GET /api/v1/videos/characters | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/videos/characters/{character_id} | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
DELETE /api/v1/videos/characters/{character_id} | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Deletion changes state. After an uncertain answer, read the character before creating another. |
POST /api/v1/3d/generations | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/3d/generations/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/3d/generations/{job_id}/content | capabilities HTTP bytes | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
GET /api/v1/3d/generations/models | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/files | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Inference authentication. Slot creation returns a signed upload URL for the bytes. Recovery: Reserve a slot, then PUT bytes using the returned opaque upload_url and required headers. Keep the URL secret. Use the file after the upload succeeds. |
POST /api/v1/audio/transcriptions | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/transcriptions/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/audio/language | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/language/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/audio/moderate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/moderate/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/audio/speakers | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/speakers/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced speech endpoint; one that is not available answers 503. Another workspace's status is 404. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/video/transcode | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/watermark | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/subtitles | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/thumbnail | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/moderate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/documents/extract | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/documents/convert | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/media/enhance | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/highlights | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/scenes | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/reframe | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/avatar | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/lipsync | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/erase | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/interpolate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/face-blur | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/assemble | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/summarise | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/product-motion | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/audio/music-bed | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/music-id | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/clips | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/translate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/captions | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/dub | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/quality | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/video/presenters | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/video/presenters/{presenter_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
POST /api/v1/video/presenters/{presenter_id}/videos | video HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an eligible ready model. Job reads are scoped to the submitting workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/video/jobs/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/video/jobs/{job_id}/content | capabilities HTTP bytes | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
GET /api/v1/jobs/{job_id} | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/jobs/{job_id}/content | capabilities HTTP bytes | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
POST /api/v1/translate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/sentiment | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/keywords | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/entities | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/moderate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/intent | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/text/summarise | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/commerce/listing | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/commerce/reviews | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/ocr | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/ocr/receipt | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/tables | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/commerce/attributes | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/commerce/tryon | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/commerce/pricetag | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/barcode | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/tags | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/moderate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/logos | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/quality | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/crop | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs the capability's enabled, priced endpoint and an input that matches its schema. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/background | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/upscale | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/background-replace | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/erase | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/vision/outpaint | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/audio/denoise | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/audio/separate | capabilities HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs an enabled, priced capability; one that is not available answers 503. Job status reads are scoped to your workspace. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
POST /api/v1/audio/speech | audio-api HTTP JSON (see response content types) | Workspace inference key; see operation security | Named synthesis models use their own ready endpoint and voice; capability synthesis uses its priced endpoint. Recovery: Fix validation and model refusals. After a synchronous timeout or 5xx, keep the request identifier and read Activity before repeating work. |
POST /api/v1/audio/speech/jobs | audio-api HTTP JSON (see response content types) | Workspace inference key; see operation security | Named synthesis models use their own ready endpoint and voice; capability synthesis uses its priced endpoint. Recovery: Keep the accepted job ID and the original Idempotency-Key/body where this operation supports replay. Read the job through its status route before another submit; a 202 means the job was accepted. |
GET /api/v1/audio/speech/jobs/{job_id} | audio-api HTTP JSON (see response content types) | Workspace inference key; see operation security | Named synthesis models use their own ready endpoint and voice; capability synthesis uses its priced endpoint. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/audio/speech/jobs/{job_id}/content | audio-api HTTP bytes | Workspace inference key; see operation security | Named synthesis models use their own ready endpoint and voice; capability synthesis uses its priced endpoint. Recovery: Read job status first. content_not_ready: wait. content_expired: the output is gone. Retry the download alone for transient failures; do not resubmit generation. |
POST /api/v1/media/offers | routing HTTP JSON (see response content types) | Workspace inference key; see operation security | Bearer inference key. Returns the permitted installed prices for a matching request; creates no generation or reservation. Recovery: Read-only same-settings provider estimates and advisory capacity. No generation or reservation is created. A new paid submit requires explicit confirmation, one provider.only and the current tokenhub_quote; quote_changed requires a fresh estimate and confirmation. |
POST /api/v1/images/generations | images HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Fix validation and model refusals. After a synchronous timeout or 5xx, keep the request identifier and read Activity before repeating work. |
POST /api/v1/images | images HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Fix validation and model refusals. After a synchronous timeout or 5xx, keep the request identifier and read Activity before repeating work. |
GET /api/v1/images/models | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/images/content/{image_id} | images HTTP bytes | Signed link; treat query credentials as secret | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Use the returned signed link before it expires. After expiry, submit a new request for the image. |
POST /api/v1/chat/completions | chat Chat JSON / SSE | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Use this protocol's error envelope and terminal events. After a timeout or truncated stream, keep the request identifier and read Activity before generating again. |
POST /api/v1/responses | responses Responses JSON / SSE | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Use this protocol's error envelope and terminal events. After a timeout or truncated stream, keep the request identifier and read Activity before generating again. |
POST /api/v1/messages | messages Messages JSON / SSE | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Use this protocol's error envelope and terminal events. After a timeout or truncated stream, keep the request identifier and read Activity before generating again. |
POST /api/v1/rerank | reranking HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Fix validation and model refusals. After a synchronous timeout or 5xx, keep the request identifier and read Activity before repeating work. |
POST /api/v1/embeddings | embeddings HTTP JSON (see response content types) | Workspace inference key; see operation security | Needs inference access and a model whose route matches. Key restrictions and provider capacity apply. Recovery: Fix validation and model refusals. After a synchronous timeout or 5xx, keep the request identifier and read Activity before repeating work. |
GET /api/v1/models | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/models/rankings | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/models/{author}/{slug}Also | models HTTP JSON (see response content types) | Public; no inference key | Public. Lists each model with its providers and routes. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
GET /api/v1/public/catalogue | models HTTP JSON (see response content types) | Public; no inference key | Anonymous display catalogue; no key. The prices that apply to requests are on GET /v1/models. Recovery: A read does not submit generation. Retry transient 429/5xx with bounded backoff and conditional Retry-After. Check the same workspace and identifier on 404. |
Management and account operations
These customer controls belong to a separate API plane. Management keys have scoped access; account and sensitive settings can require a person's session and role. They do not accept an inference key. The Management guide describes that boundary. The inference OpenAPI covers the data plane.
Management/account operation inventory (119 operations)
| Operation | Contract security alternatives | Coverage |
|---|---|---|
POST /mgmt/v1/auth/signup | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/login | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/mfa/verify | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/security/mfa | sessionCookie | Guide |
POST /mgmt/v1/security/mfa/enrol/begin | sessionCookie | Guide |
POST /mgmt/v1/security/mfa/enrol/finish | sessionCookie | Guide |
POST /mgmt/v1/security/mfa/backup-codes | sessionCookie | Guide |
POST /mgmt/v1/security/mfa/disable | sessionCookie | Guide |
POST /mgmt/v1/auth/logout | sessionCookie | Guide |
GET /mgmt/v1/auth/methods | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/verify-email | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/resend-verification | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/password-reset | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/password-reset/confirm | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/auth/password-change | sessionCookie | Guide |
GET /mgmt/v1/auth/google/start | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/auth/google/callback | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/auth/github/start | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/auth/github/callback | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/catalogue-rollout | sessionCookie | Guide |
GET /mgmt/v1/ui-flags | sessionCookie | Guide |
GET /mgmt/v1/me | sessionCookie | Guide |
PATCH /mgmt/v1/me | sessionCookie | Guide |
POST /mgmt/v1/me/active-organization | sessionCookie | Guide |
POST /mgmt/v1/me/delete | sessionCookie | Guide |
GET /mgmt/v1/members | sessionCookie | Guide |
PATCH /mgmt/v1/members/{user_id} | sessionCookie | Guide |
DELETE /mgmt/v1/members/{user_id} | sessionCookie | Guide |
GET /mgmt/v1/members/invitations | sessionCookie | Guide |
POST /mgmt/v1/members/invitations | sessionCookie | Guide |
POST /mgmt/v1/members/invitations/{invitation_id}/revoke | sessionCookie | Guide |
POST /mgmt/v1/members/invitations/preview | Operation-specific public/session flow; see Management guide | Guide |
POST /mgmt/v1/members/invitations/accept | sessionCookie | Guide |
POST /mgmt/v1/members/me/leave | sessionCookie | Guide |
GET /mgmt/v1/workspaces | sessionCookie or managementKey | Guide |
POST /mgmt/v1/workspaces | sessionCookie or managementKey | Guide |
PATCH /mgmt/v1/workspaces/{workspace_id} | sessionCookie or managementKey | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/keys | sessionCookie or managementKey | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/keys | sessionCookie or managementKey | Guide |
PATCH /mgmt/v1/workspaces/{workspace_id}/keys/{key_id} | sessionCookie or managementKey | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/keys/{key_id}/revoke | sessionCookie or managementKey | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/keys/{key_id}/rotate | sessionCookie or managementKey | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/presets | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/presets | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/presets/{preset_id} | sessionCookie | Guide |
PATCH /mgmt/v1/workspaces/{workspace_id}/presets/{preset_id} | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/presets/{preset_id}/archive | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/model-pins | sessionCookie | Guide |
PUT /mgmt/v1/workspaces/{workspace_id}/model-pins | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/usage | sessionCookie or managementKey | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/activity | sessionCookie or managementKey | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/activity/{request_id}/outputs | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/byok/providers | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/byok | sessionCookie | Guide |
PUT /mgmt/v1/workspaces/{workspace_id}/byok/{provider_id} | sessionCookie | Guide |
PATCH /mgmt/v1/workspaces/{workspace_id}/byok/{provider_id} | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/byok/{provider_id}/verify | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/byok/{provider_id}/revoke | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/webhook | sessionCookie | Guide |
PUT /mgmt/v1/workspaces/{workspace_id}/webhook | sessionCookie | Guide |
DELETE /mgmt/v1/workspaces/{workspace_id}/webhook | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/webhook/secret | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/webhook/test | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/webhook/deliveries | sessionCookie | Guide |
GET /mgmt/v1/models | sessionCookie or managementKey | Guide |
GET /mgmt/v1/capabilities | sessionCookie | Guide |
POST /mgmt/v1/capabilities/notify | sessionCookie | Guide |
POST /mgmt/v1/capabilities/search | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps | sessionCookie | Guide |
PATCH /mgmt/v1/workspaces/{workspace_id}/apps/{app_id} | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/files | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs | sessionCookie | Guide |
POST /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs/{job_id} | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs/{job_id}/content | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs/{job_id}/edits | sessionCookie | Guide |
PUT /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs/{job_id}/edits | sessionCookie | Guide |
DELETE /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/runs/{job_id}/edits | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/immediate-runs | sessionCookie | Guide |
GET /mgmt/v1/workspaces/{workspace_id}/apps/{app_id}/immediate-runs/{request_id} | sessionCookie | Guide |
GET /mgmt/v1/management-keys | sessionCookie | Guide |
POST /mgmt/v1/management-keys | sessionCookie | Guide |
GET /mgmt/v1/management-keys/self | managementKey | Guide |
POST /mgmt/v1/management-keys/self/revoke | managementKey | Guide |
GET /mgmt/v1/management-keys/{management_key_id} | sessionCookie | Guide |
POST /mgmt/v1/management-keys/{management_key_id}/rotate | sessionCookie | Guide |
POST /mgmt/v1/management-keys/{management_key_id}/revoke | sessionCookie | Guide |
GET /mgmt/v1/usage | sessionCookie or managementKey | Guide |
GET /mgmt/v1/activity | sessionCookie or managementKey | Guide |
GET /mgmt/v1/audit | sessionCookie or managementKey | Guide |
GET /mgmt/v1/status/incidents | Operation-specific public/session flow; see Management guide | Guide |
GET /mgmt/v1/incidents/active | sessionCookie | Guide |
Billing and referral controls are signed-in console flows.
Coverage and separate surfaces
The inventory and reference are generated from the installed published contracts package (14.12.0). Source registration was reviewed on 2026-10-22; this is schema and source coverage, not a claim that every operation or provider has been executed.
PUT returned upload_url: Opaque signed upload transport; follow the returned URL and headers. Not a standalone OpenAPI operation./admin/v1, /internal, health and metrics: Staff, internal and operational surfaces are outside the customer data plane./mgmt/v1 and account authentication: Separate management-key/session control plane: see Management API and Workspaces guides. Not part of the inference OpenAPI download.
See Management API and Workspaces & governance for account and organization controls. They use management-key or session authentication according to the operation and have a separate schema scope.