openapi: 3.0.3 info: contact: email: support@sendbird.com name: Sendbird url: https://sendbird.com description: "Sendbird Platform API SDK\n\n[https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api](https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api)\n\ \nContact Support: \nName: Sendbird \nEmail: [support@sendbird.com](https://mailto:support@sendbird.com)" title: Sendbird Platform SDK version: 1.0.0 servers: - url: "https://api-{app_id}.sendbird.com" variables: app_id: default: APP_ID description: Replace with the APP_ID for your app in the Sendbird dashboard tags: - name: Announcement - name: Bot - name: Group channel - name: Message - name: Metadata - name: Moderation - name: Open channel - name: Statistics - name: User paths: /v3/announcements: post: description: "## Schedule an announcement\n\nCreates an announcement. You can\ \ also schedule an announcement in the [Sendbird Dashboard](https://dashboard.sendbird.com).\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/message/announcements/create-an-announcement#1-create-an-announcement](https://sendbird.com/docs/chat/platform-api/v3/message/announcements/create-an-announcement#1-create-an-announcement)" operationId: scheduleAnAnnouncement parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/scheduleAnAnnouncement_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/scheduleAnAnnouncementResponse' description: Successful Response summary: Schedule an announcement tags: - Announcement x-content-type: application/json x-accepts: application/json /v3/applications/mau: get: description: "## View number of monthly active users\n\nRetrieves the number\ \ of monthly active users of an application.\n\n> **Note**: This metric is\ \ scheduled to be calculated every 30 minutes, starting at 00:00 UTC, with\ \ the first update at 00:30 UTC. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-monthly-active-users#1-get-number-of-monthly-active-users](https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-monthly-active-users#1-get-number-of-monthly-active-users)" operationId: viewNumberOfMonthlyActiveUsers parameters: - description: YYYY-MM-DD explode: true in: query name: date required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewNumberOfMonthlyActiveUsersResponse' description: Successful response summary: View number of monthly active users tags: - Statistics x-accepts: application/json /v3/applications/dau: get: description: "## View number of daily active users\n\nRetrieves the number of\ \ daily active users of an application.\n\n> **Note**: This metric is scheduled\ \ to be calculated every 30 minutes, starting at 00:00 UTC, with the first\ \ update at 00:30 UTC. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-daily-active-users#1-get-number-of-daily-active-users](https://sendbird.com/docs/chat/platform-api/v3/statistics/daus-and-maus/get-number-of-daily-active-users#1-get-number-of-daily-active-users)" operationId: viewNumberOfDailyActiveUsers parameters: - description: YYYY-MM-DD explode: true in: query name: date required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewNumberOfDailyActiveUsersResponse' description: Successful response summary: View number of daily active users tags: - Statistics x-accepts: application/json /v3/group_channels: get: description: "## List group channels\n\nThis action retrieves a list of\_[group\ \ channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel).\ \ You can use various query parameters to determine the search scope and select\ \ what kind of information you want to receive about the queried channels.\n\ \nIf you want to retrieve a list of group channels that a specific user has\ \ joined, use the\_[list group channels by user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/list-group-channels-by-user)\_\ action under the User section.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-group-channels#1-list-group-channels" operationId: listChannels parameters: - description: "Specifies a page token that indicates the starting index of\ \ a chunk of results. If not specified, the index is set as 0." explode: true in: query name: token required: false schema: type: string style: form - description: "Specifies the number of results to return per page. Acceptable\ \ values are 1 to 100, inclusive. (Default: 10)" explode: true in: query name: limit required: false schema: example: 10 type: integer style: form - explode: true in: query name: distinct_mode required: false schema: description: "Restricts the search scope to only retrieve distinct or nondistinct\ \ group channels. Acceptable values are the following: - all (default):\ \ All group channels are returned. - distinct: Only distinct group channels\ \ are returned. - nondistinct: Only group channels that aren't distinct\ \ are returned." enum: - all - distinct - nondistinct example: all type: string style: form - explode: true in: query name: public_mode required: false schema: description: "Restricts the search scope to only retrieve either public\ \ or private group channels. Acceptable values are the following: - all\ \ (default): All group channels are returned. - private: All private group\ \ channels are returned. - public: All public group channels are returned." enum: - all - private - public example: all type: string style: form - explode: true in: query name: super_mode required: false schema: description: "Specifies which type of group channels to retrieve. Acceptable\ \ values are the following: - all (default): All types of group channels\ \ including Supergroup channels are returned. - super: Only Supergroup\ \ channels are returned. - nonsuper: Group channels excluding Supergroup\ \ channels are returned." enum: - all - super - nonsuper example: all type: string style: form - description: "Restricts the search scope to only retrieve group channels which\ \ have been created after the specified time, in Unix milliseconds format." example: 1234567890123 explode: true in: query name: created_after required: false schema: format: int64 type: integer style: form - description: "Restricts the search scope to only retrieve group channels which\ \ have been created before the specified time, in Unix milliseconds format." example: 1234567890123 explode: true in: query name: created_before required: false schema: format: int64 type: integer style: form - example: false explode: true in: query name: show_empty required: false schema: type: boolean style: form - example: false explode: true in: query name: show_member required: false schema: type: boolean style: form - example: false explode: true in: query name: show_delivery_receipt required: false schema: type: boolean style: form - example: false explode: true in: query name: show_read_receipt required: false schema: type: boolean style: form - example: false explode: true in: query name: show_metadata required: false schema: type: boolean style: form - example: false explode: true in: query name: show_frozen required: false schema: type: boolean style: form - explode: true in: query name: order required: false schema: enum: - chronological - latest_last_message - channel_name_alphabetical - metadata_value_alphabetical type: string style: form - description: "Specifies the key of an item in metadata. When a value of the\ \ order parameter is set to metadata_value_alphabetical, the results are\ \ alphabetically sorted by the value of the item specified by the key." explode: true in: query name: metadata_order_key required: false schema: type: string style: form - description: "Specifies a comma-separated string of one or more custom types\ \ to filter group channels. URL encoding each type is recommended. If not\ \ specified, all channels are returned, regardless of their custom type." explode: true in: query name: custom_types required: false schema: type: string style: form - description: Searches for group channels with the custom type which starts with the specified value. URL encoding the value is recommended. explode: true in: query name: custom_type_startswith required: false schema: type: string style: form - description: Specifies a comma-separated string of one or more group channel URLs to restrict the search scope. URL encoding each channel URL is recommended. explode: true in: query name: channel_urls required: false schema: type: string style: form - description: Specifies one or more group channel names. explode: true in: query name: name required: false schema: type: string style: form - description: Searches for group channels whose names contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. explode: true in: query name: name_contains required: false schema: type: string style: form - description: Searches for group channels whose names start with the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. explode: true in: query name: name_startswith required: false schema: type: string style: form - description: |- Searches for group channels with all the specified users as members. The parameter value should consist of user IDs separated by commas. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended. explode: true in: query name: members_exactly_in required: false schema: type: string style: form - description: |- Searches for group channels that include one or more users as members among the specified users. The value should consist of user IDs separated by commas or %2C. You can specify up to 60 user IDs. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended. explode: true in: query name: members_include_in required: false schema: type: string style: form - description: "Specifies a logical condition applied to the members_include_in\ \ parameter. Acceptable values are either AND or OR. For example, if you\ \ specify three members, A, B, and C, in members_include_in, the value of\ \ AND returns all channels that include every one of {A. B, C} as members.\ \ The value of OR returns channels that include {A}, plus those that include\ \ {B}, plus those that include {C}. (Default: AND)" explode: true in: query name: query_type required: false schema: type: string style: form - description: Searches for group channels with members whose nicknames match the specified value. URL encoding the value is recommended. explode: true in: query name: members_nickname required: false schema: type: string style: form - description: "Searches for group channels with members whose nicknames contain\ \ the specified value. Note that this parameter is case-insensitive. URL\ \ encoding the value is recommended.\n\n* We recommend using at least three\ \ characters for the parameter value for better search efficiency when you\ \ design and implement related features. If you would like to allow one\ \ or two characters for searching, use members_nickname instead to prevent\ \ performance issues." explode: true in: query name: members_nickname_contains required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the specified value as its key. To use this parameter, either the\ \ metadata_values parameter or the metadata_value_startswith parameter should\ \ be specified." explode: true in: query name: metadata_key required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the key specified by the metadata_key parameter, and the value of\ \ that item matches one or more values specified by this parameter. The\ \ string should be specified with multiple values separated by commas. URL\ \ encoding each value is recommended. To use this parameter, the metadata_key\ \ parameter should be specified." explode: true in: query name: metadata_values required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the key specified by the metadata_key parameter, and the values of\ \ that item that start with the specified value of this parameter. URL encoding\ \ the value is recommended. To use this parameter, the metadata_key parameter\ \ should be specified." explode: true in: query name: metadata_value_startswith required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the specified value as its key. To use this parameter, either the\ \ metacounter_values parameter or one of the metacounter_value_gt, metacounter_value_gte,\ \ metacounter_value_lt, and metacounter_value_lte parameters should be specified." explode: true in: query name: metacounter_key required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is equal to one or more values specified by this parameter.\ \ The string should be specified with multiple values separated by commas.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_values required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is greater than the value specified by this parameter. To\ \ use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_gt required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is greater than or equal to the value specified by this parameter.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_gte required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is lower than the value specified by this parameter. To use\ \ this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_lt required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is lower than or equal to the value specified by this parameter.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_lte required: false schema: type: string style: form - description: Determines whether to include the sorted_metaarray as one of the last_message’s properties in the response. example: false explode: true in: query name: include_sorted_metaarray_in_last_message required: false schema: type: boolean style: form - explode: false in: header name: api-token required: true schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/groupChatListChannelsResponse' description: Successful response summary: List channels tags: - Group channel x-accepts: application/json post: description: "## Create a group channel\n\nYou can create a group channel for\ \ 1-to-1 and 1-to-N conversations. By default, group channels are used for\ \ conversations between up to 100 members. This number can stretch up to tens\ \ of thousands in Supergroup channels. Group channels can either be private\ \ and invite only, or public. They support typing indicators, unread count\ \ and read receipts, allowing for an interactive chat experience. A user can\ \ join up to 2000 group channels, and higher numbers would negatively impact\ \ the performance for the end user. The Chat history is turned off by default\ \ and its settings can be changed on Sendbird Dashboard by going to Settings\ \ > Chat > Channels > Group channels > Chat history. To learn more about group\ \ channels, see Channel Overview.\n\n> If you are seeing the error message\ \ Maximum \"channel join\" count reached., then consider deleting channels\ \ that are no longer used. For situations where an agent connects with many\ \ customers such as support, delivery logistics or sales, we recommend using\ \ Sendbird Desk.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/creating-a-channel/create-a-group-channel#1-create-a-group-channel" operationId: createAGroupChannel parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createAGroupChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createAGroupChannelResponse' description: Successful response summary: Create a group channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}: delete: description: "## Delete a group channel\n\nYou can delete a group channel or\ \ a Supergroup channel using this API. See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\ \ to learn more about channel types.\n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-a-group-channel#1-delete-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-a-group-channel#1-delete-a-group-channel)" operationId: deleteAGroupChannel parameters: - explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete a group channel tags: - Group channel x-accepts: application/json get: description: "## Get a group channel\n\nThis action retrieves information about\ \ a specific\_[group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel).\ \ You can use the optional query parameters to determine whether to include\ \ delivery receipt, read receipt, or member information in the response.\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-a-group-channel#1-get-a-group-channel\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to retrieve." operationId: getAGroupChannel parameters: - explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: true in: query name: show_delivery_receipt required: false schema: type: boolean style: form - explode: true in: query name: show_read_receipt required: false schema: type: boolean style: form - explode: true in: query name: show_member required: false schema: type: boolean style: form - description: "Restricts the member list to members who are activated or deactivated\ \ in the channel. This parameter is only effective if the parameter show_member\ \ is true. Acceptable values are all, activated, and deactivated. (default:\ \ all)" explode: true in: query name: member_active_mode required: false schema: enum: - all - activated - deactivated type: string style: form - explode: true in: query name: user_id required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/getAGroupChannelResponse' description: Successful response summary: Get a group channel tags: - Group channel x-accepts: application/json put: description: "## Update a group channel\n\nYou can update information about\ \ a group channel or a Supergroup channel using this API. You can't make any\ \ changes to the members of a channel with this API. To change members, see\_\ [invite as members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel)\_\ instead. See\_[this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\_\ to learn more about channel types.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-a-group-channel#1-update-a-group-channel" operationId: updateAGroupChannel parameters: - explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAGroupChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateAGroupChannelResponse' description: Successful response summary: Update a group channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/accept: put: description: "## Accept an invitation\n\nAccepts an invitation from a group\ \ channel for a user to join. A single user may join up to 2,000 group channels,\ \ and any invitation to a user who is at capacity will be automatically canceled.\ \ See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\ \ to learn more about channel types.\n\n> **Note**: This action is only available\ \ when the `auto_accept` property of an application is set to **false**. You\ \ can change the value of the property using the [update default channel invitation\ \ preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference)\ \ action, or the [update channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference)\ \ action. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/accept-an-invitation-channel#1-accept-an-invitation](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/accept-an-invitation-channel#1-accept-an-invitation)" operationId: acceptAnInvitation parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/acceptAnInvitation_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/acceptAnInvitationResponse' description: Successful response summary: Accept an invitation tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/freeze: put: description: "## Freeze a group channel\n\nFreezes or unfreezes a group channel.\n\ \n> **Note**: To learn more about other available moderation tools, see [Moderation\ \ Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions).\ \ \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-a-group-channel#1-freeze-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-a-group-channel#1-freeze-a-group-channel)" operationId: freezeAGroupChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/freezeAGroupChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/freezeAGroupChannelResponse' description: Successful response summary: Freeze a group channel tags: - Moderation x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/invite: post: description: "## Invite as members\n\nInvites one or more users as members to\ \ a group channel. Users can join a group channel immediately after receiving\ \ an invitation, without having to accept it. To give users an option to accept\ \ or decline an invitation, see [update default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference)\ \ or [update channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference).\ \ See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\ \ to learn more about channel types.\n\n> **Note**: By default, [blocked users](https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users)\ \ are included when sending invitations. If you wish to exclude blocked users,\ \ [contact our sales team](https://get.sendbird.com/talk-to-sales.html). \n\ \ \n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel#1-invite-as-members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel#1-invite-as-members)" operationId: inviteAsMembers parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/inviteAsMembers_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/inviteAsMembersResponse' description: Successful response summary: Invite as members tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/hide: delete: description: "## Unhide a channel\n\nThis action lets a hidden [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel)\ \ reappear on the channel list of a specific user or every member in the group\ \ channel. Hiding or unhiding a channel lets users organize their channel\ \ list based on those that require the most attention. Note that only group\ \ channels can be hidden or unhidden.\n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/unhide-a-channel#1-unhide-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/unhide-a-channel#1-unhide-a-channel)\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to unhide or unarchive." operationId: unhideAChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: true in: query name: user_id required: true schema: type: string style: form - explode: true in: query name: should_unhide_all required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Unhide a channel tags: - Group channel x-accepts: application/json put: description: "## Hide a channel\n\nThis action allows you to hide a\_[group\ \ channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel)\_\ from a user's channel list. Hiding a channel gives users the ability to archive\ \ channels so that they can focus on channels that need the most attention.\n\ \nWith this API, you can allow users to hide a channel from themselves or\ \ from all channel members. You can also determine whether to have the channel\ \ remain hidden when a new message is sent to the channel. Note that only\ \ group channels can be hidden.\n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/hide-a-channel#1-hide-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/hide-a-channel#1-hide-a-channel)" operationId: hideAChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/hideAChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Hide a channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/join: put: description: "## Join a channel\n\nThis API allows a user to join a\_[public](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-group-channel-types)\_\ group channel. Users can only join public group channels where the\_`is_public`\_\ property is set to\_`true`\_using this API. A single user can join up to 2,000\ \ group channels, and a user who reaches the capacity can’t join a new channel.\ \ See\_[this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\_\ to learn more about channel types.\n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/join-a-channel#1-join-a-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/join-a-channel#1-join-a-channel)" operationId: joinAChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/joinAChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/joinAChannelResponse' description: Join a channel summary: Join a channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/leave: put: description: |- ## Leave a channel Makes one or more members leave a group channel. https://sendbird.com/docs/chat/v3/platform-api/guides/group-channel#2-leave-a-channel ---------------------------- operationId: leaveAChannel parameters: - example: "{{API_TOKEN}}" explode: false in: header name: Api-Token required: false schema: type: string style: simple - explode: false in: path name: channel_url required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/leaveAChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Leave a channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/members: get: description: "## List members\n\nRetrieves a list of members of a group channel.\n\ \n> **Note**: See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\ \ to learn more about channel types. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/list-members-of-a-group-channel#1-list-members-of-a-group-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/list-members-of-a-group-channel#1-list-members-of-a-group-channel)\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to retrieve a list of members of." operationId: listMembers parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: true in: query name: token required: false schema: type: string style: form - description: "Specifies the number of results to return per page. Acceptable\ \ values are 1 to 100, inclusive. (Default: 10)" explode: true in: query name: limit required: false schema: type: integer style: form - description: "Specifies the unique ID of a user. If `user_id` is provided,\ \ the response will include two additional boolean properties about each\ \ user in the members list.\n- `is_blocking_me`: Indicates whether the listed\ \ user is blocking the user specified in the user_id parameter.\n- `is_blocked_by_me`:\ \ Indicates whether the listed user is blocked by the user specified in\ \ the user_id parameter." explode: true in: query name: user_id required: false schema: type: string style: form - explode: true in: query name: show_delivery_receipt required: false schema: type: boolean style: form - explode: true in: query name: show_read_receipt required: false schema: type: boolean style: form - explode: true in: query name: show_member_is_muted required: false schema: type: boolean style: form - description: "Specifies the method to sort a list of results. Acceptable values\ \ are the following:\n- `member_nickname_alphabetical` (default): sorts\ \ by the member nicknames in alphabetical order.\n- `operator_then_member_alphabetical`:\ \ sorts by the operational role and member nickname in alphabetical order\ \ where channel operators are listed before channel members." explode: true in: query name: order required: false schema: enum: - member_nickname_alphabetical - operator_then_member_alphabetical type: string style: form - description: "Restricts the search scope to only retrieve operators or non-operator\ \ members of the channel. Acceptable values are the following:\n- `all`\ \ (default): no filter is applied to the list.\n- `operator`: only channel\ \ operators are retrieved.\n- `nonoperator`: all channel members, except\ \ channel operators, are retrieved." explode: true in: query name: operator_filter required: false schema: enum: - all - operator - nonoperator type: string style: form - description: "Restricts the search scope to retrieve members based on if they\ \ have accepted an invitation or if they were invited by a friend. Acceptable\ \ values are `invited_only`, `joined_only`, `invited_by_friend`, `invited_by_non_friend`,\ \ and `all`. (Default: `all`)" explode: true in: query name: member_state_filter required: false schema: enum: - all - invited_only - joined_only - invited_by_friend - invited_by_non_friend type: string style: form - description: "Restricts the search scope to retrieve members who are muted\ \ or unmuted in the channel. Acceptable values are `all`, `muted`, and `unmuted`.\ \ (Default: `all`)" explode: true in: query name: muted_member_filter required: false schema: enum: - all - muted - unmuted type: string style: form - description: "Restricts the search scope to retrieve members who are activated\ \ or deactivated in the channel. Acceptable values are `all`, `activated`,\ \ and `deactivated`. (default: `activated`)" explode: true in: query name: member_active_mode_filter required: false schema: enum: - activated - deactivated type: string style: form - description: Searches for members whose nicknames start with the specified value. Urlencoding the value is recommended. explode: true in: query name: nickname_startswith required: false schema: type: string style: form - description: "Determines whether to include information about the push preference\ \ of each member, such as `push_enabled`, `push_trigger_option`, and `do_not_disturb`.\ \ (Default: `false`)" explode: true in: query name: include_push_preference required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/groupChannelListMembersResponse' description: Successful response summary: List members tags: - Group channel x-accepts: application/json /v3/group_channels/{channel_url}/members/{user_id}: get: description: "## Check if user is a member\n\nChecks if a user is a member of\ \ a group channel.\n\n> **Note**: See [this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\ \ to learn more about channel types. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/check-if-user-is-a-member#1-check-if-user-is-a-member](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-users/check-if-user-is-a-member#1-check-if-user-is-a-member)" operationId: checkIfMember parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/checkIfMemberResponse' description: Successful response summary: Check if member tags: - Group channel x-accepts: application/json /v3/group_channels/{channel_url}/operators: delete: description: "## Unregister operators from a group channel\n\nYou can unregister\ \ operators in a group channel but keep them in the channel as members using\ \ this API.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/unregister-operators-from-a-group-channel#1-unregister-operators-from-a-group-channel\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to cancel the registration of operators." operationId: cancelTheRegistrationOfOperators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: "Specifies an array of one or more operator IDs to unregister\ \ from the channel. The operators in this array remain as participants of\ \ the channel after losing their operational roles. Urlencoding each operator\ \ ID is recommended. An example of a Urlencoded array would be ?operator_ids=urlencoded_id_1,urlencoded_id_2." explode: true in: query name: operator_ids required: true schema: type: string style: form - explode: true in: query name: delete_all required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Cancel the registration of operators tags: - Group channel x-accepts: application/json get: description: "## List operators\n\nYou can retrieve a list of operators of a\ \ group channel using this API.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/list-operators-of-a-group-channel#1-list-operators-of-a-group-channel\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to retrieve a list of operators." operationId: listOperators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: true in: query name: token required: false schema: type: string style: form - description: "Specifies the number of results to return per page. Acceptable\ \ values are 1 to 100, inclusive. (Default: 10)" explode: true in: query name: limit required: false schema: type: integer style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listOperatorsResponse' description: Successful response summary: List operators tags: - Group channel x-accepts: application/json post: description: |- ## Register operators to a group channel You can register one or more operators to a group channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/register-operators-to-a-group-channel#1-register-operators-to-a-group-channel operationId: registerOperatorsToAGroupChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/registerOperatorsToAGroupChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Register operators to a group channel tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/reset_user_history: put: description: "## Reset chat history\n\nThis action resets the properties related\ \ to a specific user's chat history in a\_[group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel),\ \ clearing existing messages in a channel from only the specified user's end.\ \ Because this action doesn't delete messages from the Sendbird database,\ \ other members in the channel can still retrieve and see the messages.\n\n\ This action clears the messages for the specified user by updating the\_`last_message`\_\ and\_`read_receipt`\_properties of the\_[group channel resource](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-list-of-properties-for-group-channels)\_\ in addition to other internally managed data such as the count of a user's\ \ unread messages.\n\nUsing the\_`reset_all`\_property, you can also reset\ \ the properties related to the chat history of all members in a group channel.\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/reset-chat-history#1-reset-chat-history" operationId: resetChatHistory parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/resetChatHistory_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/resetChatHistoryResponse' description: Successful response summary: Reset chat history tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/typing: delete: description: "## Stop typing indicators\n\nYou can stop showing a typing indicator\ \ using this API. To signal that a user is no longer typing, you can let the\ \ indicator disappear when the user sends a message or completely deletes\ \ the message text.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-typing-indicators/stop-typing-indicators#1-stop-typing-indicators\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to set typing indicators." operationId: stopTypingIndicators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/startTypingIndicators_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Stop typing indicators tags: - Group channel x-content-type: application/json x-accepts: application/json post: description: "## Start typing indicators\n\nYou can start showing a typing indicator\ \ using this API. Seeing whether other users are typing can help a more interactive\ \ conversation environment by showing real-time engagement of other users.\n\ \nIf you're looking for an easy way to show typing indicators on your app,\ \ check out Sendbird UIKit for a ready-to-use UI feature that can be customized\ \ to fit your needs.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-typing-indicators/start-typing-indicators#1-start-typing-indicators\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to set typing indicators." operationId: startTypingIndicators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/startTypingIndicators_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Start typing indicators tags: - Group channel x-content-type: application/json x-accepts: application/json /v3/open_channels: get: description: "## List open channels\n\nThis action retrieves a list of [open\ \ channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel).\ \ You can use various query parameters to determine the search scope and select\ \ what kind of information you want to receive about the queried channels.\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-open-channels#1-list-open-channels](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-open-channels#1-list-open-channels)" operationId: listOpenChannels parameters: - explode: true in: query name: token required: false schema: type: string style: form - description: Specifies a comma-separated string of one or more open channel URLs to restrict the search scope. URL encoding each channel URL is recommended. explode: true in: query name: channel_urls required: false schema: type: string style: form - explode: true in: query name: limit required: false schema: type: integer style: form - description: "Specifies a comma-separated string of one or more custom types\ \ to filter open channels. Urlencoding each type is recommended (for example,\ \ ?custom_types=urlencoded_type_1,urlencoded_type_2). If not specified,\ \ all channels are returned, regardless of their custom type." explode: true in: query name: custom_types required: false schema: type: string style: form - explode: true in: query name: name_contains required: false schema: type: string style: form - explode: true in: query name: url_contains required: false schema: type: string style: form - description: "Determines whether to include frozen channels in the response.\ \ Frozen channels are channels where only channel operators are allowed\ \ to send messages. (Default: true)" explode: true in: query name: show_frozen required: false schema: type: boolean style: form - description: "Determines whether to include channel metadata in the response.\ \ (Default: false)" explode: true in: query name: show_metadata required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listOpenChannelsResponse' description: Successful response summary: List open channels tags: - Open channel x-accepts: application/json post: description: "## Create an open channel\n\nYou can create an\_[open channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel)\_\ that facilitates conversations for millions of users. Open channels allow\ \ a seamless chat experience possible for all participants by using\_[dynamic\ \ partitioning](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#4-how-dynamic-partitioning-works)\_\ which creates subchannels that each handle up to tens of thousands of participants.\n\ \nBecause users don't need invitations to join open channels, short-lived\ \ live events like concerts or live streams that don't require a sustained\ \ membership are good use cases for open channels.\n\n[https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel](https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel)" operationId: createAnOpenChannel parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createAnOpenChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createAnOpenChannelResponse' description: Successful response summary: Create an open channel tags: - Open channel x-content-type: application/json x-accepts: application/json /v3/open_channels/{channel_url}: delete: description: "## Delete an open channel\n\nYou can delete an open channel using\ \ this API. See\_[this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\_\ to learn more about channel types.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/delete-an-open-channel#1-delete-an-open-channel" operationId: deleteAnOpenChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete an open channel tags: - Open channel x-accepts: application/json get: description: "## Get an open channel\n\nThis action retrieves information about\ \ a specific [open channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel).\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-an-open-channel#1-get-an-open-channel](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/get-an-open-channel#1-get-an-open-channel)" operationId: getAnOpenChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple - description: "Determines whether to include a list of operators in the response.\ \ (Default: false)" explode: true in: query name: include_operators required: false schema: type: boolean style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/getAnOpenChannelResponse' description: Successful response summary: Get an open channel tags: - Open channel x-accepts: application/json put: description: "## Update an open channel\n\nYou can update information about\ \ an open channel using this API. You can add a cover image to a channel to\ \ better identify the channel or specify a custom channel type for grouping\ \ channels by custom type. See\_[this page](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-open-channel-vs-group-channel-vs-supergroup-channel)\_\ to learn more about channel types.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-an-open-channel#1-update-an-open-channel" operationId: updateAnOpenChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAnOpenChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateAnOpenChannelResponse' description: Successful response summary: Update an open channel tags: - Open channel x-content-type: application/json x-accepts: application/json /v3/open_channels/{channel_url}/freeze: put: description: "## Freeze an open channel\n\nFreezes or unfreezes an open channel.\n\ \n> **Note**: To learn more about other available moderation tools, see [Moderation\ \ Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions).\ \ \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-an-open-channel#1-freeze-an-open-channel](https://sendbird.com/docs/chat/platform-api/v3/moderation/freezing-a-channel/freeze-an-open-channel#1-freeze-an-open-channel)" operationId: freezeAnOpenChannel parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/freezeAnOpenChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/freezeAnOpenChannelResponse' description: Successful response summary: Freeze an open channel tags: - Moderation x-content-type: application/json x-accepts: application/json /v3/open_channels/{channel_url}/operators: delete: description: "## Unregister operators from an open channel\n\nYou can unregister\ \ operators in an open channel but keep them in the channel as participants\ \ using this API.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/unregister-operators-from-an-open-channel#1-unregister-operators-from-an-open-channel\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to cancel the registration of operators." operationId: unregisterOperators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: "Specifies an array of one or more operator IDs to unregister\ \ from the channel. The operators in this array remain as participants of\ \ the channel after losing their operational roles. Urlencoding each operator\ \ ID is recommended. An example of a Urlencoded array would be ?operator_ids=urlencoded_id_1,urlencoded_id_2." explode: true in: query name: operator_ids required: true schema: type: string style: form - description: "Determines whether to unregister all operators and leave them\ \ as the participants of the channel. When this is set to true, the operator_ids\ \ property isn't effective and doesn't need to be specified in the request.\ \ (Default: false)" explode: true in: query name: delete_all required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Unregister operators from an open channel tags: - Open channel x-accepts: application/json get: description: "## List operators of an open channel\n\nYou can retrieve a list\ \ of operators of an open channel using this API.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/list-operators-of-an-open-channel#1-list-operators-of-an-open-channel\n\ \n`channel_url` \nType: string \nDescription: Specifies the URL of the channel\ \ to retrieve a list of operators." operationId: listChannelOperators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: true in: query name: token required: false schema: type: string style: form - explode: true in: query name: limit required: false schema: type: integer style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listOperatorsResponse' description: Successful response summary: List operators of an open channel tags: - Open channel x-accepts: application/json post: description: |- ## Register operators to an open channel You can register one or more operators to an open channel using this API. https://sendbird.com/docs/chat/platform-api/v3/user/assigning-a-user-role/register-operators-to-an-open-channel#1-register-operators-to-an-open-channel operationId: registerOperators parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/registerOperatorsToAGroupChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Register operators to an open channel tags: - Open channel x-content-type: application/json x-accepts: application/json /v3/bots: get: description: |- ## List bots Retrieves a list of all bots within an application. https://sendbird.com/docs/chat/platform-api/v3/bot/listing-bots/list-bots#1-list-bots operationId: listBots parameters: - explode: true in: query name: token required: false schema: type: string style: form - explode: true in: query name: limit required: false schema: type: integer style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listBotsResponse' description: Successful response summary: List bots tags: - Bot x-accepts: application/json post: description: "## Create a bot\n\nCreates a new bot within an application. Creating\ \ a bot is similar to creating a normal user, except a callback URL should\ \ be specified for a bot to receive events.\n\n> **Note**: The bot must first\ \ [join a group channel](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels)\ \ to interact with users. In group channels, you can also invite a bot through\ \ the [invite as members](https://sendbird.com/docs/chat/platform-api/v3/channel/inviting-a-user/invite-as-members-channel)\ \ action. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot](https://sendbird.com/docs/chat/platform-api/v3/bot/creating-a-bot/create-a-bot#1-create-a-bot)" operationId: createABot parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createABot_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createABotResponse' description: Successful response summary: Create a bot tags: - Bot x-content-type: application/json x-accepts: application/json /v3/bots/{bot_userid}: delete: description: |- ## Delete a bot Deletes a bot from an application. https://sendbird.com/docs/chat/v3/platform-api/guides/bot-interface#2-delete-a-bot ---------------------------- operationId: deleteBotById parameters: - example: "{{API_TOKEN}}" explode: false in: header name: Api-Token required: false schema: type: string style: simple - explode: false in: path name: bot_userid required: true schema: type: string style: simple responses: "200": content: application/json: schema: type: object description: Successful response summary: Delete a bot tags: - Bot x-accepts: application/json get: description: |- ## View a bot Retrieves information on a bot. https://sendbird.com/docs/chat/v3/platform-api/guides/bot-interface#2-view-a-bot ---------------------------- operationId: viewBotById parameters: - example: "{{API_TOKEN}}" explode: false in: header name: Api-Token required: false schema: type: string style: simple - explode: false in: path name: bot_userid required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewBotByIdResponse' description: Successful response summary: View a bot tags: - Bot x-accepts: application/json put: description: |- ## Update a bot Updates information on a bot. https://sendbird.com/docs/chat/v3/platform-api/guides/bot-interface#2-update-a-bot ---------------------------- operationId: updateBotById parameters: - example: "{{API_TOKEN}}" explode: false in: header name: Api-Token required: false schema: type: string style: simple - explode: false in: path name: bot_userid required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateBotByIdData' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateBotByIdResponse' description: Successful response summary: Update a bot tags: - Bot x-content-type: application/json x-accepts: application/json /v3/bots/{bot_userid}/send: post: description: "## Send a bot message\n\nSends a bot message to a group channel.\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/bot/sending-a-bot-message/send-a-bot-message#1-send-a-bot-message](https://sendbird.com/docs/chat/platform-api/v3/bot/sending-a-bot-message/send-a-bot-message#1-send-a-bot-message)\n\ \n`bot_userid` \nType: string \nDescription: Specifies the ID of the bot\ \ to send a message." operationId: sendABotMessage parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple - description: '(Required) ' explode: false in: path name: bot_userid required: true schema: type: string style: simple requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SendABotMessageRequest' responses: "200": content: application/json: schema: $ref: '#/components/schemas/sendABotMessageResponse' description: Successful response summary: Send a bot's message tags: - Bot x-content-type: multipart/form-data x-accepts: application/json /v3/bots/{bot_userid}/channels: delete: description: "## Leave channels\n\nMakes a bot leave all group channels.\n\n\ [https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels)" operationId: leaveGroupChannels parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple - description: '(Required) ' explode: false in: path name: bot_userid required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Leave channels - When leaving all channels tags: - Bot x-accepts: application/json post: description: "## Join channels\n\nMakes a bot join one or more group channels.\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels#1-join-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/join-channels#1-join-channels)" operationId: joinChannels parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple - description: '(Required) ' explode: false in: path name: bot_userid required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/joinChannels_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/joinAChannelResponse' description: Successful response summary: Join channels tags: - Bot x-content-type: application/json x-accepts: application/json /v3/bots/{bot_userid}/channels/{channel_url}: delete: description: "## Leave channels\n\nMakes a bot leave a specific channel\n\n\ [https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels](https://sendbird.com/docs/chat/platform-api/v3/bot/managing-a-bot/leave-channels#1-leave-channels)" operationId: leaveAGroupChannel parameters: - explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple - description: '(Required) ' explode: false in: path name: bot_userid required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Leave channels - When leaving a specific channel tags: - Bot x-accepts: application/json /v3/users: get: description: |- ## List users You can retrieve a list of users in your Sendbird application using this API. You can generate a customized list using various parameter combinations. https://sendbird.com/docs/chat/platform-api/v3/user/listing-users/list-users#1-list-users operationId: listUsers parameters: - explode: true in: query name: token required: false schema: type: string style: form - explode: true in: query name: limit required: false schema: type: integer style: form - description: "Specifies the activation status of the users in the list. Acceptable\ \ values are `activated`, `deactivated`, and `all`. (Default: `activated`)" explode: true in: query name: active_mode required: false schema: enum: - activated - deactivated - all type: string style: form - description: "Determines whether to include bots in the list. (Default: true)" explode: true in: query name: show_bot required: false schema: type: boolean style: form - description: "Specifies the user IDs. The value should be a comma-separated\ \ string that consists of multiple urlencoded user IDs. An example of a\ \ urlencoded string is ?user_ids=urlencoded_id_1,urlencoded_id_2. * The\ \ maximum number of user IDs in this parameter is 250. If you exceed the\ \ maximum number, your request may receive an HTTP 414 error indicating\ \ that the request URL is longer than what Sendbird server can interpret." explode: true in: query name: user_ids required: false schema: type: string style: form - explode: true in: query name: nickname required: false schema: type: string style: form - explode: true in: query name: nickname_startswith required: false schema: type: string style: form - explode: true in: query name: metadatakey required: false schema: type: string style: form - description: "Searches for blocked users with metadata containing an item\ \ with the key specified by the metadatakey parameter above, and the value\ \ of that item matches one or more values specified by this parameter. The\ \ string should be specified with multiple urlencoded metadata values separated\ \ by commas (for example, `?metadatavalues_in=urlencoded_value_1, urlencoded_value_2`).\ \ This parameter should be specified in conjunction with the `metadatakey`\ \ above." explode: true in: query name: metadatavalues_in required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listUsersResponse' description: Successful response summary: List users tags: - User x-accepts: application/json post: description: "## Create a user\n\nYou should create a user in your Sendbird\ \ application to initiate conversations in channels. A user is identified\ \ by its unique user ID, and additionally have a changeable nickname, profile\ \ image, and so on. Users are at the core of all conversations. Sendbird applications\ \ are made up of users who chat in either Open Channels or Group Channels.\ \ Using this API, it is possible to have fine grained control over your users\ \ and what those users can do. To learn more about users, see\_[User overview](https://sendbird.com/docs/chat/platform-api/v3/user/user-overview#2-resource-representation).\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#1-create-a-user" operationId: createAUser parameters: - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createAUser_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createAUserResponse' description: Successful response summary: Create a user tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/mark_as_read_all: put: description: "## Mark all messages as read\n\nThis action marks all of a user's\ \ unread messages as read in certain group channels. If channels aren't specified,\ \ the user's unread messages in all group channels are marked as read.\n\n\ https://sendbird.com/docs/chat/platform-api/v3/user/marking-messages-as-read/mark-all-of-a-users-messages-as-read#1-mark-all-of-a-user-s-messages-as-read" operationId: markAllMessagesAsRead parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/markAllMessagesAsRead_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Mark all messages as read tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/block: get: description: "## List blocked by and blocking users\n\nThis action retrieves\ \ a list of users who are either blocked by a specific user or a list of users\ \ who are blocking a specific user.\n\n[https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users#1-list-blocked-by-and-blocking-users](https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users#1-list-blocked-by-and-blocking-users)\n\ \n`user_id` \nType: string \nDescription: Specifies the unique ID of the\ \ target user." operationId: listBlockedUsers parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: "Specifies whether to retrieve a list of users who are blocked\ \ by the specified user or a list of users who are blocking the specified\ \ user. Acceptable values are blocked_by_me and blocking_me. The `me` in\ \ the values refers to the user specified in the parameter. (Default: blocked_by_me)" explode: true in: query name: list required: false schema: enum: - blocked_by_me - blocking_me type: string style: form - explode: true in: query name: token required: false schema: type: string style: form - explode: true in: query name: limit required: false schema: type: integer style: form - description: Specifies the user IDs of the blocked or blocking users to search for. The value should be a comma-separated string that consists of multiple URL encoded user IDs. explode: true in: query name: user_ids required: false schema: type: string style: form - explode: true in: query name: metadatakey required: false schema: type: string style: form - explode: true in: query name: metadatavalues_in required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listBlockedUsersResponse' description: Successful response summary: List blocked users tags: - Moderation x-accepts: application/json post: description: "## Block a user\n\nA user can block another user if the user doesn't\ \ wish to receive any messages or notifications from the blocked user in a\ \ 1-to-1 group channel. In a 1-to-N group channel, the user can still receive\ \ messages from the blocked user, but this depends on the UI settings of the\ \ chat view. In any case, notifications from the blocked user won't be delivered\ \ to the 1-to-N group channel. You can choose whether or not the user can\ \ view\_[which users are blocked](https://sendbird.com/docs/chat/platform-api/v3/moderation/listing-blocked-and-blocking-users/list-blocked-and-blocking-users)\_\ in the channel UI.\n\nSendbird application provides two blocking options:\ \ include or exclude blocked users when sending invitations, and turn on or\ \ off notifications from blocked users. [Explicit and classic block modes](https://sendbird.com/docs/chat/platform-api/v3/deprecated#2-explicit-and-classic-block-modes)\ \ have been deprecated and are only supported for customers who started using\ \ them before they were deprecated.\n\n- **Include or exclude blocked users\ \ when sending invitations**: Determines whether or not to automatically filter\ \ out blocked users when a user invites a group of users to a new group channel.\ \ By default, blocked users are included when sending invitations. The value\ \ of this option can be changed by Sendbird if your Sendbird application isn't\ \ integrated with the client app. If you want to change the value, [contact\ \ our sales team](https://get.sendbird.com/talk-to-sales.html).\n \n- **Turn\ \ on or off notifications from blocked users**: Determines whether or not\ \ to receive message notifications from the blocked user in a specific 1-to-N\ \ group channel where they are both members. By default, a user doesn't receive\ \ notifications from blocked users. The value of this option can be set individually\ \ per channel. If you want to use this option, [contact our sales team](https://get.sendbird.com/talk-to-sales.html).\n\ \n> **Note**: To learn more about other available moderation tools, see [Moderation\ \ Overview](https://sendbird.com/docs/chat/platform-api/v3/moderation/moderation-overview#2-actions).\ \ The following tables explain what happens to a user's chat experience when\ \ the user blocks another user in a 1-to-1 or 1-to-N group channel. In the\ \ case of a 1-to-1 group channel, the block mode is only maintained with the\ \ original members. If other than the original members are added, the rules\ \ for 1-to-N group channel begin to apply.\n\n[https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users#1-block-users](https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/block-users#1-block-users)" operationId: blockAUser parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/blockAUser_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/blockAUserResponse' description: Successful response summary: Block a user tags: - Moderation x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/block/{target_id}: delete: description: |- ## Unblock a user Unblocks the user. https://sendbird.com/docs/chat/platform-api/v3/moderation/blocking-users/unblock-a-user#1-unblock-a-user operationId: unblockAUser parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: target_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Unblock a user tags: - Moderation x-accepts: application/json /v3/users/{user_id}/unread_message_count: get: description: "## View number of unread messages\n\nThis action retrieves a user's\ \ total number of unread messages in group channels.\n\n> **Note**: The unread\ \ count feature is only available for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-unread-messages#1-get-number-of-unread-messages](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-unread-messages#1-get-number-of-unread-messages)\n\ \n`user_id` \nType: string \nDescription: Specifies the unique ID of a user." operationId: viewNumberOfUnreadMessages parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: "Specifies a comma-separated string of one or more custom types\ \ to filter group channels. URL encoding each type is recommended. If not\ \ specified, all channels are returned, regardless of their custom type." explode: true in: query name: custom_types required: false schema: type: string style: form - description: "Restricts the search scope to either Supergroup channels or\ \ non-Supergroup channels or both. Acceptable values are `all`, `super`,\ \ and `nonsuper`. (Default: `all`)" explode: true in: query name: super_mode required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewNumberOfUnreadMessagesResponse' description: Successful response summary: View number of unread messages tags: - User x-accepts: application/json /v3/users/{user_id}/my_group_channels/leave: put: description: "## Leave my group channels\n\nThis action allows a user to leave\ \ all group channels or channels with a specific custom type. This API is\ \ useful if you want to let a user leave a set of channels at once. To let\ \ a user leave only one of their group channels, use the\_[leave a channel\ \ API](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/leave-a-channel)\_\ instead.\n\nSince this API can't be called for a deactivated user, ensure\ \ that the\_[leave_all_when_deactivated](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#2-request-body)\_\ property of the user is set to its default value of\_`true`\_to let the user\ \ leave all joined group channels upon deactivation.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/leave-group-channels#1-leave-group-channels\n\ \n`user_id` \nType: string \nDescription: Specifies the unique ID of the\ \ user to leave all joined group channels." operationId: leaveMyGroupChannels parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/leaveMyGroupChannels_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Leave my group channels tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}: delete: description: "## Delete a user\n\nYou can delete a user from your Sendbird application\ \ using this API.\n\n> **Note**: This API deletes user data and metadata,\ \ except for their messages. If you wish to delete user data including their\ \ messages, use the [GDPR request](https://sendbird.com/docs/chat/platform-api/v3/privacy/privacy-overview).\ \ \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/delete-a-user#1-delete-a-user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/delete-a-user#1-delete-a-user)" operationId: deleteAUser parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete a user tags: - User x-accepts: application/json get: description: "## View a user\n\nYou can retrieve information about a user using\ \ this API.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/listing-users/get-a-user#1-get-a-user\n\ \n`user_id` \nType: string \nDescription: Specifies the unique ID of the\ \ user to retrieve." operationId: viewAUser parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: true in: query name: include_unread_count required: false schema: type: boolean style: form - explode: true in: query name: custom_types required: false schema: type: string style: form - description: "Restricts the search scope to retrieve only Supergroup or non-Supergroup\ \ channels. Acceptable values are `all`, `super`, and `nonsuper`. This parameter\ \ should be specified in conjunction with `include_unread_count` above.\ \ (Default: `all`)" explode: true in: query name: super_mode required: false schema: enum: - all - super - nonsuper type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewAUserResponse' description: Successful response summary: View a user tags: - User x-accepts: application/json put: description: "## Update a user\n\nYou can update information about a user using\ \ this API. In addition to changing a user's nickname or profile image, you\ \ can issue a new access token for the user. The new access token replaces\ \ the previous one as the necessary token for authentication.\n\nYou can also\ \ deactivate or reactivate a user using this API request. If the `leave_all_when_deactivated`\ \ is set to `true`, a user leaves all joined group channels and becomes deactivated.\n\ \n> **Note**: Issuing session tokens through the `/users/{user_id}` endpoint\ \ is now deprecated and it's replaced with [<code>/users/{user_id}/token</code>](https://sendbird.com/docs/chat/platform-api/v3/user/managing-session-tokens/issue-a-session-token)\ \ endpoint for greater efficiency. For those who are currently using the old\ \ endpoint, you can start issuing tokens using the new endpoint. \n \n\n\ [https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#1-update-a-user](https://sendbird.com/docs/chat/platform-api/v3/user/managing-users/update-a-user#1-update-a-user)" operationId: updateAUser parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAUser_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateAUserResponse' description: Successful response summary: Update a user tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/push/template: put: description: "## Choose a push notification content template\n\nUsers can choose\ \ a template to determine how push notifications appear to them. Push notification\ \ content templates are pre-formatted forms that can be customized to display\ \ your own push notification messages on a user's device. Sendbird provides\ \ two types: `default` and `alternative`. Go to **Settings** > **Chat** >\ \ **Push notifications** > **Push notification content templates** on [Sendbird\ \ Dashboard](https://dashboard.sendbird.com/auth/signin) to customize the\ \ templates.\n\nIf the `push_message_template` property is specified when\ \ [sending a message](https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/send-a-message),\ \ the content template customized for the message takes precedence over the\ \ user's choice.\n\n> **Note**: Push notifications are only available for\ \ group channels. \n \n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/choose-a-push-notification-content-template#1-choose-a-push-notification-content-template" operationId: chooseAPushNotificationContentTemplate parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/chooseAPushNotificationContentTemplate_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/chooseAPushNotificationContentTemplateResponse' description: Successful response summary: Choose a push notification content template tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/push/{token_type}: get: description: "## List registration or device tokens\n\nRetrieves a list of a\ \ user's registration or device tokens. You can pass `gcm`, `huawei`, or `apns`\ \ for FCM registration token, HMS device token, or APNs device token, respectively,\ \ in the `token_type` parameter for the push notification service you are\ \ using.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/list-registration-or-device-tokens#1-list-registration-or-device-tokens" operationId: listRegistrationOrDeviceTokens parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: token_type required: true schema: enum: - gcm - huawei - apns type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listRegistrationOrDeviceTokensResponse' description: Successful response summary: List registration or device tokens tags: - User x-accepts: application/json post: description: "## Add a registration or device token\n\n> __Note__: A user can\ \ have up to 20 FCM registration tokens, 20 HMS device tokens, and 20 APNs\ \ device tokens each. The oldest token will be deleted before a new token\ \ is added for a user who already has 20 registration or device tokens. Only\ \ the 20 newest tokens will be maintained for users who already have more\ \ than 20 of each token type.\n\nTo send notification requests to push notification\ \ services on behalf of your server, adds a specific user's FCM registration\ \ token, HMS device token, or APNs device token to Sendbird server. Depending\ \ on which push service you are using, you can pass one of two values in `token_type`:\ \ `gcm`, `huawei`, or `apns`.\n\nA FCM registration token and an APNs device\ \ token allow identification of each client app instance on each device, and\ \ are generated and registered by Android and iOS apps through the corresponding\ \ SDKs. Use this method if you need to register a token via your own server.\n\ \n> __Note__: For more information on the registration token and device token,\ \ visit the Google's [FCM](https://firebase.google.com/docs/auth/admin/verify-id-tokens)\ \ page, Huawei's [Push kit](https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/service-introduction-0000001050040060)\ \ and Apple's [APNs](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html)\ \ page.\n\nhttps://sendbird.com/docs/chat/v3/platform-api/guides/user#2-add-a-registration-or-device-token\n\ ----------------------------" operationId: addARegistrationOrDeviceToken parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: token_type required: true schema: enum: - gcm - huawei - apns type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/addARegistrationOrDeviceToken_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/addARegistrationOrDeviceTokenResponse' description: Successful response summary: Add a registration or device token tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/push_preference: delete: description: "## Reset push preferences\n\nYou can reset a user's notifications\ \ preferences. The values are reset to the default as the following.\n\n-\ \ The values for the `do_not_disturb` and `snooze_enabled` properties are\ \ set to `false`.\n \n- The values of the parameters associated with the\ \ time frame are all set to `0`.\n \n- The value for the `timezone` property\ \ is set to `UTC`.\n \n- The value for the `push_sound` property is set\ \ to `default`.\n \n\n> **Note**: Push notifications are only available\ \ for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/reset-push-notification-preferences#1-reset-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/reset-push-notification-preferences#1-reset-push-notification-preferences)" operationId: resetPushPreferences parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Reset push preferences tags: - User x-accepts: application/json get: description: "## View push preferences\n\nYou can retrieves a user's notifications\ \ preferences. A push notification is a message that is immediately delivered\ \ to a user's device when the device is either idle or running the client\ \ app in the background.\n\n> **Note**: Push notifications are only available\ \ for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences#1-get-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences#1-get-push-notification-preferences)" operationId: viewPushPreferences parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewPushPreferencesResponse' description: Successful response summary: View push preferences tags: - User x-accepts: application/json put: description: "## Update push preferences\n\nYou can update a user's notifications\ \ preferences. A push notification is a message that is immediately delivered\ \ to a user's device when the device is either idle or running the client\ \ app in the background.\n\n> **Note**: Push notifications are only available\ \ for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences#1-update-push-notification-preferences](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences#1-update-push-notification-preferences)" operationId: updatePushPreferences parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePushPreferences_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updatePushPreferencesResponse' description: Successful response summary: Update push preferences tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/token: post: description: "## Create user token\n\nThis action issues a session token for\ \ user authentication. Session tokens provide an efficient stateless authentication\ \ method by not storing the tokens in the Sendbird database, and thus improving\ \ the server's performance. See [access token vs. session token](https://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#2-access-token-vs-session-token)\ \ to learn more about authenticating users.\n\n> **Note**: The endpoint `/users/{user_id}`\ \ is deprecated. Use `/users/{user_id}/token` for greater efficiency. \n \ \ \n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-session-tokens/issue-a-session-token#1-issue-a-session-token" operationId: createUserToken parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createUserToken_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createUserTokenResponse' description: Successful response summary: Create user token tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/push_preference/{channel_url}: get: description: "## View push preferences for a channel\n\nYou can retrieve a user's\ \ notifications preferences for a specific channel. A push notification is\ \ a message that is immediately delivered to a user's device when the device\ \ is either idle or running the client app in the background. These notifications\ \ preferences can be configured.\n\n> **Note**: Push notifications are only\ \ available for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences-for-a-channel#1-get-push-notification-preferences-for-a-channel](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/get-push-notification-preferences-for-a-channel#1-get-push-notification-preferences-for-a-channel)" operationId: viewPushPreferencesForAChannel parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewPushPreferencesForAChannelResponse' description: Successful response summary: View push preferences for a channel tags: - User x-accepts: application/json put: description: "## Update push preferences for a channel\n\nYou can update a user's\ \ notifications preferences for a specific channel. A push notification is\ \ a message that is immediately delivered to a user's device when the device\ \ is either idle or running the client app in the background.\n\n> **Note**:\ \ Push notifications are only available for group channels. \n \n\n[https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences-for-a-channel#1-update-push-notification-preferences-for-a-channel](https://sendbird.com/docs/chat/platform-api/v3/user/configuring-notification-preferences/update-push-notification-preferences-for-a-channel#1-update-push-notification-preferences-for-a-channel)" operationId: updatePushPreferencesForAChannel parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePushPreferencesForAChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updatePushPreferencesForAChannelResponse' description: Successful response summary: Update push preferences for a channel tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/push: delete: description: "## Remove a registration or device token\n\nRemoves a user's specific\ \ registration or device token or all tokens. You can pass\_`gcm`,\_`huawei`,\ \ or\_`apns`\_for FCM registration token, HMS device token, or APNs device\ \ token, respectively, in the\_`token_type`\_parameter for the push notification\ \ service you are using.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token#1-remove-a-registration-or-device-token" operationId: removeAllRegistrationOrDeviceToken parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/removeAllRegistrationOrDeviceTokenResponse' description: Successful response summary: Remove a registration or device token - When unregistering all device tokens tags: - User x-accepts: application/json /v3/users/{user_id}/metadata: delete: description: |- ## Delete metadata You can delete a specific or all metadata of a user. Metadata stores additional user information such as their preference settings. https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-delete-metadata operationId: deleteUserAllMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete user metadata tags: - User x-accepts: application/json post: description: '## Create metadata When creating new items of the user metadata. https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-create-metadata' operationId: createUserMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createUserMetadata_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewAUserMetadataResponse' description: Successful response summary: Create user metadata tags: - User x-content-type: application/json x-accepts: application/json put: description: |- ## Update metadata When updating existing items of the user metadata by their keys or adding new items to the metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-update-metadata operationId: updateUserMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateUserMetadata_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateUserMetadataResponse' description: Successful response summary: Update user metadata tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/metadata/{key}: delete: description: |- ## Delete metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-delete-metadata operationId: deleteSpecificUserMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete user metadata tags: - User x-accepts: application/json get: description: |- ## Get metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-get-metadata operationId: viewSpecificUserMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewAUserMetadataResponse' description: Successful response summary: Get specific user metadata tags: - User x-accepts: application/json put: description: |- ## Update metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-update-metadata operationId: updateSpecificUserMetadata parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateSpecificUserMetadata_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateUserMetadataResponse' description: Successful response summary: Update specific user metadata tags: - User x-content-type: application/json x-accepts: application/json /v3/push/device_tokens/{token_type}/{token}: delete: description: "## Remove a registration or device token from an owner\n\nRemoves\ \ a registration or device token from a user who is the owner of the token.\ \ You can pass\_`gcm`,\_`huawei`, or\_`apns`\_for FCM registration token,\ \ HMS device token, or APNs device token, respectively, in the\_`token_type`\_\ parameter for the push notification service you are using.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token-from-an-owner#1-remove-a-registration-or-device-token-from-an-owner" operationId: removeARegistrationOrDeviceTokenFromAnOwner parameters: - description: '(Required) ' explode: false in: path name: token_type required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: token required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/removeARegistrationOrDeviceTokenFromAnOwnerResponse' description: Successful response summary: Remove a registration or device token from an owner tags: - User x-accepts: application/json get: description: "## View who owns a registration or device token\n\nRetrieves a\ \ user who owns a FCM registration token, HMS device token, or APNs device\ \ token. You can pass one of two values in `token_type`: `gcm`, `huawei`,\ \ or `apns`, depending on which push service you are using.\n\nhttps://sendbird.com/docs/chat/v3/platform-api/guides/user#2-view-who-owns-a-registration-or-device-token\n\ ----------------------------" operationId: viewWhoOwnsARegistrationOrDeviceToken parameters: - description: '(Required) ' explode: false in: path name: token_type required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: token required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewWhoOwnsARegistrationOrDeviceTokenResponse' description: Successful response summary: View who owns a registration or device token tags: - User x-accepts: application/json /v3/users/{user_id}/unread_channel_count: get: description: |- ## View number of channels with unread messages This action retrieves the total number of group channels in which a user has unread messages. You can use various query parameters to determine the search scope of group channels. https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-number-of-channels-with-unread-messages#1-get-number-of-channels-with-unread-messages operationId: viewNumberOfChannelsWithUnreadMessages parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: true in: query name: custom_types required: false schema: type: string style: form - description: "Restricts the search scope to either Supergroup channels or\ \ non-Supergroup channels or both. Acceptable values are all, super, and\ \ nonsuper. (Default: all)" explode: true in: query name: super_mode required: false schema: enum: - all - super - nonsuper type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewNumberOfChannelsWithUnreadMessagesResponse' description: Successful response summary: View number of channels with unread messages tags: - User x-accepts: application/json /v3/users/{user_id}/my_group_channels: get: description: "## List my group channels\n\nThis action retrieves a list of\_\ [group channels](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel)\_\ that a specific user has joined. You can use various query parameters to determine\ \ the search scope and select what kind of information you want to receive\ \ about the queried channels.\n\nIf you're looking to retrieve a list of group\ \ channels in a specific application, visit the\_[list group channels](https://sendbird.com/docs/chat/platform-api/v3/channel/listing-channels-in-an-application/list-group-channels)\_\ page under the Channel section.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-joined-group-channels/list-group-channels-by-user#1-list-group-channels-by-user\n\ \n`user_id` \nType: string \nDescription: Specifies the unique ID of the\ \ target user." operationId: listMyGroupChannels parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: "Specifies a page token that indicates the starting index of\ \ a chunk of results. If not specified, the index is set as 0." explode: true in: query name: token required: false schema: type: string style: form - description: "Specifies the number of results to return per page. Acceptable\ \ values are 1 to 100, inclusive. (Default: 10)" explode: true in: query name: limit required: false schema: example: 10 type: integer style: form - explode: true in: query name: distinct_mode required: false schema: description: "Restricts the search scope to only retrieve distinct or nondistinct\ \ group channels. Acceptable values are the following: - all (default):\ \ All group channels are returned. - distinct: Only distinct group channels\ \ are returned. - nondistinct: Only group channels that aren't distinct\ \ are returned." enum: - all - distinct - nondistinct example: all type: string style: form - explode: true in: query name: public_mode required: false schema: description: "Restricts the search scope to only retrieve either public\ \ or private group channels. Acceptable values are the following: - all\ \ (default): All group channels are returned. - private: All private group\ \ channels are returned. - public: All public group channels are returned." enum: - all - private - public example: all type: string style: form - explode: true in: query name: super_mode required: false schema: description: "Specifies which type of group channels to retrieve. Acceptable\ \ values are the following: - all (default): All types of group channels\ \ including Supergroup channels are returned. - super: Only Supergroup\ \ channels are returned. - nonsuper: Group channels excluding Supergroup\ \ channels are returned." enum: - all - super - nonsuper example: all type: string style: form - description: "Restricts the search scope to only retrieve group channels which\ \ have been created after the specified time, in Unix milliseconds format." example: 1234567890123 explode: true in: query name: created_after required: false schema: format: int64 type: integer style: form - description: "Restricts the search scope to only retrieve group channels which\ \ have been created before the specified time, in Unix milliseconds format." example: 1234567890123 explode: true in: query name: created_before required: false schema: format: int64 type: integer style: form - example: false explode: true in: query name: show_empty required: false schema: type: boolean style: form - example: false explode: true in: query name: show_member required: false schema: type: boolean style: form - example: false explode: true in: query name: show_delivery_receipt required: false schema: type: boolean style: form - example: false explode: true in: query name: show_read_receipt required: false schema: type: boolean style: form - example: false explode: true in: query name: show_metadata required: false schema: type: boolean style: form - example: false explode: true in: query name: show_frozen required: false schema: type: boolean style: form - explode: true in: query name: order required: false schema: enum: - chronological - latest_last_message - channel_name_alphabetical - metadata_value_alphabetical type: string style: form - description: "Specifies the key of an item in metadata. When a value of the\ \ order parameter is set to metadata_value_alphabetical, the results are\ \ alphabetically sorted by the value of the item specified by the key." explode: true in: query name: metadata_order_key required: false schema: type: string style: form - description: "Specifies a comma-separated string of one or more custom types\ \ to filter group channels. URL encoding each type is recommended. If not\ \ specified, all channels are returned, regardless of their custom type." explode: true in: query name: custom_types required: false schema: type: string style: form - description: Searches for group channels with the custom type which starts with the specified value. URL encoding the value is recommended. explode: true in: query name: custom_type_startswith required: false schema: type: string style: form - description: Specifies a comma-separated string of one or more group channel URLs to restrict the search scope. URL encoding each channel URL is recommended. explode: true in: query name: channel_urls required: false schema: type: string style: form - description: Specifies one or more group channel names. explode: true in: query name: name required: false schema: type: string style: form - description: Searches for group channels whose names contain the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. explode: true in: query name: name_contains required: false schema: type: string style: form - description: Searches for group channels whose names start with the specified value. Note that this parameter is case-insensitive. URL encoding the value is recommended. explode: true in: query name: name_startswith required: false schema: type: string style: form - description: |- Searches for group channels with all the specified users as members. The parameter value should consist of user IDs separated by commas. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended. explode: true in: query name: members_exactly_in required: false schema: type: string style: form - description: |- Searches for group channels that include one or more users as members among the specified users. The value should consist of user IDs separated by commas or %2C. You can specify up to 60 user IDs. Only user IDs that match those of existing users are used for channel search. URL encoding each ID is recommended. explode: true in: query name: members_include_in required: false schema: type: string style: form - description: "Specifies a logical condition applied to the members_include_in\ \ parameter. Acceptable values are either AND or OR. For example, if you\ \ specify three members, A, B, and C, in members_include_in, the value of\ \ AND returns all channels that include every one of {A. B, C} as members.\ \ The value of OR returns channels that include {A}, plus those that include\ \ {B}, plus those that include {C}. (Default: AND)" explode: true in: query name: query_type required: false schema: type: string style: form - description: Searches for group channels with members whose nicknames match the specified value. URL encoding the value is recommended. explode: true in: query name: members_nickname required: false schema: type: string style: form - description: "Searches for group channels with members whose nicknames contain\ \ the specified value. Note that this parameter is case-insensitive. URL\ \ encoding the value is recommended.\n\n* We recommend using at least three\ \ characters for the parameter value for better search efficiency when you\ \ design and implement related features. If you would like to allow one\ \ or two characters for searching, use members_nickname instead to prevent\ \ performance issues." explode: true in: query name: members_nickname_contains required: false schema: type: string style: form - description: Searches for group channels with members whose nicknames begin with the specified value. This parameter isn't case-sensitive. URL encoding the value is recommended. explode: true in: query name: members_nickname_startswith required: false schema: type: string style: form - description: Searches for group channels where the specified query string matches the channel name or the nickname of the member. This parameter isn't case-sensitive and should be specified in conjunction with the search_fields parameter below. URL encoding the value is recommended. explode: true in: query name: search_query required: false schema: type: string style: form - description: "Specifies a comma-separated string of one or more search fields\ \ to apply to the query, which restricts the results within the specified\ \ fields (OR search condition). Acceptable values are channel_name and member_nickname.\ \ This is effective only when the search_query parameter above is specified.\ \ (Default: channel_name, member_nickname together)" explode: true in: query name: search_fields required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the specified value as its key. To use this parameter, either the\ \ metadata_values parameter or the metadata_value_startswith parameter should\ \ be specified." explode: true in: query name: metadata_key required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the key specified by the metadata_key parameter, and the value of\ \ that item matches one or more values specified by this parameter. The\ \ string should be specified with multiple values separated by commas. URL\ \ encoding each value is recommended. To use this parameter, the metadata_key\ \ parameter should be specified." explode: true in: query name: metadata_values required: false schema: type: string style: form - description: "Searches for group channels with metadata containing an item\ \ with the key specified by the metadata_key parameter, and the values of\ \ that item that start with the specified value of this parameter. URL encoding\ \ the value is recommended. To use this parameter, the metadata_key parameter\ \ should be specified." explode: true in: query name: metadata_value_startswith required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the specified value as its key. To use this parameter, either the\ \ metacounter_values parameter or one of the metacounter_value_gt, metacounter_value_gte,\ \ metacounter_value_lt, and metacounter_value_lte parameters should be specified." explode: true in: query name: metacounter_key required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is equal to one or more values specified by this parameter.\ \ The string should be specified with multiple values separated by commas.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_values required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is greater than the value specified by this parameter. To\ \ use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_gt required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is greater than or equal to the value specified by this parameter.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_gte required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is lower than the value specified by this parameter. To use\ \ this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_lt required: false schema: type: string style: form - description: "Searches for group channels with metacounter containing an item\ \ with the key specified by the metadata_key parameter, where the value\ \ of that item is lower than or equal to the value specified by this parameter.\ \ To use this parameter, the metacounter_key parameter should be specified." explode: true in: query name: metacounter_value_lte required: false schema: type: string style: form - description: Determines whether to include the sorted_metaarray as one of the last_message’s properties in the response. example: false explode: true in: query name: include_sorted_metaarray_in_last_message required: false schema: type: boolean style: form - description: Restricts the search scope to group channels that match a specific hidden_status and operating behavior explode: true in: query name: hidden_mode required: false schema: enum: - unhidden_only - hidden_only - hidden_allow_auto_unhide - hidden_prevent_auto_unhide - all type: string style: form - description: "Restricts the search scope to only retrieve group channels with\ \ one or more unread messages. This filter doesn't support Supergroup channels.\ \ Acceptable values are all and unread_message. (Default: all)" explode: true in: query name: unread_filter required: false schema: enum: - all - unread_message type: string style: form - explode: true in: query name: member_state_filter required: false schema: enum: - all - invited_only - joined_only - invited_by_friend - invited_by_non_friend type: string style: form - explode: false in: header name: api-token required: true schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listMyGroupChannelsResponse' description: Successful response summary: List my group channels tags: - User x-accepts: application/json /v3/users/{user_id}/push/{token_type}/{token}: delete: description: "## Remove a registration or device token\n\nRemoves a user's specific\ \ registration or device token or all tokens. You can pass\_`gcm`,\_`huawei`,\ \ or\_`apns`\_for FCM registration token, HMS device token, or APNs device\ \ token, respectively, in the\_`token_type`\_parameter for the push notification\ \ service you are using.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-device-tokens/remove-a-registration-or-device-token#1-remove-a-registration-or-device-token" operationId: removeARegistrationOrDeviceToken parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: token_type required: true schema: enum: - gcm - huawei - apns type: string style: simple - description: '(Required) ' explode: false in: path name: token required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/removeARegistrationOrDeviceTokenResponse' description: Successful response summary: Remove a registration or device token - When unregistering a specific token tags: - User x-accepts: application/json /v3/users/{user_id}/count_preference/{channel_url}: get: description: "## View count preference of a channel\n\nThis action retrieves\ \ a user's count preference of a specific group channel. The count preference\ \ allows a user to either retrieve the number of unread messages or unread\ \ mentioned messages, or both in a specific group channel.\n\nIf you want\ \ to update the total number count of a specific group channel, visit the\_\ [update count preference of a channel](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/update-count-preference-of-a-channel).\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-count-preference-of-a-channel#1-get-count-preference-of-a-channel" operationId: viewCountPreferenceOfAChannel parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewCountPreferenceOfAChannelResponse' description: Successful response summary: View count preference of a channel tags: - User x-accepts: application/json put: description: "## Update count preference of a channel\n\nThis action updates\ \ a user's count preference of a specific group channel. The count preference\ \ allows a user to either update the number of unread messages or the number\ \ of unread mentioned messages, or both in a specific group channel.\n\nIf\ \ you want to retrieve the total number count of a specific group channel,\ \ go to the\_[get count preference of a channel](https://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/get-count-preference-of-a-channel)\_\ page.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/user/managing-unread-count/update-count-preference-of-a-channel#1-update-count-preference-of-a-channel" operationId: updateCountPreferenceOfAChannel parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateCountPreferenceOfAChannel_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateCountPreferenceOfChannelByUrlResponse' description: Successful response summary: Update count preference of a channel tags: - User x-content-type: application/json x-accepts: application/json /v3/users/{user_id}/channel_invitation_preference: get: description: "## Get channel invitation preference\n\nThis action retrieves\ \ a user's\_[group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel)\_\ invitation preference. Users are subject to both user-specific and application-wide\ \ invitation preferences. Of the two, the invitation preference set for a\ \ specific user takes precedence over\_[the default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/get-default-invitation-preference).\n\ \n[https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference)" operationId: getChannelInvitationPreference parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/getChannelInvitationPreferenceResponse' description: Successful response summary: Get channel invitation preference tags: - User x-accepts: application/json put: description: "## Update channel invitation preference\n\nThis action updates\ \ a user's\_[group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel)\_\ invitation preference. Updating the\_[application's default channel invitation\ \ preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/update-default-invitation-preference)\_\ won't override existing users' individual channel invitation preferences.\ \ The changed preference only affects the users created after the update.\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/update-channel-invitation-preference#1-update-channel-invitation-preference" operationId: updateChannelInvitationPreference parameters: - description: '(Required) ' explode: false in: path name: user_id required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateChannelInvitationPreference_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateChannelInvitationPreferenceResponse' description: Successful response summary: Update channel invitation preference tags: - User x-content-type: application/json x-accepts: application/json /v3/{channel_type}/{channel_url}/metadata: delete: description: "## Delete a channel metadata\n\nDeletes a channel metadata's one\ \ or all items that are stored in a channel.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-delete-metadata#1-delete-metadata\n\ ----------------------------\n\n `channel_type`\n Type: string\n Description:\ \ Specifies the type of the channel. Either open_channels or group_channels.\n\ \ `channel_url`\n Type: string\n Description: Specifies the URL of\ \ the channel which has the metadata to delete." operationId: deleteAChannelMetadataWhenDeletingAllItemsOfAChannelMetadata parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: path name: key required: false schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete a channel metadata - When deleting all items of a channel metadata tags: - Metadata x-accepts: application/json get: description: "## View a channel metadata\n\nRetrieves a channel metadata's one\ \ or more items that are stored in a channel.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-get-metadata#1-get-metadata\n\ ----------------------------\n\n `channel_type`\n Type: string\n Description:\ \ Specifies the type of the channel. Either open_channels or group_channels.\n\ \ `channel_url`\n Type: string\n Description: Specifies the URL of\ \ the target channel." operationId: viewAChannelMetadataWhenRetrievingAllItemsOfAChannelMetadata parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: true in: query name: key required: false schema: type: string style: form - description: "In a query string, specifies an array of one or more keys of\ \ the metadata items. If not specified, all items of the metadata are returned.\ \ If specified, only the items that match the parameter values are returned.\ \ URL encoding each key is recommended." explode: true in: query name: keys required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/viewAChannelMetadataResponse' description: Successful response summary: View a channel metadata - When retrieving all items of a channel metadata tags: - Metadata x-accepts: application/json post: description: |- ## Create a channel metadata Creates a channel metadata's items to store in a channel. https://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-create-metadata#1-create-metadata ---------------------------- operationId: createAChannelMetadata parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/createAChannelMetadata_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/createAChannelMetadataResponse' description: Successful response summary: Create a channel metadata tags: - Metadata x-content-type: application/json x-accepts: application/json put: description: "## Update a channel metadata\n\nUpdates existing items of a channel\ \ metadata by their keys, or adds new items to the metadata.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/channel/managing-metadata/channel-update-metadata#1-update-metadata\n\ ----------------------------\n\n `channel_type`\n Type: string\n Description:\ \ Specifies the type of the channel. Either open_channels or group_channels.\n\ \ `channel_url`\n Type: string\n Description: Specifies the URL of\ \ the target channel." operationId: updateAChannelMetadata parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAChannelMetadata_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateAChannelMetadataResponse' description: Successful response summary: Update a channel metadata - When updating existing items of a channel metadata by their keys or adding new items to the metadata tags: - Metadata x-content-type: application/json x-accepts: application/json /v3/group_channels/{channel_url}/messages/mark_as_read: put: description: |- ## Mark all messages as read Marks all messages in a group channel as read for a specific user. This action is only applicable for users in a group channel. https://sendbird.com/docs/chat/platform-api/v3/message/read-receipts/mark-all-messages-as-read-message#1-mark-all-messages-as-read operationId: markChannelMessagesAsRead parameters: - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/markChannelMessagesAsRead_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Mark all messages as read tags: - Message x-content-type: application/json x-accepts: application/json /v3/migration/{target_channel_url}: post: description: "## Migrate messages\n\nUsing our migration API, you can migrate\ \ the messages from another system into a Sendbird system's [channel](https://sendbird.com/docs/chat/v3/platform-api/guides/channel-types)\ \ which consists of users, messages, and other chat-related data.\n\n> To\ \ turn on this feature, [contact our support team](https://dashboard.sendbird.com/settings/contact_us).\ \ \n \n\nThere are three things to do in advance before the migration. Follow\ \ the instructions below:\n\n1. Register the users of your current chat solution\ \ to your Sendbird application. You can migrate the users into the Sendbird\ \ system using the [user creation API](https://sendbird.com/docs/chat/v3/platform-api/guides/user#2-create-a-user).\n\ \ \n2. Create either an [open](https://sendbird.com/docs/chat/v3/platform-api/guides/open-channel#2-create-a-channel)\ \ or a [group](https://sendbird.com/docs/chat/v3/platform-api/guides/group-channel#2-create-a-channel)\ \ channel to migrate the messages of your chat solution. The Sendbird system\ \ doesn't create a channel for your migration automatically.\n \n3. The\ \ maximum number of migrated messages per call is 100. To avoid the failure\ \ during your migration, you must adjust the number of messages to process\ \ at once via the API.\n \n\nhttps://sendbird.com/docs/chat/platform-api/v3/message/migration/migrate-messages#1-migrate-messages" operationId: migrateMessages parameters: - description: '(Required) ' explode: false in: path name: target_channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/MigrateMessagesRequest' responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Migrate messages tags: - Message x-content-type: application/json x-accepts: application/json /v3/{channel_type}/{channel_url}/messages: get: description: "## List messages\n\nYou can retrieve a list of past messages of\ \ a specific channel with this API.\n\nBy default, this action returns a list\ \ of messages in the order they were created. Replies in threaded messages\ \ are also listed in the chronological order of their creation like other\ \ messages, not grouped with their parent messages.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/list-messages#1-list-messages\n\ \n`channel_type` \nType: string \nDescription: Specifies the type of the\ \ channel. Either open_channels or group_channels. \n`channel_url` \nType:\ \ string \nDescription: Specifies the URL of the channel to retrieve a list\ \ of past messages." operationId: listMessages parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: Specifies the timestamp to be the reference point of the query in Unix milliseconds. Either this or the message_id parameter below should be specified in your query URL to retrieve a list. It fetches messages that were sent prior to and after the specified message_ts and the default value for both prev_limit and next_limit is 15. explode: true in: query name: message_ts required: true schema: format: int64 type: integer style: form - description: Specifies the unique ID of the message to be the reference point of the query. Either this or the message_ts parameter above should be specified in your query URL to retrieve a list. It fetches messages that were sent prior to and after the specified message_id and the default value for both prev_limit and next_limit is 15. explode: true in: query name: message_id required: true schema: format: int64 type: integer style: form - description: "Specifies the number of previously sent messages to retrieve\ \ before message_ts. For example, if message_ts=1484202848298, then prev_limit=50\ \ returns 50 messages sent by 1484202848297 (message_ts - 1). Acceptable\ \ values range from 0 to 200. (Default: 15)" explode: true in: query name: prev_limit required: false schema: type: integer style: form - description: "Specifies the number of sent messages to retrieve after message_ts.\ \ For example, if message_ts=1484202848298, then next_limit=50 returns 50\ \ messages sent from 1484202848299 (message_ts + 1). Acceptable values range\ \ from 0 to 200. (Default: 15)" explode: true in: query name: next_limit required: false schema: type: integer style: form - description: "Determines whether to include messages sent exactly on the specified\ \ message_ts in the results. (Default: true)" explode: true in: query name: include required: false schema: type: boolean style: form - description: "Determines whether to sort the results in reverse chronological\ \ order. If set to true, messages appear in reverse chronological order\ \ where the newest comes first and the oldest last. (Default: false)" explode: true in: query name: reverse required: false schema: type: boolean style: form - description: Restricts the search scope to only retrieve messages sent by the user with the specified ID. explode: true in: query name: sender_id required: false schema: type: string style: form - description: Restricts the search scope to only retrieve messages sent by one or more users with the specified IDs listed in a comma-separated string. explode: true in: query name: sender_ids required: false schema: type: string style: form - explode: true in: query name: operator_filter required: false schema: enum: - all - operator - nonoperator type: string style: form - description: "Specifies a comma-separated string of one or more custom message\ \ types to retrieve. The value set to this parameter can serve as a filter\ \ as follows: - A string of specific custom types: Messages with the corresponding\ \ custom types are returned. - Empty like &custom_types=&...: Messages whose\ \ custom_type property is empty or has a value of null are returned. - An\ \ asterisk (\\*) (default): All messages are returned regardless of their\ \ custom_type." explode: true in: query name: custom_types required: false schema: type: string style: form - explode: true in: query name: message_type required: false schema: enum: - MESG - FILE - ADMM type: string style: form - explode: true in: query name: including_removed required: false schema: type: boolean style: form - explode: true in: query name: include_reactions required: false schema: type: boolean style: form - description: "One of following values: NONE, ALL, ONLY_REPLY_TO_CHANNEL" explode: true in: query name: include_reply_type required: false schema: enum: - NONE - ALL - ONLY_REPLY_TO_CHANNEL type: string style: form - explode: true in: query name: include_parent_message_info required: false schema: type: boolean style: form - explode: true in: query name: include_thread_info required: false schema: type: boolean style: form - description: "Determines whether to include all properties of a poll resource\ \ with a full list of options in the results. If set to false, a selection\ \ of poll resource properties consisting of id, title, close_at, created_at,\ \ updated_at, status, and message_id are returned. (Default: false)\n* To\ \ use this property, the polls feature should be turned on in Settings >\ \ Chat > Features on Sendbird Dashboard." explode: true in: query name: include_poll_details required: false schema: type: boolean style: form - description: "Determines whether to include the sorted_metaarray property\ \ in the response. (Default: false)" explode: true in: query name: with_sorted_meta_array required: false schema: type: boolean style: form - explode: true in: query name: show_subchannel_messages_only required: false schema: type: boolean style: form - explode: true in: query name: user_id required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/listMessagesResponse' description: Successful response summary: List messages tags: - Message x-accepts: application/json post: description: "## Send a message\n\nYou can use this action to send a text message,\ \ a file message, or an admin message to a specific channel. Sendbird Chat\ \ SDKs and the platform API allows you to upload any type of files in messages\ \ to the Sendbird server. See [Message Overview](https://sendbird.com/docs/chat/platform-api/v3/message/message-overview)\ \ for more information on each message type.\nMessages are sent between client\ \ devices running the Sendbird Chat SDK or UIKit as well as programmatically\ \ from businesses to their customers. For instance, a delivery app can automatically\ \ send a message like \"Arriving in one minute!\" on behalf of a delivery\ \ driver.\n\nhttps://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/send-a-message#1-send-a-message\n\ ----------------------------" operationId: sendAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/sendAMessage_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/sendAMessageResponse' description: Successful response summary: Send a message tags: - Message x-content-type: application/json x-accepts: application/json /v3/{channel_type}/{channel_url}/messages/total_count: get: description: |- ## Get total number of messages in a channel Retrieves the total number of messages in a specific channel. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/get-total-number-of-messages-in-a-channel#1-get-total-number-of-messages-in-a-channel ---------------------------- operationId: getTotalNumberOfMessagesInAChannel parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/getTotalNumberOfMessagesInAChannelResponse' description: Successful response summary: Get total number of messages in a channel tags: - Message x-accepts: application/json /v3/{channel_type}/{channel_url}/messages/{message_id}/sorted_metaarray: delete: description: |- ## Remove extra data from a message Removes specific items from a message by their keys. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-remove-metadata#1-remove-metadata ---------------------------- operationId: removeExtraDataFromAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: true in: query name: keys required: false schema: type: string style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Remove extra data from a message tags: - Message x-accepts: application/json post: description: |- ## Add extra data to a message Adds one or more key-values items which store additional information for a message. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-add-metadata#1-add-metadata ---------------------------- operationId: addExtraDataToAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/addExtraDataToAMessage_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/addExtraDataToAMessageResponse' description: Successful response summary: Add extra data to a message tags: - Message x-content-type: application/json x-accepts: application/json put: description: |- ## Update extra data in a message Updates the values of specific items by their keys. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/message-update-metadata#1-update-metadata ---------------------------- operationId: updateExtraDataInAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateExtraDataInAMessage_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateExtraDataInAMessageResponse' description: Successful response summary: Update extra data in a message tags: - Message x-content-type: application/json x-accepts: application/json /v3/{channel_type}/{channel_url}/messages/{message_id}: delete: description: |- ## Delete a message Deletes a message from a channel. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/delete-a-message#1-delete-a-message ---------------------------- operationId: deleteAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/emptyObjectResponse' description: Successful response summary: Delete a message tags: - Message x-accepts: application/json get: description: "## Get a message\n\nRetrieves information on a specific message.\n\ \nhttps://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/get-a-message#1-get-a-message\n\ ----------------------------\n\n `channel_type`\n Type: string\n Description:\ \ Specifies the type of the channel. Either open_channels or group_channels.\n\ \ `channel_url`\n Type: string\n Description: Specifies the URL of\ \ the target channel.\n `message_id`\n Type: long\n Description: Specifies\ \ the unique ID of the message to retrieve." operationId: getAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: true in: query name: include_reactions required: false schema: type: boolean style: form - explode: true in: query name: include_thread_info required: false schema: type: boolean style: form - explode: true in: query name: include_parent_message_info required: false schema: type: boolean style: form - description: "Determines whether to include all properties of a poll resource\ \ with a full list of options in the results. If set to false, a selection\ \ of poll resource properties consisting of id, title, close_at, created_at,\ \ updated_at, status, and message_id are returned. (Default: false)\n* To\ \ use this property, the polls feature should be turned on in Settings >\ \ Chat > Features on Sendbird Dashboard." explode: true in: query name: include_poll_details required: false schema: type: boolean style: form - explode: true in: query name: with_sorted_meta_array required: false schema: type: boolean style: form - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/getAMessageResponse' description: Successful response summary: Get a message tags: - Message x-accepts: application/json put: description: |- ## Update a message Updates specific information on a message. https://sendbird.com/docs/chat/platform-api/v3/message/messaging-basics/update-a-message#1-update-a-message ---------------------------- operationId: updateAMessage parameters: - description: '(Required) ' explode: false in: path name: channel_type required: true schema: enum: - open_channels - group_channels type: string style: simple - description: '(Required) ' explode: false in: path name: channel_url required: true schema: type: string style: simple - description: '(Required) ' explode: false in: path name: message_id required: true schema: format: int64 type: integer style: simple - explode: false in: header name: api-token required: false schema: example: "{{API_TOKEN}}" type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAMessage_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/updateAMessageResponse' description: Successful response summary: Update a message tags: - Message x-content-type: application/json x-accepts: application/json components: schemas: SendbirdSortedMetaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array SendbirdPushTriggerOption: enum: - all - mention_only - "off" type: string SendbirdThumbnail: example: real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 properties: height: type: integer plain_url: type: string real_height: type: integer real_width: type: integer url: type: string width: type: integer type: object SendbirdFile: example: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 properties: url: type: string file_name: type: string file_size: type: integer file_type: type: string thumbnails: items: $ref: '#/components/schemas/SendbirdThumbnail' type: array require_auth: type: boolean type: object SendbirdSmsFallback: example: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 properties: wait_seconds: type: integer exclude_user_ids: items: type: string type: array type: object SendbirdDisappearingMessage: example: is_triggered_by_message_read: true message_survival_seconds: 6 properties: message_survival_seconds: type: integer is_triggered_by_message_read: type: boolean type: object SendbirdBasicUserInfo: example: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true properties: require_auth_for_profile_image: type: boolean is_active: type: boolean is_blocked_by_me: type: boolean role: enum: - "" - none - operator type: string nickname: nullable: true type: string user_id: type: string profile_url: default: "" type: string metadata: nullable: true type: object required: - user_id type: object SendbirdUser: description: User example: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 properties: access_token: type: string created_at: format: int64 type: integer discovery_keys: items: type: string nullable: true type: array has_ever_logged_in: type: boolean is_active: type: boolean is_hide_me_from_friends: type: boolean is_online: type: boolean is_shadow_blocked: type: boolean last_seen_at: format: int64 type: integer locale: type: string metadata: nullable: true properties: {} type: object nickname: nullable: true type: string preferred_languages: items: type: string nullable: true type: array profile_url: default: "" type: string require_auth_for_profile_image: type: boolean user_id: type: string state: enum: - "" - invited - joined nullable: true type: string unread_channel_count: type: integer unread_message_count: type: integer phone_number: type: string is_created: type: boolean required: - user_id type: object SendbirdMember: example: metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 properties: delivered_ts: format: int64 type: integer do_not_disturb: type: boolean friend_discovery_key: items: type: string nullable: true type: array friend_name: nullable: true type: string is_active: type: boolean is_blocked_by_me: type: boolean is_blocking_me: type: boolean is_muted: type: boolean is_online: type: boolean last_seen_at: format: int64 type: integer metadata: nullable: true properties: {} type: object muted_description: type: string muted_end_at: format: int64 type: integer nickname: nullable: true type: string push_enabled: type: boolean push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' profile_url: default: "" type: string require_auth_for_profile_image: type: boolean read_ts: format: int64 type: integer role: enum: - "" - none - operator nullable: true type: string state: enum: - "" - invited - joined nullable: true type: string user_id: type: string required: - user_id type: object SendbirdExtendedMessagePayload: description: Specifies the extended message payload which is used to send a message with a custom message type. properties: custom_view: description: "JSON format you want to embed in message, eq : {\"title\"\ : \"title\", \"image\": \"https://link.to/image.jpg\"}" type: object suggested_replies: description: Specifies an array of suggested replies to be sent with the message. items: type: string type: array type: object SendbirdParentMessageInfo: example: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 properties: custom_type: type: string message: type: string type: type: string ts: format: int64 type: integer user: $ref: '#/components/schemas/SendbirdUser' file: $ref: '#/components/schemas/SendbirdFile' files: items: $ref: '#/components/schemas/SendbirdFile' type: array type: object SendbirdReaction: example: updated_at: 2 user_ids: - user_ids - user_ids key: key properties: key: type: string updated_at: format: int64 type: integer user_ids: items: type: string type: array type: object SendbirdMessageResponse: example: data: data message_events: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true custom_type: custom_type is_reply_to_channel: true created_at: 7 is_removed: true type: type req_id: req_id file: "{}" updated_at: 3 translations: "{}" thread_info: "{}" mentioned_users: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true channel_type: channel_type message_survival_seconds: 9 silent: true parent_message_id: 4 parent_message_info: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 require_auth: true message_id: 1 sorted_metaarray: - value: - value - value key: key - value: - value - value key: key mention_type: mention_type message: message channel_url: channel_url is_op_msg: true message_retention_hour: 6 extended_message_payload: null files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 reactions: - updated_at: 2 user_ids: - user_ids - user_ids key: key - updated_at: 2 user_ids: - user_ids - user_ids key: key user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true properties: require_auth: type: boolean message_survival_seconds: type: integer custom_type: type: string mentioned_users: items: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: array translations: type: object updated_at: format: int64 type: integer is_op_msg: type: boolean reactions: items: $ref: '#/components/schemas/SendbirdReaction' type: array is_removed: type: boolean user: $ref: '#/components/schemas/SendbirdBasicUserInfo' file: type: object files: items: $ref: '#/components/schemas/SendbirdFile' type: array message: type: string data: type: string message_retention_hour: type: integer silent: type: boolean type: type: string created_at: format: int64 type: integer channel_type: type: string req_id: type: string mention_type: type: string channel_url: type: string message_id: format: int64 type: integer sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array thread_info: type: object parent_message_id: type: integer parent_message_info: $ref: '#/components/schemas/SendbirdParentMessageInfo' is_reply_to_channel: type: boolean message_events: $ref: '#/components/schemas/SendbirdMessageResponse_message_events' extended_message_payload: $ref: '#/components/schemas/SendbirdMessageResponse_extended_message_payload' type: object SendbirdGroupChannel: example: metadata: "{}" count_preference: "false" data: data custom_type: custom_type invited_at: 1 disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 is_hidden: true created_at: 0 is_super: true last_message: null user_last_read: 1 is_discoverable: true is_muted: true joined_member_count: 5 freeze: true is_distinct: true members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 2 my_role: "" inviter: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true push_trigger_option: null member_count: 7 message_survival_seconds: 7 has_ai_bot: true cover_url: cover_url is_ephemeral: true is_exclusive: true unread_mention_count: 6 joined_ts: 5 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 7 channel_url: channel_url is_broadcast: true hidden_state: hidden_allow_auto_unhide member_state: invited is_push_enabled: true is_public: true name: name read_receipt: key: 1 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: "{}" is_access_code_required: true ts_message_offset: 1 properties: channel_url: type: string count_preference: enum: - "false" - all - unread_message_count_only - unread_mentioned_count_only type: string cover_url: type: string created_at: format: int64 type: integer created_by: $ref: '#/components/schemas/SendbirdBasicUserInfo' custom_type: type: string data: type: string delivery_receipt: type: object disappearing_message: $ref: '#/components/schemas/SendbirdDisappearingMessage' freeze: type: boolean has_ai_bot: type: boolean has_bot: type: boolean hidden_state: enum: - hidden_allow_auto_unhide - hidden_prevent_auto_unhide - unhidden type: string ignore_profanity_filter: type: boolean invited_at: format: int64 type: integer inviter: $ref: '#/components/schemas/SendbirdBasicUserInfo' is_access_code_required: nullable: true type: boolean is_broadcast: type: boolean is_discoverable: type: boolean is_distinct: type: boolean is_ephemeral: type: boolean is_exclusive: type: boolean is_hidden: type: boolean is_muted: type: boolean is_public: type: boolean is_push_enabled: type: boolean is_super: type: boolean joined_member_count: type: integer joined_ts: format: int64 nullable: true type: integer last_message: $ref: '#/components/schemas/SendbirdGroupChannel_last_message' max_length_message: type: integer member_count: type: integer member_state: enum: - invited - joined - none type: string members: items: $ref: '#/components/schemas/SendbirdMember' type: array message_survival_seconds: type: integer metadata: nullable: true type: object my_role: enum: - "" - none - operator type: string name: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' read_receipt: additionalProperties: format: int64 type: integer type: object sms_fallback: $ref: '#/components/schemas/SendbirdSmsFallback' ts_message_offset: format: int64 type: integer unread_mention_count: type: integer unread_message_count: type: integer user_last_read: format: int64 type: integer required: - channel_url type: object SendbirdGroupChannelDetail: example: data: data custom_type: custom_type channel: cover_url: cover_url data: data custom_type: custom_type max_length_message: 6 name: name created_at: 0 member_count: 1 channel_url: channel_url disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 created_at: 5 is_super: true last_message: data: data message_events: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true custom_type: custom_type is_reply_to_channel: true created_at: 7 is_removed: true type: type req_id: req_id file: "{}" updated_at: 3 translations: "{}" thread_info: "{}" mentioned_users: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true channel_type: channel_type message_survival_seconds: 9 silent: true parent_message_id: 4 parent_message_info: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 require_auth: true message_id: 1 sorted_metaarray: - value: - value - value key: key - value: - value - value key: key mention_type: mention_type message: message channel_url: channel_url is_op_msg: true message_retention_hour: 6 extended_message_payload: null files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 reactions: - updated_at: 2 user_ids: - user_ids - user_ids key: key - updated_at: 2 user_ids: - user_ids - user_ids key: key user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true is_discoverable: true joined_member_count: 7 freeze: true is_distinct: true operators: - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 9 id: 2 member_count: 6 message_survival_seconds: 3 has_ai_bot: true cover_url: cover_url is_ephemeral: true unread_mention_count: 1 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 2 channel_url: channel_url is_broadcast: true is_public: true name: name read_receipt: key: 6 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: key: 5 is_access_code_required: true properties: channel: $ref: '#/components/schemas/SendbirdGroupChannelDetail_channel' channel_url: type: string cover_url: type: string created_at: format: int64 type: integer created_by: $ref: '#/components/schemas/SendbirdBasicUserInfo' custom_type: type: string data: type: string delivery_receipt: additionalProperties: format: int64 type: integer type: object disappearing_message: $ref: '#/components/schemas/SendbirdDisappearingMessage' freeze: type: boolean has_ai_bot: type: boolean has_bot: type: boolean id: type: integer ignore_profanity_filter: type: boolean is_access_code_required: type: boolean is_broadcast: type: boolean is_discoverable: type: boolean is_distinct: type: boolean is_ephemeral: type: boolean is_public: type: boolean is_super: type: boolean joined_member_count: type: integer last_message: $ref: '#/components/schemas/SendbirdMessageResponse' max_length_message: type: integer member_count: type: integer members: items: $ref: '#/components/schemas/SendbirdMember' type: array message_survival_seconds: type: integer name: type: string operators: items: $ref: '#/components/schemas/SendbirdUser' type: array read_receipt: additionalProperties: format: int64 type: integer type: object sms_fallback: $ref: '#/components/schemas/SendbirdSmsFallback' unread_mention_count: type: integer unread_message_count: type: integer required: - channel_url type: object SendbirdOpenChannel: example: cover_url: cover_url metadata: "{}" data: data custom_type: custom_type is_ephemeral: true created_at: 0 is_dynamic_partitioned: true channel_url: channel_url freeze: true participant_count: 1 operators: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true max_length_message: 6 name: name properties: channel_url: type: string cover_url: type: string created_at: format: int64 type: integer custom_type: type: string data: type: string freeze: type: boolean is_dynamic_partitioned: type: boolean is_ephemeral: type: boolean max_length_message: type: integer name: type: string operators: items: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: array participant_count: type: integer metadata: nullable: true type: object required: - channel_url type: object createAGroupChannelResponse: $ref: '#/components/schemas/SendbirdGroupChannelDetail' groupChatListChannelsResponse: example: next: next channels: - metadata: "{}" count_preference: "false" data: data custom_type: custom_type invited_at: 1 disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 is_hidden: true created_at: 0 is_super: true last_message: null user_last_read: 1 is_discoverable: true is_muted: true joined_member_count: 5 freeze: true is_distinct: true members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 2 my_role: "" inviter: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true push_trigger_option: null member_count: 7 message_survival_seconds: 7 has_ai_bot: true cover_url: cover_url is_ephemeral: true is_exclusive: true unread_mention_count: 6 joined_ts: 5 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 7 channel_url: channel_url is_broadcast: true hidden_state: hidden_allow_auto_unhide member_state: invited is_push_enabled: true is_public: true name: name read_receipt: key: 1 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: "{}" is_access_code_required: true ts_message_offset: 1 - metadata: "{}" count_preference: "false" data: data custom_type: custom_type invited_at: 1 disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 is_hidden: true created_at: 0 is_super: true last_message: null user_last_read: 1 is_discoverable: true is_muted: true joined_member_count: 5 freeze: true is_distinct: true members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 2 my_role: "" inviter: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true push_trigger_option: null member_count: 7 message_survival_seconds: 7 has_ai_bot: true cover_url: cover_url is_ephemeral: true is_exclusive: true unread_mention_count: 6 joined_ts: 5 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 7 channel_url: channel_url is_broadcast: true hidden_state: hidden_allow_auto_unhide member_state: invited is_push_enabled: true is_public: true name: name read_receipt: key: 1 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: "{}" is_access_code_required: true ts_message_offset: 1 ts: 4 properties: channels: items: $ref: '#/components/schemas/SendbirdGroupChannel' type: array next: type: string ts: format: int64 type: integer type: object getAGroupChannelResponse: allOf: - $ref: '#/components/schemas/getAGroupChannelResponse_allOf' - $ref: '#/components/schemas/SendbirdGroupChannel' updateAGroupChannelResponse: $ref: '#/components/schemas/SendbirdGroupChannelDetail' acceptAnInvitationResponse: $ref: '#/components/schemas/SendbirdGroupChannelDetail' inviteAsMembersResponse: allOf: - $ref: '#/components/schemas/SendbirdGroupChannel' - $ref: '#/components/schemas/inviteAsMembersResponse_allOf' joinAChannelResponse: $ref: '#/components/schemas/SendbirdGroupChannelDetail' freezeAGroupChannelResponse: $ref: '#/components/schemas/SendbirdGroupChannelDetail' groupChannelListMembersResponse: example: next: next members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 properties: members: items: $ref: '#/components/schemas/SendbirdMember' type: array next: type: string required: - members type: object viewNumberOfMonthlyActiveUsersResponse: example: mau: 0 properties: mau: type: integer type: object viewNumberOfDailyActiveUsersResponse: example: dau: 0 properties: dau: type: integer type: object resetChatHistoryResponse: example: ts_message_offset: 0 properties: ts_message_offset: description: The timestamp in Unix milliseconds indicating the point in time that determines when the user can view messages in a specific channel. Messages sent on or before this timestamp can't be viewed by the user. format: int64 type: integer type: object checkIfMemberResponse: example: is_member: true state: invited properties: is_member: type: boolean state: enum: - invited - joined - none type: string type: object listOperatorsResponse: example: next: next operators: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true properties: next: type: string operators: items: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: array type: object listBotsResponse: example: next: next bots: - show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type bot_style: color: accent_color: accent_color bot_message_color: bot_message_color theme: theme toggle_button_type: toggle_button_type toggle_button_url: toggle_button_url auto_open: true created_at: 6 channel_invitation_preference: 0 first_messages: - data: suggested_replies: - suggested_replies - suggested_replies message: message - data: suggested_replies: - suggested_replies - suggested_replies message: message safeguard: pii_masking: true banned_phrases: - "" - "" message: message enabled: true - show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type bot_style: color: accent_color: accent_color bot_message_color: bot_message_color theme: theme toggle_button_type: toggle_button_type toggle_button_url: toggle_button_url auto_open: true created_at: 6 channel_invitation_preference: 0 first_messages: - data: suggested_replies: - suggested_replies - suggested_replies message: message - data: suggested_replies: - suggested_replies - suggested_replies message: message safeguard: pii_masking: true banned_phrases: - "" - "" message: message enabled: true properties: bots: items: $ref: '#/components/schemas/listBotsResponse_bots_inner' type: array next: type: string type: object viewBotByIdResponse: example: show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_token: bot_token bot_nickname: bot_nickname channel_invitation_preference: 0 properties: bot: $ref: '#/components/schemas/viewBotByIdResponse_bot' bot_callback_url: type: string enable_mark_as_read: type: boolean is_privacy_mode: type: boolean show_member: type: boolean channel_invitation_preference: type: integer type: object updateBotByIdResponse: example: show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_token: bot_token bot_nickname: bot_nickname channel_invitation_preference: 0 properties: bot: $ref: '#/components/schemas/viewBotByIdResponse_bot' bot_callback_url: type: string enable_mark_as_read: type: boolean is_privacy_mode: type: boolean show_member: type: boolean channel_invitation_preference: type: integer type: object sendABotMessageResponse: example: message: data: data message_events: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true custom_type: custom_type is_reply_to_channel: true created_at: 7 is_removed: true type: type req_id: req_id file: "{}" updated_at: 3 translations: "{}" thread_info: "{}" mentioned_users: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true channel_type: channel_type message_survival_seconds: 9 silent: true parent_message_id: 4 parent_message_info: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 require_auth: true message_id: 1 sorted_metaarray: - value: - value - value key: key - value: - value - value key: key mention_type: mention_type message: message channel_url: channel_url is_op_msg: true message_retention_hour: 6 extended_message_payload: null files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 reactions: - updated_at: 2 user_ids: - user_ids - user_ids key: key - updated_at: 2 user_ids: - user_ids - user_ids key: key user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true properties: message: $ref: '#/components/schemas/SendbirdMessageResponse' type: object createABotResponse: example: show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: feedback: true bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type bot_style: color: accent_color: accent_color bot_message_color: bot_message_color theme: theme toggle_button_type: toggle_button_type toggle_button_url: toggle_button_url auto_open: true created_at: 6 channel_invitation_preference: 0 properties: bot: $ref: '#/components/schemas/createABotResponse_bot' bot_callback_url: type: string bot_style: $ref: '#/components/schemas/listBotsResponse_bots_inner_bot_style' channel_invitation_preference: type: integer created_at: format: int64 type: integer enable_mark_as_read: type: boolean is_privacy_mode: type: boolean show_member: type: boolean required: - bot type: object scheduleAnAnnouncementResponse: example: create_channel_options: cover_url: cover_url data: data custom_type: custom_type name: name distinct: true end_at: 6 enable_push: true mark_as_read: true target_at: target_at unique_id: unique_id target_user_count: 2 announcement_group: announcement_group sent_channel_count: 7 sent_user_count: 9 scheduled_at: 2 open_count: 5 message: message_retention_hour: 1 data: data custom_type: custom_type user_id: user_id type: type content: content priority: priority target_channel_count: 3 target_channel_type: target_channel_type completed_at: 0 cease_at: cease_at resume_at: resume_at send_to_frozen_channels: true target_custom_type: target_custom_type create_channel: true open_rate: 5.637376656633329 status: status properties: announcement_group: type: string cease_at: type: string completed_at: format: int64 type: integer create_channel: type: boolean create_channel_options: $ref: '#/components/schemas/scheduleAnAnnouncement_request_create_channel_options' enable_push: type: boolean end_at: format: int64 type: integer mark_as_read: type: boolean message: $ref: '#/components/schemas/scheduleAnAnnouncementResponse_message' open_count: type: integer open_rate: type: number priority: type: string resume_at: type: string scheduled_at: format: int64 type: integer send_to_frozen_channels: type: boolean sent_channel_count: type: integer sent_user_count: type: integer status: type: string target_at: type: string target_channel_count: type: integer target_channel_type: type: string target_custom_type: type: string target_user_count: type: integer unique_id: type: string type: object createAnOpenChannelResponse: $ref: '#/components/schemas/SendbirdOpenChannel' getAnOpenChannelResponse: $ref: '#/components/schemas/SendbirdOpenChannel' updateAnOpenChannelResponse: $ref: '#/components/schemas/SendbirdOpenChannel' listOpenChannelsResponse: example: next: next channels: - cover_url: cover_url metadata: "{}" data: data custom_type: custom_type is_ephemeral: true created_at: 0 is_dynamic_partitioned: true channel_url: channel_url freeze: true participant_count: 1 operators: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true max_length_message: 6 name: name - cover_url: cover_url metadata: "{}" data: data custom_type: custom_type is_ephemeral: true created_at: 0 is_dynamic_partitioned: true channel_url: channel_url freeze: true participant_count: 1 operators: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true max_length_message: 6 name: name ts: 5 properties: channels: items: $ref: '#/components/schemas/SendbirdOpenChannel' type: array next: type: string ts: format: int64 type: integer type: object freezeAnOpenChannelResponse: $ref: '#/components/schemas/SendbirdOpenChannel' listBlockedUsersResponse: example: next: next users: - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 properties: users: items: $ref: '#/components/schemas/SendbirdUser' type: array next: type: string type: object blockAUserResponse: example: next: next users: - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 properties: users: items: $ref: '#/components/schemas/SendbirdUser' type: array next: type: string type: object viewNumberOfUnreadMessagesResponse: example: unread_count: 0 properties: unread_count: type: integer type: object viewAUserResponse: $ref: '#/components/schemas/SendbirdUser' updateAUserResponse: $ref: '#/components/schemas/SendbirdUser' listUsersResponse: example: next: next users: - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 - metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 properties: next: type: string users: items: $ref: '#/components/schemas/SendbirdUser' type: array type: object viewAUserMetadataResponse: type: object updateUserMetadataResponse: type: object chooseAPushNotificationContentTemplateResponse: example: name: name properties: name: type: string type: object createAUserResponse: $ref: '#/components/schemas/SendbirdUser' listRegistrationOrDeviceTokensResponse: example: tokens: - tokens - tokens type: type user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true token: - token - token properties: token: items: type: string type: array tokens: items: type: string type: array type: type: string user: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: object addARegistrationOrDeviceTokenResponse: example: type: type user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true token: token properties: token: type: string type: type: string user: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: object viewPushPreferencesResponse: example: timezone: timezone push_blocked_bot_ids: - push_blocked_bot_ids - push_blocked_bot_ids do_not_disturb: true enable_push_for_replies: true start_min: 2 snooze_end_ts: 1 dnd_schedules: - time_windows: - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 day_of_week: monday - time_windows: - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 day_of_week: monday snooze_enabled: true end_min: 6 push_sound: push_sound start_hour: 5 snooze_start_ts: 5 push_trigger_option: null end_hour: 0 block_push_from_bots: true properties: block_push_from_bots: type: boolean do_not_disturb: type: boolean enable_push_for_replies: type: boolean end_hour: type: integer end_min: type: integer push_blocked_bot_ids: items: type: string type: array push_sound: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' snooze_enabled: type: boolean snooze_end_ts: format: int64 type: integer snooze_start_ts: format: int64 type: integer start_hour: type: integer start_min: type: integer timezone: type: string dnd_schedules: items: $ref: '#/components/schemas/updatePushPreferences_request_dnd_schedules_inner' type: array type: object updatePushPreferencesResponse: example: timezone: timezone push_blocked_bot_ids: - push_blocked_bot_ids - push_blocked_bot_ids do_not_disturb: true enable_push_for_replies: true start_min: 2 snooze_end_ts: 1 dnd_schedules: - time_windows: - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 day_of_week: monday - time_windows: - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 day_of_week: monday snooze_enabled: true end_min: 6 push_sound: push_sound start_hour: 5 snooze_start_ts: 5 push_trigger_option: null end_hour: 0 block_push_from_bots: true properties: block_push_from_bots: type: boolean do_not_disturb: type: boolean enable_push_for_replies: type: boolean end_hour: type: integer end_min: type: integer push_blocked_bot_ids: items: type: string type: array push_sound: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' snooze_enabled: type: boolean snooze_end_ts: format: int64 type: integer snooze_start_ts: format: int64 type: integer start_hour: type: integer start_min: type: integer timezone: type: string dnd_schedules: items: $ref: '#/components/schemas/updatePushPreferences_request_dnd_schedules_inner' type: array type: object removeAllRegistrationOrDeviceTokenResponse: example: user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true token: - token - token properties: token: items: type: string type: array user: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: object createUserTokenResponse: example: expires_at: 0 token: token properties: expires_at: format: int64 type: integer token: type: string type: object viewPushPreferencesForAChannelResponse: example: enable: true push_sound: push_sound push_trigger_option: null properties: enable: type: boolean push_sound: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' type: object updatePushPreferencesForAChannelResponse: example: enable: true push_sound: push_sound push_trigger_option: null properties: enable: type: boolean push_sound: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' type: object viewWhoOwnsARegistrationOrDeviceTokenResponse: items: $ref: '#/components/schemas/markChannelMessagesAsRead_request' type: array removeARegistrationOrDeviceTokenFromAnOwnerResponse: items: $ref: '#/components/schemas/markChannelMessagesAsRead_request' type: array viewNumberOfChannelsWithUnreadMessagesResponse: example: unread_count: 0 properties: unread_count: type: integer type: object listMyGroupChannelsResponse: example: next: next channels: - metadata: "{}" count_preference: "false" data: data custom_type: custom_type invited_at: 1 disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 is_hidden: true created_at: 0 is_super: true last_message: null user_last_read: 1 is_discoverable: true is_muted: true joined_member_count: 5 freeze: true is_distinct: true members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 2 my_role: "" inviter: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true push_trigger_option: null member_count: 7 message_survival_seconds: 7 has_ai_bot: true cover_url: cover_url is_ephemeral: true is_exclusive: true unread_mention_count: 6 joined_ts: 5 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 7 channel_url: channel_url is_broadcast: true hidden_state: hidden_allow_auto_unhide member_state: invited is_push_enabled: true is_public: true name: name read_receipt: key: 1 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: "{}" is_access_code_required: true ts_message_offset: 1 - metadata: "{}" count_preference: "false" data: data custom_type: custom_type invited_at: 1 disappearing_message: is_triggered_by_message_read: true message_survival_seconds: 6 is_hidden: true created_at: 0 is_super: true last_message: null user_last_read: 1 is_discoverable: true is_muted: true joined_member_count: 5 freeze: true is_distinct: true members: - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 - metadata: "{}" is_active: true is_blocking_me: true require_auth_for_profile_image: true role: "" profile_url: profile_url muted_end_at: 2 delivered_ts: 9 do_not_disturb: true is_muted: true read_ts: 4 is_blocked_by_me: true friend_name: friend_name friend_discovery_key: - friend_discovery_key - friend_discovery_key muted_description: muted_description push_enabled: true user_id: user_id nickname: nickname is_online: true push_trigger_option: null state: "" last_seen_at: 3 max_length_message: 2 my_role: "" inviter: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true push_trigger_option: null member_count: 7 message_survival_seconds: 7 has_ai_bot: true cover_url: cover_url is_ephemeral: true is_exclusive: true unread_mention_count: 6 joined_ts: 5 created_by: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true has_bot: true unread_message_count: 7 channel_url: channel_url is_broadcast: true hidden_state: hidden_allow_auto_unhide member_state: invited is_push_enabled: true is_public: true name: name read_receipt: key: 1 sms_fallback: exclude_user_ids: - exclude_user_ids - exclude_user_ids wait_seconds: 1 ignore_profanity_filter: true delivery_receipt: "{}" is_access_code_required: true ts_message_offset: 1 ts: 0 properties: channels: items: $ref: '#/components/schemas/SendbirdGroupChannel' type: array next: type: string ts: format: int64 type: integer type: object removeARegistrationOrDeviceTokenResponse: example: user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true token: token properties: token: type: string user: $ref: '#/components/schemas/SendbirdBasicUserInfo' type: object viewCountPreferenceOfAChannelResponse: example: count_preference: "false" properties: count_preference: enum: - "false" - all - unread_message_count_only - unread_mentioned_count_only type: string type: object updateCountPreferenceOfChannelByUrlResponse: example: count_preference: "false" properties: count_preference: enum: - "false" - all - unread_message_count_only - unread_mentioned_count_only type: string type: object getChannelInvitationPreferenceResponse: example: auto_accept: true properties: auto_accept: type: boolean type: object updateChannelInvitationPreferenceResponse: example: auto_accept: true properties: auto_accept: type: boolean type: object createAChannelMetadataResponse: example: metadata: "{}" include_ts: 0 properties: include_ts: format: int64 type: integer metadata: type: object type: object viewAChannelMetadataResponse: type: object updateAChannelMetadataResponse: type: object listMessagesResponse: example: messages: - data: data message_events: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true custom_type: custom_type is_reply_to_channel: true created_at: 7 is_removed: true type: type req_id: req_id file: "{}" updated_at: 3 translations: "{}" thread_info: "{}" mentioned_users: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true channel_type: channel_type message_survival_seconds: 9 silent: true parent_message_id: 4 parent_message_info: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 require_auth: true message_id: 1 sorted_metaarray: - value: - value - value key: key - value: - value - value key: key mention_type: mention_type message: message channel_url: channel_url is_op_msg: true message_retention_hour: 6 extended_message_payload: null files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 reactions: - updated_at: 2 user_ids: - user_ids - user_ids key: key - updated_at: 2 user_ids: - user_ids - user_ids key: key user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - data: data message_events: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true custom_type: custom_type is_reply_to_channel: true created_at: 7 is_removed: true type: type req_id: req_id file: "{}" updated_at: 3 translations: "{}" thread_info: "{}" mentioned_users: - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true - metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true channel_type: channel_type message_survival_seconds: 9 silent: true parent_message_id: 4 parent_message_info: file: file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 custom_type: custom_type files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 message: message type: type user: metadata: "{}" is_active: true preferred_languages: - preferred_languages - preferred_languages require_auth_for_profile_image: true unread_channel_count: 6 discovery_keys: - discovery_keys - discovery_keys profile_url: profile_url is_created: true created_at: 9 has_ever_logged_in: true locale: locale unread_message_count: 8 access_token: access_token is_shadow_blocked: true user_id: user_id nickname: nickname phone_number: phone_number is_online: true state: "" is_hide_me_from_friends: true last_seen_at: 9 ts: 5 require_auth: true message_id: 1 sorted_metaarray: - value: - value - value key: key - value: - value - value key: key mention_type: mention_type message: message channel_url: channel_url is_op_msg: true message_retention_hour: 6 extended_message_payload: null files: - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 - file_name: file_name file_type: file_type require_auth: true thumbnails: - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 - real_width: 1 width: 1 plain_url: plain_url real_height: 1 url: url height: 7 url: url file_size: 4 reactions: - updated_at: 2 user_ids: - user_ids - user_ids key: key - updated_at: 2 user_ids: - user_ids - user_ids key: key user: metadata: "{}" require_auth_for_profile_image: true is_active: true role: "" user_id: user_id profile_url: profile_url nickname: nickname is_blocked_by_me: true properties: messages: items: $ref: '#/components/schemas/SendbirdMessageResponse' type: array type: object sendTextMessageRequestBody: properties: apns_bundle_id: type: string apple_critical_alert_options: type: object created_at: format: int64 type: integer custom_type: type: string data: type: string dedup_id: type: string include_poll_details: type: boolean is_silent: type: boolean mark_as_read: type: boolean mention_type: enum: - users - channel type: string mentioned_user_ids: items: type: string type: array message: type: string message_type: description: Specifies the type of the message. The value of MESG represents a text message. enum: - MESG type: string poll_id: type: integer push_message_template: $ref: '#/components/schemas/sendTextMessageRequestBody_push_message_template' send_push: type: boolean sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array sound: type: string volume: type: number required: - message - message_type - user_id type: object sendFileMessageRequestBody: properties: apns_bundle_id: type: string apple_critical_alert_options: type: object created_at: format: int64 type: integer custom_type: type: string data: type: string dedup_id: type: string files: $ref: '#/components/schemas/SendbirdFile' is_silent: type: boolean mark_as_read: type: boolean mention_type: enum: - users - channel type: string mentioned_user_ids: items: type: string type: array message_type: description: Specifies the type of the message. The value of FILE represents a file message. enum: - FILE type: string require_auth: description: "Determines whether to require an authentication key to verify\ \ if the file is being properly accessed. Only the user who uploaded the\ \ file or users who are in the channel where the file was uploaded should\ \ have access. The authentication key managed internally by the Sendbird\ \ system is generated every time a user logs in to the Sendbird server\ \ and is valid for three days starting from the last login. If set to\ \ false, Sendbird tries to access a file without any key. To access encrypted\ \ files, such as the files in the Sendbird server which are by default\ \ encrypted, the property must be set to true. (Default: false)\nThe require_auth\ \ parameter only works if the file or URL is managed by Sendbird, which\ \ means that when you upload files using multipart format or provide URLs\ \ that point to the files hosted on the Sendbird server. However, if the\ \ file is hosted on a server or service that is not managed by Sendbird,\ \ access control and authentication for the file should be handled by\ \ the respective server or service hosting the file." type: boolean send_push: type: boolean sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array sound: type: string thumbnail1: type: string thumbnail2: type: string thumbnail3: type: string thumbnails: items: type: string type: array volume: type: number required: - files - message_type - user_id type: object sendAdminMessageRequestBody: properties: apns_bundle_id: type: string custom_type: type: string data: type: string dedup_id: type: string is_silent: type: boolean mention_type: enum: - users - channel type: string mentioned_user_ids: items: type: string type: array message: type: string message_type: description: Specifies the type of the message. The value of ADMM represents an admin message. enum: - ADMM type: string push_message_template: $ref: '#/components/schemas/sendTextMessageRequestBody_push_message_template' send_push: type: boolean sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array required: - message - message_type type: object sendAMessageResponse: $ref: '#/components/schemas/SendbirdMessageResponse' getTotalNumberOfMessagesInAChannelResponse: example: total: 0 properties: total: type: integer type: object updateExtraDataInAMessageResponse: example: sorted_metaarray: - value: - value - value key: key - value: - value - value key: key properties: sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array type: object addExtraDataToAMessageResponse: example: sorted_metaarray: - value: - value - value key: key - value: - value - value key: key properties: sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array type: object getAMessageResponse: $ref: '#/components/schemas/SendbirdMessageResponse' updateAMessageResponse: $ref: '#/components/schemas/SendbirdMessageResponse' emptyObjectResponse: properties: {} type: object MigrateMessagesRequest: example: rewind_read_ts: true messages: - null - null update_read_ts: true properties: messages: items: $ref: '#/components/schemas/MigrateMessagesRequest_messages_inner' type: array update_read_ts: type: boolean rewind_read_ts: type: boolean type: object MigrateMessagesTextMessageRequest: properties: user_id: type: string message_type: enum: - MESG type: string message: type: string timestamp: format: int64 type: integer custom_type: maxLength: 128 type: string mentioned_user_ids: items: type: string type: array data: type: string dedup_id: type: string sorted_metaarray: items: type: object type: array required: - message - message_type - timestamp - user_id type: object MigrateMessagesFileMessageRequest: properties: user_id: type: string message_type: enum: - FILE type: string url: type: string timestamp: format: int64 type: integer file_name: type: string file_size: type: integer file_type: type: string thumbnails: items: $ref: '#/components/schemas/MigrateMessagesFileMessageRequest_thumbnails_inner' type: array require_auth: type: boolean custom_type: maxLength: 128 type: string custom_field: type: string mentioned_user_ids: items: type: string type: array dedup_id: type: string sorted_metaarray: items: type: object type: array required: - message_type - timestamp - url - user_id type: object MigrateMessagesAdminMessageRequest: properties: message_type: enum: - ADMM type: string message: type: string timestamp: format: int64 type: integer custom_type: maxLength: 128 type: string is_silent: type: boolean mentioned_user_ids: items: type: string type: array data: type: string dedup_id: type: string sorted_metaarray: items: type: object type: array required: - message - message_type - timestamp type: object SendABotMessageRequest: properties: message_type: description: "Specifies the type of message to send. MESG for text message,\ \ FILE for file message." enum: - MESG - FILE type: string channel_url: description: Specifies the URL of the channel to send the message to. type: string message: description: Specifies the content of the message. * This property is required when message_type is MESG. type: string mentioned: description: '* This property is available when message_type is MESG.' items: type: string type: array extended_message_payload: $ref: '#/components/schemas/SendbirdExtendedMessagePayload' file: description: "When sending a single file with a message, specifies the data\ \ of the file to upload to the Sendbird server in raw binary format. When\ \ sending a request containing a file, change the value of the content-type\ \ header to multipart/form-data;boundary={your_unique_boundary_string}\ \ in the request. * This property is required when message_type is FILE.\ \ * This doesn't allow a converted base64-encoded string from a file as\ \ its value." format: binary type: string x-ts-type: FileCompat require_auth: description: "Determines whether to require an authentication key to verify\ \ if the file is being properly accessed. Only the user who uploaded the\ \ file or users who are in the channel where the file was uploaded should\ \ have access. The authentication key managed internally by the Sendbird\ \ system is generated every time a user logs in to the Sendbird server\ \ and is valid for three days starting from the last login. If set to\ \ false, Sendbird tries to access a file without any key. To access encrypted\ \ files, such as the files in the Sendbird server which are by default\ \ encrypted, the property must be set to true. (Default: false) The require_auth\ \ parameter only works if the file or URL is managed by Sendbird, which\ \ means that when you upload files using multipart format or provide URLs\ \ that point to the files hosted on the Sendbird server. However, if the\ \ file is hosted on a server or service that is not managed by Sendbird,\ \ access control and authentication for the file should be handled by\ \ the respective server or service hosting the file. * This property is\ \ available when message_type is FILE." type: boolean mention_type: description: '* This property is available when message_type is FILE.' enum: - users - channel type: string mentioned_user_ids: description: '* This property is available when message_type is FILE.' items: type: string type: array is_silent: description: '* This property is available when message_type is FILE.' type: boolean sorted_metaarray: $ref: '#/components/schemas/SendbirdSortedMetaarray' apns_bundle_id: description: '* This property is available when message_type is FILE.' type: string apple_critical_alert_options: description: '* This property is available when message_type is FILE.' type: object sound: description: '* This property is available when message_type is FILE.' type: string volume: description: '* This property is available when message_type is FILE.' type: number created_at: format: int64 type: integer custom_type: type: string data: type: string dedup_id: type: string mark_as_read: type: boolean send_push: type: boolean required: - channel_url - message_type type: object scheduleAnAnnouncement_request_create_channel_options: example: cover_url: cover_url data: data custom_type: custom_type name: name distinct: true properties: cover_url: type: string custom_type: type: string data: type: string distinct: type: boolean name: type: string type: object scheduleAnAnnouncement_request_message: properties: content: type: string custom_type: type: string data: type: string type: type: string user_id: type: string type: object scheduleAnAnnouncement_request: properties: announcement_group: type: string assign_sender_as_channel_inviter: type: boolean cease_at: type: string create_channel: type: boolean create_channel_options: $ref: '#/components/schemas/scheduleAnAnnouncement_request_create_channel_options' enable_push: type: boolean end_at: format: int64 type: integer keep_channel_hidden_for_sender: type: boolean mark_as_read: type: boolean message: $ref: '#/components/schemas/scheduleAnAnnouncement_request_message' resume_at: type: string scheduled_at: format: int64 type: integer send_to_frozen_channels: type: boolean target_at: type: string target_channel_type: type: string target_custom_type: type: string target_list: items: type: string type: array unique_id: type: string type: object createAGroupChannel_request: properties: access_code: nullable: true type: string block_sdk_user_channel_join: nullable: true type: boolean channel_url: type: string cover_file: description: Uploads a file for the channel cover image. format: binary type: string cover_url: type: string custom_type: type: string data: type: string hidden_status: description: "Specifies one or more key-value pair items which set the channel's\ \ hidden status for each user. The key should be a user_id and the value\ \ should be their hidden status. Acceptable values are limited to the\ \ following:
- unhidden (default): the channel is included in when\ \ retrieving a list of group channels.
- hidden_allow_auto_unhide:\ \ the channel automatically gets unhidden when receiving a new message.- hidden_prevent_auto_unhide: the channel keeps hidden though receiving\ \ a new message." type: object invitation_status: description: "Specifies one or more key-value pair items which set the invitation\ \ status of each user invited to the channel. The key should be a user_id\ \ and the value should be their joining status. Acceptable values are\ \ joined, invited_by_friend, and invited_by_non_friend. (Default: joined)" type: object inviter_id: type: string is_distinct: type: boolean is_ephemeral: type: boolean is_public: type: boolean is_super: type: boolean name: type: string operator_ids: items: type: string type: array strict: type: boolean user_ids: items: type: string type: array users: items: $ref: '#/components/schemas/SendbirdUser' type: array required: - users type: object updateAGroupChannel_request: properties: access_code: nullable: true type: string cover_file: format: binary type: string cover_url: type: string custom_type: type: string data: type: string is_distinct: type: boolean is_public: type: boolean is_super: type: boolean name: type: string operator_ids: items: type: string type: array type: object acceptAnInvitation_request: properties: access_code: nullable: true type: string user_id: type: string required: - user_id type: object freezeAGroupChannel_request: properties: freeze: type: boolean required: - freeze type: object inviteAsMembers_request: properties: hidden_status: description: "Specifies one or more key-value pair items which set the channel's\ \ hidden status for each user. The key should be a user_id and the value\ \ should be their hidden status. Acceptable values are limited to the\ \ following:
- unhidden (default): the channel is included in when\ \ retrieving a list of group channels.
- hidden_allow_auto_unhide:\ \ the channel automatically gets unhidden when receiving a new message.- hidden_prevent_auto_unhide: the channel keeps hidden though receiving\ \ a new message." type: object invitation_status: description: "Specifies one or more key-value pair items which set the invitation\ \ status of each user invited to the channel. The key should be a user_id\ \ and the value should be their joining status. Acceptable values are\ \ joined, invited_by_friend, and invited_by_non_friend. (Default: joined)" type: object inviter_id: type: string user_ids: items: type: string type: array required: - user_ids type: object hideAChannel_request: properties: allow_auto_unhide: description: "Determines the state and operating behavior of the channel\ \ in a channel list. If set to true, the channel is hidden from a user's\ \ channel list but it will reappear when there is a new message. If set\ \ to false, the channel is hidden from a user's channel list and it will\ \ remain hidden unless the value of the property changes to true through\ \ [unarchiving](#2-unhide-or-unarchive-a-channel). (Default: true)
When a user who has hidden the channel sends a message in that\ \ channel through the [Platform API](/docs/chat/v3/platform-api/guides/messages#2-send-a-message),\ \ the `allow_auto_unhide` property is changed to true, making the channel\ \ reappear in the channel list." type: boolean hide_previous_messages: description: "When the channel gets appeared back in either the list of\ \ the user in the user_id property or the lists of all channel members\ \ (should_hide_all = true), determines whether to conceal the messages\ \ sent and received before hiding or archiving the channel. (Default:\ \ false)

This property is effective only when the value of\ \ the [global application settings resource](/docs/chat/v3/platform-api/guides/global-application-settings#-3-resource-representation)'s\ \ display_past_message property is false." type: boolean should_hide_all: description: "Determines whether to make the specified channel disappear\ \ from the channel list of all channel members. When this is set to true,\ \ the user_id property isn't effective and doesn't need to be specified\ \ in the request. (Default: false)" type: boolean user_id: description: "Specifies the unique ID of the user whose channel will be\ \ hidden or archived from the list. This property is required when should_hide_all\ \ is set to false, which is the default value. However, when should_hide_all\ \ is set to true, this property isn't effective." type: string required: - user_id type: object joinAChannel_request: properties: user_id: description: Specifies the unique ID of the user to join the public group channel. type: string access_code: description: "This property should be specified if the public group channel\ \ to join requires an access code to users, which means that the is_access_code_required\ \ property of the channel resource is true." nullable: true type: string required: - user_id type: object leaveAChannel_request: properties: user_ids: description: Specifies an array of one or more IDs of the users to leave the channel. items: type: string type: array should_leave_all: description: "Determines whether to make all members leave the channel.\ \ (Default: false)" type: boolean should_remove_operator_status: description: "Determines whether to remove a user from the channel's operator\ \ list if the user who is leaving the channel is an operator. (Default:\ \ false)" type: boolean reason: description: "Specifies the reason for leaving a channel. Acceptable values\ \ are admin_removed, admin_deleted, admin_deactivated, left_by_own_choice,\ \ and channel_operator_removed." enum: - LEFT_BY_OWN_CHOICE - CHANNEL_OPERATOR_REMOVED - ADMIN_REMOVED - ADMIN_DELETED - ADMIN_DEACTIVATED type: string required: - user_ids type: object registerOperatorsToAGroupChannel_request: properties: operator_ids: items: type: string type: array required: - operator_ids type: object resetChatHistory_request: properties: reset_all: type: boolean user_id: type: string required: - user_id type: object startTypingIndicators_request: properties: user_ids: items: type: string type: array required: - user_ids type: object createAnOpenChannel_request: properties: is_dynamic_partitioned: type: boolean channel_url: type: string cover_file: format: binary type: string cover_url: type: string custom_type: type: string data: type: string is_ephemeral: type: boolean name: type: string operator_ids: items: type: string type: array type: object updateAnOpenChannel_request: properties: cover_file: format: binary type: string cover_url: type: string custom_type: type: string data: type: string name: type: string operator_ids: items: type: string type: array type: object freezeAnOpenChannel_request: properties: freeze: description: "Determines whether to freeze the channel. (Default: true)" type: boolean required: - freeze type: object createABot_request: properties: bot_callback_url: type: string bot_nickname: description: Specifies the bot's nickname. The length is limited to 80 characters. type: string bot_profile_url: type: string bot_type: type: string bot_userid: description: Specifies the unique ID of a bot. The length is limited to 80 characters. type: string is_privacy_mode: description: "Determines whether to forward all or specific messages to\ \ the bot in channels where the bot is a member. If set to true, only\ \ messages starting with a \"/\" or mentioning the bot_userid are forwarded\ \ to the bot. If set to false, all messages are forwarded. This property\ \ can help protect the privacy of users' chat logs by configuring the\ \ bot to only receive messages addressed to the bot." type: boolean channel_invitation_preference: type: integer enable_mark_as_read: type: boolean show_member: type: boolean required: - bot_callback_url - bot_nickname - bot_profile_url - bot_type - bot_userid - is_privacy_mode type: object updateBotByIdData: properties: bot_userid: description: Specifies the ID of the bot to update. type: string bot_nickname: description: Specifies the bot's nickname. The length is limited to 80 characters. type: string bot_profile_url: description: "Specifies the URL of the bot's profile image. The size is\ \ limited to 2,048 characters." type: string bot_callback_url: description: "Specifies the server URL where bot is located to receive all\ \ events, requests, and data forwarded from an application. For security\ \ reasons, it is highly recommended that you use an SSL server. The length\ \ is limited to 1,024 characters." type: string is_privacy_mode: description: "In the channels of where the bot is a member, determines whether\ \ to only forward the messages with the specific conditions to the bot\ \ or forword all messages to the bot, for privacy concerns. If set to\ \ true, only messages that start with a '/' or mention the bot_userid\ \ are forwarded to the bot. If set to false, all messages are forwarded." type: boolean enable_mark_as_read: description: "Determines whether to mark the bot's message as read upon\ \ sending it. (Default: true)" type: boolean show_member: description: "Determines whether to include information about the members\ \ of each channel in a callback response. (Default: false)" type: boolean channel_invitation_preference: description: "Determines whether the bot automatically joins the channel\ \ when invited or joins the channel after manually accepting an invitation\ \ using the API. If set to 0, it automatically joins the channel. If set\ \ to 1, the latter takes place. (Default: 0)" type: integer required: - bot_callback_url - bot_nickname - bot_profile_url - bot_userid - channel_invitation_preference - enable_mark_as_read - is_privacy_mode - show_member title: updateBotByIdData type: object joinChannels_request: properties: channel_urls: items: type: string type: array required: - channel_urls type: object createAUser_request: properties: discovery_keys: items: type: string nullable: true type: array issue_access_token: type: boolean metadata: nullable: true type: object nickname: nullable: true type: string profile_file: description: "Specifies the file of the user's profile image. An acceptable\ \ image is limited to a JPG, JPEG, or PNG file of up to 5 MB. When passing\ \ a file, you should send a multipart request. If the profile_file property\ \ is specified, the profile_url property is not required." format: binary type: string profile_url: default: "" type: string user_id: type: string required: - nickname - profile_url - user_id type: object markAllMessagesAsRead_request: properties: channel_urls: description: "Specifies an array of one or more group channel URLs where\ \ unread messages need to be marked as read. If not specified, unread\ \ messages in all group channels a user joined are marked as read." items: type: string type: array type: object blockAUser_request: properties: target_id: type: string user_ids: description: "Specifies an array of IDs of all the users to block. This\ \ property can be used interchangeably with the users[] property when\ \ blocking multiple users at once." items: type: string type: array type: object leaveMyGroupChannels_request: properties: custom_type: type: string type: object updateAUser_request: properties: discovery_keys: items: type: string nullable: true type: array is_active: type: boolean issue_access_token: type: boolean last_seen_at: format: int64 type: integer leave_all_when_deactivated: type: boolean nickname: nullable: true type: string preferred_languages: items: type: string nullable: true type: array profile_file: format: binary type: string profile_url: nullable: true type: string type: object chooseAPushNotificationContentTemplate_request: properties: name: description: "Specifies the name of a template used for notifications. Acceptable\ \ values are default and alternative. (Default: default)" enum: - default - alternative type: string required: - name type: object addARegistrationOrDeviceToken_request: properties: apns_device_token: type: string gcm_reg_token: type: string huawei_device_token: type: string type: object updatePushPreferences_request_dnd_schedules_inner_time_windows_inner: example: end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 properties: start_hour: type: integer start_min: type: integer end_hour: type: integer end_min: type: integer type: object updatePushPreferences_request_dnd_schedules_inner: example: time_windows: - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 - end_min: 2 start_hour: 7 end_hour: 3 start_min: 9 day_of_week: monday properties: day_of_week: enum: - monday - tuesday - wednesday - thursday - friday - saturday - sunday type: string time_windows: items: $ref: '#/components/schemas/updatePushPreferences_request_dnd_schedules_inner_time_windows_inner' type: array type: object updatePushPreferences_request: properties: block_push_from_bots: type: boolean do_not_disturb: type: boolean enable_push_for_replies: type: boolean end_hour: type: integer end_min: type: integer push_blocked_bot_ids: items: type: string type: array push_sound: type: string push_trigger_option: $ref: '#/components/schemas/SendbirdPushTriggerOption' snooze_enabled: type: boolean snooze_end_ts: format: int64 type: integer snooze_start_ts: format: int64 type: integer start_hour: type: integer start_min: type: integer timezone: type: string dnd_schedules: items: $ref: '#/components/schemas/updatePushPreferences_request_dnd_schedules_inner' type: array type: object createUserToken_request: properties: expires_at: format: int64 type: integer type: object updatePushPreferencesForAChannel_request: properties: push_trigger_option: description: "The type of notifications trigger applies to group channels\ \ when a user is disconnected from Sendbird server. Acceptable values\ \ are the following: - default (default): Indicates that a user's notifications\ \ trigger setting applies to the specified channel. - all: Indicates that\ \ a user receives notifications for all new messages. - mention_only:\ \ Indicates that a user only receives notifications for mentioned messages.\ \ - off: Indicates that a user doesn't receive any notifications." enum: - default - all - mention_only - "false" type: string push_sound: type: string required: - push_trigger_option type: object updateUserMetadata_request: properties: metadata: nullable: true type: object upsert: nullable: true type: boolean required: - metadata type: object createUserMetadata_request: properties: metadata: type: object required: - metadata type: object updateSpecificUserMetadata_request: properties: value: type: string required: - value type: object updateCountPreferenceOfAChannel_request: properties: count_preference: enum: - "false" - all - unread_message_count_only - unread_mentioned_count_only type: string required: - count_preference type: object updateChannelInvitationPreference_request: properties: auto_accept: type: boolean type: object updateAChannelMetadata_request: properties: metadata: nullable: true type: object upsert: type: boolean required: - metadata type: object createAChannelMetadata_request: properties: include_ts: type: boolean metadata: nullable: true type: object required: - metadata type: object markChannelMessagesAsRead_request: example: user_id: user_id properties: user_id: type: string type: object sendAMessage_request_push_message_template_oneOf: properties: title: description: "Specifies the title of the custom push notification template.\ \ You can customize the title using the variables sender_name and message,\ \ which can be later replaced with corresponding real values when the\ \ template is sent out as a notification request to FCM, HMS, or APNs." type: string body: description: "Specifies the body of the custom push notification template.\ \ You can customize the body using the variables sender_name and message,\ \ which can be later replaced with corresponding real values when the\ \ template is sent out as a notification request to FCM, HMS, or APNs.\n\ If not specified, the body by default contains the message content inside\ \ the message property." type: string type: object sendAMessage_request_push_message_template: description: "Specifies the content of a push notification customized for the\ \ message. This property only applies to group channels.\nTo choose from a\ \ push notification content template within your Sendbird application, specify\ \ a string value of default or alternative.\nTo create a new push notification\ \ content tailored to the message being sent, use the properties listed below\ \ to specify its title and body in a nested object format.\n* This property\ \ overrides the application's default push notification content template or\ \ the preference chosen by the user. * This property is available when message_type\ \ is MESG or ADMM." oneOf: - type: string - $ref: '#/components/schemas/sendAMessage_request_push_message_template_oneOf' type: string sendAMessage_request: properties: message_type: enum: - MESG - ADMM - FILE type: string user_id: type: string message: description: |- Specifies the content of the message. * This property is required when message_type is MESG or ADMM. type: string push_message_template: $ref: '#/components/schemas/sendAMessage_request_push_message_template' poll_id: description: |- Specifies the ID of the poll to be associated with the message. * This property is only available for group channels and message_type is MESG. type: integer files: $ref: '#/components/schemas/SendbirdFile' require_auth: description: "Determines whether to require an authentication key to verify\ \ if the file is being properly accessed. Only the user who uploaded the\ \ file or users who are in the channel where the file was uploaded should\ \ have access. The authentication key managed internally by the Sendbird\ \ system is generated every time a user logs in to the Sendbird server\ \ and is valid for three days starting from the last login. If set to\ \ false, Sendbird tries to access a file without any key. To access encrypted\ \ files, such as the files in the Sendbird server which are by default\ \ encrypted, the property must be set to true. (Default: false)\nThe require_auth\ \ parameter only works if the file or URL is managed by Sendbird, which\ \ means that when you upload files using multipart format or provide URLs\ \ that point to the files hosted on the Sendbird server. However, if the\ \ file is hosted on a server or service that is not managed by Sendbird,\ \ access control and authentication for the file should be handled by\ \ the respective server or service hosting the file." type: boolean thumbnail1: description: |- Specifies the URL of the thumbnail of the file. * This property is available when message_type is FILE. type: string thumbnail2: description: |- Specifies the URL of the thumbnail of the file. * This property is available when message_type is FILE. type: string thumbnail3: description: |- Specifies the URL of the thumbnail of the file. * This property is available when message_type is FILE. type: string thumbnails: description: |- Specifies the URL of the thumbnail of the file. * This property is available when message_type is FILE. items: type: string type: array apns_bundle_id: type: string apple_critical_alert_options: type: object created_at: format: int64 type: integer custom_type: type: string data: type: string dedup_id: type: string include_poll_details: type: boolean is_silent: type: boolean mark_as_read: type: boolean mention_type: enum: - users - channel type: string mentioned_user_ids: items: type: string type: array send_push: type: boolean sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array sound: type: string volume: type: number required: - message_type - user_id type: object updateExtraDataInAMessage_request: properties: mode: type: string sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array upsert: type: boolean type: object addExtraDataToAMessage_request: properties: sorted_metaarray: items: $ref: '#/components/schemas/SendbirdSortedMetaarray_inner' type: array required: - sorted_metaarray type: object updateAMessage_request: properties: custom_type: type: string data: type: string mention_type: type: string mentioned_user_ids: items: type: string type: array message: type: string url: type: string message_type: enum: - MESG - ADMM - FILE type: string required: - message_type type: object SendbirdSortedMetaarray_inner: example: value: - value - value key: key properties: key: type: string value: items: type: string type: array type: object SendbirdMessageResponse_message_events: example: update_last_message: true update_mention_count: true send_push_notification: send_push_notification update_unread_count: true nullable: true properties: send_push_notification: type: string update_unread_count: type: boolean update_mention_count: type: boolean update_last_message: type: boolean type: object SendbirdMessageResponse_extended_message_payload: oneOf: - $ref: '#/components/schemas/SendbirdExtendedMessagePayload' SendbirdGroupChannel_last_message: oneOf: - $ref: '#/components/schemas/SendbirdMessageResponse' SendbirdGroupChannelDetail_channel: example: cover_url: cover_url data: data custom_type: custom_type max_length_message: 6 name: name created_at: 0 member_count: 1 channel_url: channel_url properties: channel_url: type: string cover_url: type: string created_at: format: int64 type: integer custom_type: type: string data: type: string max_length_message: type: integer member_count: type: integer name: type: string type: object getAGroupChannelResponse_allOf: properties: channel: $ref: '#/components/schemas/SendbirdGroupChannelDetail_channel' type: object inviteAsMembersResponse_allOf: properties: operators: items: $ref: '#/components/schemas/SendbirdUser' type: array type: object listBotsResponse_bots_inner_bot: example: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type properties: ai_agent_type: type: string bot_metadata: properties: {} type: object bot_nickname: type: string bot_profile_url: type: string bot_require_auth_for_profile_image: type: boolean bot_token: type: string bot_type: type: string bot_userid: type: string required: - bot_userid type: object listBotsResponse_bots_inner_bot_style_color: example: accent_color: accent_color bot_message_color: bot_message_color theme: theme properties: accent_color: type: string bot_message_color: type: string theme: type: string type: object listBotsResponse_bots_inner_bot_style: example: color: accent_color: accent_color bot_message_color: bot_message_color theme: theme toggle_button_type: toggle_button_type toggle_button_url: toggle_button_url auto_open: true properties: auto_open: type: boolean color: $ref: '#/components/schemas/listBotsResponse_bots_inner_bot_style_color' toggle_button_type: nullable: true type: string toggle_button_url: nullable: true type: string type: object listBotsResponse_bots_inner_first_messages_inner_data: example: suggested_replies: - suggested_replies - suggested_replies properties: suggested_replies: items: type: string type: array type: object listBotsResponse_bots_inner_first_messages_inner: example: data: suggested_replies: - suggested_replies - suggested_replies message: message properties: data: $ref: '#/components/schemas/listBotsResponse_bots_inner_first_messages_inner_data' message: type: string type: object listBotsResponse_bots_inner_safeguard: example: pii_masking: true banned_phrases: - "" - "" message: message enabled: true properties: banned_phrases: items: {} type: array enabled: type: boolean message: type: string pii_masking: type: boolean type: object listBotsResponse_bots_inner: example: show_member: true enable_mark_as_read: true is_privacy_mode: true bot_callback_url: bot_callback_url bot: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type bot_style: color: accent_color: accent_color bot_message_color: bot_message_color theme: theme toggle_button_type: toggle_button_type toggle_button_url: toggle_button_url auto_open: true created_at: 6 channel_invitation_preference: 0 first_messages: - data: suggested_replies: - suggested_replies - suggested_replies message: message - data: suggested_replies: - suggested_replies - suggested_replies message: message safeguard: pii_masking: true banned_phrases: - "" - "" message: message enabled: true properties: bot: $ref: '#/components/schemas/listBotsResponse_bots_inner_bot' bot_callback_url: type: string bot_style: $ref: '#/components/schemas/listBotsResponse_bots_inner_bot_style' channel_invitation_preference: type: integer created_at: format: int64 type: integer enable_mark_as_read: type: boolean first_messages: items: $ref: '#/components/schemas/listBotsResponse_bots_inner_first_messages_inner' type: array is_privacy_mode: type: boolean safeguard: $ref: '#/components/schemas/listBotsResponse_bots_inner_safeguard' show_member: type: boolean type: object viewBotByIdResponse_bot: example: bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_token: bot_token bot_nickname: bot_nickname properties: bot_token: type: string bot_profile_url: type: string bot_userid: type: string bot_nickname: type: string bot_type: type: string bot_metadata: type: object type: object createABotResponse_bot: example: feedback: true bot_profile_url: bot_profile_url bot_userid: bot_userid bot_metadata: "{}" bot_type: bot_type bot_nickname: bot_nickname bot_token: bot_token bot_require_auth_for_profile_image: true ai_agent_type: ai_agent_type properties: ai_agent_type: type: string bot_metadata: properties: {} type: object bot_nickname: type: string bot_profile_url: type: string bot_require_auth_for_profile_image: type: boolean bot_token: type: string bot_type: type: string bot_userid: type: string feedback: type: boolean required: - bot_userid type: object scheduleAnAnnouncementResponse_message: example: message_retention_hour: 1 data: data custom_type: custom_type user_id: user_id type: type content: content properties: content: type: string custom_type: type: string data: type: string message_retention_hour: type: integer type: type: string user_id: type: string type: object sendTextMessageRequestBody_push_message_template: description: "Specifies the content of a push notification customized for the\ \ message. This property only applies to group channels.\nTo choose from a\ \ push notification content template within your Sendbird application, specify\ \ a string value of default or alternative.\nTo create a new push notification\ \ content tailored to the message being sent, use the properties listed below\ \ to specify its title and body in a nested object format.\n* This property\ \ overrides the application's default push notification content template or\ \ the preference chosen by the user." oneOf: - type: string - $ref: '#/components/schemas/sendAMessage_request_push_message_template_oneOf' type: string MigrateMessagesRequest_messages_inner: oneOf: - $ref: '#/components/schemas/MigrateMessagesTextMessageRequest' - $ref: '#/components/schemas/MigrateMessagesFileMessageRequest' - $ref: '#/components/schemas/MigrateMessagesAdminMessageRequest' MigrateMessagesFileMessageRequest_thumbnails_inner: oneOf: - type: string - type: object x-group-parameters: true