Overview
The DialNexa API is a REST API that lets you build, deploy, and monitor AI voice agents programmatically. Use it to create agents, trigger calls, manage batch calls and workflows, work with catalog resources, manage webhooks, and connect phone numbers from your backend.Base URLs And Legacy API Support
The recommended base URL for current API requests is:
For example,
POST https://api.dialnexa.com/calls and POST https://api.dialnexa.com/v1/calls are both supported during the transition period. New code should use the /v1 route when a v1 page exists because the legacy unversioned API is scheduled for deprecation on July 31, 2026.
All requests and responses use JSON, except for file upload endpoints which use multipart/form-data.
What you can build
- Outbound calling: Trigger individual calls or batch calls from your backend. Pass customer-specific data at call time and have the agent personalize every conversation.
- Inbound handling: Assign an agent to a purchased phone number to automatically handle every incoming call.
- Batch calls: Upload a CSV or Excel file of leads, start outbound calls, and pause, resume, or cancel the batch.
- Workflows: Build multi-step calling sequences where a lead’s path through the workflow is determined by call outcomes and workflow logic.
- Phone numbers: Search Plivo inventory, purchase a provider number, link a bring-your-own SIP trunk, or delete a number you no longer use.
- Webhooks: Subscribe to call and workflow-related events and receive real-time HTTP notifications on your server.
Key concepts
Agents are the core building block. An agent combines a voice, a language model, a system prompt, and telephony configuration into a single deployable entity. All calls, whether outbound, inbound, or browser-based, are handled by an agent. Dynamic variables let you personalize agents at call time. Any key in themetadata object passed when creating a call, or any column header in a leads file, becomes a {{variable_name}} that the agent can reference in its prompt. For example, if you pass {"customer_name": "Priya"}, the prompt can say Hello {{customer_name}}! and the agent will greet the caller by name.
Batch Calls are bulk outbound calling jobs created from a lead file. Use PATCH /v1/batch-calls/{id}/status to pause, resume, or cancel a batch.
Workflows are directed graphs where each node is an action (a call, a time delay, a conditional check) and each edge defines what happens next based on the outcome of that action.
Make your first request
1
Get an API key
In the dashboard, open Settings > API Keys and create a key. Copy it immediately - it is shown only once. See Authentication.
2
List your agents
200 response returns an agents array. Agent listing is not paginated today.3
Trigger a call
Publish the agent version, then take its
agent_id and create a v1 call. Watch the result arrive in Call History.Request format
Set theContent-Type header to application/json for all requests with a body:
Response format
Successful responses return HTTP200 or 201 with a JSON body. Errors return a standard error object: