Playback payload for an embed
Returns JSON playback metadata for native/mobile SDKs (bundle rules, subscription, CDN: aligned with iframe embed business rules where applicable). Authentication: a valid publishable API key (mvi_pub_*) is required via Authorization: Bearer … or x-api-key. Anonymous access is not supported. Private keys (mvi_priv_*, legacy mvi_*, or any non-publishable key) are rejected with HTTP 403, even with playback:read. Send x-moviie-client (bundle_id=...;platform=...;sdk=...) from native clients when using bundle allow lists.
Authorization
BearerAuth Pass the raw API key as a Bearer token (Authorization: Bearer <key>). Publishable keys start with mvi_pub_ (playback-scoped). Other prefixes denote private/admin keys for general REST routes. GET /v1/embeds/{embedId}/playback accepts publishable keys only.
In: header
Path Parameters
Embed UUID.
uuidHeader Parameters
Client fingerprint, e.g. bundle_id=com.app;platform=ios;sdk=1.0.0.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.moviie.ai/v1/embeds/497f6eca-6276-4993-bfeb-53cbbbba6f08/playback"{
"embedId": "8971aebf-fca4-4062-b2a4-87771d70de31",
"title": "string",
"smartProgressEnabled": true,
"durationSeconds": 0,
"isVertical": true,
"videoWidthPx": 1,
"videoHeightPx": 1,
"variants": [
{
"id": "string",
"kind": "string",
"label": "string",
"durationSeconds": 0,
"uri": "string",
"contentType": "hls"
}
],
"playback": {
"uri": "http://example.com",
"contentType": "hls",
"expiresAt": "string",
"refreshAfter": "string",
"requestHeaders": {
"property1": "string",
"property2": "string"
}
},
"posterUrl": "string",
"branding": {
"primaryColor": "string",
"showWatermark": true,
"organizationName": "string"
},
"controls": {
"autoplay": true,
"preload": true,
"muted": true,
"loop": true,
"showSpeed": true,
"rememberPosition": true,
"chromecast": true,
"disableAirplay": true,
"showProgress": true,
"showPlay": true,
"showPlayLarge": true,
"showCaptions": true,
"showSettings": true,
"showPip": true,
"showFullscreen": true,
"showCurrentTime": true,
"showDuration": true,
"showMute": true,
"showVolume": true,
"seekBackwardEnabled": true,
"seekForwardEnabled": true,
"showChapters": true,
"turboStartEnabled": true,
"playbackRate": 0
},
"captions": [
{
"language": "string",
"label": "string",
"url": "http://example.com"
}
],
"chapters": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"title": "string",
"startTimeSeconds": 0,
"order": 0
}
],
"ctas": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"title": "string",
"url": "string",
"startTimeSeconds": 0,
"endTimeSeconds": 0,
"placement": "overlay",
"position": "string",
"size": "sm",
"color": "string",
"passUrlParams": true
}
],
"speech": {
"present": true
},
"audioTracks": [
{
"language": "string",
"label": "string",
"default": true
}
],
"summarizable": true,
"ebookable": true,
"mindMappable": true,
"quizzable": true,
"tutorable": true,
"telemetry": {
"bootstrapUrl": "http://example.com"
}
}{
"error": "Resource not found",
"code": "NOT_FOUND"
}{
"error": "Resource not found",
"code": "NOT_FOUND"
}{
"error": "Resource not found",
"code": "NOT_FOUND"
}{
"error": "Resource not found",
"code": "NOT_FOUND"
}