Video
get/videos/{id}

Request

Path parameters

idstring required

Response

OK

idinteger

Video ID

public_idstring

Public ID

workspace_idinteger

Workspace ID

namestring

Video name

status'queued' | 'processing' | 'ready' | 'failed'

Computed import state. Poll until ready before attaching to a lesson.

error_code'download_failed' | 'file_too_large' | 'invalid_file_type' | 'processing_failed' | 'null' nullable

Null unless failed. Network and URL download failures share download_failed. An import that stops progressing for 3 hours fails with processing_failed.

poster_image_idinteger nullable

Poster image ID in this workspace.

urlstring nullable

Signed MP4 URL, expires one hour after this response; null until the video has a processed file. Fetch again to renew. No HLS URL is exposed.

thumbnail_urlstring nullable

Signed generated frame URL, expires one day after this response; null until the video has a processed file.

created_atstring date-time

Added

updated_atstring date-time

Updated

Example response

{
  "id": 789,
  "public_id": "AbCdEfGh",
  "workspace_id": 123,
  "name": "Module 1: Welcome",
  "status": "queued",
  "error_code": null,
  "metadata": null,
  "poster_image_id": null,
  "url": null,
  "thumbnail_url": null,
  "created_at": "2026-10-20T17:00:00.000Z",
  "updated_at": "2026-10-20T17:00:00.000Z"
}

Changes