API Reference
Get Job status and results
Read the current status, terminal error, and saved output URLs for one Job.
GET
Try it out/v1/api/job/{id}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-keystringrequiredSend 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
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_INPUT | id is not a 24-character hexadecimal string. |
| 400 | MULTIPLE_AUTH_CREDENTIALS | Send only the api-key header, without login cookies. |
| 401 | AUTHENTICATION_REQUIRED | Missing or invalid API key. |
| 403 | USER_SUSPENDED, PRO_SUBSCRIPTION_REQUIRED, INVALID_INPUT | Your account is suspended, does not have an active Pro subscription, or is not permitted to use the API. |
| 404 | JOB_NOT_FOUND | Missing, another user’s, or not created through the Comfy prompt API. |
| 500 | INTERNAL_ERROR | Internal server error. |