Throughline Docs

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. /v1 grows 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 /v1 request 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:turnover and read:money join read and write — 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 /schedule and /script-changes both take an episode_id filter.