Changelog
2026-08-10
- MCP server.
POST /mcp— the same REST v1 surface over Streamable HTTP JSON-RPC, authenticated on the same access keys, with zero authorization logic of its own: every tool and resource calls the identical function its matching REST endpoint calls, so a key gets the same clamped answer and the same refusal on either door. See MCP. - Context bundles, turnovers, media, and a vendor money read.
/v1grows a second shape of endpoint — one call that assembles everything about a scene or a character, a vendor's own turnovers and submissions, media read by id, and a vendor's own purchase orders — all clamped to the calling key. See One round trip, clamped to the caller. - Engagement-bound access keys. A Throughline access key can now be minted against one vendor organization's engagement instead of the whole production — a vendor's own automation, reaching exactly what a person seated on that engagement would reach. See Keys.
- Slack. Install from the Channels screen, bind crew accounts, and let the show provision its own channels off the crew list. Notifications route by urgency — interrupt, ambient, digest — and an approval's whole lifecycle lands on one message, updated in place, rather than a fresh post every time. See Slack.
- Forge builds behind a kernel jail for vendor and API access. Building or running generated code through a vendor's own seat or an access key now requires the deploy's kernel-level sandbox where the host provides one; the production's own crew is unaffected.
- Public docs launched (pilot preview).
2026-08-09
- Access key metering. Every authenticated
/v1request is now counted per key, per day — visible next to the key in Settings as a request count and a last-used timestamp. Nothing is gated or billed on it yet; access stays seat-priced. See Keys. - Two new scopes.
submit:turnoverandread:moneyjoinreadandwrite— see Scopes. - Episodic productions. Seasons and episodes, per-episode budgets and schedule filtering, now reflected across the read surface: an episodic show's scenes and schedule strips carry
episode_id/episode_code, and/scheduleand/script-changesboth take anepisode_idfilter.