reference

Roadmap & status

What's live today versus what's planned. We label this honestly so you never build against something that isn't there yet. "Live" means reachable now at https://api.traxstreaming.live; "Planned" means designed but not shipped.

Live now

Capability Where
API keys — create, copy-once, list, revoke (self-serve from your account's Developer / API Keys screen) Developer API
Read endpoints — list studios, sources, destinations; read stream-status API reference
Studio / source / destination CRUD (Phase 2) — create, update, delete (write-gated) API reference
Connections (Phase 2) — list, read, link, save manual stream keys, update, unlink API reference
Chat (Phase 3) — read recent messages + send; per-platform chat status and reconnect API reference
Media library (Phase 3) — list, read, upload (presigned PUT or multipart), complete, abort, delete Media library
Live inputs — publish URLs, credential rotation, device contribute, program return feed, remote camera control Stream to a live input
Audio mix, canvas and scenes — read and drive the mixer, the layout and saved scenes Control the mixer · Control the canvas
Broadcasts — YouTube broadcast pick / create / edit / thumbnail, reusable stream keys, broadcast templates, show settings YouTube broadcast settings
Studio event stream — Server-Sent Events of studio state changes API reference
Storage, account and API keys — BYO buckets, account profile, self-serve API keys API reference
go-live / go-offline (Phase 1) — take a studio live / offline (write-gated) API reference
Error envelope — { error: { code, message, requestId } }, stable codes Errors
Cursor pagination — { data, nextCursor } Pagination
Per-key rate limits — token bucket, 429 + Retry-After Rate limits
Versioned /v1 contract — additive-within-major Versioning
OpenAPI 3.0 spec — served live for codegen /v1/openapi.json
Media ingest plane — SRT / RTMP(S) with self-serve stream keys; WHIP / WHEP with platform-minted session tokens SRT · RTMP · WHIP/WHEP
BYO storage (studio) — connect your own S3-compatible bucket as a media library; cloud recording into it BYO storage · Cloud recording

Write switch

Every mutating (write) endpoint is gated behind a per-deployment write switch. While it is off, writes return 503 write_disabled and never touch the live stream path. It is on in production (GET /v1/health reports writeEnabled). Reads are always on.

Shipped phases

Phase Status Adds
Phase 1 ✅ Live Reads; go-live / go-offline writes
Phase 2 ✅ Live Write CRUD for studios / sources / destinations; connections (list / unlink platform accounts)
Phase 3 ✅ Live Chat — read + send; media — library list + initiate upload

Planned

Roughly in the order we expect to ship. Nothing here is available yet.

Phase Adds
Phase 4 OAuth client apps — a third-party app a different TRaX user logs into, acting on their behalf (authorization-code + PKCE)
Phase 5 Official SDKs (TypeScript, then Go) and a developer portal (usage dashboards, key rotation)
Webhooks Signed stream.live / stream.offline / source.status_changed / destination.status_changed events (poll stream-status until they ship)
Later MoQ low-latency playback (use WHEP today)

Scopes for planned features

The scope vocabulary covers every live route. A planned feature brings its scope with it: there is no webhook scope yet, and a key request naming a scope that doesn't exist is rejected, so request the scope when the feature ships.

Have an opinion on what should ship first? Tell us — the order follows what developers actually want to build.