VideohatiDocs
API referenceProjects

Update the project's player customization

Update the project's player customization

PATCH/v1/projects/{id}/player-settings

This operation supports dashboard session-cookie authentication. Call it only from trusted server code; browsers must not manufacture or expose the session cookie.

Partial update: send only the fields that change; controls patches per-key. The stored document is always the full effective object (defaults merged, playbackSpeeds normalized to include 1.0), and the response returns it. Session-cookie auth only. Rate limit: 60 requests per 60 s per session.

Error codes: unauthorized (401), not_found (404), invalid_player_settings (400), invalid_custom_css (400 — the response error.details.violations lists the rejected rules).

Authentication

  • sessionCookie — Dashboard session cookie set by POST /v1/auth/login. Video and playback endpoints additionally require the projectId query parameter under cookie auth.

Parameters

NameInTypeRequiredDescription
idpathstring (Ulid)Yes

Request body

required

Content type: application/json

Schema: PlayerSettingsPatch

{
  "uiLanguage": "en",
  "primaryColor": "#14e6b3",
  "controls": {
    "pip": true
  },
  "playbackSpeeds": [
    0.5,
    1,
    1.5,
    2,
    3
  ]
}

Responses

StatusMeaning
200The full effective player settings after the patch.
400The request body or query failed validation. The per-operation description lists the exact error.code values.
401No valid credential was presented.
404The resource does not exist or is not visible to this caller.
429Rate limit exceeded.

Example request

{
  "uiLanguage": "en",
  "primaryColor": "#14e6b3",
  "controls": {
    "pip": true
  },
  "playbackSpeeds": [
    0.5,
    1,
    1.5,
    2,
    3
  ]
}