Skip to content

Settings

← Back to API Reference

Two things live under settings: the telephony provider (credentials and global config) and telephony endpoints (phone number → agent mappings).


Contents


Telephony Provider

GET /api/settings/telephony

Read current telephony provider configuration.

Response:

json
{
  "provider": "twilio",
  "public_base_url": "https://your-domain.com",
  "twilio_account_sid": "AC...",
  "twilio_auth_token": "...",
  "twilio_phone_number": "+15551234567",
  "twilio_max_concurrent": 10,
  "exotel_account_sid": null,
  "exotel_api_key": null,
  "exotel_api_token": null,
  "exotel_phone_number": null,
  "exotel_api_base": null,
  "exotel_max_concurrent": 5,
  "vobiz_auth_id": null,
  "vobiz_auth_token": null,
  "vobiz_phone_number": null,
  "vobiz_max_concurrent": 5
}

PUT /api/settings/telephony

Update telephony settings. Partial updates accepted — only send fields for your active provider.

public_base_url is required for all providers. It must be a publicly accessible HTTPS URL — telephony providers call back to it for webhooks and media streams.

Twilio:

json
{
  "provider": "twilio",
  "public_base_url": "https://your-domain.com",
  "twilio_account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "twilio_auth_token": "your_auth_token",
  "twilio_phone_number": "+15551234567",
  "twilio_max_concurrent": 10
}

Exotel:

json
{
  "provider": "exotel",
  "public_base_url": "https://your-domain.com",
  "exotel_account_sid": "your_sid",
  "exotel_api_key": "your_api_key",
  "exotel_api_token": "your_api_token",
  "exotel_phone_number": "+919876543210",
  "exotel_api_base": "https://api.exotel.com",
  "exotel_max_concurrent": 5
}

Vobiz:

json
{
  "provider": "vobiz",
  "public_base_url": "https://your-domain.com",
  "vobiz_auth_id": "your_auth_id",
  "vobiz_auth_token": "your_auth_token",
  "vobiz_phone_number": "+919876543210",
  "vobiz_max_concurrent": 5
}

Telephony Endpoints

Endpoints map phone numbers to agents. Each number can have a separate agent for inbound vs outbound calls.

GET /api/settings/endpoints

List all telephony endpoints.

POST /api/settings/endpoints

Create a new endpoint. Returns the computed inbound_webhook_url — configure this in your telephony provider's dashboard.

json
{
  "phone_number": "+919876543210",
  "provider": "exotel",
  "inbound_agent_name": "support-agent",
  "outbound_agent_name": "sales-agent",
  "label": "Main support line"
}
FieldRequiredDescription
phone_numberYesE.164 format
providerYestwilio · exotel · vobiz
inbound_agent_nameNoAgent for incoming calls on this number
outbound_agent_nameNoAgent for outgoing calls from this number
labelNoHuman-readable label

Response includes:

json
{
  "id": "uuid",
  "phone_number": "+919876543210",
  "provider": "exotel",
  "inbound_agent_name": "support-agent",
  "outbound_agent_name": "sales-agent",
  "label": "Main support line",
  "is_active": true,
  "created_at": "2026-03-18T10:00:00",
  "inbound_webhook_url": "https://your-domain.com/telephony/exotel/inbound/support-agent"
}

PUT /api/settings/endpoints/{endpoint_id}

Update an endpoint. Fields: inbound_agent_name, outbound_agent_name, label, is_active.

DELETE /api/settings/endpoints/{endpoint_id}

Delete an endpoint.