Skip to main content
POST
/
api
/
v2
/
platform
/
telephony
/
bridges
Create Bridge
curl --request POST \
  --url http://localhost:3001/api/v2/platform/telephony/bridges/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'Org-Handle: <org-handle>' \
  --data '
{
  "name": "Sales Bridge",
  "slug": "sales-bridge"
}
'
{
  "status_code": 201,
  "message": "Bridge created successfully.",
  "data": {
    "id": 314,
    "name": "Sales Bridge",
    "slug": "sales-bridge-001",
    "created_at": "2026-02-07T10:00:00Z"
  }
}
{
  "status_code": 201,
  "message": "Bridge created successfully.",
  "data": {
    "id": 314,
    "name": "Sales Bridge",
    "slug": "sales-bridge-001",
    "created_at": "2026-02-07T10:00:00Z"
  }
}

Create Bridge

Create a new telephony bridge for call routing. Bridges are the core routing entities that link telephony providers and phone numbers to your Voice AI agents.
Prerequisites: Make sure you have your API Token and Org-Handle ready. See Authentication for details.

Headers

NameTypeRequiredDescription
AuthorizationstringYesAPI Key format: Token <token>
Org-HandlestringYesOrganization domain handle
Content-TypestringYesapplication/json
You can get the Org-Handle by hitting the Get All Organizations API. The domain_handle field in the response is your Org-Handle.

Request Body

FieldTypeRequiredDescription
namestringYesDisplay name for the bridge
slugstringYesURL-friendly unique identifier for the bridge

Response Fields

FieldTypeDescription
status_codeintegerHTTP status code
messagestringResponse message
dataobjectCreated bridge details

Bridge Object Fields

FieldTypeDescription
idintegerBridge unique identifier
namestringBridge display name
slugstringUnique bridge slug identifier
created_atstringBridge creation timestamp (ISO 8601)

Common Error Codes

Status CodeDescription
201Created - Bridge created successfully
400Bad Request - Invalid or duplicate slug/name
401Unauthorized - Invalid or missing API token
403Forbidden - Invalid organization handle
409Conflict - Bridge with this slug already exists
500Internal Server Error - Server-side error

Code Examples

const axios = require('axios');

const headers = {
  'Authorization': 'Token your-api-token',
  'Org-Handle': 'your-org-handle',
  'Content-Type': 'application/json'
};

// Create a new telephony bridge
const createBridge = async (name, slug) => {
  const response = await axios.post(
    'https://unpod.dev/api/v2/platform/telephony/bridges/',
    { name, slug },
    { headers }
  );
  console.log(`Bridge created: ${response.data.data.slug} (ID: ${response.data.data.id})`);
  return response.data.data;
};

// Example usage
createBridge('Sales Bridge', 'sales-bridge-001');

Best Practices

  1. Slug Naming: Use descriptive, lowercase slugs (e.g., sales-outbound-us) to easily identify bridges
  2. Unique Slugs: Ensure slugs are unique across your organization to avoid conflicts
  3. Post-Creation: After creating a bridge, use Connect Provider to Bridge to link a telephony provider
  4. Bridge ID: Store the returned id and slug for subsequent bridge management operations
  5. Error Handling: Handle 409 Conflict responses for duplicate slugs
  6. Security: Keep API tokens secure and rotate them regularly

Authorizations

Authorization
string
header
required

Format: Token

Headers

Org-Handle
string
required

Organization domain handle

Example:

"unpod"

Body

application/json
name
string
required
Example:

"Sales Bridge"

slug
string
required
Example:

"sales-bridge"

Response

Bridge created