๐ŸŽ‰ New Welcome to reservie โ€” V2 is now live and available for use. Get started โ†’

Videos

Updated Feb 26, 2026 2 min read

Retrieve the video library โ€” on-demand content, pricing, expiry settings, and library groupings.

The Videos API returns the media catalogue โ€” on-demand video content organised into libraries. CDN URLs, filenames, and streaming keys are not included for security. For customer-scoped video purchases, see Customers โ€” Videos & Media.

All endpoints require the media:read scope.


List videos

GET /videos

Returns all videos for the company. Deleted videos are excluded.

No pagination โ€” videos are a catalogue.

Example response

{
  "data": [
    {
      "id": "video_42",
      "type": "video",
      "library": {
        "id": "lib_1",
        "type": "media_library",
        "name": "Yoga Videos"
      },
      "name": "Morning Flow",
      "description": "A gentle morning yoga flow",
      "base100_price": 999,
      "credits": 1,
      "has_expiry": true,
      "expiry_days": 30,
      "ready": true,
      "updated_at": "2025-06-15T10:00:00"
    }
  ]
}

Get a single video

GET /video/{id}

Retrieve a single video by ID. Returns the video even if deleted (when requested by ID explicitly).

Path parameters

ParameterTypeDescription
idstringVideo ID (e.g. video_42)

Example response

{
  "data": {
    "id": "video_42",
    "type": "video",
    "library": {
      "id": "lib_1",
      "type": "media_library",
      "name": "Yoga Videos"
    },
    "name": "Morning Flow",
    "description": "A gentle morning yoga flow",
    "base100_price": 999,
    "credits": 1,
    "has_expiry": true,
    "expiry_days": 30,
    "ready": true,
    "updated_at": "2025-06-15T10:00:00"
  }
}

Error responses

StatusCondition
403Missing media:read scope
404Video ID does not exist for this company

Field reference

FieldTypeDescription
idstringPrefixed video ID (e.g. video_42)
typestringAlways "video"
libraryobject or nullThe media library this video belongs to
library.idstringPrefixed library ID (e.g. lib_1)
library.typestringAlways "media_library"
library.namestringLibrary name
namestringVideo name
descriptionstringVideo description
base100_pricenumberPrice in smallest currency unit (e.g. 999 = 9.99)
creditsnumberNumber of pass credits required to access this video
has_expirybooleanWhether purchased access expires
expiry_daysnumberNumber of days until purchased access expires (0 if no expiry)
readybooleanWhether the video has been processed and is available for playback
updated_atstringISO 8601 datetime

Caching

Both endpoints are cached for 5 minutes. See Scopes, Rate Limits, Caching & Errors for details.