Bold VideoDocs

Videos

Get latest videos

GET
/api/v1/videos/latest

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Query Parameters

limit?integer

Maximum number of videos (default: 6, max: 50)

tag?string

Filter by tag

collection_id?string

Filter by collection ID

collection_ids?array<string>

Filter by multiple collection IDs (OR semantics). Supports repeated query params and comma-separated values.

viewer_id?string

Viewer UUID to include watch progress

Response Body

application/json

application/json

application/json

curl -X GET "https://app.boldvideo.io/api/v1/videos/latest"
{
  "data": [
    {
      "download_urls": {},
      "title": "Introduction to BOLD",
      "id": "abc123",
      "cta": {},
      "chapters_url": "string",
      "playback_id": "string",
      "languages": [
        {
          "code": "es",
          "mux_audio_track_id": "string",
          "mux_subtitle_track_id": "string",
          "name": "Spanish",
          "ready": true,
          "role": "source",
          "subtitle_url": "string"
        }
      ],
      "internal_id": "550e8400-e29b-41d4-a716-446655440000",
      "type": "video",
      "stream_url": "string",
      "source_id": "dQw4w9WgXcQ",
      "legacy_video_url": "string",
      "duration": 120,
      "source_provider": "youtube",
      "updated_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z",
      "subtitles": {},
      "playback_speed": 0,
      "captions_label": "string",
      "attachments": [
        {
          "description": "string",
          "file_size": 42000,
          "file_url": "https://uploads.eu1.boldvideo.io/uploads/bt_demo/attachments/file.pdf",
          "id": 123,
          "mime_type": "application/pdf",
          "title": "Strategy worksheet.pdf"
        }
      ],
      "tags": [
        {}
      ],
      "teaser": "string",
      "published_at": "2019-08-24T14:15:22Z",
      "playback_mode": "native",
      "transcript": {},
      "progress": {
        "completed": false,
        "completed_at": null,
        "current_time": 300,
        "duration": 1000,
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "percentage": 30
      },
      "description": "string",
      "chapters": [
        {}
      ],
      "captions_lang": "string",
      "thumbnail": "string",
      "captions": "string",
      "slug": "introduction-to-bold",
      "meta_data": {},
      "imported_from": "string"
    }
  ]
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}

Get a video

GET
/api/v1/videos/{id}

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

id*string

Video ID (hashid, UUID) or slug

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://app.boldvideo.io/api/v1/videos/string"
{
  "data": {
    "download_urls": {},
    "title": "Introduction to BOLD",
    "id": "abc123",
    "cta": {},
    "chapters_url": "string",
    "playback_id": "string",
    "languages": [
      {
        "code": "es",
        "mux_audio_track_id": "string",
        "mux_subtitle_track_id": "string",
        "name": "Spanish",
        "ready": true,
        "role": "source",
        "subtitle_url": "string"
      }
    ],
    "internal_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "video",
    "stream_url": "string",
    "source_id": "dQw4w9WgXcQ",
    "legacy_video_url": "string",
    "duration": 120,
    "source_provider": "youtube",
    "updated_at": "2019-08-24T14:15:22Z",
    "created_at": "2019-08-24T14:15:22Z",
    "subtitles": {},
    "playback_speed": 0,
    "captions_label": "string",
    "attachments": [
      {
        "description": "string",
        "file_size": 42000,
        "file_url": "https://uploads.eu1.boldvideo.io/uploads/bt_demo/attachments/file.pdf",
        "id": 123,
        "mime_type": "application/pdf",
        "title": "Strategy worksheet.pdf"
      }
    ],
    "tags": [
      {}
    ],
    "teaser": "string",
    "published_at": "2019-08-24T14:15:22Z",
    "playback_mode": "native",
    "transcript": {},
    "progress": {
      "completed": false,
      "completed_at": null,
      "current_time": 300,
      "duration": 1000,
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "percentage": 30
    },
    "description": "string",
    "chapters": [
      {}
    ],
    "captions_lang": "string",
    "thumbnail": "string",
    "captions": "string",
    "slug": "introduction-to-bold",
    "meta_data": {},
    "imported_from": "string"
  }
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}

List public videos

GET
/api/v1/videos

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Query Parameters

page?integer

Page number

tag?string

Filter by tag

collection_id?string

Filter by a single collection UUID

collection_ids?array<string>

Filter by multiple collection UUIDs (OR semantics). Supports repeated query params and comma-separated values.

no_collection?boolean

Only return uncategorized videos

Response Body

application/json

application/json

application/json

curl -X GET "https://app.boldvideo.io/api/v1/videos"
{
  "data": [
    {
      "download_urls": {},
      "title": "Introduction to BOLD",
      "id": "abc123",
      "cta": {},
      "chapters_url": "string",
      "playback_id": "string",
      "languages": [
        {
          "code": "es",
          "mux_audio_track_id": "string",
          "mux_subtitle_track_id": "string",
          "name": "Spanish",
          "ready": true,
          "role": "source",
          "subtitle_url": "string"
        }
      ],
      "internal_id": "550e8400-e29b-41d4-a716-446655440000",
      "type": "video",
      "stream_url": "string",
      "source_id": "dQw4w9WgXcQ",
      "legacy_video_url": "string",
      "duration": 120,
      "source_provider": "youtube",
      "updated_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z",
      "subtitles": {},
      "playback_speed": 0,
      "captions_label": "string",
      "attachments": [
        {
          "description": "string",
          "file_size": 42000,
          "file_url": "https://uploads.eu1.boldvideo.io/uploads/bt_demo/attachments/file.pdf",
          "id": 123,
          "mime_type": "application/pdf",
          "title": "Strategy worksheet.pdf"
        }
      ],
      "tags": [
        {}
      ],
      "teaser": "string",
      "published_at": "2019-08-24T14:15:22Z",
      "playback_mode": "native",
      "transcript": {},
      "progress": {
        "completed": false,
        "completed_at": null,
        "current_time": 300,
        "duration": 1000,
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "percentage": 30
      },
      "description": "string",
      "chapters": [
        {}
      ],
      "captions_lang": "string",
      "thumbnail": "string",
      "captions": "string",
      "slug": "introduction-to-bold",
      "meta_data": {},
      "imported_from": "string"
    }
  ]
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}

Create a video from URL

POST
/api/v1/videos

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Request Body

application/json

Video ingestion request

callback_url?string|null

HTTPS URL to receive a webhook POST when video processing completes or fails. Must use HTTPS.

collection_id?string

Collection to add the video to

Formatuuid
description?string

Video description

external_id?string

Caller's reference ID. Used for idempotency within tenant.

language?string

ISO 639-1 language code (default: "en")

source_url*string

URL to download the video from

tags?array<string>

Tag names to assign (created if they don't exist)

title*string

Video title

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://app.boldvideo.io/api/v1/videos" \  -H "Content-Type: application/json" \  -d '{    "source_url": "string",    "title": "string"  }'
{
  "callback_status": "pending",
  "callback_url": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "external_id": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "string"
}
{
  "callback_status": "pending",
  "callback_url": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "external_id": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "status": "string"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}