Skip to main content

Changelog

Notable changes to the public API. All changes are additive within /v1. Breaking changes will move to /v2 with a 12-month overlap.

2026-05-06 — videosfiles (early access)

The file-handling surface has been generalized: every /videos path is now /files, every video_* JSON field is now file_*, and the video.transcribed webhook event is now file.transcribed. This is a hard cut without backward-compatibility — /v1 shipped earlier the same day, no external integrations have been built yet.

WasNow
GET /v1/videos/{id}GET /v1/files/{id}
GET /v1/videos/{id}/transcriptGET /v1/files/{id}/transcript
POST /v1/videos/{id}/transcribePOST /v1/files/{id}/transcribe
GET /v1/projects/{id}/videosGET /v1/projects/{id}/files
POST /v1/projects/{id}/videosPOST /v1/projects/{id}/files
video_id, video_ids, video_countfile_id, file_ids, file_count
video.transcribed (webhook)file.transcribed

The underlying storage model is still named Video internally for legacy reasons; rename will follow in a separate migration. No customer-facing behavior depends on it.

2026-05 — v1 launch

New

  • GET /v1/me, GET /v1/workspace
  • Projects: list/get/create/update/delete + 8 sub-resource lists
  • Tests, responses, files, transcripts (read)
  • Tags, notes, cards, lanes, reports, clips (CRUD)
  • AI / async jobs: chat, reports, transcribe, auto-tag, sentiment + GET /v1/jobs/:id
  • Engage: list/get/publish engage tests, sessions, invitations
  • Webhooks: subscribe to 10 event types, HMAC-signed POSTs, retry + auto-disable
  • Per-key rate limits with X-RateLimit-* headers
  • Per-user usage stats at /v1/usage
  • OpenAPI 3.1 spec at /v1/openapi.json

Auth

  • Authorization: Bearer ue_live_… everywhere
  • API keys hashed at rest (existing keys auto-migrated)
  • Free / participant accounts blocked at the request boundary