AI Recommendations
Get video recommendations
Authorization
api_token AuthorizationBearer <token>
API token provided by BOLD Admin
In: header
Request Body
application/json
Recommendations request
collection_id?string|null
Filter to a specific collection (legacy single-value filter)
collection_ids?|null
Filter to multiple collections (OR semantics)
include_guidance?boolean
Include AI guidance text explaining recommendations
Default
truelimit?integer
Maximum recommendations (default: 5, max: 20)
stream?boolean
Stream response via SSE (default: true)
Default
truetags?|null
Filter by video tags
topics*array<string>
Topics or learning goals
Response Body
application/json
application/json
application/json
curl -X POST "https://app.boldvideo.io/api/v1/ai/recommendations" \ -H "Content-Type: application/json" \ -d '{ "limit": 5, "topics": [ "authentication", "user management" ] }'{
"guidance": "string",
"recommendations": [
{
"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"
}
],
"sources": [
{
"canonical_url": "string",
"cited": true,
"document_type": "string",
"id": "string",
"kind": "chunk",
"matched_sentence": {
"end_ms": 0,
"speaker_label": "string",
"speaker_name": "string",
"start_ms": 0,
"text": "string",
"timestamp": 0,
"timestamp_end": 0,
"timestamp_end_seconds": 0,
"timestamp_seconds": 0
},
"moment_id": "string",
"mux_playback_id": "string",
"playback_id": "string",
"published_at": 0,
"slug": "string",
"speaker": "string",
"speaker_label": "string",
"speaker_name": "string",
"summary": "string",
"text": "string",
"timestamp": 0,
"timestamp_end": 0,
"timestamp_end_seconds": 0,
"timestamp_seconds": 0,
"timestamp_url": "string",
"title": "string",
"transcript_excerpt": "string",
"type": "insight",
"video_id": "string",
"video_title": "string"
}
]
}{
"code": "not_found",
"message": "Video not found",
"retryable": false,
"type": "error"
}{
"code": "not_found",
"message": "Video not found",
"retryable": false,
"type": "error"
}