API Reference
List Jobs
List the authenticated user’s Jobs created through this API in newest-first order.
GET
Try it out/v1/api/job/listRequest example
bash
curl --request GET --url "$NORDY_BASE_URL/v1/api/job/list?limit=20" --header "api-key: $NORDY_API_KEY"Success response200 OK
JSON
{
"jobs": [
{
"id": "68abcdef0123456789abcdef",
"user_metadata": {},
"status": "queued",
"createdAt": "2026-08-26T00:00:00.000Z",
"startedAt": null,
"completedAt": null,
"outputs": null,
"error": null
}
],
"next_cursor": "example-next-cursor"
}Authentication
api-keystringrequiredSend the user API key in the api-key request header.
Parameters
limitintegerqueryoptional- Page size from 1 to 20. Defaults to 20.
cursorstringqueryoptional- Pass the previous response’s next_cursor unchanged. Use your actual response, not the example cursor.
Success response
200 OK
jobsarrayresponserequired- Jobs on this page.
jobs[].idstringresponserequired- Job ID.
jobs[].user_metadataobjectresponserequired- Metadata supplied when the Job was created; {} when omitted.
jobs[].statusqueued | processing | succeeded | failed | canceledresponserequired- Current Job status.
jobs[].createdAtdate-timeresponserequired- Job creation time.
jobs[].startedAtdate-timeresponserequirednullable- Execution start time; null when unavailable.
jobs[].completedAtdate-timeresponserequirednullable- Terminal completion time; null when unavailable.
jobs[].outputsarrayresponserequirednullable- Unexpired outputs for succeeded Jobs; [] after all expire, while the Job remains available. Null for other statuses.
jobs[].outputs[].idstringresponserequired- API Output Asset ID.
jobs[].outputs[].urlstringresponserequired- Generated file URL.
jobs[].outputs[].kindimage | video | audio | model3dresponserequired- Output media kind.
jobs[].outputs[].expiresAtdate-timeresponserequired- Expiration time, 7 days after this output was created. Download the file before this time.
jobs[].errorobjectresponserequirednullable- Terminal Job error for failed or canceled Jobs; null otherwise.
jobs[].error.codeenumresponserequired- INVALID_INPUT, INSUFFICIENT_CREDIT, EXECUTION_TIMEOUT, WORKER_UNAVAILABLE, EXECUTION_FAILED, or JOB_CANCELED.
jobs[].error.messagestringresponserequired- Public error message.
jobs[].error.detailsobjectresponseoptional- Raw ComfyUI validation data, only for INVALID_INPUT when available.
jobs[].error.details.errorobjectresponserequired- ComfyUI prompt validation error.
jobs[].error.details.node_errorsobjectresponserequired- ComfyUI validation errors keyed by node ID.
next_cursorstringresponserequirednullable- Next-page cursor; null on the last page.
Responses and errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_INPUT | limit or cursor is invalid. |
| 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. |
| 500 | INTERNAL_ERROR | Internal server error. |