{ "components": { "schemas": { "chat.v1.service.channel": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Channel resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Channel resource." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "unique_name": { "type": "string", "nullable": true, "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "attributes": { "type": "string", "nullable": true, "description": "The JSON string that stores application-specific data. **Note** If this property has been assigned a value, it's only displayed in a FETCH action that returns a single resource; otherwise, it's null. If the attributes have not been set, `{}` is returned.", "x-twilio": { "pii": { "handling": "sensitive", "deleteSla": 30 } } }, "type": { "type": "string", "$ref": "#/components/schemas/channel_enum_channel_type", "nullable": true, "description": "The visibility of the channel. Can be: `public` or `private`." }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "created_by": { "type": "string", "nullable": true, "description": "The `identity` of the User that created the channel. If the Channel was created by using the API, the value is `system`.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "members_count": { "type": "integer", "nullable": true, "description": "The number of Members in the Channel." }, "messages_count": { "type": "integer", "nullable": true, "description": "The number of Messages in the Channel." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Channel resource." }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The absolute URLs of the [Members](https://www.twilio.com/docs/chat/api/members), [Messages](https://www.twilio.com/docs/chat/api/messages) , [Invites](https://www.twilio.com/docs/chat/api/invites) and, if it exists, the last [Message](https://www.twilio.com/docs/chat/api/messages) for the Channel." } } }, "channel_enum_channel_type": { "type": "string", "enum": [ "public", "private" ] }, "chat.v1.credential": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Credential resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Credential resource." }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "type": { "type": "string", "$ref": "#/components/schemas/credential_enum_push_service", "nullable": true, "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`." }, "sandbox": { "type": "string", "nullable": true, "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Credential resource." } } }, "credential_enum_push_service": { "type": "string", "enum": [ "gcm", "apn", "fcm" ] }, "chat.v1.service.channel.invite": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IN[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Invite resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Invite resource." }, "channel_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource belongs to." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "identity": { "type": "string", "nullable": true, "description": "The application-defined string that uniquely identifies the resource's [User](https://www.twilio.com/docs/api/chat/rest/users) within the [Service](https://www.twilio.com/docs/api/chat/rest/services). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the resource." }, "created_by": { "type": "string", "nullable": true, "description": "The `identity` of the User that created the invite." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Invite resource." } } }, "chat.v1.service.channel.member": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Member resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Member resource." }, "channel_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) for the member." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "identity": { "type": "string", "nullable": true, "description": "The application-defined string that uniquely identifies the resource's [User](https://www.twilio.com/docs/api/chat/rest/users) within the [Service](https://www.twilio.com/docs/api/chat/rest/services). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the member." }, "last_consumed_message_index": { "type": "integer", "nullable": true, "description": "The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) in the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) that the Member has read." }, "last_consumption_timestamp": { "type": "string", "format": "date-time", "nullable": true, "description": "The ISO 8601 timestamp string that represents the date-time of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) read event for the Member within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels)." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Member resource." } } }, "chat.v1.service.channel.message": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IM[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Message resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Message resource." }, "attributes": { "type": "string", "nullable": true, "description": "The JSON string that stores application-specific data. **Note** If this property has been assigned a value, it's only displayed in a FETCH action that returns a single resource; otherwise, it's null. If the attributes have not been set, `{}` is returned.", "x-twilio": { "pii": { "handling": "sensitive", "deleteSla": 30 } } }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "to": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Channel](https://www.twilio.com/docs/chat/api/channels) that the message was sent to." }, "channel_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the Message resource belongs to." }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "was_edited": { "type": "boolean", "nullable": true, "description": "Whether the message has been edited since it was created." }, "from": { "type": "string", "nullable": true, "description": "The [identity](https://www.twilio.com/docs/api/chat/guides/identity) of the message's author. The default value is `system`.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "body": { "type": "string", "nullable": true, "description": "The content of the message.", "x-twilio": { "pii": { "handling": "sensitive", "deleteSla": 30 } } }, "index": { "type": "integer", "nullable": true, "description": "The index of the message within the [Channel](https://www.twilio.com/docs/chat/api/channels)." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Message resource." } } }, "message_enum_order_type": { "type": "string", "enum": [ "asc", "desc" ] }, "chat.v1.service.role": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Role resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Role resource." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "type": { "type": "string", "$ref": "#/components/schemas/role_enum_role_type", "nullable": true, "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) roles." }, "permissions": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "An array of the permissions the role has been granted, formatted as a JSON string." }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Role resource." } } }, "role_enum_role_type": { "type": "string", "enum": [ "channel", "deployment" ] }, "chat.v1.service": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the Service resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the Service resource." }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "default_service_role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "default_channel_role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "default_channel_creator_role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "read_status_enabled": { "type": "boolean", "nullable": true, "description": "Whether the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is `true`." }, "reachability_enabled": { "type": "boolean", "nullable": true, "description": "Whether the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is `false`." }, "typing_indicator_timeout": { "type": "integer", "nullable": true, "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds." }, "consumption_report_interval": { "type": "integer", "nullable": true, "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." }, "limits": { "nullable": true, "description": "An object that describes the limits of the service instance. The `limits` object contains `channel_members` to describe the members/channel limit and `user_channels` to describe the channels/user limit. `channel_members` can be 1,000 or less, with a default of 250. `user_channels` can be 1,000 or less, with a default value of 100." }, "webhooks": { "nullable": true, "description": "An object that contains information about the webhooks configured for this service." }, "pre_webhook_url": { "type": "string", "nullable": true, "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." }, "post_webhook_url": { "type": "string", "nullable": true, "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." }, "webhook_method": { "type": "string", "nullable": true, "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." }, "webhook_filters": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "The list of WebHook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." }, "notifications": { "nullable": true, "description": "The notification configuration for the Service instance. See [Push Notification Configuration](https://www.twilio.com/docs/chat/push-notification-configuration) for more information." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Service resource." }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The absolute URLs of the Service's [Channels](https://www.twilio.com/docs/chat/api/channels), [Roles](https://www.twilio.com/docs/chat/api/roles), and [Users](https://www.twilio.com/docs/chat/api/users)." } } }, "chat.v1.service.user": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^US[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that we created to identify the User resource." }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the User resource." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "attributes": { "type": "string", "nullable": true, "description": "The JSON string that stores application-specific data. **Note** If this property has been assigned a value, it's only displayed in a FETCH action that returns a single resource; otherwise, it's null. If the attributes have not been set, `{}` is returned.", "x-twilio": { "pii": { "handling": "sensitive", "deleteSla": 30 } } }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "role_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the user." }, "identity": { "type": "string", "nullable": true, "description": "The application-defined string that uniquely identifies the resource's User within the [Service](https://www.twilio.com/docs/api/chat/rest/services). This value is often a username or an email address. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info.", "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, "is_online": { "type": "boolean", "nullable": true, "description": "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", "nullable": true, "description": "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", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was created specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The date and time in GMT when the resource was last updated specified in [RFC 2822](http://www.ietf.org/rfc/rfc2822.txt) format." }, "joined_channels_count": { "type": "integer", "nullable": true, "description": "The number of Channels this User is a Member of." }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The absolute URLs of the [Channel](https://www.twilio.com/docs/chat/api/channels) and [Binding](https://www.twilio.com/docs/chat/rest/bindings-resource) resources related to the user." }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the User resource." } } }, "chat.v1.service.user.user_channel": { "type": "object", "properties": { "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Account](https://www.twilio.com/docs/api/rest/account) that created the User Channel resource." }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) the resource is associated with." }, "channel_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource belongs to." }, "member_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of a [Member](https://www.twilio.com/docs/api/chat/rest/members) that represents the User on the Channel." }, "status": { "type": "string", "$ref": "#/components/schemas/user_channel_enum_channel_status", "nullable": true, "description": "The status of the User on the Channel. Can be: `joined`, `invited`, or `not_participating`." }, "last_consumed_message_index": { "type": "integer", "nullable": true, "description": "The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) in the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) that the Member has read." }, "unread_messages_count": { "type": "integer", "nullable": true, "description": "The number of unread Messages in the Channel for the User. Note that retrieving messages on a client endpoint does not mean that messages are consumed or read. See [Consumption Horizon feature](/docs/api/chat/guides/consumption-horizon) to learn how to mark messages as consumed." }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The absolute URLs of the [Members](https://www.twilio.com/docs/chat/api/members), [Messages](https://www.twilio.com/docs/chat/api/messages) , [Invites](https://www.twilio.com/docs/chat/api/invites) and, if it exists, the last [Message](https://www.twilio.com/docs/chat/api/messages) for the Channel." } } }, "user_channel_enum_channel_status": { "type": "string", "enum": [ "joined", "invited", "not_participating" ] } }, "securitySchemes": { "accountSid_authToken": { "type": "http", "scheme": "basic" } } }, "info": { "title": "Twilio - Chat", "description": "This is the public Twilio REST API.", "termsOfService": "https://www.twilio.com/legal/tos", "contact": { "name": "Twilio Support", "url": "https://support.twilio.com", "email": "support@twilio.com" }, "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "1.55.5" }, "openapi": "3.0.1", "paths": { "/v1/Services/{ServiceSid}/Channels/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Channels represent chat rooms", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", "friendly_name" ], "pathType": "instance", "dependentProperties": { "members": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Members" }, "messages": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Messages" }, "invites": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Invites" } }, "parent": "/Services/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1Channel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Channel resource to fetch.", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchChannel", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Channel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Channel resource to delete.", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteChannel", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Channel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Channel resource to update.", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateChannel", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateChannelRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "UniqueName": { "type": "string", "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } } }, "/v1/Services/{ServiceSid}/Channels": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Channels represent chat rooms", "x-twilio": { "defaultOutputProperties": [ "sid", "unique_name", "friendly_name" ], "pathType": "list", "dependentProperties": { "members": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Members" }, "messages": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Messages" }, "invites": { "mapping": { "service_sid": "service_sid", "channel_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels/{channel_sid}/Invites" } }, "parent": "/Services/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1Channel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateChannel", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateChannelRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, "UniqueName": { "type": "string", "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL. This value must be 64 characters or less in length and be unique within the Service." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." }, "Type": { "type": "string", "$ref": "#/components/schemas/channel_enum_channel_type", "description": "The visibility of the channel. Can be: `public` or `private` and defaults to `public`." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } }, "get": { "description": "", "tags": [ "ChatV1Channel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Type", "in": "query", "description": "The visibility of the Channels to read. Can be: `public` or `private` and defaults to `public`.", "schema": { "type": "array", "items": { "type": "string", "$ref": "#/components/schemas/channel_enum_channel_type" } } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListChannelResponse", "properties": { "channels": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.channel" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListChannel", "x-maturity": [ "GA" ] } }, "/v1/Credentials": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Credentials for push notifications channels", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "list" }, "get": { "description": "", "tags": [ "ChatV1Credential" ], "parameters": [ { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListCredentialResponse", "properties": { "credentials": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.credential" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Credential" ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.credential" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateCredential", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateCredentialRequest", "properties": { "Type": { "type": "string", "$ref": "#/components/schemas/credential_enum_push_service", "description": "The type of push-notification service the credential is for. Can be: `gcm`, `fcm`, or `apn`." }, "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, "Certificate": { "type": "string", "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`" }, "PrivateKey": { "type": "string", "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`" }, "Sandbox": { "type": "boolean", "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, "ApiKey": { "type": "string", "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." }, "Secret": { "type": "string", "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } }, "required": [ "Type" ] } } } } } }, "/v1/Credentials/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Credentials for push notifications channels", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "instance" }, "get": { "description": "", "tags": [ "ChatV1Credential" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.credential" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchCredential", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Credential" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.credential" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateCredential", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateCredentialRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "Certificate": { "type": "string", "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==\n-----END CERTIFICATE-----`" }, "PrivateKey": { "type": "string", "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR.\n-----END RSA PRIVATE KEY-----`" }, "Sandbox": { "type": "boolean", "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, "ApiKey": { "type": "string", "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." }, "Secret": { "type": "string", "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } }, "delete": { "description": "", "tags": [ "ChatV1Credential" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteCredential", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Pending invitations to users to become channel members", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], "pathType": "instance", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1Invite" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to fetch belongs to.", "schema": { "type": "string" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Invite resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IN[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.invite" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchInvite", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Invite" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resource to delete belongs to.", "schema": { "type": "string" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Invite resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IN[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteInvite", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Invites": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Pending invitations to users to become channel members", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], "pathType": "list", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1Invite" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to.", "schema": { "type": "string" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.invite" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateInvite", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateInviteRequest", "properties": { "Identity": { "type": "string", "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more info." }, "RoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new member." } }, "required": [ "Identity" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1Invite" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The SID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the resources to read belong to.", "schema": { "type": "string" }, "required": true }, { "name": "Identity", "in": "query", "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", "schema": { "type": "array", "items": { "type": "string" } }, "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListInviteResponse", "properties": { "invites": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.channel.invite" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListInvite", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Users joined to specific channels", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], "pathType": "instance", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1Member" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to fetch belongs to. Can be the Channel resource's `sid` or `unique_name` value.", "schema": { "type": "string" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Member resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.member" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchMember", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Member" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { "type": "string" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Member resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteMember", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Member" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the member to update belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Member resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MB[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.member" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateMember", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateMemberRequest", "properties": { "RoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services)." }, "LastConsumedMessageIndex": { "type": "integer", "nullable": true, "description": "The index of the last [Message](https://www.twilio.com/docs/api/chat/rest/messages) that the Member has read within the [Channel](https://www.twilio.com/docs/api/chat/rest/channels)." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Members": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Users joined to specific channels", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "date_created" ], "pathType": "list", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1Member" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new member belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.member" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateMember", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateMemberRequest", "properties": { "Identity": { "type": "string", "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/services). See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details." }, "RoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) to assign to the member. The default roles are those specified on the [Service](https://www.twilio.com/docs/chat/api/services)." } }, "required": [ "Identity" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1Member" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the members to read belong to. Can be the Channel resource's `sid` or `unique_name` value.", "schema": { "type": "string" }, "required": true }, { "name": "Identity", "in": "query", "description": "The [User](https://www.twilio.com/docs/api/chat/rest/v1/user)'s `identity` value of the resources to read. See [access tokens](https://www.twilio.com/docs/api/chat/guides/create-tokens) for more details.", "schema": { "type": "array", "items": { "type": "string" } }, "x-twilio": { "pii": { "handling": "standard", "deleteSla": 30 } } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListMemberResponse", "properties": { "members": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.channel.member" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListMember", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Individual chat messages", "x-twilio": { "defaultOutputProperties": [ "sid", "from", "to", "date_created" ], "pathType": "instance", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1Message" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to fetch belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Message resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IM[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.message" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchMessage", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Message" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to delete belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Message resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IM[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteMessage", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Message" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Message resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IM[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.message" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateMessage", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateMessageRequest", "properties": { "Body": { "type": "string", "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } } }, "/v1/Services/{ServiceSid}/Channels/{ChannelSid}/Messages": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Individual chat messages", "x-twilio": { "defaultOutputProperties": [ "sid", "from", "to", "date_created" ], "pathType": "list", "parent": "/Services/{ServiceSid}/Channels/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1Message" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the new resource belongs to. Can be the Channel resource's `sid` or `unique_name`.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.channel.message" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateMessage", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateMessageRequest", "properties": { "Body": { "type": "string", "description": "The message to send to the channel. Can also be an empty string or `null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string." }, "From": { "type": "string", "description": "The [identity](https://www.twilio.com/docs/api/chat/guides/identity) of the new message's author. The default value is `system`." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." } }, "required": [ "Body" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1Message" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "ChannelSid", "in": "path", "description": "The unique ID of the [Channel](https://www.twilio.com/docs/api/chat/rest/channels) the message to read belongs to. Can be the Channel's `sid` or `unique_name`.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CH[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Order", "in": "query", "description": "The sort order of the returned messages. Can be: `asc` (ascending) or `desc` (descending) with `asc` as the default.", "schema": { "type": "string", "$ref": "#/components/schemas/message_enum_order_type" } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListMessageResponse", "properties": { "messages": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.channel.message" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListMessage", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Roles/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Roles determining user or member permissions", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "instance", "parent": "/Services/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1Role" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Role resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.role" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchRole", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Role" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Role resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteRole", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Role" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Role resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.role" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateRole", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateRoleRequest", "properties": { "Permission": { "type": "array", "items": { "type": "string" }, "description": "A permission that you grant to the role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation." } }, "required": [ "Permission" ] } } } } } }, "/v1/Services/{ServiceSid}/Roles": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Roles determining user or member permissions", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "list", "parent": "/Services/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1Role" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.role" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateRole", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateRoleRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." }, "Type": { "type": "string", "$ref": "#/components/schemas/role_enum_role_type", "description": "The type of role. Can be: `channel` for [Channel](https://www.twilio.com/docs/chat/api/channels) roles or `deployment` for [Service](https://www.twilio.com/docs/chat/api/services) roles." }, "Permission": { "type": "array", "items": { "type": "string" }, "description": "A permission that you grant to the new role. Only one permission can be granted per parameter. To assign more than one permission, repeat this parameter for each permission value. The values for this parameter depend on the role's `type` and are described in the documentation." } }, "required": [ "FriendlyName", "Type", "Permission" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1Role" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListRoleResponse", "properties": { "roles": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.role" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListRole", "x-maturity": [ "GA" ] } }, "/v1/Services/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Top level scope for all chat resources", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "instance", "dependentProperties": { "channels": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels" }, "roles": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Roles" }, "users": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Users" } } }, "get": { "description": "", "tags": [ "ChatV1Service" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchService", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1Service" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteService", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1Service" ], "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateService", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateServiceRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "DefaultServiceRoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The service role assigned to users when they are added to the service. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "DefaultChannelRoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The channel role assigned to users when they are added to a channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "DefaultChannelCreatorRoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The channel role assigned to a channel creator when they join a new channel. See the [Roles endpoint](https://www.twilio.com/docs/chat/api/roles) for more details." }, "ReadStatusEnabled": { "type": "boolean", "description": "Whether to enable the [Message Consumption Horizon](https://www.twilio.com/docs/chat/consumption-horizon) feature. The default is `true`." }, "ReachabilityEnabled": { "type": "boolean", "description": "Whether to enable the [Reachability Indicator](https://www.twilio.com/docs/chat/reachability-indicator) for this Service instance. The default is `false`." }, "TypingIndicatorTimeout": { "type": "integer", "description": "How long in seconds after a `started typing` event until clients should assume that user is no longer typing, even if no `ended typing` message was received. The default is 5 seconds." }, "ConsumptionReportInterval": { "type": "integer", "description": "DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints." }, "Notifications.NewMessage.Enabled": { "type": "boolean", "description": "Whether to send a notification when a new message is added to a channel. Can be: `true` or `false` and the default is `false`." }, "Notifications.NewMessage.Template": { "type": "string", "description": "The template to use to create the notification text displayed when a new message is added to a channel and `notifications.new_message.enabled` is `true`." }, "Notifications.AddedToChannel.Enabled": { "type": "boolean", "description": "Whether to send a notification when a member is added to a channel. Can be: `true` or `false` and the default is `false`." }, "Notifications.AddedToChannel.Template": { "type": "string", "description": "The template to use to create the notification text displayed when a member is added to a channel and `notifications.added_to_channel.enabled` is `true`." }, "Notifications.RemovedFromChannel.Enabled": { "type": "boolean", "description": "Whether to send a notification to a user when they are removed from a channel. Can be: `true` or `false` and the default is `false`." }, "Notifications.RemovedFromChannel.Template": { "type": "string", "description": "The template to use to create the notification text displayed to a user when they are removed from a channel and `notifications.removed_from_channel.enabled` is `true`." }, "Notifications.InvitedToChannel.Enabled": { "type": "boolean", "description": "Whether to send a notification when a user is invited to a channel. Can be: `true` or `false` and the default is `false`." }, "Notifications.InvitedToChannel.Template": { "type": "string", "description": "The template to use to create the notification text displayed when a user is invited to a channel and `notifications.invited_to_channel.enabled` is `true`." }, "PreWebhookUrl": { "type": "string", "format": "uri", "description": "The URL for pre-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." }, "PostWebhookUrl": { "type": "string", "format": "uri", "description": "The URL for post-event webhooks, which are called by using the `webhook_method`. See [Webhook Events](https://www.twilio.com/docs/api/chat/webhooks) for more details." }, "WebhookMethod": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use for calls to the `pre_webhook_url` and `post_webhook_url` webhooks. Can be: `POST` or `GET` and the default is `POST`. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." }, "WebhookFilters": { "type": "array", "items": { "type": "string" }, "description": "The list of WebHook events that are enabled for this Service instance. See [Webhook Events](https://www.twilio.com/docs/chat/webhook-events) for more details." }, "Webhooks.OnMessageSend.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_send` event using the `webhooks.on_message_send.method` HTTP method." }, "Webhooks.OnMessageSend.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_message_send.url`." }, "Webhooks.OnMessageUpdate.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_update` event using the `webhooks.on_message_update.method` HTTP method." }, "Webhooks.OnMessageUpdate.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_message_update.url`." }, "Webhooks.OnMessageRemove.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_remove` event using the `webhooks.on_message_remove.method` HTTP method." }, "Webhooks.OnMessageRemove.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_message_remove.url`." }, "Webhooks.OnChannelAdd.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_add` event using the `webhooks.on_channel_add.method` HTTP method." }, "Webhooks.OnChannelAdd.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_add.url`." }, "Webhooks.OnChannelDestroy.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_destroy` event using the `webhooks.on_channel_destroy.method` HTTP method." }, "Webhooks.OnChannelDestroy.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_destroy.url`." }, "Webhooks.OnChannelUpdate.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_update` event using the `webhooks.on_channel_update.method` HTTP method." }, "Webhooks.OnChannelUpdate.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_update.url`." }, "Webhooks.OnMemberAdd.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_member_add` event using the `webhooks.on_member_add.method` HTTP method." }, "Webhooks.OnMemberAdd.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_member_add.url`." }, "Webhooks.OnMemberRemove.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_member_remove` event using the `webhooks.on_member_remove.method` HTTP method." }, "Webhooks.OnMemberRemove.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_member_remove.url`." }, "Webhooks.OnMessageSent.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_sent` event using the `webhooks.on_message_sent.method` HTTP method." }, "Webhooks.OnMessageSent.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The URL of the webhook to call in response to the `on_message_sent` event`." }, "Webhooks.OnMessageUpdated.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_updated` event using the `webhooks.on_message_updated.method` HTTP method." }, "Webhooks.OnMessageUpdated.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_message_updated.url`." }, "Webhooks.OnMessageRemoved.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_message_removed` event using the `webhooks.on_message_removed.method` HTTP method." }, "Webhooks.OnMessageRemoved.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_message_removed.url`." }, "Webhooks.OnChannelAdded.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_added.method` HTTP method." }, "Webhooks.OnChannelAdded.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The URL of the webhook to call in response to the `on_channel_added` event`." }, "Webhooks.OnChannelDestroyed.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_added` event using the `webhooks.on_channel_destroyed.method` HTTP method." }, "Webhooks.OnChannelDestroyed.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_destroyed.url`." }, "Webhooks.OnChannelUpdated.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method." }, "Webhooks.OnChannelUpdated.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`." }, "Webhooks.OnMemberAdded.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_channel_updated` event using the `webhooks.on_channel_updated.method` HTTP method." }, "Webhooks.OnMemberAdded.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_channel_updated.url`." }, "Webhooks.OnMemberRemoved.Url": { "type": "string", "format": "uri", "description": "The URL of the webhook to call in response to the `on_member_removed` event using the `webhooks.on_member_removed.method` HTTP method." }, "Webhooks.OnMemberRemoved.Method": { "type": "string", "format": "http-method", "enum": [ "GET", "POST" ], "description": "The HTTP method to use when calling the `webhooks.on_member_removed.url`." }, "Limits.ChannelMembers": { "type": "integer", "description": "The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000." }, "Limits.UserChannels": { "type": "integer", "description": "The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } } }, "/v1/Services": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Top level scope for all chat resources", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "list", "dependentProperties": { "channels": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Channels" }, "roles": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Roles" }, "users": { "mapping": { "service_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Users" } } }, "post": { "description": "", "tags": [ "ChatV1Service" ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateService", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateServiceRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." } }, "required": [ "FriendlyName" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1Service" ], "parameters": [ { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListServiceResponse", "properties": { "services": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListService", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Users/{Sid}": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Unique chat users within a chat service", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "instance", "dependentProperties": { "user_channels": { "mapping": { "service_sid": "service_sid", "user_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Users/{user_sid}/Channels" } }, "parent": "/Services/{Sid}" }, "get": { "description": "", "tags": [ "ChatV1User" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the User resource to fetch.", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.user" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchUser", "x-maturity": [ "GA" ] }, "delete": { "description": "", "tags": [ "ChatV1User" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the User resource to delete.", "schema": { "type": "string" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteUser", "x-maturity": [ "GA" ] }, "post": { "description": "", "tags": [ "ChatV1User" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to update the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the User resource to update.", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.user" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateUser", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateUserRequest", "properties": { "RoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to this user." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." }, "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It is often used for display purposes." } } } } } }, "x-twilio": { "addContentTypeIfEmptyForm": true } } }, "/v1/Services/{ServiceSid}/Users": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "Unique chat users within a chat service", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "list", "dependentProperties": { "user_channels": { "mapping": { "service_sid": "service_sid", "user_sid": "sid" }, "resource_url": "/v1/Services/{service_sid}/Users/{user_sid}/Channels" } }, "parent": "/Services/{Sid}" }, "post": { "description": "", "tags": [ "ChatV1User" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chat.v1.service.user" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateUser", "x-maturity": [ "GA" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateUserRequest", "properties": { "Identity": { "type": "string", "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/api/chat/rest/v1/user) within the [Service](https://www.twilio.com/docs/api/chat/rest/v1/service). This value is often a username or email address. See the Identity documentation for more details." }, "RoleSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^RL[0-9a-fA-F]{32}$", "description": "The SID of the [Role](https://www.twilio.com/docs/api/chat/rest/roles) assigned to the new User." }, "Attributes": { "type": "string", "description": "A valid JSON string that contains application-specific data." }, "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the new resource. This value is often used for display purposes." } }, "required": [ "Identity" ] } } } } }, "get": { "description": "", "tags": [ "ChatV1User" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListUserResponse", "properties": { "users": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.user" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListUser", "x-maturity": [ "GA" ] } }, "/v1/Services/{ServiceSid}/Users/{UserSid}/Channels": { "servers": [ { "url": "https://chat.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "channel_sid", "status" ], "pathType": "list", "parent": "/Services/{ServiceSid}/Users/{Sid}", "mountName": "user_channels" }, "get": { "description": "List all Channels for a given User.", "tags": [ "ChatV1UserChannel" ], "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/api/chat/rest/services) to read the resources from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "UserSid", "in": "path", "description": "The SID of the [User](https://www.twilio.com/docs/api/chat/rest/users) to read the User Channel resources from.", "schema": { "type": "string" }, "required": true }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } }, { "name": "Page", "in": "query", "description": "The page index. This value is simply for client state.", "schema": { "type": "integer", "minimum": 0 } }, { "name": "PageToken", "in": "query", "description": "The page token. This is provided by the API.", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListUserChannelResponse", "properties": { "channels": { "type": "array", "items": { "$ref": "#/components/schemas/chat.v1.service.user.user_channel" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri", "nullable": true }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri", "nullable": true }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListUserChannel", "x-maturity": [ "GA" ] } } }, "servers": [ { "url": "https://chat.twilio.com" } ], "tags": [ { "name": "ChatV1Channel" }, { "name": "ChatV1Credential" }, { "name": "ChatV1Invite" }, { "name": "ChatV1Member" }, { "name": "ChatV1Message" }, { "name": "ChatV1Role" }, { "name": "ChatV1Service" }, { "name": "ChatV1User" }, { "name": "ChatV1UserChannel" } ], "x-maturity": [ { "name": "GA", "description": "This product is Generally Available." } ] }