Introduction
Documentation for running production voice agents over real phone calls and embeddable web widgets: quickstarts, guides, and the full ThunderPhone API reference.
ThunderPhone lets you build AI voice agents that place and answer real phone calls and power mic-driven conversations on your website. The documentation is split into four tabs:
Quickstarts, concepts, and how-tos for the dashboard and the API. Start here if you're new.
Every endpoint, request field, and response shape.
The embeddable web widget — React component, headless hook, and CDN script tag.
Real-time events, signing, and delivery semantics.
What you can build
Answer calls to a number you own with an AI agent that follows your prompt, uses your tools, and hands off to humans when needed.
Place programmatic calls from your code — survey, follow-up, or confirmation flows.
Drop our embeddable web widget onto your site for customers to click-to-talk. No phone number required.
Run canned scenarios through your agent in batches so regressions get caught before customers hear them.
Two ways to start
In the dashboard (recommended for your first agent) — sign up and the dashboard walks you through a five-step setup wizard: create an agent, set up billing, add a phone number, run a simulation, and review the call. The dashboard quickstart mirrors that wizard step by step.
From your terminal — the API quickstart takes the same first call in four REST calls.
- Skim the concepts
Concepts — a map of every object you'll touch, and where each one lives in the dashboard.
- Run a quickstart
Dashboard quickstart or API quickstart — take your first call with an AI agent.
- Pick a guide
Follow a how-to guide for your scenario, or dive into the API reference.
Browse the guides
Build an agent, fund it, get a number, simulate, and review calls.
OAuth apps, custom APIs, MCP servers, and VoIP providers.
Reports, observability, experiments, issues, and alerts.
Invites and roles, API keys, security, and SSO.
Base URL
https://api.thunderphone.com/v1
Authentication uses the standard OAuth 2.0 Bearer scheme with an
sk_live_ organization API key. Your key identifies the target
organization automatically — there is no org id in URL paths. See
Authentication for details.