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