REST API
Three endpoints for integrating Expert into any tool that makes HTTP requests. Available on the Enterprise plan.
Base URL and auth
https://expert.demobites.comAll requests require a Bearer token:
Authorization: Bearer YOUR_API_KEYPOST/v2/search
/v2/searchSearch your video knowledge base with a natural language query.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural language search query |
limit | number | No | Max results to return (default: 5) |
language | string | No | ISO language code (default: "en") |
Example
curl
curl -X POST https://expert.demobites.com/v2/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "How do I set up integrations?", "limit": 5}'Response
JSON
{
"results": [
{
"video_id": "abc123",
"title": "Setting Up CRM Integration",
"url": "https://hub.example.com/bites/crm-setup",
"segments": [
{
"text": "Open Settings, then click Integrations...",
"start_time": 15.2,
"end_time": 28.7
}
],
"confidence": 0.94
}
],
"results_count": 1
}GET/v2/video/{id}
/v2/video/{id}Retrieve full details for a specific video, including the complete transcript and all caption segments.
Example
curl
curl https://expert.demobites.com/v2/video/abc123 \
-H "Authorization: Bearer YOUR_API_KEY"Response
JSON
{
"video_id": "abc123",
"title": "Setting Up CRM Integration",
"url": "https://hub.example.com/bites/crm-setup",
"duration": 150.5,
"full_transcript": "In this video, we'll walk through...",
"captions": [
{
"text": "Open Settings, then click Integrations",
"start_time": 15.2,
"end_time": 28.7
}
]
}GET/v2/videos
/v2/videosList all videos in your Expert with cursor-based pagination.
Query parameters
| Param | Type | Description |
|---|---|---|
cursor | string | Pagination cursor from previous response |
limit | number | Results per page (default: 20) |
Example
curl
curl "https://expert.demobites.com/v2/videos?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"Response
JSON
{
"videos": [
{
"video_id": "abc123",
"title": "Setting Up CRM Integration",
"url": "https://hub.example.com/bites/crm-setup",
"duration": 150.5
}
],
"next_cursor": "eyJpZCI6ImRlZjQ1NiJ9",
"has_more": true
}Error codes
All error responses follow a consistent format:
{"error": "Description of what went wrong"}| Status | Meaning | Common cause |
|---|---|---|
400 | Bad Request | Missing or invalid query parameter |
401 | Unauthorized | Missing or invalid API key |
404 | Not Found | Video ID does not exist |
500 | Internal Error | Server-side issue, retry or contact support |