7.5 Slow path: get-playback-url

Use it when the node is not direct, after a 403 from the node, or when the panel lacks direct playback. It costs a round trip through your gateway to the panel.

GET /api/v2/get-playback-url?type=channel&id=123&ext=m3u8
Authorization: Bearer <session_token>
Parameter
type channel, vod or saga
id The channel, movie or episode id
ext ts (default), m3u8, or the container extension
{
  "playback_token": "eyAbCd…gzWx.qRsTuV…",
  "url_path": "/eyAbCd…gzWx.qRsTuV…~<session_token>",
  "urls": ["https://lb1.example.com:443/eyAbCd…~<session_token>",
           "http://203.0.113.6:80/eyAbCd…~<session_token>"],
  "ttl": 300,
  "session": { "session_token": "…", "session_id": "…", "playback_key": "…",
               "exp_user": "…", "exp_token": "…", "server_time": 1755079200 }
}
  • Try urls in order: one per node, with the node's first host. url_path is the same path, if you build the host yourself from the routes (for example to fall back to a node's IP).
  • session is present only when the panel renewed the session (for example the first play of a line whose clock starts on first use): replace the stored session token and playback_key.
  • Errors: invalid_parameter, not_in_package, account_expired, account_disabled, restreamer_not_allowed, and the session errors of section 4.