Reference

Configurations API

Create, list, and update call execution configurations via the API.

Overview

Call execution configurations define scheduling windows, retry logic, rate limiting, provider selection, inbound call rules, and pre-checks. Each configuration is scoped to a single template — a template may have at most one config. Reseller and merchant scope are derived from the template, so they are not accepted in the request body. Use the API to manage these programmatically.

Create configuration

POST /configurations

Request Body

Only template_id, initial_offset, retry_offset, call_start_time, call_end_time, max_retry, and calling_provider are required; the rest have defaults.

json
{
  "template_id": "3f0e6f6e-8b2a-4c1d-9e7f-0a1b2c3d4e5f",
  "initial_offset": 0,
  "retry_offset": 3600,
  "call_start_time": "09:00",
  "call_end_time": "21:00",
  "max_retry": 3,
  "calling_provider": "TWILIO",
  "enable_calling": true,
  "enable_international_call": false,
  "enable_inbound": false,
  "enforce_blacklist": true,
  "rate_limit_enabled": true,
  "rate_limit_max_calls": 100,
  "rate_limit_window_seconds": 60,
  "rate_limit_whitelist": [],
  "pre_checks": []
}

Response

json
{
  "id": "cfg_abc123",
  "reseller_id": "res_001",
  "template": "tpl_xyz789",
  "merchant_id": "mer_abc",
  "calling_provider": "TWILIO",
  "enable_calling": true,
  "created_at": "2025-01-15T10:30:00Z"
}

List configurations

GET /configurations
Query ParamTypeDescription
reseller_idstringFilter configurations by reseller.
template_idstringFilter by owning template UUID.
merchant_idstringFilter configurations by merchant.

Update configuration

PUT /configurations/{config_id}

Example: Update Retry and Scheduling

json
{
  "initial_offset": 0,
  "retry_offset": 1800,
  "call_start_time": "10:00",
  "call_end_time": "20:00",
  "max_retry": 5,
  "calling_provider": "TWILIO",
  "enable_calling": true,
  "enable_international_call": false,
  "enable_inbound": true,
  "inbound_call_start_time": "09:00",
  "inbound_call_end_time": "22:00",
  "inbound_call_timezone": "Asia/Kolkata",
  "inbound_block_action": "REDIRECT",
  "inbound_redirect_number": "+919999999999",
  "inbound_block_message": "We are currently closed. Redirecting you to support.",
  "enforce_blacklist": true,
  "rate_limit_enabled": true,
  "rate_limit_max_calls": 200,
  "rate_limit_window_seconds": 60,
  "rate_limit_whitelist": ["+911234567890"],
  "pre_checks": [
    {
      "name": "dnd_check",
      "type": "external_api",
      "enabled": true,
      "default_on_failure": "proceed"
    }
  ]
}

Full Reference

For the complete list of CallExecutionConfig fields, see Call Execution Configuration.

Error responses

StatusMeaningCommon Cause
400Bad RequestInvalid field values or missing required fields.
404Not FoundConfiguration ID does not exist.
409ConflictDuplicate reseller + template combination.
Was this helpful?