Documentation menu

Retrieve a job

GETupscalr.app/api/v1/jobs/{id}

Fetches the current state of a job. Poll it every second or two until the status settles, or skip polling entirely with a webhook.

Request

ParameterTypeDescription
idpath, requiredThe job id returned when it was created.
curl https://upscalr.app/api/v1/jobs/cmrw0iqm8000bdcs3um6ii7fa \
  -H "Authorization: Bearer $UPSCALR_API_KEY"

Requires the jobs:read scope.

Job lifecycle

ParameterTypeDescription
pendingstatusAccepted, waiting to enter the queue.
queuedstatusIn the queue, not yet picked up by the engine.
processingstatusThe engine is working on it.
succeededstatusFinished. The result is ready to download.
failedstatusThe engine gave up; credits were refunded. error explains why.
cancelledstatusCancelled before finishing; credits were refunded.

Response

Response · 200 OK

{
  "id": "cmrw0iqm8000bdcs3um6ii7fa",
  "object": "job",
  "status": "succeeded",
  "target": "4k",
  "filename": "photo.png",
  "credits": 3,
  "error": null,
  "source": {
    "bytes": 2148393,
    "content_type": "image/png"
  },
  "result": {
    "bytes": 8412930,
    "content_type": "image/png",
    "url": "/api/v1/jobs/cmrw0iqm8000bdcs3um6ii7fa/result"
  },
  "created_at": "2026-07-25T09:30:00Z",
  "finished_at": "2026-07-25T09:30:04Z",
  "duration_ms": 4210
}
StatusMeaning
200The job.
404No job with that id.

The job object

ParameterTypeDescription
idstringUnique job id.
objectstringAlways "job".
statusstringOne of the lifecycle states above.
targetstringThe output size actually used (the engine may fall back; see Introduction).
filenamestring | nullOriginal filename, when known.
creditsintegerCredits reserved or charged for this job.
errorobject | nullSet when status is failed: { code, message }.
sourceobject | nullSize and content type of the input.
resultobject | nullSize, content type and download path of the output. Present once succeeded.
created_attimestampWhen the job was created (ISO 8601, UTC).
finished_attimestamp | nullWhen it reached a final state.
duration_msinteger | nullWall-clock processing time.

Need the full history instead of one job? See List jobs.