Chat User Resource
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
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.
The User resource contains these properties.
Resource properties
sid
type: SID<US>
The unique string that we created to identify the User resource.
attributes
type: string
The JSON string that stores application-specific data. If attributes have not been set, {}
is returned.
friendly_name
type: string
The string that you assigned to describe the resource.
is_online
type: boolean
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_notifiable
type: boolean
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_created
type: string<date-time>
date_updated
type: string<date-time>
joined_channels_count
type: integer
The number of Channels the User is a Member of.
links
type: object<uri-map>
url
type: string<uri>
The absolute URL of the User resource.
POST https://chat.twilio.com/v2/Services/{ServiceSid}/Users
Request headers
X-Twilio-Webhook-Enabled
type: enum<string>
The X-Twilio-Webhook-Enabled HTTP request header
Possible values:
true
false
URI parameters
Request body parameters
Identity
type: stringRequired
Attributes
type: string
A valid JSON string that contains application-specific data.
FriendlyName
type: string
A descriptive string that you create to describe the new resource. This value is often used for display purposes.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .create({identity: 'identity'})
_11 .then(user => console.log(user.sid));
_19 "sid": "USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "role_sid": "RLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "user_channels": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels",
_19 "user_bindings": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Bindings"
_19 "url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
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.
URI parameters
Sid
type: string
The SID of the User resource to fetch. This value can be either the sid
or the identity
of the User resource to fetch.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .users('USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(user => console.log(user.friendlyName));
_19 "sid": "USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "role_sid": "RLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "user_channels": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels",
_19 "user_bindings": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Bindings"
_19 "url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
GET https://chat.twilio.com/v2/Services/{ServiceSid}/Users
URI parameters
PageSize
type: integer
How many resources to return in each list page. The default is 50, and the maximum is 1000.
Page
type: integer
The page index. This value is simply for client state.
PageToken
type: string
The page token. This is provided by the API.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(users => users.forEach(u => console.log(u.sid)));
_32 "first_page_url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users?PageSize=50&Page=0",
_32 "previous_page_url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users?PageSize=50&Page=0",
_32 "url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users?PageSize=50&Page=0",
_32 "next_page_url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users?PageSize=50&Page=1",
_32 "sid": "USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_32 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_32 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_32 "role_sid": "RLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_32 "is_notifiable": null,
_32 "friendly_name": null,
_32 "date_created": "2016-03-24T21:05:19Z",
_32 "date_updated": "2016-03-24T21:05:19Z",
_32 "joined_channels_count": 0,
_32 "user_channels": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels",
_32 "user_bindings": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Bindings"
_32 "url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
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.
Request headers
X-Twilio-Webhook-Enabled
type: enum<string>
The X-Twilio-Webhook-Enabled HTTP request header
Possible values:
true
false
URI parameters
Sid
type: string
The SID of the User resource to update. This value can be either the sid
or the identity
of the User resource to update.
Request body parameters
Attributes
type: string
A valid JSON string that contains application-specific data.
FriendlyName
type: string
A descriptive string that you create to describe the resource. It is often used for display purposes.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .users('USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .update({roleSid: 'RLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'})
_11 .then(user => console.log(user.friendlyName));
_19 "sid": "USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_19 "role_sid": "RLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "user_channels": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Channels",
_19 "user_bindings": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Bindings"
_19 "url": "https://chat.twilio.com/v2/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Users/USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
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.
URI parameters
Sid
type: string
The SID of the User resource to delete. This value can be either the sid
or the identity
of the User resource to delete.
_10// Download the helper library from https://www.twilio.com/docs/node/install
_10// Find your Account SID and Auth Token at twilio.com/console
_10// and set the environment variables. See http://twil.io/secure
_10const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10const authToken = process.env.TWILIO_AUTH_TOKEN;
_10const client = require('twilio')(accountSid, authToken);
_10client.chat.v2.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10 .users('USXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')