Overview
60db’s Dialer API lets you rent Indian phone numbers (E.164 format, e.g.+919876543210), place inbound and outbound calls through a SIP client, record conversations, and manage billing per-workspace. Every number costs ₹600/month; calls cost ₹0.30/min, prorated per second, inbound and outbound.
Setup prerequisites (done in the 60db Dashboard, not via API):
- Trunk setup — Dashboard → Dialer → Trunks. Configure inbound/outbound SIP trunks and download your SIP credentials. Calls and recordings require this; endpoints return 409 DIALER_NOT_PROVISIONED without it.
- KYC approval — Dashboard → Dialer → KYC. Submit PAN/Aadhaar and address proof. Buying numbers requires KYC approval; endpoints return 403 DIALER_KYC_REQUIRED/PENDING/REJECTED without it. KYC is not available through the API.
Phone Numbers
Rent numbers from shared pool; set a default caller ID
Call Management
Reserve calls via API; dial through your SIP client
Recordings
Auto-record calls; fetch transcripts and playback links
Webhooks
Real-time call and recording events (SDK & docs only)
How Calls Work
Important: The API does not dial. Instead:- You reserve a call via
POST /dialer/callswith a SIP call ID - A SIP client (softphone, PBX, or your phone app) registered with the workspace’s SIP credentials sends the actual SIP INVITE
- The API authorizes the call using the reservation
- Your backend reserves calls without initiating them
- Your client-side SIP logic owns call lifecycle (answer, transfer, hang up)
- The API tracks, records, and bills the call
Numbers Lifecycle
1
Search available numbers
See what’s in the shared pool via
GET /dialer/pool2
Buy a number
Reserve and allocate via
POST /dialer/pool/allocate (charges 6.00/month; requires Gate K)3
Set a default caller ID
Use
PUT /dialer/caller-id (requires Gate T)4
Use for calls
Calls show your number as the outbound caller ID
5
Release the number
Call
DELETE /dialer/numbers/{e164} to cancel the rental and stop monthly chargesQuickstart
- JavaScript
- Python
Recordings & Transcripts
Auto-recorded calls can be played back and transcribed:- JavaScript
- Python
Setup & Gates
Gate T (Trunk Setup)
Required for: calls, recordings, line status, caller ID changes Set up in Dashboard → Dialer → Trunks:- Inbound trunk (to receive calls)
- Outbound trunk (to place calls)
- SIP credentials (used by your SIP client)
Gate K (KYC Approval)
Required for: buying numbers Submit in Dashboard → Dialer → KYC:- PAN (Permanent Account Number)
- Aadhaar or passport
- Address proof
DIALER_KYC_PENDING— submission received, waiting for verificationDIALER_KYC_APPROVED— you can buy numbersDIALER_KYC_REJECTED— resubmit with correct documents
Pricing
Billing:
- Buying a number charges ₹600 immediately and every month thereafter
- If your wallet is short, purchase returns 402 RECHARGE_REQUIRED and is rolled back
- Call minutes are charged later and may take your wallet negative (within the 48 h grace period)
Error Codes
API Reference
Status
Account provisioning status
Search Numbers
Browse available pool
Buy Number
Allocate from pool
List Numbers
Your rented numbers
Release Number
Cancel rental
Set Caller ID
Default outbound ID
List Calls
Call history (CDR)
Get Call
Call details
Live Calls
In-flight calls
Line Status
Carrier line status
Reserve Call
Authorize before SIP INVITE
List Recordings
Call recordings
Playback URL
Listen to recording
Transcript
Recording transcript
Delete Recording
Remove recording
Toggle Recording
Enable/disable auto-record
Subscriptions
Number subscriptions
Usage
Billing and charges
List Webhooks
Event subscriptions
Create Webhook
Subscribe to events
Update Webhook
Modify webhook
Delete Webhook
Unsubscribe
Rotate Secret
New signing secret
Test Webhook
Send test event
Deliveries
Event delivery history