Roadmap & status
What's live on the development edge today versus what's planned. We label this
honestly so you never build against something that isn't there yet. "Live (dev)"
means reachable now at https://api-dev.traxstreaming.live; "Planned" means
designed but not shipped.
Live now (dev)
| 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 + unlink linked platform accounts | API reference |
| Chat (Phase 3) — read recent messages + send (write-gated) | API reference |
| Media library (Phase 3) — list assets + initiate uploads (write-gated) | 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) / WHIP / WHEP with session tokens (operator-provisioned) | SRT · RTMP · WHIP/WHEP |
Write flag
Every mutating (write) endpoint across Phases 1–3 is gated behind the
deployment's PUBLIC_API_WRITE_ENABLED flag. While it is off, writes return
503 write_disabled and never touch the live stream path; the flag flips on
per-deployment after off-air validation. Reads are always on.
Shipped phases
| Phase | Status | Adds |
|---|---|---|
| Phase 1 | ✅ Live (dev) | Reads; go-live / go-offline writes |
| Phase 2 | ✅ Live (dev) | Write CRUD for studios / sources / destinations; connections (list / unlink platform accounts) |
| Phase 3 | ✅ Live (dev) | 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 self-serve 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 ship ahead of features on purpose
The scope vocabulary covers everything through
Phase 3 (studios/sources/destinations/connections/chat/media read + write,
stream:*). webhooks:manage is listed ahead of its feature on purpose —
request keys with the scopes you'll want and they stay valid as those land, so
you don't have to re-mint keys later.
Have an opinion on what should ship first? Tell us — the order follows what developers actually want to build.