Resources
Changelog
All notable changes to the TwinTone API (v1) are documented here. Entries are dated and grouped by Added / Changed / Fixed.
2026-09-04
Fixed
- iGaming platform restrictions unified across the docs: iGaming brands may
stream to
kick,youtubeandtwitch(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.
- Error reference now documents the two 402 responses stream creation can
return:
no_minutes(plan minutes exhausted) andinsufficient_credits(credit wallet can't cover the stream). - Rate-limit docs no longer promise a
Retry-Afterheader the API doesn't send. - Clarified that
cryptoin 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, lifecyclepreparing → live → ended | error).GET /api/v1/streams— list your brand's streams withstatus/limit/offsetfilters.GET /api/v1/streams/{id}— full stream detail including event history.DELETE /api/v1/streams/{id}— end a live stream and stop billing.
- Analytics —
GET /api/v1/analyticswithperiod(24h/7d/30d) and per-stream filters; platform breakdown and per-stream rows included. - Webhooks —
POST/GET/DELETE /api/v1/webhookswithstream.started,stream.ended, andstream.errorevents, HMAC-SHA256 signature verification (X-TwinTone-Signature), 5-minute replay window, and up to 5 retries with exponential backoff. - Scoped API keys —
tt_live_…/tt_test_…keys with least-privilege scopes (streams:read,streams:write,analytics:read,webhooks:write), created in Billing → API keys. - Test mode —
tt_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 vertical —
vertical: "igaming"streams with brand vertical locking and an iGaming surcharge. 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?