Skip to main content

List render jobs

GET /api/jobs

List the account's render jobs, newest first. Filter by output type with type.

Authentication​

  • Option 1: x-api-key: YOUR_API_KEY (header). API key for authentication. Create one in your dashboard.
  • Option 2: Authorization: Bearer YOUR_ACCESS_TOKEN. Dashboard JWT in Authorization: Bearer <token>, only on operations that explicitly list this scheme. Prefer x-api-key for REST integrations. OAuth for hosted MCP is a separate connection at https://mcp.zvid.io/mcp.

Create API keys at app.zvid.io/api-keys. Keep credentials on your server.

Parameters​

ParameterLocationTypeRequiredDescription and constraints
pagequeryintegerNoPage number (default 1) Default: 1. Minimum: 1.
limitqueryintegerNoItems per page (default 20, max 100) Default: 20. Minimum: 1. Maximum: 100.
typequery"video" / "image"NoOnly return renders of this type

Request​

The shell examples read credentials from ZVID_API_KEY (or ZVID_ACCESS_TOKEN for Bearer authentication). Set that variable in your environment. Replace sample project, template, job, and asset identifiers with values from your own account.

This operation does not take a request body.

Request example​

curl --request GET 'https://api.zvid.io/api/jobs' \
--header "x-api-key: $ZVID_API_KEY"

Responses​

HTTP 200​

Render jobs for the authenticated account

Content type: application/json.

Required properties: jobs, pagination.

FieldTypeRequiredDescription and constraints
response.jobsarray of JobSummaryYes
response.paginationPaginationYes

Nested field: response.jobs

Array item: response.jobs[]

Schema: JobSummary.

Example response

{
"jobs": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"jobType": "image",
"name": "product-card",
"creditsEstimated": 1,
"creditsConsumed": 1,
"videoDuration": null,
"videoResolution": "1080x1080",
"outputUrl": "https://cdn.zvid.io/images/5/product-card.png",
"thumbnailUrl": "https://cdn.zvid.io/images/5/product-card.png",
"errorMessage": null,
"templateId": null,
"createdAt": "2026-07-08T02:51:43.000Z",
"completedAt": "2026-07-08T02:51:45.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 13,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}

HTTP 401​

Authentication required

Content type: application/json.

Unknown properties are rejected. Required properties: error.

FieldTypeRequiredDescription and constraints
response.errorstringYesError type
response.messagestringNoHuman-readable error message

HTTP 500​

Internal server error

Content type: application/json.

Required properties: error.

FieldTypeRequiredDescription and constraints
response.errorstringYesError type
response.messagestringNoHuman-readable error message

Schema definitions​

The following definitions describe the fields referenced above. Expand a definition to inspect its complete contract.

JobList

Required properties: jobs, pagination.

FieldTypeRequiredDescription and constraints
JobList.jobsarray of JobSummaryYes
JobList.paginationPaginationYes

Nested field: JobList.jobs

Array item: JobList.jobs[]

Schema: JobSummary.

JobSummary

One render job as returned by the job list endpoint.

Required properties: id, status, jobType, createdAt.

FieldTypeRequiredDescription and constraints
JobSummary.idstringYes
JobSummary.status"queued" / "processing" / "completed" / "failed"YesJob status
JobSummary.jobType"video" / "image"Yes
JobSummary.namestring / nullNo
JobSummary.creditsEstimatednumber / nullNo
JobSummary.creditsConsumednumber / nullNo
JobSummary.videoDurationnumber / nullNoOutput duration in seconds (null for images)
JobSummary.videoResolutionstring / nullNo
JobSummary.outputUrlstring / nullNoCDN URL of the finished output (null until completed)
JobSummary.thumbnailUrlstring / nullNo
JobSummary.errorMessagestring / nullNo
JobSummary.templateIdstring / nullNoSource template, when the job was rendered from one
JobSummary.createdAtstringYesFormat: date-time.
JobSummary.completedAtstring / nullNoFormat: date-time.
Pagination

Standard pagination envelope for list endpoints.

Required properties: page, limit, total, totalPages.

FieldTypeRequiredDescription and constraints
Pagination.pageintegerYes
Pagination.limitintegerYes
Pagination.totalintegerYes
Pagination.totalPagesintegerYes
Pagination.hasNextbooleanNoWhether there are more pages after the current one
Pagination.hasPrevbooleanNoWhether there are pages before the current one
AuthenticationError

Unknown properties are rejected. Required properties: error.

FieldTypeRequiredDescription and constraints
AuthenticationError.errorstringYesError type
AuthenticationError.messagestringNoHuman-readable error message
Error

Required properties: error.

FieldTypeRequiredDescription and constraints
Error.errorstringYesError type
Error.messagestringNoHuman-readable error message