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/apihub. - 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 isplan_required.
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.
- 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.
- 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 the dashboard's DEVELOPERS → API Keys section. - 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. 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?