# thru.ai — Quick Start Guide thru.ai is a meta-infrastructure voice agent platform. It replaces Twilio, Deepgram, ElevenLabs, and OpenAI with a single REST API. Create AI voice agents, provision phone numbers, run outbound campaigns, and monitor calls — all with one API key and one bill. ## Base URL https://thru.ai/api/v1/public ## Account Provisioning (2 steps, no credit card required) ### Step 1: Request a verification code curl -X POST https://thru.ai/api/v1/public/accounts/provision \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com","organizationName":"My Company"}' ### Step 2: Verify and receive your API key curl -X POST https://thru.ai/api/v1/public/accounts/verify \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com","code":"123456","organizationName":"My Company"}' Response includes: { "apiKey": "sk_live_...", "organization": { "id": "ORG-..." } } Save the API key — it is shown only once. ## Authentication Include one of these headers on every authenticated request: X-API-Key: sk_live_... Authorization: Bearer sk_live_... ## Core API Endpoints Agents: POST /agents Create a voice agent GET /agents List agents GET /agents/:id Get agent details PATCH /agents/:id Update agent config DELETE /agents/:id Delete agent Telephony: POST /telephony/numbers/provision Provision a phone number GET /telephony/numbers List provisioned numbers POST /agents/:id/telephony Assign number to agent PUT /telephony/credentials Configure BYOC Twilio credentials GET /telephony/numbers/external Discover numbers in your Twilio account POST /telephony/numbers/import Import existing Twilio number Calls: POST /calls/outbound Initiate an outbound call GET /calls List call records GET /calls/:id Get call details GET /calls/:id/debug Get call debug timeline Campaigns: POST /campaigns Create outbound campaign GET /campaigns List campaigns POST /campaigns/:id/start Start a campaign Tools (Function Calling): POST /tools Create a webhook tool GET /tools List tools PATCH /agents/:id Attach tools via enabledTools array SMS: POST /sms/messages Send an SMS message (also: /sms/send) GET /sms/messages List SMS messages GET /sms/messages/:id Get SMS message details GET /sms/conversations List SMS conversations GET /sms/conversations/:id/messages Get conversation messages GET /sms/opt-outs List opted-out numbers Webhooks: POST /webhooks Register a webhook endpoint GET /webhooks List webhooks Analytics: GET /analytics/usage Usage metrics GET /analytics/costs Cost breakdown GET /analytics/agents/:id Agent performance analytics Knowledge Base: POST /knowledge/crawl Crawl website for RAG POST /knowledge/query Query knowledge base GET /knowledge/chunks List knowledge chunks A2P Compliance: GET /compliance/a2p/status Check compliance status POST /compliance/a2p/brands Register brand POST /compliance/a2p/campaigns Register campaign ## Documentation Resources Machine-readable docs: https://thru.ai/llms.txt Full docs with examples: https://thru.ai/llms-full.txt API discovery (JSON): https://thru.ai/api/v1/public/ AI plugin manifest: https://thru.ai/.well-known/ai-plugin.json Agent framework discovery: https://thru.ai/agents.json OpenAPI 3.1 spec: https://thru.ai/openapi.json (for GPT Actions, LangChain, CrewAI) MCP Server: https://thru.ai/api/v1/mcp (Streamable HTTP, requires API key) Voice Agent Academy: https://thru.ai/learn Agentic University: https://thru.ai/university ## What to Do Next 1. Provision an account (Step 1 + Step 2 above) 2. Create your first agent: POST /agents with { "name": "My Agent", "systemPrompt": "You are a helpful assistant." } 3. Provision a phone number: POST /telephony/numbers/provision 4. Assign the number to your agent: POST /agents/:id/telephony 5. Make a test call: POST /calls/outbound with { "agentId": "AGT-...", "to": "+1234567890" } 6. Monitor calls and analytics from the dashboard at https://thru.ai ## Support Email: support@thru.ai Dashboard: https://thru.ai