Skip to main content
Version: /v2

Create Connector - API

Creates a WebSocket connector for a telephony provider. The response includes a webhookUrl that you set as the voice webhook in your provider console (Twilio, Plivo, or Telnyx). When a call arrives, VideoSDK returns the provider-specific streaming markup and bridges the call audio into a room.

The webhookUrl embeds a secret webhook key, so treat it like a credential.

Responses:

  • 201 → the created connector.
  • 400 if provider is missing or not one of twilio, plivo, telnyx.

HTTP method and endpoint

POST

|

https://api.videosdk.live/v2/connectors
Headers Parameters

values: YOUR_TOKEN_WITHOUT_ANY_PREFIX

This will be a JWT token generate using VideoSDK ApiKey and Secret.

Note that the token will not include any prefix such as "Basic " or "Bearer ". Just pass a token as value.

You can generate a new token by refering this Guide: Generate Auth token

REQUIRED

values: application/json

This is usefull for json body parameters, so that VideoSDK servers can understand that the incoming body parameter will be a JSON string.

Body Parameters
REQUIRED
Telephony provider for this connector. One of twilio, plivo, telnyx.
OPTIONAL
Friendly label to help you recognize the connector later.
Room that calls join when no routing rule matches. Set this for the simplest setup.
Fallback routing rule ID, used for dynamic routing when no phone-number rule matches.
OPTIONAL
Pins the media and ingest region (e.g. us002, in002). When omitted, the region is derived from the caller.
Response Parameters
The created connector: id, provider, name, webhookUrl, defaultRoomId, defaultRuleId, region, and createdAt.
POST
|
https://api.videosdk.live/v2/connectors
import fetch from 'node-fetch';
const options = {
method: "POST",
headers: {
"Authorization": "$YOUR_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
"provider": "twilio",
"name": "Main Twilio Connector",
"defaultRoomId": "abcd-efgh-ijkl",
"defaultRuleId": "rule_xyz789",
"region": "us002"
}),
};
const url= `https://api.videosdk.live/v2/connectors`;
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
RESPONSE
{
"message": "Connector created successfully",
"data": {
"id": "cn_a7k2m9x5p3q8r1v0",
"provider": "twilio",
"name": "Main Twilio Connector",
"webhookUrl": "https://api.videosdk.live/v2/hooks/twilio/whk_7Ks9jD2mL4wQvB1xX3zP8C5hR6gN9fT0",
"defaultRoomId": "abcd-efgh-ijkl",
"defaultRuleId": null,
"region": "us002",
"createdAt": "2026-06-21T14:30:45.123Z"
}
}

Got a Question? Ask us on discord