Get Job Status
curl --request GET \
--url https://api.vachana.ai/stt/v3/batch/jobs/{job_id} \
--header 'X-API-Key-ID: <api-key>'import requests
url = "https://api.vachana.ai/stt/v3/batch/jobs/{job_id}"
headers = {"X-API-Key-ID": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key-ID': '<api-key>'}};
fetch('https://api.vachana.ai/stt/v3/batch/jobs/{job_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"job_id": "019fa79e-81f9-7a8a-a446-6eff16ddec30",
"status": "COMPLETED",
"config": {
"model": "gnani-prisma-v2.5",
"mode": "transcribe",
"language_code": "en-IN",
"with_diarization": false,
"num_speakers": null,
"is_multi_channel": false
},
"progress": {
"total_files": 1,
"completed_files": 1,
"failed_files": 0,
"in_progress_files": 0,
"queued_files": 0,
"cancelled_files": 0
}
}Speech-to-Text (Batch)
Get Job Status
Get batch job status and progress counters.
GET
/
stt
/
v3
/
batch
/
jobs
/
{job_id}
Get Job Status
curl --request GET \
--url https://api.vachana.ai/stt/v3/batch/jobs/{job_id} \
--header 'X-API-Key-ID: <api-key>'import requests
url = "https://api.vachana.ai/stt/v3/batch/jobs/{job_id}"
headers = {"X-API-Key-ID": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key-ID': '<api-key>'}};
fetch('https://api.vachana.ai/stt/v3/batch/jobs/{job_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"job_id": "019fa79e-81f9-7a8a-a446-6eff16ddec30",
"status": "COMPLETED",
"config": {
"model": "gnani-prisma-v2.5",
"mode": "transcribe",
"language_code": "en-IN",
"with_diarization": false,
"num_speakers": null,
"is_multi_channel": false
},
"progress": {
"total_files": 1,
"completed_files": 1,
"failed_files": 0,
"in_progress_files": 0,
"queued_files": 0,
"cancelled_files": 0
}
}Overview
Get the current status and progress of a batch job. This response does not include transcript text. After a terminal status, call Get Job Files, thenGET each transcript_url.
Authentication
| Header | Required | Description |
|---|---|---|
X-API-Key-ID | Yes | Your Gnani Prisma v2.5 API key |
Path Parameters
In Try it, paste a real
job_id from Create Job before clicking Send. Leaving the placeholder {job_id} in the URL returns 422.string
default:"019fa854-1db0-7e45-a026-7a6b09ff6d7c"
required
Job ID returned by Create Job. Replace with your own
job_id before sending.Polling guidance
Live lifecycle observed:CREATED → STARTING → QUEUED → IN_PROGRESS → COMPLETED
| Status | Terminal | Next step |
|---|---|---|
COMPLETED | Yes | Call /files, then GET each transcript_url |
PARTIAL_FAILURE | Yes | Same — fetch successful files via /files |
FAILED | Yes | Inspect /files + error_message |
START_FAILED | Yes | Read cancel_reason |
CANCELLED | Yes | Done |
Example cURL
curl --request GET \
--url https://api.vachana.ai/stt/v3/batch/jobs/019fa79e-81f9-7a8a-a446-6eff16ddec30 \
--header 'X-API-Key-ID: <YOUR_API_KEY>'
Response
Success — completed (200)
{
"job_id": "019fa79e-81f9-7a8a-a446-6eff16ddec30",
"status": "COMPLETED",
"config": {
"model": "gnani-prisma-v2.5",
"mode": "transcribe",
"language_code": "en-IN",
"with_diarization": false,
"num_speakers": null,
"is_multi_channel": false
},
"progress": {
"total_files": 1,
"completed_files": 1,
"failed_files": 0,
"in_progress_files": 0,
"queued_files": 0,
"cancelled_files": 0
},
"cancel_reason": null,
"created_at": "2026-07-28T07:26:50.926489Z",
"started_at": "2026-07-28T07:26:52.421366Z",
"completed_at": "2026-07-28T07:27:24.621462Z",
"cancelled_at": null,
"updated_at": "2026-07-28T07:27:24.621676Z"
}
Success — start failed (200)
Returned when public URLs cannot be fetched:
{
"job_id": "019fa79c-ec88-770c-b498-371fc21fb40e",
"status": "START_FAILED",
"config": {
"model": "gnani-prisma-v2.5",
"mode": "transcribe",
"language_code": "en-IN",
"with_diarization": false,
"num_speakers": null,
"is_multi_channel": false
},
"progress": {
"total_files": 0,
"completed_files": 0,
"failed_files": 0,
"in_progress_files": 0,
"queued_files": 0,
"cancelled_files": 0
},
"cancel_reason": "All provided paths were invalid — nothing to process.",
"created_at": "2026-07-28T07:25:07.137907Z",
"started_at": null,
"completed_at": null,
"cancelled_at": null,
"updated_at": "2026-07-28T07:27:28.390415Z"
}
Error responses
404 Job not found{
"error": "JOB_NOT_FOUND",
"message": "Job 01900000-0000-7000-8000-000000000000 not found"
}
string
Current job status (
CREATED, QUEUED, IN_PROGRESS, COMPLETED, START_FAILED, …).object
Per-file counters: total, completed, failed, in progress, queued, cancelled.
string
Present for failures such as
START_FAILED.Use Cases
- Polling until a job reaches a terminal status
- Debugging
START_FAILEDviacancel_reason
Was this page helpful?