Base URL and authentication
The public API is served by your CallUltra application host under /api/v1. Create an API key in Developers and keep it on a trusted server. Send the key with the Authorization: Bearer header.
bash
curl https://app.callultra.com/api/v1/agents \
-H "Authorization: Bearer dgr_your_api_key"Supported operations
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/agents | List agents available to the API key. |
| GET | /api/v1/calls | List calls with status, agent, campaign, and date filters. |
| POST | /api/v1/calls | Create a single outbound call. |
| GET | /api/v1/calls/{callId} | Read one call and its available result fields. |
| POST | /api/v1/calls/batch | Submit a batch of calls for dispatch. |
Create a call
JSON request
{
"to": "+919876543210",
"agent_id": "<agent-id>",
"contact_name": "Rohit Sharma",
"company_name": "Acme Interiors",
"metadata": {
"service_type": "deep cleaning"
}
}API behavior
API calls share account plan, wallet, and number validation checks with the dashboard. Batch requests validate all phone numbers before dispatch. The campaign calling-hours schedule does not apply to calls started directly through the API.