Jobs
GET /v2/jobs
Get a paginated list of jobs for the account. Results are returned in reverse chronological order.
GET https://api.amplifierhealth.com/v2/jobsQuery Parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number to retrieve. 0-based. Default: 0. |
Response
| Field | Type | Description |
|---|---|---|
jobs | array | List of job summary objects for the current page. Each object has job_id, status, and created_at. |
page | integer | The current page number (0-based). |
total_pages | integer | Total number of pages available. |
Each item in jobs:
| Field | Type | Description |
|---|---|---|
job_id | string | Unique job identifier. Use with GET /v2/jobs/{job_id} to retrieve the full result. |
status | string | Job status: pending | running | done | failed. |
created_at | string | ISO 8601 datetime; fractional seconds and timezone suffix may vary. |
Example
curl -X GET "https://api.amplifierhealth.com/v2/jobs?page=0" \
-H "X-Account-ID: your-account-id" \
-H "X-API-Key: your-api-key"Errors
For 401 and other codes, see Error Reference.
GET /v2/jobs/{job_id}
Retrieve a previously submitted job by ID. For a valid job_id on your account, the API returns 200 OK with a job object. status tells you whether the job is still running, succeeded (done), or failed (failed) — failure is expressed in the body, not only via HTTP error codes (see Job Status: Failed).
GET https://api.amplifierhealth.com/v2/jobs/{job_id}Path Parameters
| Parameter | Type | Description |
|---|---|---|
job_id | string | The job_id returned from a v2 analyze endpoint (POST /v2/models/{model_name}/analyze or POST /v2/signs/{sign_name}/analyze). |
Response
| Field | Type | Description |
|---|---|---|
job_id | string | Unique job identifier. |
status | string | Job status: pending | running | done | failed. |
created_at | string | ISO 8601 datetime; fractional seconds and timezone designator may vary. See Response Schema — Timestamps. |
completed_at | string or null | ISO 8601; null while running. See Timestamps and Job Status: Failed. |
job_type | string | "use_case" | "condition" | "model" | "sign". |
api_version | string | "v2". |
audio_content_type | string | MIME type of the submitted audio (e.g. audio/wav). |
audio_size_bytes | integer | Size in bytes of the submitted audio as accepted and processed for this job. |
audio_duration_seconds | number | Duration of the submitted audio in seconds. |
audio_sample_rate | integer or null | Sample rate in Hz (e.g. 16000). |
result | object or null | When done, full analysis. When failed, typically null. Job Status: Failed; Result Object below. |
Each response also includes exactly one discriminator field, selected by job_type: use_case jobs include use_case, condition jobs include condition, model jobs include model_name, and sign jobs include sign_name. The other discriminator fields are omitted. See Response Schema — Discriminator fields by job_type.
Job Status: Failed
status: "failed" means processing ended unsuccessfully. For a valid job_id, the API returns 200 OK with the job object — failure is expressed in status, not only via HTTP codes. result is usually null; poll until done or failed, then branch. Full contract: Response Schema — Job Status: Failed.
Result Object
result contains the full analysis output when status is done.
| Field | Type | Description |
|---|---|---|
summary | object | Aggregated result across all signals. See Response Schema. |
signals | array | Per-model signal results. See Response Schema. |
audio_quality | object | Recording quality scores and detected issue codes. See Response Schema. |
extended_metrics | array | Per-metric wellness scores. See Response Schema. |
When result.summary.recommended_action is inconclusive, handle it as "no clear signal; prefer re-recording or collecting more information" — see Levels & Actions and Interpreting Results.
{
"job_id": "189bce4a-52cb-4e60-8586-cef89e719109",
"status": "done",
"created_at": "2026-02-22T09:14:00Z",
"completed_at": "2026-02-22T09:14:03Z",
"job_type": "model",
"api_version": "v2",
"model_name": "apex",
"audio_content_type": "audio/wav",
"audio_size_bytes": 876032,
"audio_duration_seconds": 27.4,
"audio_sample_rate": 16000,
"result": {
"summary": { ... },
"signals": [ ... ],
"audio_quality": { ... },
"extended_metrics": [ ... ]
}
}Example
curl -X GET https://api.amplifierhealth.com/v2/jobs/189bce4a-52cb-4e60-8586-cef89e719109 \
-H "X-Account-ID: your-account-id" \
-H "X-API-Key: your-api-key"Error Handling
For authentication errors (401), verify your X-Account-ID and X-API-Key headers. For rate limiting (429), retry using exponential backoff and check the Retry-After header. For server errors (500), retry with exponential backoff. See Error Reference for retry examples.
The following conditions return 404 Not Found for this endpoint: the job_id is incorrect, the job belongs to a different account, or the job was not found. Check the job_id value against the original analyze response and verify your X-Account-ID header.
