Docs

Set a video's player control overrides

Sets per-video overrides for the player (appearance, visible controls, playback speeds, behaviour, and advanced options). Send either the per-field shape or an updates array of catalog-keyed overrides. A null on controls, player_key_color_override, enabled_playback_speeds, or drm_definition_id clears that override so it inherits the organization default. Requires a key with the videos:write scope. The response is the resolved effective config (organization default plus per-video override) with per-control provenance.

PUT
/v1/videos/{id}/controls

Authorization

BearerAuth
AuthorizationBearer <token>

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

id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://api.moviie.ai/v1/videos/497f6eca-6276-4993-bfeb-53cbbbba6f08/controls" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "t": 0,
  "controls": "string",
  "player_key_color_override": "string",
  "drm_definition_id": "ada110a9-e35d-4206-8d08-901ddc941cde",
  "autoplay": true,
  "preload": true,
  "muted": true,
  "loop": true,
  "show_speed": true,
  "chromecast": true,
  "disable_airplay": true,
  "disable_ios_player": true,
  "remember_position": true,
  "transcript_search_enabled": true,
  "chapters_enabled": true,
  "smart_progress_enabled": true,
  "turbo_start_enabled": true,
  "show_embed_brand": true,
  "playback_rate": 0,
  "effectivePlayerConfig": {
    "values": {
      "property1": true,
      "property2": true
    },
    "items": {
      "property1": {
        "key": "string",
        "section": "appearance",
        "effectiveValue": true,
        "organizationValue": true,
        "videoValue": true,
        "origin": "platform",
        "isOverride": true,
        "canReset": true
      },
      "property2": {
        "key": "string",
        "section": "appearance",
        "effectiveValue": true,
        "organizationValue": true,
        "videoValue": true,
        "origin": "platform",
        "isOverride": true,
        "canReset": true
      }
    }
  }
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}