Collections
Get a collection
Authorization
api_token AuthorizationBearer <token>
API token provided by BOLD Admin
In: header
Path Parameters
id*string
Collection UUID or slug
Query Parameters
include?string
Include 'children' for direct children or 'descendants' for full tree
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://app.boldvideo.io/api/v1/collections/string"{
"data": {
"children": [
{}
],
"children_count": 3,
"created_at": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "Getting Started",
"parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
"position": 0,
"slug": "getting-started",
"updated_at": "2019-08-24T14:15:22Z",
"video_count": 5
}
}{
"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 collections
Authorization
api_token AuthorizationBearer <token>
API token provided by BOLD Admin
In: header
Query Parameters
root_only?boolean
Only return root-level collections (no parent)
parent_id?string
Filter by parent collection UUID
limit?integer
Maximum number of collections (1-1000, default: 50)
offset?integer
Offset for pagination (default: 0)
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://app.boldvideo.io/api/v1/collections"{
"data": [
{
"children": [
{}
],
"children_count": 3,
"created_at": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "Getting Started",
"parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef",
"position": 0,
"slug": "getting-started",
"updated_at": "2019-08-24T14:15:22Z",
"video_count": 5
}
]
}{
"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 videos in a collection
Authorization
api_token AuthorizationBearer <token>
API token provided by BOLD Admin
In: header
Path Parameters
collection_id*string
Collection UUID or slug
Query Parameters
limit?integer
Maximum number of videos (1-1000, default: 100)
offset?integer
Offset for pagination (default: 0)
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.boldvideo.io/api/v1/collections/string/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"
}{
"code": "not_found",
"message": "Video not found",
"retryable": false,
"type": "error"
}{
"code": "not_found",
"message": "Video not found",
"retryable": false,
"type": "error"
}