Skip to main content
Self-hosted only. Cloud exposes /queue/events only. Four endpoints over the video job queue: list jobs, then retry, cancel or delete one by ID. All of them need an API key.

List jobs

Auth: API Key required The filtered path calls getJobsByStatus(status, limit), which takes no offset. Paginating a filtered list re-returns the same first page. offset is echoed back in the response either way.

Response

This endpoint serves database rows as they are stored. Field names are snake_case, not camelCase, and timestamps are epoch milliseconds, not ISO 8601 strings.
count is the number of jobs in this response, not the total matching the filter. Each entry in jobs: Video Status returns the same jobs in a converted shape: camelCase keys and ISO 8601 timestamps. The two endpoints disagree on field names by design. One serves rows, the other serves a view model.

Retry job

Re-queues a failed job. jobId must have error status.
Status codes: 200 success · 400 job not in error state · 500 error

Cancel job

Cancels a job before it starts processing. jobId must have pending status.
Status codes: 200 success · 400 job not pending · 500 error

Delete job

Permanently removes a job record from the queue.
Status codes: 200 success · 400 failed · 500 error

Queue Statistics

Aggregate counts per status.

Queue Events (SSE)

Real-time progress updates.

Video Status

Check processing status by file path.