Resources
Support & FAQ
Getting help
- Email: info@twintone.ai —
include your brand id (from any API response) and the
stream_id/webhook_idyou're asking about. We reply within one business day. - Dashboard: live.twintone.ai/dashboard — keys, usage, streams.
- Sales / Enterprise (24/7 always-on, custom rate limits): same email, subject "Enterprise".
Security
Reporting a vulnerability
If you discover a security vulnerability, do not open a public issue or post about it. Email info@twintone.ai with details — we'll acknowledge within 24 hours and keep you informed of the fix timeline.
API key security
- Keys are hashed with SHA-256 — we never store plaintext keys.
- Test keys (
tt_test_) never dispatch agents or consume minutes. - Revoked keys stop working immediately.
- See Authentication for the full security model.
Abuse & acceptable use
API keys used for probing, scraping, or excessive requests beyond the documented rate limits may be revoked. If you need higher limits, email us — we're happy to accommodate legitimate traffic.
Data & compliance
- Data residency: streams, keys, and analytics are stored on TwinTone infrastructure (us-east-1).
- Retention: stream data and analytics are retained for the life of your account. Deleted streams are soft-deleted for 30 days, then purged.
- DPA: enterprise customers can request a Data Processing Agreement — email info@twintone.ai.
Frequently asked questions
Do API calls use my plan minutes?
Yes — API streams draw on the same plan minutes as dashboard streams. One pool, one plan. Watch the burn on the dashboard Usage tab. See API pricing.
What plan do I need for API access?
Live keys need the Growth plan or above for stream and webhook management — test keys are exempt and free. See API pricing.
What's the difference between tt_test_ and tt_live_ keys?
Same endpoints, same response shapes. Test keys never dispatch an agent and
never bill — streams return status: "live" immediately with "test": true so
you can exercise the full lifecycle (including DELETE) for free. Go live by
swapping in a live key — no other code changes, but you must add duration_minutes.
How many streams can I run at once?
3 concurrent (preparing + live) per brand. A 4th returns
429 concurrency_limit. Need more? Email us — Enterprise is always-on.
What happens if a stream gets stuck in preparing?
If the agent worker can't join the room within 5 minutes, the stream
transitions to error and a stream.error webhook is sent (if registered).
preparing time never consumes plan minutes. See Streams.
My key leaked / I lost my key. What now?
Revoke it immediately in DEVELOPERS → API Keys — it stops working instantly. We store only a SHA-256 hash, so lost keys can't be recovered; create a new one.
Can I get notified when a stream starts/ends instead of polling?
Yes — register a webhook (POST /api/v1/webhooks) and we'll push
stream.started / stream.ended / stream.error with an HMAC signature you
can verify. See Webhooks.
Do you have an SDK?
Not yet — the API is a small set of REST endpoints and curl-friendly by design. When we ship one it will be JavaScript/TypeScript first. The OpenAPI spec generates a client in any language today.
Which platforms can I stream to?
YouTube, TikTok, Twitch, Kick, Facebook, Instagram. iGaming brands: see the iGaming guide for the compliance checklist.
Where's my data?
Streams, keys, and analytics live on TwinTone infrastructure (us-east-1). We never store plaintext API keys — only SHA-256 hashes.
Was this page helpful?