Streamforge Video API 2.4.0OAS3
/api/openapi.jsonREST API for on-demand video, live channel control, adaptive playback and delivery analytics. All endpoints require a service access token issued to an approved integration.
https://[domain]GET/api/v1/catalog/videosSearch the video catalog
Search the video catalog BearerAuth
Returns published video assets available to the current integration. Results can be filtered by collection, language, duration and availability window.
Parameters
| Name | Description |
|---|---|
| page_size integer(query) | Maximum number of results. Default: 20, maximum: 100. |
| cursor string(query) | Cursor from a previous response. |
| query string(query) | Full-text search across title, series and tags. |
| availability string(query) | Filter by published, scheduled or expired. |
200 — Catalog page
{
"items": [{
"id": "vid_01J9A4K8M3",
"title": "The Long Way North",
"type": "vod",
"duration_seconds": 3114,
"language": "en",
"availability": "published",
"published_at": "2026-09-18T09:30:00Z"
}],
"next_cursor": "eyJvZmZzZXQiOjIwfQ"
}GET/api/v1/catalog/videos/{video_id}Get video metadata
Get video metadata
Returns the metadata, artwork references, subtitle tracks and entitlement rules for one video asset.
| Name | Description |
|---|---|
| video_id string(path) required | Unique video asset identifier. |
| include string(query) | Optional expansions: artwork, tracks, chapters. |
GET/api/v1/catalog/collectionsList collections
List collections
Lists editorial collections and rails available in the configured market.
POST/api/v1/playback/sessionsCreate a playback session
Create a playback session
Creates a time-limited session for a video asset and resolves the supported streaming protocols.
Request body required
{
"video_id": "vid_01J9A4K8M3",
"protocol": "hls",
"device_type": "web",
"drm": "widevine"
}201 — Session created
{
"id": "pbs_01J9AK9SDW",
"status": "ready",
"protocol": "hls",
"manifest_url": "/api/v1/playback/sessions/pbs_01J9AK9SDW/manifest",
"expires_at": "2026-09-27T20:40:00Z"
}GET/api/v1/playback/sessions/{session_id}Get session status
Get playback session status
Returns the current entitlement and readiness state of a playback session.
GET/api/v1/playback/sessions/{session_id}/manifestResolve adaptive manifest
Resolve adaptive manifest
Returns a signed HLS or DASH manifest descriptor for a ready playback session.
GET/api/v1/playback/sessions/{session_id}/tracksList audio and subtitle tracks
List rendition tracks
Returns alternate audio languages, subtitles and closed-caption tracks enabled for the session.
GET/api/v1/live/streamsList live streams
List live streams
Returns live channels visible to the caller, including their current state and programme window.
POST/api/v1/live/streams/{stream_id}/sessionsCreate a live viewing session
Create a live viewing session
Creates a short-lived session for a live channel and returns its protocol-specific playback descriptor.
GET/api/v1/analytics/delivery/overviewGet delivery overview
Get delivery overview
Provides aggregated starts, watch time, bitrate and error-rate metrics for a selected reporting interval.
| Name | Description |
|---|---|
| from datetime(query) required | Inclusive UTC interval start. |
| to datetime(query) required | Exclusive UTC interval end. |
| group_by string(query) | video, country or device_type. |