All pages

Check a job

The poll half of start-then-poll. Any key on the account can read it, including a read-only one - checking on work costs nothing and spends nothing.

GET/v1/jobs/{job_id}

Parameters

ParamInNotes
job_idpathThe id the article or batch call returned. Another account's job is a 404, and so is a segment that is not a UUID.

Request

curl https://api.mastheads.app/v1/jobs/7c2b9f10-4a5d-4e88-9b31-6f0c2a1d5e73 \
  -H "Authorization: Bearer mh_live_your_key_here"

Response

200 OK
{
  "id": "7c2b9f10-4a5d-4e88-9b31-6f0c2a1d5e73",
  "status": "done",
  "domain_id": "3f9c1e84-2b7a-4d6e-9c15-8a0d7e6b4f21",
  "created_at": "2026-07-05T08:12:00+00:00",
  "error": null,
  "article_id": "a1d4c7b2-5e83-4f19-b06c-2d9f8e3a7c54"
}

Poll on a timer rather than in a loop: the 120 requests a minute this key gets are shared with everything else it reads.

FieldTypeNotes
statusstringqueued, running, done or failed.
domain_idstringThe domain the job was started on.
errorstringWhy it failed, in a sentence. null while the job is alive and when it succeeded.
article_idstringPresent only once status is done, and null if the job finished without producing an article. Read it with GET /v1/editions/{slug}/articles/{article_id}.

Errors

StatusCodeWhen
401invalid_keyMissing, invalid, or revoked API key.
401account_closedThe account this key belongs to has been closed.
402plan_requiredThe account's current plan does not include the content API. This is checked on the request, not only when the key was made.
404not_foundNo such job on your account, or the id is not a UUID. Another account's job is a 404, never a 403.
429rate_limitedOver 120 requests/minute on this key. Retry-After: 60.
503unavailableThe plan or the data store could not be read. It refuses rather than guessing.

Every request needs a key - Authentication. The error shape and the full status table are on Rate limits & errors.