// Documentation

CallNet Voice API

Programmable Voice Infrastructure for AI Agents. Place calls, receive webhooks, and route audio with sub-200ms control latency.

Introduction

Base URL: https://api.callnetdialer.com

All endpoints accept and return JSON. Authenticate every request with your API key.

Pricing: $0.01/minute, flat rate for both outbound and inbound calls, billed in 6-second increments (6s minimum per connected call).

Authentication

Send your API key in the x-api-key header on every request.

x-api-key: cnva_live_sk_...

POST /v1/calls/outbound

Initiate an outbound call from one of your assigned DIDs to any destination number.

curl -X POST https://api.callnetdialer.com/v1/calls/outbound \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "from_did": "9783842993",
    "to_number": "YOUR_NUMBER",
    "webhook_url": "https://yourserver.com/webhook"
  }'

Numbers

Search carrier inventory and add numbers to your account. Numbers are invoiced — there is no payment step in the API today.

# search by area code (or ?state=PA)
curl "https://api.callnetdialer.com/v1/dids/available?npa=267&max=20" \
  -H "x-api-key: YOUR_API_KEY"

# add a number to your account
curl -X POST https://api.callnetdialer.com/v1/dids \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"number": "2676782101"}'

# list the numbers on your account
curl https://api.callnetdialer.com/v1/dids -H "x-api-key: YOUR_API_KEY"

# release a number
curl -X DELETE https://api.callnetdialer.com/v1/dids/2676782101 \
  -H "x-api-key: YOUR_API_KEY"

Inventory varies by area code — an empty result means nothing is available there right now, so try another. Accounts have a number limit; a 403 means you have reached it.

Webhooks

We POST call lifecycle events to your webhook_url: call.ringing, call.answered, call.completed, call.no_answer.

Error codes

  • 401 — invalid API key
  • 403 — DID not assigned to your tenant
  • 402 — monthly usage limit reached
  • 429 — rate limit exceeded
  • 503 — calling temporarily disabled
  • 5xx — upstream carrier error