Skip to contentSkip to navigationSkip to topbar
On this page

Programmable Chat Binding Resource


(error)

Danger

Programmable Chat has been deprecated and is no longer supported. Instead, we'll be focusing on the next generation of chat: Twilio Conversations. Find out more about the EOL process here(link takes you to an external page).

If you're starting a new project, please visit the Conversations Docs to begin. If you've already built on Programmable Chat, please visit our Migration Guide to learn about how to switch.

A Binding resource of Programmable Chat represents a push notification subscription for a User within their Service instance. Bindings are unique per service instance, user identity, device, and notification channel (such as APNS, GCM, FCM).

We recommend following the standard URI specification and avoid the following reserved characters ! * ' ( ) ; : @ & = + $ , / ? % # [ ] for values such as identity and friendly name.


Binding Properties

binding-properties page anchor

Each Binding resource contains these properties.

Property nameTypeRequiredDescriptionChild properties
sidSID<BS>Optional
Not PII

The unique string that we created to identify the Binding resource.

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

account_sidSID<AC>Optional

The SID of the Account that created the Binding resource.

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

service_sidSID<IS>Optional

The SID of the Service the Binding resource is associated with.

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

date_createdstring<date-time>Optional

The date and time in GMT when the resource was created specified in ISO 8601(link takes you to an external page) format.


date_updatedstring<date-time>Optional

The date and time in GMT when the resource was last updated specified in ISO 8601(link takes you to an external page) format.


endpointstringOptional
PII MTL: 30 days

The unique endpoint identifier for the Binding. The format of this value depends on the binding_type.


identitystringOptional

The application-defined string that uniquely identifies the resource's User within the Service. See access tokens for more info.


credential_sidSID<CR>Optional

The SID of the Credential for the binding. See push notification configuration for more info.

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

binding_typeenum<string>Optional

The push technology to use for the Binding. Can be: apn, gcm, or fcm. See push notification configuration for more info.

Possible values:
gcmapnfcm

message_typesarray[string]Optional

The Programmable Chat message types the binding is subscribed to.


urlstring<uri>Optional

The absolute URL of the Binding resource.


linksobject<uri-map>Optional

The absolute URLs of the Binding's User.


Fetch a Binding resource

fetch-a-binding-resource page anchor
GET https://chat.twilio.com/v2/Services/{ServiceSid}/Bindings/{Sid}

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

The SID of the Service to fetch the Binding resource from.

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

SidSID<BS>required

The SID of the Binding resource to fetch.

Pattern: ^BS[0-9a-fA-F]{32}$Min length: 34Max length: 34
Fetch a Binding resourceLink to code sample: Fetch a Binding resource
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 fetchBinding() {
11
const binding = await client.chat.v2
12
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.bindings("BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
14
.fetch();
15
16
console.log(binding.sid);
17
}
18
19
fetchBinding();

Output

1
{
2
"sid": "BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"date_created": "2016-10-21T11:37:03Z",
6
"date_updated": "2016-10-21T11:37:03Z",
7
"endpoint": "TestUser-endpoint",
8
"identity": "TestUser",
9
"binding_type": "gcm",
10
"credential_sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
11
"message_types": [
12
"removed_from_channel",
13
"new_message",
14
"added_to_channel",
15
"invited_to_channel"
16
],
17
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings/BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
18
"links": {
19
"user": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/TestUser"
20
}
21
}

Read multiple Binding resources

read-multiple-binding-resources page anchor
GET https://chat.twilio.com/v2/Services/{ServiceSid}/Bindings

Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

The SID of the Service to read the Binding resources from.

Pattern: ^IS[0-9a-fA-F]{32}$Min length: 34Max length: 34
Property nameTypeRequiredPIIDescription
BindingTypearray[enum<string>]Optional

The push technology used by the Binding resources to read. Can be: apn, gcm, or fcm. See push notification configuration for more info.

Possible values:
gcmapnfcm

Identityarray[string]Optional

The User's identity value of the resources to read. See access tokens for more details.


PageSizeintegerOptional

How many resources to return in each list page. The default is 50, and the maximum is 1000.

Minimum: 1Maximum: 1000

PageintegerOptional

The page index. This value is simply for client state.

Minimum: 0

PageTokenstringOptional

The page token. This is provided by the API.

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 listBinding() {
11
const bindings = await client.chat.v2
12
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.bindings.list({ limit: 20 });
14
15
bindings.forEach((b) => console.log(b.sid));
16
}
17
18
listBinding();

Output

1
{
2
"meta": {
3
"page": 0,
4
"page_size": 50,
5
"first_page_url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings?PageSize=50&Page=0",
6
"previous_page_url": null,
7
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings?PageSize=50&Page=0",
8
"next_page_url": null,
9
"key": "bindings"
10
},
11
"bindings": [
12
{
13
"sid": "BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
14
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
15
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
16
"date_created": "2016-10-21T11:37:03Z",
17
"date_updated": "2016-10-21T11:37:03Z",
18
"endpoint": "TestUser-endpoint",
19
"identity": "TestUser",
20
"binding_type": "gcm",
21
"credential_sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
22
"message_types": [
23
"removed_from_channel",
24
"new_message",
25
"added_to_channel",
26
"invited_to_channel"
27
],
28
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings/BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
29
"links": {
30
"user": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/TestUser"
31
}
32
}
33
]
34
}

Delete a Binding resource

delete-a-binding-resource page anchor
DELETE https://chat.twilio.com/v2/Services/{ServiceSid}/Bindings/{Sid}

Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

The SID of the Service to delete the Binding resource from.

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

SidSID<BS>required

The SID of the Binding resource to delete.

Pattern: ^BS[0-9a-fA-F]{32}$Min length: 34Max length: 34
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 deleteBinding() {
11
await client.chat.v2
12
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.bindings("BSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
14
.remove();
15
}
16
17
deleteBinding();

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.