Changelog

2026-10-10

  • delivery: "original" on uploads and imports: the original is kept without transcoding and is played or downloaded as it is. hls stays the default.
  • original_url and delivery in GET /v1/videos/{id}/playback; delivery on video objects.
  • GET /v1/videos/{id}/download: a one-hour signed link to the original, with its file name.
  • POST /v1/videos/imports: XonaPlay downloads a video from a public https URL.
  • PATCH /v1/videos/{id} accepts "delivery": "hls" to render HLS for a video uploaded as original (one way only).
  • POST /v1/videos/uploads/{session_id}/complete returns ready for delivery: "original" and queued for hls.

2026-10-09 — v1

First public version.

  • GET /v1/videos/{id}/playback and GET /v1/live/{id}/playback: signed HLS links for any player.
  • Four security levels per workspace (Open, Protected, Strict, Maximum) and per video overrides.
  • Secret keys (xp_sk_…) and webhooks (video.ready, video.failed, live.started, live.ended).
  • Direct uploads with POST /v1/videos/uploads.
  • All JSON is snake_case.