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
| Name | In | Type | Description |
|---|---|---|---|
search | query | string | null | |
status | query | array of "active" | "inactive" | null | |
limit | query | integer | |
cursor_after | query | string | null | |
cursor_before | query | string | null |
Responses
| Status | Description |
|---|---|
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
namerequiredstringflow_urlrequiredstring (uri)webhook_urlrequiredstring (uri)fallback_urlstring (uri) | nullvn_idsarray of string | nullsecret_idstring | nullwebhook_api_version"2025-08-01" | "2026-06-01" | nullchannel_limitinteger | nullExample 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
| Status | Description |
|---|---|
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
| Name | In | Type | Description |
|---|---|---|---|
voice_app_id required | path | string |
Responses
| Status | Description |
|---|---|
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
| Name | In | Type | Description |
|---|---|---|---|
voice_app_id required | path | string |
Request body
namestring | nullflow_urlstring (uri) | nullwebhook_urlstring (uri) | nullfallback_urlstring (uri) | nullstatus"active" | "inactive" | nullchannel_limitinteger | nullsecret_idstring | nullwebhook_api_version"2025-08-01" | "2026-06-01" | nullExample 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
| Status | Description |
|---|---|
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
| Name | In | Type | Description |
|---|---|---|---|
voice_app_id required | path | string |
Responses
| Status | Description |
|---|---|
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
| Name | In | Type | Description |
|---|---|---|---|
voice_app_id required | path | string | |
search | query | string | null | |
location | query | array of string | null | |
limit | query | integer | |
cursor_after | query | string | null | |
cursor_before | query | string | null |
Responses
| Status | Description |
|---|---|
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
}