Skip to main content
GET
https://api.muvi.video
/
v1
/
jobs
List Jobs
curl --request GET \
  --url https://api.muvi.video/v1/jobs \
  --header 'Authorization: Bearer <token>'
{
  "jobs": [
    {}
  ],
  "nextCursor": {},
  "hasMore": true
}

Authentication

This endpoint requires an API key with the check_status scope.
Authorization: Bearer YOUR_API_KEY

Query Parameters

limit
number
default:"20"
Number of jobs to return per page. Maximum value is 100.
cursor
string
Pagination cursor from a previous response’s nextCursor field. Use this to fetch the next page of results.
status
string
Filter jobs by status. Accepted values: pending, processing, completed, failed, cancelled.
modelId
string
Filter jobs by model slug. Example: "google/veo-3.1-fast/text-to-video"

Response

jobs
array
Array of job objects. Each job contains jobId, status, progress, model, createdAt, and completedAt.
nextCursor
string | null
Cursor to use for fetching the next page. null if there are no more results.
hasMore
boolean
Whether there are more results available beyond this page.

Cursor-Based Pagination

This endpoint uses cursor-based pagination for efficient and consistent traversal of results. Unlike offset-based pagination, cursor-based pagination ensures you never miss or duplicate items even if new jobs are created between requests. How it works:
  1. Make your first request without a cursor parameter.
  2. If hasMore is true, use the nextCursor value from the response as the cursor parameter in your next request.
  3. Repeat until hasMore is false.

Examples

# List first page
curl -X GET "https://api.muvi.video/v1/jobs?limit=10&status=completed" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Fetch next page using cursor
curl -X GET "https://api.muvi.video/v1/jobs?limit=10&cursor=eyJjcmVhdGVkQXQiOiIyMDI2LTAyLTE4VDE1OjAwOjAwWiJ9" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "jobs": [
    {
      "jobId": "job_abc123def456",
      "status": "completed",
      "progress": 100,
      "model": "google/veo-3.1-fast/text-to-video",
      "createdAt": "2026-02-18T15:00:00Z",
      "completedAt": "2026-02-18T15:02:30Z"
    },
    {
      "jobId": "job_xyz789ghi012",
      "status": "completed",
      "progress": 100,
      "model": "stability/stable-diffusion-xl/text-to-image",
      "createdAt": "2026-02-18T14:30:00Z",
      "completedAt": "2026-02-18T14:30:15Z"
    }
  ],
  "nextCursor": "eyJjcmVhdGVkQXQiOiIyMDI2LTAyLTE4VDE0OjMwOjAwWiJ9",
  "hasMore": true
}