@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Twilio - Chat
@base https://chat.twilio.com
@version 1.0.0
@auth Bearer basic
@endpoints 54
@hint download_for_search
@toc Services(49), Credentials(5)

@group Services
@endpoint GET /v2/Services/{ServiceSid}/Bindings
@required {ServiceSid: str}
@optional {BindingType: [str], Identity: [str], PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {bindings: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Bindings/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, endpoint: str?, identity: str?, credential_sid: str?, binding_type: str, message_types: [str]?, url: str(uri)?, links: map?}

@endpoint DELETE /v2/Services/{ServiceSid}/Bindings/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endpoint GET /v2/Services/{ServiceSid}/Channels/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, unique_name: str?, attributes: str?, type: str, date_created: str(date-time)?, date_updated: str(date-time)?, created_by: str?, members_count: int, messages_count: int, url: str(uri)?, links: map?}

@endpoint DELETE /v2/Services/{ServiceSid}/Channels/{Sid}
@required {ServiceSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Channels/{Sid}
@required {ServiceSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, unique_name: str?, attributes: str?, type: str, date_created: str(date-time)?, date_updated: str(date-time)?, created_by: str?, members_count: int, messages_count: int, url: str(uri)?, links: map?}

@endpoint POST /v2/Services/{ServiceSid}/Channels
@required {ServiceSid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, unique_name: str?, attributes: str?, type: str, date_created: str(date-time)?, date_updated: str(date-time)?, created_by: str?, members_count: int, messages_count: int, url: str(uri)?, links: map?}

@endpoint GET /v2/Services/{ServiceSid}/Channels
@required {ServiceSid: str}
@optional {Type: [str], PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {channels: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks
@required {ServiceSid: str, ChannelSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {webhooks: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks
@required {ServiceSid: str, ChannelSid: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, channel_sid: str?, type: str?, url: str(uri)?, configuration: any?, date_created: str(date-time)?, date_updated: str(date-time)?}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, channel_sid: str?, type: str?, url: str(uri)?, configuration: any?, date_created: str(date-time)?, date_updated: str(date-time)?}

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, channel_sid: str?, type: str?, url: str(uri)?, configuration: any?, date_created: str(date-time)?, date_updated: str(date-time)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Webhooks/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(204)

@endgroup

@group Credentials
@endpoint GET /v2/Credentials
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {credentials: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint POST /v2/Credentials
@returns(201) {sid: str?, account_sid: str?, friendly_name: str?, type: str, sandbox: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v2/Credentials/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, type: str, sandbox: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v2/Credentials/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, type: str, sandbox: str?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v2/Credentials/{Sid}
@required {Sid: str}
@returns(204)

@endgroup

@group Services
@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, channel_sid: str?, service_sid: str?, identity: str?, date_created: str(date-time)?, date_updated: str(date-time)?, role_sid: str?, created_by: str?, url: str(uri)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites
@required {ServiceSid: str, ChannelSid: str}
@returns(201) {sid: str?, account_sid: str?, channel_sid: str?, service_sid: str?, identity: str?, date_created: str(date-time)?, date_updated: str(date-time)?, role_sid: str?, created_by: str?, url: str(uri)?}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Invites
@required {ServiceSid: str, ChannelSid: str}
@optional {Identity: [str], PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {invites: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, channel_sid: str?, service_sid: str?, identity: str?, date_created: str(date-time)?, date_updated: str(date-time)?, role_sid: str?, last_consumed_message_index: int?, last_consumption_timestamp: str(date-time)?, url: str(uri)?, attributes: str?}

@endpoint DELETE /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(200) {sid: str?, account_sid: str?, channel_sid: str?, service_sid: str?, identity: str?, date_created: str(date-time)?, date_updated: str(date-time)?, role_sid: str?, last_consumed_message_index: int?, last_consumption_timestamp: str(date-time)?, url: str(uri)?, attributes: str?}

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members
@required {ServiceSid: str, ChannelSid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(201) {sid: str?, account_sid: str?, channel_sid: str?, service_sid: str?, identity: str?, date_created: str(date-time)?, date_updated: str(date-time)?, role_sid: str?, last_consumed_message_index: int?, last_consumption_timestamp: str(date-time)?, url: str(uri)?, attributes: str?}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Members
@required {ServiceSid: str, ChannelSid: str}
@optional {Identity: [str], PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {members: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, attributes: str?, service_sid: str?, to: str?, channel_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, last_updated_by: str?, was_edited: bool?, from: str?, body: str?, index: int, type: str?, media: any?, url: str(uri)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages/{Sid}
@required {ServiceSid: str, ChannelSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(200) {sid: str?, account_sid: str?, attributes: str?, service_sid: str?, to: str?, channel_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, last_updated_by: str?, was_edited: bool?, from: str?, body: str?, index: int, type: str?, media: any?, url: str(uri)?}

@endpoint POST /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages
@required {ServiceSid: str, ChannelSid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(201) {sid: str?, account_sid: str?, attributes: str?, service_sid: str?, to: str?, channel_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, last_updated_by: str?, was_edited: bool?, from: str?, body: str?, index: int, type: str?, media: any?, url: str(uri)?}

@endpoint GET /v2/Services/{ServiceSid}/Channels/{ChannelSid}/Messages
@required {ServiceSid: str, ChannelSid: str}
@optional {Order: str, PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {messages: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Roles/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, type: str, permissions: [str]?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Roles/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Roles/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, type: str, permissions: [str]?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint POST /v2/Services/{ServiceSid}/Roles
@required {ServiceSid: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, friendly_name: str?, type: str, permissions: [str]?, date_created: str(date-time)?, date_updated: str(date-time)?, url: str(uri)?}

@endpoint GET /v2/Services/{ServiceSid}/Roles
@required {ServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {roles: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, default_service_role_sid: str?, default_channel_role_sid: str?, default_channel_creator_role_sid: str?, read_status_enabled: bool?, reachability_enabled: bool?, typing_indicator_timeout: int, consumption_report_interval: int, limits: any?, pre_webhook_url: str?, post_webhook_url: str?, webhook_method: str?, webhook_filters: [str]?, pre_webhook_retry_count: int, post_webhook_retry_count: int, notifications: any?, media: any?, url: str(uri)?, links: map?}

@endpoint DELETE /v2/Services/{Sid}
@required {Sid: str}
@returns(204)

@endpoint POST /v2/Services/{Sid}
@required {Sid: str}
@returns(200) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, default_service_role_sid: str?, default_channel_role_sid: str?, default_channel_creator_role_sid: str?, read_status_enabled: bool?, reachability_enabled: bool?, typing_indicator_timeout: int, consumption_report_interval: int, limits: any?, pre_webhook_url: str?, post_webhook_url: str?, webhook_method: str?, webhook_filters: [str]?, pre_webhook_retry_count: int, post_webhook_retry_count: int, notifications: any?, media: any?, url: str(uri)?, links: map?}

@endpoint POST /v2/Services
@returns(201) {sid: str?, account_sid: str?, friendly_name: str?, date_created: str(date-time)?, date_updated: str(date-time)?, default_service_role_sid: str?, default_channel_role_sid: str?, default_channel_creator_role_sid: str?, read_status_enabled: bool?, reachability_enabled: bool?, typing_indicator_timeout: int, consumption_report_interval: int, limits: any?, pre_webhook_url: str?, post_webhook_url: str?, webhook_method: str?, webhook_filters: [str]?, pre_webhook_retry_count: int, post_webhook_retry_count: int, notifications: any?, media: any?, url: str(uri)?, links: map?}

@endpoint GET /v2/Services
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {services: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Users/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, attributes: str?, friendly_name: str?, role_sid: str?, identity: str?, is_online: bool?, is_notifiable: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, joined_channels_count: int, links: map?, url: str(uri)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Users/{Sid}
@required {ServiceSid: str, Sid: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Users/{Sid}
@required {ServiceSid: str, Sid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, attributes: str?, friendly_name: str?, role_sid: str?, identity: str?, is_online: bool?, is_notifiable: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, joined_channels_count: int, links: map?, url: str(uri)?}

@endpoint POST /v2/Services/{ServiceSid}/Users
@required {ServiceSid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(201) {sid: str?, account_sid: str?, service_sid: str?, attributes: str?, friendly_name: str?, role_sid: str?, identity: str?, is_online: bool?, is_notifiable: bool?, date_created: str(date-time)?, date_updated: str(date-time)?, joined_channels_count: int, links: map?, url: str(uri)?}

@endpoint GET /v2/Services/{ServiceSid}/Users
@required {ServiceSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {users: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings
@required {ServiceSid: str, UserSid: str}
@optional {BindingType: [str], PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {bindings: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}
@required {ServiceSid: str, UserSid: str, Sid: str}
@returns(200) {sid: str?, account_sid: str?, service_sid: str?, date_created: str(date-time)?, date_updated: str(date-time)?, endpoint: str?, identity: str?, user_sid: str?, credential_sid: str?, binding_type: str, message_types: [str]?, url: str(uri)?}

@endpoint DELETE /v2/Services/{ServiceSid}/Users/{UserSid}/Bindings/{Sid}
@required {ServiceSid: str, UserSid: str, Sid: str}
@returns(204)

@endpoint GET /v2/Services/{ServiceSid}/Users/{UserSid}/Channels
@required {ServiceSid: str, UserSid: str}
@optional {PageSize: int(int64), Page: int, PageToken: str}
@returns(200) {channels: [map], meta: map{first_page_url: str(uri), key: str, next_page_url: str(uri)?, page: int, page_size: int, previous_page_url: str(uri)?, url: str(uri)}}

@endpoint GET /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}
@required {ServiceSid: str, UserSid: str, ChannelSid: str}
@returns(200) {account_sid: str?, service_sid: str?, channel_sid: str?, user_sid: str?, member_sid: str?, status: str, last_consumed_message_index: int?, unread_messages_count: int?, links: map?, url: str(uri)?, notification_level: str}

@endpoint DELETE /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}
@required {ServiceSid: str, UserSid: str, ChannelSid: str}
@optional {X-Twilio-Webhook-Enabled: str}
@returns(204)

@endpoint POST /v2/Services/{ServiceSid}/Users/{UserSid}/Channels/{ChannelSid}
@required {ServiceSid: str, UserSid: str, ChannelSid: str}
@returns(200) {account_sid: str?, service_sid: str?, channel_sid: str?, user_sid: str?, member_sid: str?, status: str, last_consumed_message_index: int?, unread_messages_count: int?, links: map?, url: str(uri)?, notification_level: str}

@endgroup

@end
