Skip to content

Voice / Apps API

Open API playground All endpoints

Voice apps are the configuration context for calls — they define webhook URLs, flows, and channel limits. Create and manage your voice apps here.

List voice apps

GET/api/v1/voice/apps

Auth: x-api-key header

Parameters

NameInTypeDescription
searchquerystring | null
statusqueryarray of "active" | "inactive" | null
limitqueryinteger
cursor_afterquerystring | null
cursor_beforequerystring | null

Responses

StatusDescription
200

Successful Response

422

Validation Error

Example response (200)
{
  "data": [
    {
      "name": "string",
      "flow_url": "uri",
      "webhook_url": "uri",
      "fallback_url": "uri",
      "id": "string",
      "status": "active",
      "channel_limit": 0,
      "vn_count": 0,
      "secret_id": "string",
      "secret_name": "string",
      "webhook_api_version": "2025-08-01",
      "account_id": "string"
    }
  ],
  "next_cursor": "string",
  "previous_cursor": "string",
  "has_more": false
}

Create a voice app

POST/api/v1/voice/apps

Auth: x-api-key header

Request body

namerequiredstring
flow_urlrequiredstring (uri)
webhook_urlrequiredstring (uri)
fallback_urlstring (uri) | null
vn_idsarray of string | null
secret_idstring | null
webhook_api_version"2025-08-01" | "2026-06-01" | null
channel_limitinteger | null
Example request
{
  "name": "string",
  "flow_url": "uri",
  "webhook_url": "uri",
  "fallback_url": "uri",
  "vn_ids": [
    "string"
  ],
  "secret_id": "string",
  "webhook_api_version": "2025-08-01",
  "channel_limit": 0
}

Responses

StatusDescription
201

Successful Response

422

Validation Error

Example response (201)
{
  "name": "string",
  "flow_url": "uri",
  "webhook_url": "uri",
  "fallback_url": "uri",
  "id": "string",
  "status": "active",
  "channel_limit": 0,
  "vn_count": 0,
  "secret_id": "string",
  "secret_name": "string",
  "webhook_api_version": "2025-08-01",
  "account_id": "string"
}

Retrieve a voice app

GET/api/v1/voice/apps/{voice_app_id}

Auth: x-api-key header

Parameters

NameInTypeDescription
voice_app_id requiredpathstring

Responses

StatusDescription
200

Successful Response

422

Validation Error

Example response (200)
{
  "name": "string",
  "flow_url": "uri",
  "webhook_url": "uri",
  "fallback_url": "uri",
  "id": "string",
  "status": "active",
  "channel_limit": 0,
  "vn_count": 0,
  "secret_id": "string",
  "secret_name": "string",
  "webhook_api_version": "2025-08-01",
  "account_id": "string"
}

Update a voice app

PATCH/api/v1/voice/apps/{voice_app_id}

Auth: x-api-key header

Parameters

NameInTypeDescription
voice_app_id requiredpathstring

Request body

namestring | null
flow_urlstring (uri) | null
webhook_urlstring (uri) | null
fallback_urlstring (uri) | null
status"active" | "inactive" | null
channel_limitinteger | null
secret_idstring | null
webhook_api_version"2025-08-01" | "2026-06-01" | null
Example request
{
  "name": "string",
  "flow_url": "uri",
  "webhook_url": "uri",
  "fallback_url": "uri",
  "status": "active",
  "channel_limit": 0,
  "secret_id": "string",
  "webhook_api_version": "2025-08-01"
}

Responses

StatusDescription
200

Successful Response

422

Validation Error

Example response (200)
{
  "name": "string",
  "flow_url": "uri",
  "webhook_url": "uri",
  "fallback_url": "uri",
  "id": "string",
  "status": "active",
  "channel_limit": 0,
  "vn_count": 0,
  "secret_id": "string",
  "secret_name": "string",
  "webhook_api_version": "2025-08-01",
  "account_id": "string"
}

Delete a voice app

DELETE/api/v1/voice/apps/{voice_app_id}

Auth: x-api-key header

Parameters

NameInTypeDescription
voice_app_id requiredpathstring

Responses

StatusDescription
200

Successful Response

422

Validation Error

Example response (200)
{
  "success": true,
  "message": "string"
}

List virtual numbers for a voice app

GET/api/v1/voice/apps/{voice_app_id}/virtual-numbers

Auth: x-api-key header

Parameters

NameInTypeDescription
voice_app_id requiredpathstring
searchquerystring | null
locationqueryarray of string | null
limitqueryinteger
cursor_afterquerystring | null
cursor_beforequerystring | null

Responses

StatusDescription
200

Successful Response

422

Validation Error

Example response (200)
{
  "data": [
    {
      "id": "string",
      "account_id": "string",
      "name": "string",
      "number": "string",
      "location": {
        "id": "string",
        "name": "string",
        "region_code": "string",
        "country_code": "string",
        "country_name": "string"
      },
      "voice_app": {
        "id": "string",
        "name": "string"
      },
      "sip_trunk": {
        "id": "string",
        "name": "string"
      }
    }
  ],
  "next_cursor": "string",
  "previous_cursor": "string",
  "has_more": false
}