Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Chat User 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.

The User resource of Programmable Chat represents a single user who is identified by an identity value that you provide when the User resource is created. The User resource's identity must be unique within its Service instance.

(warning)

Warning

Within Twilio Programmable Chat, the user identity is a case-sensitive value.

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

User resources are used to assign permissions, which determine what the user can and cannot do within the service.

Users can be created within a Service instance by using the client capability token or the User resource's Create action.

When Programmable Chat encounters a new Identity in a Service instance, a new User instance is created for that identity. When an Identity exists, its corresponding User record will be used the session/request for endpoints, Access Tokens, and when the REST API is used to create a Member resource.


User Properties

user-properties page anchor

The User resource contains these properties.

Property nameTypePIIDescription
sidSID<US>
Not PII

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

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

account_sidSID<AC>

The SID of the Account that created the User resource.

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

service_sidSID<IS>

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

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

attributesstring
PII MTL: 30 days

The JSON string that stores application-specific data. If attributes have not been set, {} is returned.


friendly_namestring

The string that you assigned to describe the resource.


role_sidSID<RL>

The SID of the Role assigned to the user.

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

identitystring

The application-defined string that uniquely identifies the resource's User within the Service. This value is often a username or an email address, and is case-sensitive. See access tokens for more info.


is_onlineboolean

Whether the User is actively connected to the Service instance and online. This value is only returned by Fetch actions that return a single resource and null is always returned by a Read action. This value is null if the Service's reachability_enabled is false, if the User has never been online for the Service instance, even if the Service's reachability_enabled is true.


is_notifiableboolean

Whether the User has a potentially valid Push Notification registration (APN or GCM) for the Service instance. If at least one registration exists, true; otherwise false. This value is only returned by Fetch actions that return a single resource and null is always returned by a Read action. This value is null if the Service's reachability_enabled is false, and if the User has never had a notification registration, even if the Service's reachability_enabled is true.


date_createdstring<date-time>

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>

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


joined_channels_countinteger

The number of Channels the User is a Member of.


linksobject<uri-map>

The absolute URLs of the Channel and Binding resources related to the user.


urlstring<uri>

The absolute URL of the User resource.


POST https://chat.twilio.com/v2/Services/{ServiceSid}/Users

Headers

headers page anchor
Property nameTypeRequiredPIIDescription
X-Twilio-Webhook-Enabledenum<string>Optional

The X-Twilio-Webhook-Enabled HTTP request header

Possible values:
truefalse
Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

The SID of the Service to create the User resource under.

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

The identity value that uniquely identifies the new resource's User within the Service. This value is often a username or email address. See the Identity documentation for more info.


RoleSidSID<RL>Optional

The SID of the Role to assign to the new User.

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

AttributesstringOptional

A valid JSON string that contains application-specific data.


FriendlyNamestringOptional

A descriptive string that you create to describe the new resource. This value is often used for display purposes.

Create a User resource

create-a-user-resource-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const user = await client.chat.v2
_14
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_14
.users.create({ identity: "Identity" });
_14
_14
console.log(user.sid);

Output

_19
{
_19
"sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"identity": "Identity",
_19
"attributes": null,
_19
"is_online": true,
_19
"is_notifiable": null,
_19
"friendly_name": null,
_19
"joined_channels_count": 0,
_19
"date_created": "2016-03-24T21:05:19Z",
_19
"date_updated": "2016-03-24T21:05:19Z",
_19
"links": {
_19
"user_channels": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
_19
"user_bindings": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings"
_19
},
_19
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_19
}


GET https://chat.twilio.com/v2/Services/{ServiceSid}/Users/{Sid}

The {Sid} value can be either the sid or the identity of the User resource to fetch.

Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

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

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

Sidstringrequired

The SID of the User resource to fetch. This value can be either the sid or the identity of the User resource to fetch.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const user = await client.chat.v2
_15
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.users("Sid")
_15
.fetch();
_15
_15
console.log(user.sid);

Output

_19
{
_19
"sid": "Sid",
_19
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"identity": "jing",
_19
"attributes": null,
_19
"is_online": true,
_19
"is_notifiable": null,
_19
"friendly_name": null,
_19
"joined_channels_count": 0,
_19
"date_created": "2016-03-24T21:05:19Z",
_19
"date_updated": "2016-03-24T21:05:19Z",
_19
"links": {
_19
"user_channels": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
_19
"user_bindings": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings"
_19
},
_19
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_19
}


Read multiple User resources

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

Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

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

Pattern: ^IS[0-9a-fA-F]{32}$Min length: 34Max length: 34
Property nameTypeRequiredPIIDescription
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.

Read multiple User resources

read-multiple-user-resources-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const users = await client.chat.v2
_14
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_14
.users.list({ limit: 20 });
_14
_14
users.forEach((u) => console.log(u.sid));

Output

_29
{
_29
"meta": {
_29
"first_page_url": "https://www.example.com",
_29
"key": "key",
_29
"next_page_url": "https://www.example.com",
_29
"page": 171,
_29
"page_size": 7,
_29
"previous_page_url": "https://www.example.com",
_29
"url": "https://www.example.com"
_29
},
_29
"users": [
_29
{
_29
"sid": "USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29
"attributes": "attributes",
_29
"friendly_name": "friendly_name",
_29
"role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29
"identity": "identity",
_29
"is_online": true,
_29
"is_notifiable": true,
_29
"date_created": "2009-07-06T20:30:00Z",
_29
"date_updated": "2009-07-06T20:30:00Z",
_29
"joined_channels_count": 864,
_29
"links": {},
_29
"url": "https://www.example.com"
_29
}
_29
]
_29
}


POST https://chat.twilio.com/v2/Services/{ServiceSid}/Users/{Sid}

The {Sid} value can be either the sid or the identity of the User resource to update.

Property nameTypeRequiredPIIDescription
X-Twilio-Webhook-Enabledenum<string>Optional

The X-Twilio-Webhook-Enabled HTTP request header

Possible values:
truefalse
Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

The SID of the Service to update the User resource in.

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

Sidstringrequired

The SID of the User resource to update. This value can be either the sid or the identity of the User resource to update.

Property nameTypeRequiredPIIDescription
RoleSidSID<RL>Optional

The SID of the Role to assign to the User.

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

AttributesstringOptional

A valid JSON string that contains application-specific data.


FriendlyNamestringOptional

A descriptive string that you create to describe the resource. It is often used for display purposes.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const user = await client.chat.v2
_15
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.users("Sid")
_15
.update({ roleSid: "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" });
_15
_15
console.log(user.sid);

Output

_19
{
_19
"sid": "Sid",
_19
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_19
"identity": "jing",
_19
"attributes": null,
_19
"is_online": true,
_19
"is_notifiable": null,
_19
"friendly_name": null,
_19
"joined_channels_count": 0,
_19
"date_created": "2016-03-24T21:05:19Z",
_19
"date_updated": "2016-03-24T21:05:19Z",
_19
"links": {
_19
"user_channels": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
_19
"user_bindings": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings"
_19
},
_19
"url": "https://chat.twilio.com/v2/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Users/USaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_19
}


DELETE https://chat.twilio.com/v2/Services/{ServiceSid}/Users/{Sid}

The {Sid} value can be either the sid or the identity of the User resource to delete.

Property nameTypeRequiredPIIDescription
ServiceSidSID<IS>required

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

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

Sidstringrequired

The SID of the User resource to delete. This value can be either the sid or the identity of the User resource to delete.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_13
// Download the helper library from https://www.twilio.com/docs/node/install
_13
import twilio from "twilio";
_13
_13
// Find your Account SID and Auth Token at twilio.com/console
_13
// and set the environment variables. See http://twil.io/secure
_13
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_13
const authToken = process.env.TWILIO_AUTH_TOKEN;
_13
const client = twilio(accountSid, authToken);
_13
_13
await client.chat.v2
_13
.services("ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_13
.users("Sid")
_13
.remove();


Rate this page: