Jobs API
List jobs and retrieve one job's result.
Every analyze call returns a job. List jobs on the account, or read one (including result). Lifecycle: Jobs, Polling, and Webhooks.
List jobs
GET /v2/jobs
Get a paginated list of jobs for the account. Results are returned in reverse chronological order.
Query 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. See Enumerations. |
created_at |
string | ISO 8601 datetime; fractional seconds and timezone suffix may vary. See Response Schema — Timestamps. |
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"const response = await fetch("https://api.amplifierhealth.com/v2/jobs?page=0", {
headers: {
"X-Account-ID": process.env.AMPLIFIER_ACCOUNT_ID,
"X-API-Key": process.env.AMPLIFIER_API_KEY,
},
});
const data = await response.json();# Requires httpx: pip install httpx
import os
import httpx
response = httpx.get(
"https://api.amplifierhealth.com/v2/jobs?page=0",
headers={
"X-Account-ID": os.environ["AMPLIFIER_ACCOUNT_ID"],
"X-API-Key": os.environ["AMPLIFIER_API_KEY"],
},
)
data = response.json()Errors
For 401 and other codes, see Errors.
Retrieve a job
GET /v2/jobs/{job_id}
Retrieve a previously submitted job by ID, including its result once analysis completes.
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 queued or running, succeeded (done), or ended without a result (failed or timed-out) — these outcomes are expressed in the body, not only via HTTP error codes. See Response Schema — Job Status: Failed or Timed-out.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
job_id |
string | The job_id returned from an analyze endpoint (POST /v2/models/{model_name}/analyze or POST /v2/signs/{sign_name}/analyze). |
Response
200 OK returns the job object. Field names, types, and result shape are defined in Response Schema — Job response. How to branch on level and recommended_action is in Interpreting Results.
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"const response = await fetch("https://api.amplifierhealth.com/v2/jobs/189bce4a-52cb-4e60-8586-cef89e719109", {
headers: {
"X-Account-ID": process.env.AMPLIFIER_ACCOUNT_ID,
"X-API-Key": process.env.AMPLIFIER_API_KEY,
},
});
const data = await response.json();# Requires httpx: pip install httpx
import os
import httpx
response = httpx.get(
"https://api.amplifierhealth.com/v2/jobs/189bce4a-52cb-4e60-8586-cef89e719109",
headers={
"X-Account-ID": os.environ["AMPLIFIER_ACCOUNT_ID"],
"X-API-Key": os.environ["AMPLIFIER_API_KEY"],
},
)
data = response.json()Example response
{
"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": "pulse",
"sign_name": null,
"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": [ ... ]
}
}
Errors
404 when job_id is missing or belongs to another account. Match it to the analyze response and check X-Account-ID.
For authentication (401), rate limiting (429), server errors (500), and retry guidance, see Errors.
Related pages
- Jobs, Polling, and Webhooks — polling cadence, terminal statuses, and webhook delivery.
- Response Schema — every field of a completed result.
- Groups API — list the jobs registered in a group.
- Longitudinal API — submit audio into a group and read trajectory.