Agents
/api/agentsCreate, list, update, delete agents. Each agent encapsulates a system prompt, voice, language, knowledge base, and tool toggles.
Everything the dashboard does, you can do over HTTPS. The full schema with request and response shapes lives at the live OpenAPI spec — this page is the orientation map.
https://api.reasonvoice.aiAll endpoints are HTTPS. There's no versioned prefix — breaking changes go through deprecation announcements rather than path bumps; small additive changes ship continuously.
Two key types depending on context:
reva_…Used by the chat widget and any browser-side code. Origin- locked server-side: a publishable key only works on the domains you whitelist on its widget. Safe to ship in client HTML.
sk_live_…Server-to-server. Sends with Authorization: Bearer sk_live_…. Never embed these in browser code or commit them to source control. We rotate immediately if a leak is reported.
Each group is mounted at the prefix shown. Full route lists, parameter types, and example responses are in the OpenAPI spec.
/api/agentsCreate, list, update, delete agents. Each agent encapsulates a system prompt, voice, language, knowledge base, and tool toggles.
/api/chatSend messages to an agent and receive streaming SSE responses. Used by the widget; available directly for custom UIs.
/api/widgetsManage chat widgets (create, list, embed config, public config, embed code generator, analytics).
/api/telephonyProvision phone numbers (managed Telnyx or BYOP Twilio/Telnyx), list area codes, attach numbers to agents, view inbound + outbound call history.
/api/callsList and inspect calls — transcripts, tools invoked, duration, cost, recordings (when enabled).
/api/crmPer-agent CRM integrations. Configure Odoo / HubSpot / custom REST. Fields, mappings, activity logs.
/api/integrationsConnect external services (Stripe, Google Calendar, Slack, etc.). Stored encrypted and scoped to your account.
/api/knowledge-baseUpload documents (PDF, DOCX, MD, etc.), trigger reindex, semantic search. Bypassed when the agent has no KB attached.
/api/subscriptionsPlan status, usage meters (minutes, messages, agents), upgrade flow. Backed by Stripe Billing.
/api/webhooksInbound webhook receiver for carrier events (Telnyx, Twilio) and Stripe billing events.
/api/tasks · /api/dynamic-workflows · /api/workflow-templatesSchedule background jobs (outbound campaigns, follow-ups, post-call processing). DAG-shaped workflows for multi-step flows.
/api/teamsInvite members, set roles, manage seats.
/api/trackingPer-agent and per-call analytics events. Powers the dashboard charts and can be exported to your own warehouse.
/api/marketingPublic endpoints used by reasonvoice.ai itself — demo-call requests, public stats. Rate-limited per IP + phone.
The complete, always-current spec is generated from the FastAPI decorators on every deploy. Use it for:
Per-account: 100 requests/second sustained, 200/second burst. Per-IP on public endpoints (e.g. /api/marketing/demo-call): 5 per hour, 20 per day. When you hit a limit you'll get a 429 with a Retry-After header.
We return JSON error bodies with a detail string and, where useful, a code for programmatic handling.
{
"detail": "Widget not found or not active",
"code": "widget_not_found"
}