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
| Parameter | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
page | query | integer | No | Page number (default 1) Default: 1. Minimum: 1. |
limit | query | integer | No | Items per page (default 20, max 100) Default: 20. Minimum: 1. Maximum: 100. |
type | query | "video" / "image" | No | Only 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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.jobs | array of JobSummary | Yes | |
response.pagination | Pagination | Yes |
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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.error | string | Yes | Error type |
response.message | string | No | Human-readable error message |
HTTP 500
Internal server error
Content type: application/json.
Required properties: error.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.error | string | Yes | Error type |
response.message | string | No | Human-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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
JobList.jobs | array of JobSummary | Yes | |
JobList.pagination | Pagination | Yes |
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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
JobSummary.id | string | Yes | |
JobSummary.status | "queued" / "processing" / "completed" / "failed" | Yes | Job status |
JobSummary.jobType | "video" / "image" | Yes | |
JobSummary.name | string / null | No | |
JobSummary.creditsEstimated | number / null | No | |
JobSummary.creditsConsumed | number / null | No | |
JobSummary.videoDuration | number / null | No | Output duration in seconds (null for images) |
JobSummary.videoResolution | string / null | No | |
JobSummary.outputUrl | string / null | No | CDN URL of the finished output (null until completed) |
JobSummary.thumbnailUrl | string / null | No | |
JobSummary.errorMessage | string / null | No | |
JobSummary.templateId | string / null | No | Source template, when the job was rendered from one |
JobSummary.createdAt | string | Yes | Format: date-time. |
JobSummary.completedAt | string / null | No | Format: date-time. |
Pagination
Standard pagination envelope for list endpoints.
Required properties: page, limit, total, totalPages.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
Pagination.page | integer | Yes | |
Pagination.limit | integer | Yes | |
Pagination.total | integer | Yes | |
Pagination.totalPages | integer | Yes | |
Pagination.hasNext | boolean | No | Whether there are more pages after the current one |
Pagination.hasPrev | boolean | No | Whether there are pages before the current one |
AuthenticationError
Unknown properties are rejected. Required properties: error.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
AuthenticationError.error | string | Yes | Error type |
AuthenticationError.message | string | No | Human-readable error message |
Error
Required properties: error.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
Error.error | string | Yes | Error type |
Error.message | string | No | Human-readable error message |