Skip to content

GET /api/v1/jobs/{id}

Operation: getJob.

Job status, cumulative charge, funded-through (owner/admin)

Poll this after POST /api/v1/jobs. States run RESERVED -> STARTING -> RUNNING (verified ready; the meter starts here) -> STOPPING -> STOPPED -> CLEANING -> CLOSED, or FAILED / RECONCILING. GET /api/v1/jobs/{id}/access answers only while RUNNING (execution) or, for a limited window, after STOPPED (read-only retrieval); other states are 403.

GET https://amplerun-api.spiry.org/api/v1/jobs/{id}

Use the credential and scope required by this operation. For programmatic renter/host calls: Authorization: Bearer $AMPLERUN_API_KEY. A host-agent signature or other specialized proof is required where the description specifies it.

NameLocationPresenceTypeDescription
idpathRequiredUUID

Job detail.

application/json

FieldTypePresenceDescription
job_idUUIDRequired
state“RESERVED” / “STARTING” / “RUNNING” / “STOPPING” / “STOPPED” / “CLEANING” / “CLOSED” / “FAILED” / “RECONCILING”Required
cumulative_charge_microMicroAmountRequired
funded_throughRfc3339UtcRequired
budget_versionDecimalStringRequired
machine_idUUIDOptional
fenceDecimalStringOptional
rate_micro_per_hourschemaOptionalAdditive. The rate agreed at reservation, read from the job’s quote snapshot (quotes.machine_rate_micro_per_hour). Evidence only: never recomputed from current offers, never an input to billing or state.
accepted_runtime_msschemaOptionalAdditive. Control-owned accepted-runtime accumulator; 0 before any accepted receipt.
meter_started_atRfc3339Utc or nullOptionalAdditive. When the meter actually started (verified READY), not when the job was reserved. null means “not yet measured” — distinct from zero.
last_meter_receipt_atRfc3339Utc or nullOptionalAdditive. Observation time (wall_time) of the most recent ACCEPTED meter receipt. null when no receipt has been accepted yet — a RUNNING job with meter_started_at set may still have this null.
stopped_atRfc3339Utc or nullOptionalAdditive. When the machine confirmed the stop (jobs.stopped_at). Set once the job reaches STOPPED; null before, and null when no stop was confirmed. Display only.
tier“container” / “inference”OptionalAdditive (D-23). The machine’s tier; inference is community inference (don’t send sensitive data).
gpu_modelstringOptionalAdditive. The GPU model the machine’s agent reported (its manifest), for naming the deployment (“Qwen3 8B · RTX 4090”). Absent when the agent reported none. Display only, never billing input.
gpu_countintegerOptionalAdditive. How many of gpu_model the machine has, from the same manifest. Absent with gpu_model.
templateobjectOptionalAdditive. Present only when the job’s quote named a template (quotes.template_id); summary of templates.spec.
{
"$ref": "#/components/schemas/Job"
}

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

application/json

FieldTypePresenceDescription
errorobjectRequired
{
"$ref": "#/components/schemas/ErrorEnvelope"
}

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

Terminal window
curl --request GET 'https://amplerun-api.spiry.org/api/v1/jobs/{id}' \
--header "Authorization: Bearer $AMPLERUN_API_KEY"

Schema definitions · Download OpenAPI · Authentication · Errors and recovery

Official AmpleRun documentation · Contract v3 · Generated from the API contract · Revision 52fe29de · Open AmpleRun · View Markdown · For agents