Skip to content

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/jobs

Query Parameters

ParameterTypeDescription
pageintegerPage number to retrieve. 0-based. Default: 0.

Response

FieldTypeDescription
jobsarrayList of job summary objects for the current page. Each object has job_id, status, and created_at.
pageintegerThe current page number (0-based).
total_pagesintegerTotal number of pages available.

Each item in jobs:

FieldTypeDescription
job_idstringUnique job identifier. Use with GET /v2/jobs/{job_id} to retrieve the full result.
statusstringJob status: pending | running | done | failed.
created_atstringISO 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

ParameterTypeDescription
job_idstringThe job_id returned from a v2 analyze endpoint (POST /v2/models/{model_name}/analyze or POST /v2/signs/{sign_name}/analyze).

Response

FieldTypeDescription
job_idstringUnique job identifier.
statusstringJob status: pending | running | done | failed.
created_atstringISO 8601 datetime; fractional seconds and timezone designator may vary. See Response Schema — Timestamps.
completed_atstring or nullISO 8601; null while running. See Timestamps and Job Status: Failed.
job_typestring"use_case" | "condition" | "model" | "sign".
api_versionstring"v2".
audio_content_typestringMIME type of the submitted audio (e.g. audio/wav).
audio_size_bytesintegerSize in bytes of the submitted audio as accepted and processed for this job.
audio_duration_secondsnumberDuration of the submitted audio in seconds.
audio_sample_rateinteger or nullSample rate in Hz (e.g. 16000).
resultobject or nullWhen 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.

FieldTypeDescription
summaryobjectAggregated result across all signals. See Response Schema.
signalsarrayPer-model signal results. See Response Schema.
audio_qualityobjectRecording quality scores and detected issue codes. See Response Schema.
extended_metricsarrayPer-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.