Retrieve a job

Retrieve a job

GET/api/v1/jobs/{id}

GET /jobs/{id}
curl -X GET 'https://www.unitpost.com/api/v1/jobs/123' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
Response · 200
{
  "object": "job",
  "id": "id_123",
  "kind": "string",
  "status": "QUEUED",
  "total": 1,
  "processed": 0,
  "failed": 0,
  "error": "string",
  "created_at": "2026-01-01T00:00:00.000Z",
  "completed_at": "2026-01-01T00:00:00.000Z"
}

Retrieve a background job by id to follow its progress. An operation that touches more contacts than fits in one request (for example Delete a custom contact field or Rename a custom field's key above 5,000 holders, or a campaign validation over more than 5,000 recipients) answers 202 with a job. Poll this until status is COMPLETED, FAILED or CANCELED; processed of total is the progress. A failed job keeps the work it finished; retry it from the dashboard (Settings → Jobs). Reading a job takes the read capability of the resource it changes (contacts:read for a custom-field job, campaigns:read for a campaign check). Requires the contacts:read capability.

Parameters1 field
FieldTypeDescription
idrequiredstring · path—
Response · 200 fields10 fields
FieldTypeDescription
objectrequiredstring—
idrequiredstring—
kindrequiredstring—
statusrequiredenumQUEUED | RUNNING | COMPLETED | FAILED | CANCELED—
totalrequiredinteger | null—
processedrequiredinteger—
failedrequiredinteger—
errorrequiredstring | null—
created_atrequiredstring—
completed_atrequiredstring | null—
200401403404

Search docs and guides

Search the docs and product guides.