Jobs
Cursor-paged, Organization-scoped Job listing in newest-first keyset order with optional exact-match state, workflow, and client_reference filters. A scoped API credential needs jobs:read, and its Organization is the one stored on the verified credential: organization_id is optional and, when supplied, must equal that Organization. Any other well-formed organization_id returns the same masked 404 as an unavailable Organization, without a Membership lookup. A Keycloak bearer caller must supply organization_id, which its current PostgreSQL Membership authorizes; a missing or foreign Membership is masked as 404. No caller-selected Organization header grants access, and browser sessions cannot reach this operation.
Authorization
DeveloperCredential In: header
Query Parameters
Required for a Keycloak bearer caller. Optional for a scoped API credential; when supplied it must equal the credential's stored Organization. A malformed value is a 400 for either caller.
^[A-Za-z0-9]{16}$16 <= length <= 16Value in
- "queued"
- "running"
- "canceling"
- "succeeded"
- "failed"
- "canceled"
Exact workflow name; lowercase letters, digits, '.', '_', and '-'.
^[a-z0-9._-]*$length <= 64Exact customer-supplied client reference; control characters are rejected.
length <= 128length <= 5121 <= value <= 10025Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/jobs"{
"items": [
{
"id": "stringstringstri",
"project_id": "stringstringstri",
"workflow": "string",
"state": "queued",
"model_id": "string",
"model_version": "string",
"progress_permille": 0,
"failure_code": "string",
"client_reference": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z"
}
],
"next_cursor": "string"
}Authorization
DeveloperCredential In: header
Header Parameters
16 <= length <= 128Request Body
application/json
Exactly 16 cryptographically random Base62 characters.
^[A-Za-z0-9]{16}$16 <= length <= 16A verified text Artifact. Inline text remains unavailable until it is encrypted into a staged Artifact before durable admission.
length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/jobs" \
-H "Idempotency-Key: stringstringstri" \
-H "Content-Type: application/json" \
-d '{
"project_id": "stringstringstri",
"workflow": "tts",
"model": {
"id": "string",
"version": "string"
},
"input": {
"text_artifact_id": "stringstringstri"
},
"configuration": {
"voice_id": "string",
"output_format": "wav"
}
}'{
"job_id": "stringstringstri",
"project_id": "stringstringstri",
"state": "queued",
"progress_permille": 0,
"created_at": "2019-08-24T14:15:22Z"
}Authorization
DeveloperCredential In: header
Path Parameters
Exactly 16 cryptographically random Base62 characters.
^[A-Za-z0-9]{16}$16 <= length <= 16Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/jobs/stringstringstri"{
"id": "stringstringstri",
"project_id": "stringstringstri",
"workflow": "tts",
"state": "queued",
"model_id": "string",
"model_version": "string",
"progress_permille": 0,
"output_artifact_ids": [
"stringstringstri"
],
"failure_code": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z"
}Read the committed transcription.v1 output as its versioned JSON document or a server-rendered text, SRT, or VTT view. API credentials require both jobs:read and artifacts:read; Job and Artifact ownership are checked separately. Authenticated browser sessions may reach this exact route through the dashboard gateway, which forwards its server-held identity and selected Organization. Responses are never cacheable.
Authorization
DeveloperCredential In: header
Path Parameters
Exactly 16 cryptographically random Base62 characters.
^[A-Za-z0-9]{16}$16 <= length <= 16Query Parameters
"json"Value in
- "json"
- "text"
- "srt"
- "vtt"
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/jobs/stringstringstri/transcript"{
"schema": "transcript.v2",
"language": "string",
"duration_seconds": 0,
"segments": [
{
"start_seconds": 0,
"end_seconds": 0,
"text": "string",
"confidence": 0,
"words": [
{
"start_seconds": 0,
"end_seconds": 0,
"text": "string",
"confidence": 0
}
]
}
]
}Authorization
DeveloperCredential In: header
Path Parameters
Exactly 16 cryptographically random Base62 characters.
^[A-Za-z0-9]{16}$16 <= length <= 16Header Parameters
16 <= length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/jobs/stringstringstri/cancel" \
-H "Idempotency-Key: stringstringstri"{
"job_id": "stringstringstri",
"project_id": "stringstringstri",
"state": "queued",
"progress_permille": 0,
"created_at": "2019-08-24T14:15:22Z"
}Authorization
DeveloperCredential In: header
Path Parameters
Exactly 16 cryptographically random Base62 characters.
^[A-Za-z0-9]{16}$16 <= length <= 16Header Parameters
length <= 128Response Body
text/event-stream
application/json
application/json
application/json
curl -X GET "https://example.com/v1/jobs/stringstringstri/events""string"Admits asynchronous processing for one consented draft Voice. Scoped API credentials require both voices:write and jobs:write. The server stages its own bounded preview phrase; the tenant-RLS transaction revalidates the draft Voice, consented reference audio, duration, model, reservation, Job, and immutable Voice-to-Job link before committing. The target Voice ID never enters the GPU task snapshot.
Authorization
DeveloperCredential In: header
Path Parameters
^[A-Za-z0-9_-]{16}$Header Parameters
Replay key for the Voice surface, which bounds keys at 512 characters rather than the 128 used elsewhere.
1 <= length <= 512Request Body
application/json
1 <= length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/voices/string/clone" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"project_id": "string",
"model": {
"id": "string",
"version": "string"
}
}'{
"job_id": "stringstringstri",
"project_id": "stringstringstri",
"state": "queued",
"progress_permille": 0,
"created_at": "2019-08-24T14:15:22Z"
}