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.