Skip to contentSkip to navigationSkip to topbar
On this page

Stream Resource


(information)

Support for Twilio Regions

You can use Media Streams in the Ireland (IE1) and Australia (AU1) Regions. To set up Media Streams with these regions, follow the guides for non-US outbound and inbound calls. The default region remains US1.

The Stream resource represents a live audio stream during a live call.

Creating a Stream resource creates a unidirectional Media Stream. You can stop a unidirectional Media Stream by updating the status of a Stream resource, regardless of whether the Stream was created via TwiML (with <Start><Stream>) or via REST API (with the Stream resource).


Stream Properties

stream-properties page anchor
Property nameTypeRequiredDescriptionChild properties
sidSID<MZ>

Optional

Not PII

The SID of the Stream resource.

Pattern: ^MZ[0-9a-fA-F]{32}$Min length: 34Max length: 34

accountSidSID<AC>

Optional

The SID of the Account that created this Stream resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

callSidSID<CA>

Optional

The SID of the Call the Stream resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

namestring

Optional

The user-specified name of this Stream, if one was given when the Stream was created. This can be used to stop the Stream.


statusenum<string>

Optional

The status of the Stream. Possible values are stopped and in-progress.

Possible values:
in-progressstopped

dateUpdatedstring<date-time-rfc-2822>

Optional


uristring

Optional

The URI of the resource, relative to https://api.twilio.com.


Create a Stream resource

create-a-stream-resource page anchor

POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
accountSidSID<AC>required

The SID of the Account that created this Stream resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

callSidSID<CA>required

The SID of the Call the Stream resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34
Encoding type:application/x-www-form-urlencoded
SchemaExample
Property nameTypeRequiredDescriptionChild properties
urlstring<uri>required

Relative or absolute URL where WebSocket connection will be established.


namestring

Optional

The user-specified name of this Stream, if one was given when the Stream was created. This can be used to stop the Stream.


trackenum<string>

Optional

Possible values:
inbound_trackoutbound_trackboth_tracks

statusCallbackstring<uri>

Optional

Absolute URL to which Twilio sends status callback HTTP requests.


statusCallbackMethodenum<http-method>

Optional

The HTTP method Twilio uses when sending status_callback requests. Possible values are GET and POST. Default is POST.

Possible values:
GETPOST

parameter1Namestring

Optional

Parameter name


parameter1Valuestring

Optional

Parameter value


parameter2Namestring

Optional

Parameter name


parameter2Valuestring

Optional

Parameter value


parameter3Namestring

Optional

Parameter name


parameter3Valuestring

Optional

Parameter value


parameter4Namestring

Optional

Parameter name


parameter4Valuestring

Optional

Parameter value


parameter5Namestring

Optional

Parameter name


parameter5Valuestring

Optional

Parameter value


parameter6Namestring

Optional

Parameter name


parameter6Valuestring

Optional

Parameter value


parameter7Namestring

Optional

Parameter name


parameter7Valuestring

Optional

Parameter value


parameter8Namestring

Optional

Parameter name


parameter8Valuestring

Optional

Parameter value


parameter9Namestring

Optional

Parameter name


parameter9Valuestring

Optional

Parameter value


parameter10Namestring

Optional

Parameter name


parameter10Valuestring

Optional

Parameter value


parameter11Namestring

Optional

Parameter name


parameter11Valuestring

Optional

Parameter value


parameter12Namestring

Optional

Parameter name


parameter12Valuestring

Optional

Parameter value


parameter13Namestring

Optional

Parameter name


parameter13Valuestring

Optional

Parameter value


parameter14Namestring

Optional

Parameter name


parameter14Valuestring

Optional

Parameter value


parameter15Namestring

Optional

Parameter name


parameter15Valuestring

Optional

Parameter value


parameter16Namestring

Optional

Parameter name


parameter16Valuestring

Optional

Parameter value


parameter17Namestring

Optional

Parameter name


parameter17Valuestring

Optional

Parameter value


parameter18Namestring

Optional

Parameter name


parameter18Valuestring

Optional

Parameter value


parameter19Namestring

Optional

Parameter name


parameter19Valuestring

Optional

Parameter value


parameter20Namestring

Optional

Parameter name


parameter20Valuestring

Optional

Parameter value


parameter21Namestring

Optional

Parameter name


parameter21Valuestring

Optional

Parameter value


parameter22Namestring

Optional

Parameter name


parameter22Valuestring

Optional

Parameter value


parameter23Namestring

Optional

Parameter name


parameter23Valuestring

Optional

Parameter value


parameter24Namestring

Optional

Parameter name


parameter24Valuestring

Optional

Parameter value


parameter25Namestring

Optional

Parameter name


parameter25Valuestring

Optional

Parameter value


parameter26Namestring

Optional

Parameter name


parameter26Valuestring

Optional

Parameter value


parameter27Namestring

Optional

Parameter name


parameter27Valuestring

Optional

Parameter value


parameter28Namestring

Optional

Parameter name


parameter28Valuestring

Optional

Parameter value


parameter29Namestring

Optional

Parameter name


parameter29Valuestring

Optional

Parameter value


parameter30Namestring

Optional

Parameter name


parameter30Valuestring

Optional

Parameter value


parameter31Namestring

Optional

Parameter name


parameter31Valuestring

Optional

Parameter value


parameter32Namestring

Optional

Parameter name


parameter32Valuestring

Optional

Parameter value


parameter33Namestring

Optional

Parameter name


parameter33Valuestring

Optional

Parameter value


parameter34Namestring

Optional

Parameter name


parameter34Valuestring

Optional

Parameter value


parameter35Namestring

Optional

Parameter name


parameter35Valuestring

Optional

Parameter value


parameter36Namestring

Optional

Parameter name


parameter36Valuestring

Optional

Parameter value


parameter37Namestring

Optional

Parameter name


parameter37Valuestring

Optional

Parameter value


parameter38Namestring

Optional

Parameter name


parameter38Valuestring

Optional

Parameter value


parameter39Namestring

Optional

Parameter name


parameter39Valuestring

Optional

Parameter value


parameter40Namestring

Optional

Parameter name


parameter40Valuestring

Optional

Parameter value


parameter41Namestring

Optional

Parameter name


parameter41Valuestring

Optional

Parameter value


parameter42Namestring

Optional

Parameter name


parameter42Valuestring

Optional

Parameter value


parameter43Namestring

Optional

Parameter name


parameter43Valuestring

Optional

Parameter value


parameter44Namestring

Optional

Parameter name


parameter44Valuestring

Optional

Parameter value


parameter45Namestring

Optional

Parameter name


parameter45Valuestring

Optional

Parameter value


parameter46Namestring

Optional

Parameter name


parameter46Valuestring

Optional

Parameter value


parameter47Namestring

Optional

Parameter name


parameter47Valuestring

Optional

Parameter value


parameter48Namestring

Optional

Parameter name


parameter48Valuestring

Optional

Parameter value


parameter49Namestring

Optional

Parameter name


parameter49Valuestring

Optional

Parameter value


parameter50Namestring

Optional

Parameter name


parameter50Valuestring

Optional

Parameter value


parameter51Namestring

Optional

Parameter name


parameter51Valuestring

Optional

Parameter value


parameter52Namestring

Optional

Parameter name


parameter52Valuestring

Optional

Parameter value


parameter53Namestring

Optional

Parameter name


parameter53Valuestring

Optional

Parameter value


parameter54Namestring

Optional

Parameter name


parameter54Valuestring

Optional

Parameter value


parameter55Namestring

Optional

Parameter name


parameter55Valuestring

Optional

Parameter value


parameter56Namestring

Optional

Parameter name


parameter56Valuestring

Optional

Parameter value


parameter57Namestring

Optional

Parameter name


parameter57Valuestring

Optional

Parameter value


parameter58Namestring

Optional

Parameter name


parameter58Valuestring

Optional

Parameter value


parameter59Namestring

Optional

Parameter name


parameter59Valuestring

Optional

Parameter value


parameter60Namestring

Optional

Parameter name


parameter60Valuestring

Optional

Parameter value


parameter61Namestring

Optional

Parameter name


parameter61Valuestring

Optional

Parameter value


parameter62Namestring

Optional

Parameter name


parameter62Valuestring

Optional

Parameter value


parameter63Namestring

Optional

Parameter name


parameter63Valuestring

Optional

Parameter value


parameter64Namestring

Optional

Parameter name


parameter64Valuestring

Optional

Parameter value


parameter65Namestring

Optional

Parameter name


parameter65Valuestring

Optional

Parameter value


parameter66Namestring

Optional

Parameter name


parameter66Valuestring

Optional

Parameter value


parameter67Namestring

Optional

Parameter name


parameter67Valuestring

Optional

Parameter value


parameter68Namestring

Optional

Parameter name


parameter68Valuestring

Optional

Parameter value


parameter69Namestring

Optional

Parameter name


parameter69Valuestring

Optional

Parameter value


parameter70Namestring

Optional

Parameter name


parameter70Valuestring

Optional

Parameter value


parameter71Namestring

Optional

Parameter name


parameter71Valuestring

Optional

Parameter value


parameter72Namestring

Optional

Parameter name


parameter72Valuestring

Optional

Parameter value


parameter73Namestring

Optional

Parameter name


parameter73Valuestring

Optional

Parameter value


parameter74Namestring

Optional

Parameter name


parameter74Valuestring

Optional

Parameter value


parameter75Namestring

Optional

Parameter name


parameter75Valuestring

Optional

Parameter value


parameter76Namestring

Optional

Parameter name


parameter76Valuestring

Optional

Parameter value


parameter77Namestring

Optional

Parameter name


parameter77Valuestring

Optional

Parameter value


parameter78Namestring

Optional

Parameter name


parameter78Valuestring

Optional

Parameter value


parameter79Namestring

Optional

Parameter name


parameter79Valuestring

Optional

Parameter value


parameter80Namestring

Optional

Parameter name


parameter80Valuestring

Optional

Parameter value


parameter81Namestring

Optional

Parameter name


parameter81Valuestring

Optional

Parameter value


parameter82Namestring

Optional

Parameter name


parameter82Valuestring

Optional

Parameter value


parameter83Namestring

Optional

Parameter name


parameter83Valuestring

Optional

Parameter value


parameter84Namestring

Optional

Parameter name


parameter84Valuestring

Optional

Parameter value


parameter85Namestring

Optional

Parameter name


parameter85Valuestring

Optional

Parameter value


parameter86Namestring

Optional

Parameter name


parameter86Valuestring

Optional

Parameter value


parameter87Namestring

Optional

Parameter name


parameter87Valuestring

Optional

Parameter value


parameter88Namestring

Optional

Parameter name


parameter88Valuestring

Optional

Parameter value


parameter89Namestring

Optional

Parameter name


parameter89Valuestring

Optional

Parameter value


parameter90Namestring

Optional

Parameter name


parameter90Valuestring

Optional

Parameter value


parameter91Namestring

Optional

Parameter name


parameter91Valuestring

Optional

Parameter value


parameter92Namestring

Optional

Parameter name


parameter92Valuestring

Optional

Parameter value


parameter93Namestring

Optional

Parameter name


parameter93Valuestring

Optional

Parameter value


parameter94Namestring

Optional

Parameter name


parameter94Valuestring

Optional

Parameter value


parameter95Namestring

Optional

Parameter name


parameter95Valuestring

Optional

Parameter value


parameter96Namestring

Optional

Parameter name


parameter96Valuestring

Optional

Parameter value


parameter97Namestring

Optional

Parameter name


parameter97Valuestring

Optional

Parameter value


parameter98Namestring

Optional

Parameter name


parameter98Valuestring

Optional

Parameter value


parameter99Namestring

Optional

Parameter name


parameter99Valuestring

Optional

Parameter value

Create a Stream resource during a live call in order to start a new unidirectional Media Stream. Twilio sends the call's forked audio stream to the url specified in this request.

A sample request is shown below.

Start a unidirectional Media Stream on a live callLink to code sample: Start a unidirectional Media Stream on a live call
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createStream() {
11
const stream = await client
12
.calls("CAXXXXXXXXXXXXXXXXXXXXXXXXXXX")
13
.streams.create({
14
name: "My Media Stream",
15
url: "wss://example.com/a-websocket-server",
16
});
17
18
console.log(stream.sid);
19
}
20
21
createStream();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXX",
4
"sid": "MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"name": "My Media Stream",
6
"status": "in-progress",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Streams/MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}

You can also create a unidirectional Media Stream with custom parameters.

Twilio sends these custom parameters to your WebSocket server in the start WebSocket message. Learn more on the WebSocket Messages page.

Use the parameter[x].name and parameter[x].value parameters to specify key-value pairs. For example, parameter1.name is the key and parameter1.value is the value of a key-value pair. You can provide up to 99 key-value pairs (parameter99.name and parameter99.value).

An example request is shown below.

Start a unidirectional Media Stream with custom parametersLink to code sample: Start a unidirectional Media Stream with custom parameters
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createStream() {
11
const stream = await client
12
.calls("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
13
.streams.create({
14
name: "My Media Stream",
15
"parameter1.name": "agent_name",
16
"parameter1.value": "Mary",
17
"parameter2.name": "Department",
18
"parameter2.value": "sales",
19
url: "wss://example.com/a-websocket-server",
20
});
21
22
console.log(stream.sid);
23
}
24
25
createStream();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
4
"sid": "MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"name": "My Media Stream",
6
"status": "in-progress",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Streams/MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}

Update a Stream resource

update-a-stream-resource page anchor

POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json

To stop a live unidirectional Media Stream, update the Stream resource's status to stopped.

Property nameTypeRequiredPIIDescription
accountSidSID<AC>required

The SID of the Account that created this Stream resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

callSidSID<CA>required

The SID of the Call the Stream resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

sidstringrequired

The SID or the name of the Stream resource to be stopped

Encoding type:application/x-www-form-urlencoded
SchemaExample
Property nameTypeRequiredDescriptionChild properties
statusenum<string>required
Possible values:
stopped

An example request is shown below.

1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateStream() {
11
const stream = await client
12
.calls("CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.streams("Sid")
14
.update({ status: "stopped" });
15
16
console.log(stream.sid);
17
}
18
19
updateStream();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"sid": "Sid",
5
"name": null,
6
"status": "stopped",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Streams/MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}

You can also use the Stream name (if provided when creating the Stream) to stop the Stream. The example below shows how to stop a Stream with a name of myStream.

Stop a unidirectional Media Stream by nameLink to code sample: Stop a unidirectional Media Stream by name
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateStream() {
11
const stream = await client
12
.calls("CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.streams("myStream")
14
.update({ status: "stopped" });
15
16
console.log(stream.sid);
17
}
18
19
updateStream();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"sid": "myStream",
5
"name": "myStream",
6
"status": "stopped",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Streams/MZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}