Base URL
Authentication
Include your API key on every request:
Invalid keys return
401. Valid keys without the required permission return 403.
Response format
Successful responses use this envelope:pageNo, pageSize, totalCount, and totalPages inside response.
API groups
Typical integration flows
Build and deploy an agent
- Get Languages and Get Transcriber Config
- Create Agent — get a
botId - Update Agent — set prompt, voice, and integrations
- Trigger Call — test in
development - Get Conversation Logs → Get Conversation Statistics
Review calls after they happen
Option A — Poll (good for backfills and ad-hoc review)- Get Conversation Logs — list calls; copy
conversationId - Get Conversation Statistics — read
overallCallDispositionandutteranceAnalytics - Get Conversation Audio — download MP3 (optional)
- Update Agent — set
hasPostCallTrigger: trueand your URL - Trigger Call — place the call
- Your server receives the post-call payload automatically when the call ends
Understanding call outcome fields
When you read call data — from Stats, Logs, or a webhook — you will see several outcome fields. Here is what each one means:
See Get Conversation Statistics for a full breakdown with examples.
Quick start
Create an agent with one request:botId to configure the agent, attach FAQs, and trigger calls.
Try the API in Postman
Prefer Postman to curl? Download the collection below — every Platform API endpoint in one place, with headers and sample bodies ready to go. Import it, add your API key, and start sending requests. Download the Postman collection (43 KB) Right-click the link and choose Save link as… if your browser opens the JSON instead of downloading.Import into Postman
Once you have the file:- Open Postman
- Click Import → Upload Files → select the downloaded JSON
- Use Find & Replace (Cmd+Shift+F / Ctrl+Shift+H) on the collection to replace placeholders:
YOUR_PLATFORM_API_KEY,YOUR_BOT_ID,YOUR_CONVERSATION_ID,YOUR_FAQ_ID - Open any request and click Send — no separate environment file is required
Concepts
System prompts — Use Jinja2 variables such as{{ customer_name }}. Validate syntax with Validate Prompt before saving.
Multi-language agents — Up to three languages per agent. Call Get Transcriber Config and Get TTS Config before Update Agent.
Pre-call variables — Inject caller-specific fields into the prompt at call time.
FAQ knowledge base — Up to 100 Q&A pairs per agent; matched before the LLM generates an answer.
Outbound calls — Use Trigger Call with clientReferenceId to link calls to your CRM.
Post-call automation — Set hasPostCallTrigger: true via Update Agent to push call outcomes to your server. Use polling (Logs → Stats) when you need historical data instead.
HTTP status codes
Best practices
- Call the Config API before creating or updating agents so ASR and TTS choices support every configured language.
- Validate prompts before saving.
- Test in development first; pass
?environment=developmentwhen required. - Log every
requestIdfor support escalations. - Keep API keys out of source control.
Next steps
- Try the API in Postman
- Create Agent
- Get Languages
- Validate Prompt
- Get Conversation Logs
- Update Agent — Post-call webhook
- Error Reference