Skip to documentation content
Developer Docs
API Reference

API Reference

Get Job status and results

Read the current status, terminal error, and saved output URLs for one Job.

GET/v1/api/job/{id}
Try it out

Request example

bash
curl --request GET   --url "$NORDY_BASE_URL/v1/api/job/$JOB_ID"   --header "api-key: $NORDY_API_KEY"

Success response200 OK

JSON
{
  "id": "68abcdef0123456789abcdef",
  "user_metadata": {},
  "status": "succeeded",
  "createdAt": "2026-08-26T00:00:00.000Z",
  "startedAt": "2026-08-26T00:00:02.000Z",
  "completedAt": "2026-08-26T00:00:10.000Z",
  "outputs": [
    {
      "id": "68abcdef0123456789abcdea",
      "kind": "image",
      "url": "https://example.com/output.png",
      "expiresAt": "2026-09-02T00:00:10.000Z"
    }
  ],
  "error": null
}

Authentication

api-keystringrequired

Send the user API key in the api-key request header.

Parameters

idstringpathrequired
Job ID returned when the Job was created: a 24-character hexadecimal string.

Success response

200 OK Check status for the execution result. Queued and processing responses include Retry-After: 5.

idstringresponserequired
Job ID.
user_metadataobjectresponserequired
Metadata supplied when the Job was created; {} when omitted.
statusqueued | processing | succeeded | failed | canceledresponserequired
Current Job status.
createdAtdate-timeresponserequired
Job creation time.
startedAtdate-timeresponserequirednullable
Execution start time; null when unavailable.
completedAtdate-timeresponserequirednullable
Terminal completion time; null when unavailable.
outputsarrayresponserequirednullable
Unexpired outputs for succeeded Jobs; [] after all expire, while the Job remains available. Null for other statuses.
outputs[].idstringresponserequired
API Output Asset ID.
outputs[].urlstringresponserequired
Generated file URL.
outputs[].kindimage | video | audio | model3dresponserequired
Output media kind.
outputs[].expiresAtdate-timeresponserequired
Expiration time, 7 days after this output was created. Download the file before this time.
errorobjectresponserequirednullable
Terminal Job error for failed or canceled Jobs; null otherwise.
error.codeenumresponserequired
INVALID_INPUT, INSUFFICIENT_CREDIT, EXECUTION_TIMEOUT, WORKER_UNAVAILABLE, EXECUTION_FAILED, or JOB_CANCELED.
error.messagestringresponserequired
Public error message.
error.detailsobjectresponseoptional
Raw ComfyUI validation data, only for INVALID_INPUT when available.
error.details.errorobjectresponserequired
ComfyUI prompt validation error.
error.details.node_errorsobjectresponserequired
ComfyUI validation errors keyed by node ID.

Notes

  • Stopping polling or reaching a client timeout does not cancel the Job.

Responses and errors

StatusCodeDescription
400INVALID_INPUTid is not a 24-character hexadecimal string.
400MULTIPLE_AUTH_CREDENTIALSSend only the api-key header, without login cookies.
401AUTHENTICATION_REQUIREDMissing or invalid API key.
403USER_SUSPENDED, PRO_SUBSCRIPTION_REQUIRED, INVALID_INPUTYour account is suspended, does not have an active Pro subscription, or is not permitted to use the API.
404JOB_NOT_FOUNDMissing, another user’s, or not created through the Comfy prompt API.
500INTERNAL_ERRORInternal server error.