TwinToneAPI Docs

Resources

Changelog

All notable changes to the TwinTone API (v1) are documented here. Entries are dated and grouped by Added / Changed / Fixed.


2026-09-12

Changed

  • API keys moved in the dashboard — they now live under the sidebar DEVELOPERS → API Keys section (with Usage and Docs), no longer under Billing or Settings. All docs cross-references updated. API Keys and Webhooks also appear as tabs of the dedicated /dashboard/api hub.
  • Pricing page rewritten — API streams draw on the same plan minutes as dashboard streams; the previous per-minute tier table and credit-wallet model never shipped and is removed. Live keys still require the Growth plan or above (402 plan_required); test keys remain free.

Fixed

  • Error reference no longer lists insufficient_credits / no_minutes — neither code exists in the API; the only 402 is plan_required.

2026-09-04

Fixed

  • iGaming platform restrictions unified across the docs: iGaming brands may stream to kick, youtube and twitch (was stated inconsistently).
  • The OpenAPI spec is now downloadable directly from the docs site (/openapi.yaml) — the spec was previously only reachable via a private GitHub link.
  • Rate-limit docs no longer promise a Retry-After header the API doesn't send.
  • Clarified that crypto in the webhook signature examples is Node's standard hashing library (not cryptocurrency), and corrected the webhook testing notes.

2026-08-07

v1 — initial release

The TwinTone API launches in early access. Endpoints are stable but the surface area is intentionally small; webhook event taxonomies are versioned so additions never break existing integrations.

Added

  • Streams — programmatic control of AI-hosted live streams:
    • POST /api/v1/streams — start a stream (agent dispatch, lifecycle preparing → live → ended | error).
    • GET /api/v1/streams — list your brand's streams with status / limit / offset filters.
    • GET /api/v1/streams/{id} — full stream detail including event history.
    • DELETE /api/v1/streams/{id} — end a live stream.
  • AnalyticsGET /api/v1/analytics with period (24h / 7d / 30d) and per-stream filters; platform breakdown and per-stream rows included.
  • WebhooksPOST / GET / DELETE /api/v1/webhooks with stream.started, stream.ended, and stream.error events, HMAC-SHA256 signature verification (X-TwinTone-Signature), 5-minute replay window, and up to 5 retries with exponential backoff.
  • Scoped API keystt_live_… / tt_test_… keys with least-privilege scopes (streams:read, streams:write, analytics:read, webhooks:write), created in the dashboard's DEVELOPERS → API Keys section.
  • Test modett_test_ keys simulate the full request/response lifecycle with no agent dispatch and no billing, so integrations can be built and verified for free.
  • Unified error envelope — every error returns { "error": { "code", "message" } } with stable codes (missing_fields, invalid_fields, invalid_creator, unauthorized, insufficient_scope, vertical_mismatch, not_found, rate_limited, concurrency_limit, db_error, launch_failed).
  • iGaming verticalvertical: "igaming" streams with brand vertical locking. See the iGaming guide.

Changed

  • Nothing — this is the initial release.

Fixed

  • Nothing — this is the initial release.

Documentation is versioned with the API. Check this page for updates, or see API pricing and Errors & rate limits for the current contract.

Was this page helpful?