curl -X POST https://api.60db.ai/dialer/calls \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"to": "+919999999999",
"from": "+919876543210",
"sip_call_id": "550e8400-e29b-41d4-a716-446655440000"
}'
const call = await client.dialer.calls.reserve({
to: '+919999999999',
from: '+919876543210',
sipCallId: 'call-uuid'
});
call = client.dialer.calls.reserve(
to='+919999999999',
from_number='+919876543210',
sip_call_id='call-uuid'
)
Dialer
Reserve Call
Reserve and authorize a call before SIP client sends INVITE
POST
/
dialer
/
calls
curl -X POST https://api.60db.ai/dialer/calls \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"to": "+919999999999",
"from": "+919876543210",
"sip_call_id": "550e8400-e29b-41d4-a716-446655440000"
}'
const call = await client.dialer.calls.reserve({
to: '+919999999999',
from: '+919876543210',
sipCallId: 'call-uuid'
});
call = client.dialer.calls.reserve(
to='+919999999999',
from_number='+919876543210',
sip_call_id='call-uuid'
)
This endpoint does not dial. It reserves a call in the system before your SIP client sends the actual INVITE. The SIP client (registered with your workspace credentials from the dashboard) places the call.
Request
Headers
string
required
Bearer token with your API key
Body
string
required
Destination number in E.164 format
string
required
Your rented caller ID in E.164 format
string
required
Unique SIP call ID from your client (UUID format)
string
default:"outbound"
inbound or outboundResponse
201 Created:{
"success": true,
"data": {
"call": {
"id": "call-uuid",
"from": "+919876543210",
"to": "+919999999999",
"sip_call_id": "...",
"status": "reserved",
"created_at": "2026-09-24T10:30:00Z"
}
}
}
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_SIP_CALL_ID | SIP call ID format invalid |
| 402 | RECHARGE_REQUIRED | Outbound: wallet balance ≤ 0 |
| 403 | CALLER_ID_NOT_OWNED | The from number isn’t rented by your workspace |
| 409 | CALLER_ID_NOT_AUTHORIZED | The caller ID isn’t authorized for calls |
| 503 | CARRIER_LINE_DOWN | Carrier unavailable (outbound) |
Example
curl -X POST https://api.60db.ai/dialer/calls \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"to": "+919999999999",
"from": "+919876543210",
"sip_call_id": "550e8400-e29b-41d4-a716-446655440000"
}'
const call = await client.dialer.calls.reserve({
to: '+919999999999',
from: '+919876543210',
sipCallId: 'call-uuid'
});
call = client.dialer.calls.reserve(
to='+919999999999',
from_number='+919876543210',
sip_call_id='call-uuid'
)