openapi: 3.2.0 info: title: Stream Product:chat API version: v228.3.0 servers: - description: Stream API url: https://chat.stream-io-api.com security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] tags: - name: product:chat paths: /app: get: description: This Method returns the application settings operationId: GetApp responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetApplicationResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get App Settings tags: - product:chat patch: description: This Method updates one or more application settings operationId: UpdateApp requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update App Settings tags: - product:chat /blocklists: get: description: Returns all available block lists operationId: ListBlockLists parameters: - in: query name: team schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List block lists tags: - product:chat post: description: Creates a new application blocklist, once created the blocklist can be used by any channel type operationId: CreateBlockList requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBlockListRequest' description: Block list required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create block list tags: - product:chat /blocklists/{name}: delete: description: Deletes previously created application blocklist operationId: DeleteBlockList parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team schema: type: string x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete block list tags: - product:chat get: description: Returns block list by given name operationId: GetBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: '001' - in: query name: team schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetBlockListResponse' description: GetBlockListResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get block list tags: - product:chat put: description: Updates contents of the block list operationId: UpdateBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListRequest' description: Update block list required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update block list tags: - product:chat /campaigns: post: description: Creates a campaign operationId: CreateCampaign requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create campaign tags: - product:chat /campaigns/{id}: delete: operationId: DeleteCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete campaign tags: - product:chat get: description: Get campaign by ID. operationId: GetCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: '001' - in: query name: prev schema: description: Token for the previous page of campaign users title: Previous Users Page type: string writeOnly: true x-stream-index: '002.001' - in: query name: next schema: description: Token for the next page of campaign users title: Next Users Page type: string writeOnly: true x-stream-index: '002.002' - in: query name: limit schema: description: 'Maximum number of campaign users to return in a single request (max: 1000)' format: int32 maximum: 1000 minimum: 0 title: Users Limit type: integer writeOnly: true x-stream-index: '002.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get campaign tags: - product:chat put: description: Updates a campaign operationId: UpdateCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update campaign tags: - product:chat /campaigns/{id}/start: post: description: Starts or schedules a campaign operationId: StartCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start/schedule campaign tags: - product:chat /campaigns/{id}/stop: post: description: Stops a campaign operationId: StopCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '201': content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop campaign tags: - product:chat /campaigns/query: post: description: Query campaigns with filter query operationId: QueryCampaigns requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query campaigns tags: - product:chat /channels: post: description: Query channels with filter query operationId: QueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryChannelsRequest' description: Query Channels Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryChannelsResponse' description: Channels list '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query channels tags: - product:chat /channels/{type}/{id}: delete: description: 'Deletes channel Sends events: - channel.deleted' operationId: DeleteChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' - in: query name: hard_delete schema: type: boolean x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel tags: - product:chat patch: description: 'Updates certain fields of the channel Sends events: - channel.updated' operationId: UpdateChannelPartial parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialRequest' description: UpdateChannelPartialRequest required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update channel tags: - product:chat post: description: 'Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new' operationId: UpdateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 016.002.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 016.002.002 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelRequest' description: Channel update request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel tags: - product:chat /channels/{type}/{id}/draft: delete: description: 'Deletes a draft Sends events: - draft.deleted' operationId: DeleteDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete draft tags: - product:chat get: description: Get a draft operationId: GetDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetDraftResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get draft tags: - product:chat /channels/{type}/{id}/event: post: description: Sends event to the channel operationId: SendEvent parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendEventRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/EventResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send event tags: - product:chat /channels/{type}/{id}/file: delete: description: Deletes previously uploaded file operationId: DeleteChannelFile parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: '002.002' - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:chat post: description: Uploads file operationId: UploadChannelFile parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001.002' requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelFileRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UploadChannelFileResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:chat /channels/{type}/{id}/hide: post: description: 'Marks channel as hidden for current user Sends events: - channel.hidden' operationId: HideChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/HideChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/HideChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Hide channel tags: - product:chat /channels/{type}/{id}/image: delete: description: Deletes previously uploaded image operationId: DeleteChannelImage parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: '002.002' - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:chat post: description: Uploads image operationId: UploadChannelImage parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 001.001.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 001.001.002 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UploadChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:chat /channels/{type}/{id}/member: patch: description: ' ' operationId: UpdateMemberPartial parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '003.002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '005.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially channel member update tags: - product:chat /channels/{type}/{id}/message: post: description: 'Sends new message to the specified channel Sends events: - message.new - message.updated' operationId: SendMessage parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '009.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '009.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send new message tags: - product:chat /channels/{type}/{id}/messages: get: description: Returns list messages found by IDs operationId: GetManyMessages parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: ids required: true schema: description: List of comma-separated IDs items: type: string maxItems: 50 minItems: 1 title: IDs type: array writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetManyMessagesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get many messages tags: - product:chat /channels/{type}/{id}/query: post: description: 'This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start' operationId: GetOrCreateChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' - in: path name: id required: true schema: description: Channel ID (maximum length of 64 characters) title: ID type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/{type}/{id}/read: post: description: 'Marks channel as read up to the specific message Sends events: - message.read' operationId: MarkRead parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '003.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkReadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark read tags: - product:chat /channels/{type}/{id}/show: post: description: 'Shows previously hidden channel Sends events: - channel.visible' operationId: ShowChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/ShowChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ShowChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Show channel tags: - product:chat /channels/{type}/{id}/truncate: post: description: 'Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members. Sends events: - channel.truncated' operationId: TruncateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/TruncateChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/TruncateChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Truncate channel tags: - product:chat /channels/{type}/{id}/unread: post: description: Marks channel as unread from a specific message operationId: MarkUnread parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkUnreadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark unread tags: - product:chat /channels/{type}/query: post: description: 'This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start' operationId: GetOrCreateDistinctChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/batch: put: description: 'Update channels in batch Sends events: - channel.frozen - channel.hidden - channel.unfrozen - channel.updated - channel.visible - member.added - member.removed - member.updated' operationId: ChannelBatchUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channels in batch tags: - product:chat /channels/delete: post: description: 'Allows to delete several channels at once asynchronously Sends events: - channel.deleted' operationId: DeleteChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deletes channels asynchronously tags: - product:chat /channels/delivered: post: description: Mark the status of a channel message delivered. operationId: MarkDelivered parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channel message delivery status tags: - product:chat /channels/grouped: post: description: Query channels grouped into predefined buckets. Only available for enterprise apps. operationId: GroupedQueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsRequest' description: Grouped Query Channels Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsResponse' description: Grouped Query Channels Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Grouped query channels tags: - product:chat /channels/read: post: description: 'Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read' operationId: MarkChannelsRead requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkChannelsReadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channels as read tags: - product:chat /channeltypes: get: description: Lists all available channel types operationId: ListChannelTypes responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListChannelTypesResponse' description: ListChannelTypesResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List channel types tags: - product:chat post: description: Creates new channel type operationId: CreateChannelType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeRequest' description: CreateChannelTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create channel type tags: - product:chat /channeltypes/{name}: delete: description: Deletes channel type operationId: DeleteChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel type tags: - product:chat get: description: Gets channel type operationId: GetChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetChannelTypeResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get channel type tags: - product:chat put: description: Updates channel type operationId: UpdateChannelType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel type tags: - product:chat /check_push: post: description: Sends a test message via push, this is a test endpoint to verify your push settings operationId: CheckPush requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPushRequest' description: CheckPushRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckPushResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check push tags: - product:chat /check_sns: post: description: Validates Amazon SNS configuration operationId: CheckSNS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSNSRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckSNSResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SNS tags: - product:chat /check_sqs: post: description: Validates Amazon SQS credentials operationId: CheckSQS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSQSRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CheckSQSResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SQS tags: - product:chat /commands: get: description: Returns all custom commands operationId: ListCommands responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListCommandsResponse' description: ListCommandsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List commands tags: - product:chat post: description: Creates custom chat command operationId: CreateCommand requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCommandRequest' description: CreateCommandRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCommandResponse' description: CreateCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create command tags: - product:chat /commands/{name}: delete: description: Deletes custom chat command operationId: DeleteCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCommandResponse' description: DeleteCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete command tags: - product:chat get: description: Returns custom command by its name operationId: GetCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCommandResponse' description: GetCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get command tags: - product:chat put: description: Updates custom chat command operationId: UpdateCommand parameters: - in: path name: name required: true schema: description: Unique command name title: Name type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommandRequest' description: UpdateCommandRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCommandResponse' description: UpdateCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update command tags: - product:chat /devices: delete: description: Deletes one device operationId: DeleteDevice parameters: - in: query name: id required: true schema: description: Device ID to delete title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete device tags: - product:chat get: description: Returns all available devices operationId: ListDevices parameters: - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' description: ListDevicesResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List devices tags: - product:chat post: description: Adds a new device to a user, if the same device already exists the call will have no effect operationId: CreateDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeviceRequest' description: CreateDeviceRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create device tags: - product:chat /drafts/query: post: description: Queries draft messages for a user operationId: QueryDrafts requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryDraftsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryDraftsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query draft messages tags: - product:chat /export/users: post: description: Exports user profile, reactions and messages for list of given users operationId: ExportUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export users tags: - product:chat /export_channels: post: description: Exports channel data to JSON file operationId: ExportChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportChannelsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportChannelsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export channels tags: - product:chat /external_storage: get: description: Lists external storage operationId: ListExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List external storage tags: - product:chat post: description: Creates new external storage operationId: CreateExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageRequest' description: CreateExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create external storage tags: - product:chat /external_storage/{name}: delete: description: Deletes external storage operationId: DeleteExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:chat put: description: ' ' operationId: UpdateExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageRequest' description: ExternalStorageRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update External Storage tags: - product:chat /external_storage/{name}/check: get: description: ' ' operationId: CheckExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CheckExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check External Storage tags: - product:chat /guest: post: description: ' ' operationId: CreateGuest requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGuestRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateGuestResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Guest tags: - product:chat /import_urls: post: description: Creates a new import URL operationId: CreateImportURL requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportURLRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportURLResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import URL tags: - product:chat /imports: get: description: Gets an import operationId: ListImports responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListImportsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat post: description: Creates a new import operationId: CreateImport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import tags: - product:chat /imports/{id}: get: description: Gets an import operationId: GetImport parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetImportResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat /imports/v2: get: description: Lists all import v2 tasks for the app operationId: ListImportV2Tasks parameters: - in: query name: state schema: format: int32 type: integer writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListImportV2TasksResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List import v2 tasks tags: - product:chat post: description: Creates a new import v2 task operationId: CreateImportV2Task requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskRequest' description: ClientRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import v2 task tags: - product:chat /imports/v2/{id}: delete: description: Deletes an import v2 task. Can only delete tasks in queued state. operationId: DeleteImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete import v2 task tags: - product:chat get: description: Gets a single import v2 task by ID operationId: GetImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetImportV2TaskResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import v2 task tags: - product:chat /imports/v2/external-storage: delete: description: 'Removes the external storage configuration for the app. Idempotent: succeeds even if no configuration exists.' operationId: DeleteImporterExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:chat get: description: Returns the current external storage configuration for the app. Returns 404 if no configuration exists. operationId: GetImporterExternalStorage responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get external storage tags: - product:chat put: description: Creates or updates the external storage configuration for the app. Currently only AWS S3 (via cross-account IAM role assumption) is supported. operationId: UpsertImporterExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert external storage tags: - product:chat /imports/v2/external-storage/validate: post: description: Validates the configured external S3 storage by performing a live STS AssumeRole and S3 ListObjectsV2 check. operationId: ValidateImporterExternalStorage responses: '201': content: application/json: schema: $ref: '#/components/schemas/ValidateExternalStorageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Validate external storage tags: - product:chat /members: get: description: Find and filter channel members operationId: QueryMembers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMembersPayload' x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/MembersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query members tags: - product:chat /messages/{id}: delete: description: 'Deletes message Sends events: - message.deleted' operationId: DeleteMessage parameters: - in: path name: id required: true schema: description: Message ID to delete title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: hard schema: description: Delete all message reactions and replies as well title: Hard type: boolean writeOnly: true x-stream-index: '002' - in: query name: deleted_by schema: type: string writeOnly: true x-stream-index: '003' - in: query name: delete_for_me schema: description: Delete the message only for the user making the request title: Delete for me type: boolean writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete message tags: - product:chat get: description: Returns message by ID operationId: GetMessage parameters: - in: path name: id required: true schema: description: ID of the message title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: show_deleted_message schema: description: Whether to show deleted message title: Show deleted message type: boolean writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get message tags: - product:chat post: description: 'Updates message with new data Sends events: - message.updated' operationId: UpdateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update message tags: - product:chat put: description: 'Updates certain fields of the message Sends events: - message.updated' operationId: UpdateMessagePartial parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially message update tags: - product:chat /messages/{id}/action: post: description: 'Executes message command action with given parameters Sends events: - message.new' operationId: RunMessageAction parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageActionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Run message command action tags: - product:chat /messages/{id}/commit: post: description: 'Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated' operationId: CommitMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Commit message tags: - product:chat /messages/{id}/ephemeral: patch: description: 'Updates message fields without storing in database, only sends update event Sends events: - message.updated' operationId: EphemeralMessageUpdate parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ephemeral message update tags: - product:chat /messages/{id}/reaction: post: description: 'Sends reaction to specified message Sends events: - reaction.new - reaction.updated' operationId: SendReaction parameters: - in: path name: id required: true schema: description: Message ID to send reaction for title: ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendReactionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendReactionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send reaction tags: - product:chat /messages/{id}/reaction/{type}: delete: description: 'Removes user reaction from the message Sends events: - reaction.deleted' operationId: DeleteReaction parameters: - in: path name: id required: true schema: description: Message ID to remove reaction from title: ID type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: description: Reaction type to remove title: Type type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteReactionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reaction tags: - product:chat /messages/{id}/reactions: get: description: Returns list of reactions of specific message operationId: GetReactions parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: limit schema: description: Number of records to return format: int32 title: Limit type: integer writeOnly: true x-stream-index: '002' - in: query name: offset schema: description: Number of records to offset format: int32 title: Offset type: integer writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetReactionsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get reactions tags: - product:chat post: description: Get reactions on a message operationId: QueryReactions parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryReactionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryReactionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests tags: - product:chat summary: Query reactions x-summary-source: derived /messages/{id}/translate: post: description: 'Translates message to a given language using automated translation software Sends events: - message.updated' operationId: TranslateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslateMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Translate message tags: - product:chat /messages/{id}/undelete: post: description: 'Undelete a message that was previously soft-deleted Sends events: - message.undeleted' operationId: UndeleteMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Undelete message tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote: post: description: 'Cast a vote on a poll Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed' operationId: CastPollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/CastPollVoteRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Cast vote tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote/{vote_id}: delete: description: 'Delete a vote from a poll Sends events: - feeds.poll.vote_removed - poll.vote_removed' operationId: DeletePollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '004' - in: path name: vote_id required: true schema: description: Vote ID maxLength: 255 title: string type: string x-stream-index: '005' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete vote tags: - product:chat /messages/{message_id}/reminders: delete: description: 'Deletes a user''s created reminder Sends events: - reminder.deleted' operationId: DeleteReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteReminderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reminder tags: - product:chat patch: description: 'Updates an existing reminder Sends events: - reminder.updated' operationId: UpdateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateReminderRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateReminderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Updates Reminder tags: - product:chat post: description: 'Creates a new reminder Sends events: - reminder.created' operationId: CreateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReminderRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReminderResponseData' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create reminder tags: - product:chat /messages/{parent_id}/replies: get: description: Returns replies (thread) of the message operationId: GetReplies parameters: - in: path name: parent_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: sort schema: items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 type: array writeOnly: true x-stream-index: '002' - in: query name: limit schema: format: int32 minimum: 0 type: integer writeOnly: true x-stream-index: '003' - in: query name: id_gte schema: type: string writeOnly: true x-stream-index: '004' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '005' - in: query name: id_lte schema: type: string writeOnly: true x-stream-index: '006' - in: query name: id_lt schema: type: string writeOnly: true x-stream-index: '007' - in: query name: id_around schema: type: string writeOnly: true x-stream-index: 008 responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRepliesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get replies tags: - product:chat /messages/history: post: description: Queries history for one message operationId: QueryMessageHistory requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query message history tags: - product:chat /moderation/ban: delete: description: 'Removes previously applied ban Sends events: - user.unbanned' operationId: Unban parameters: - in: query name: target_user_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: channel_cid schema: type: string writeOnly: true x-stream-index: '002' - in: query name: created_by schema: type: string writeOnly: true x-stream-index: '005' - in: query name: remove_future_channels_ban schema: type: boolean writeOnly: true x-stream-index: '006' - in: query name: reason schema: type: string writeOnly: true x-stream-index: '007' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unban user tags: - product:chat post: description: 'Restricts user activity either in specific channel or globally Sends events: - user.banned - user.messages.deleted' operationId: Ban requestBody: content: application/json: schema: $ref: '#/components/schemas/BanRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ban user tags: - product:chat /moderation/flag: post: description: 'Reports message or user for review by moderators Sends events: - message.flagged - user.flagged' operationId: Flag requestBody: content: application/json: schema: $ref: '#/components/schemas/FlagRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FlagMessageResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Flag tags: - product:chat /moderation/flags/message: get: description: Find and filter message flags operationId: QueryMessageFlags parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsPayload' description: JSON object with query message flags payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsResponse' description: QueryMessageFlagsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Message Flags tags: - product:chat /moderation/mute: post: description: 'Mutes one or several users Sends events: - user.muted - user.unmuted' operationId: MuteUser requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MuteUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute user tags: - product:chat /moderation/mute/channel: post: description: 'Mutes channel for user Sends events: - channel.muted' operationId: MuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MuteChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute channel tags: - product:chat /moderation/unmute: post: description: 'Unmutes previously muted user Sends events: - user.unmuted' operationId: UnmuteUser requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnmuteUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unmute user tags: - product:chat /moderation/unmute/channel: post: description: 'Unmutes channel for user Sends events: - channel.unmuted' operationId: UnmuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnmuteResponse' description: UnmuteResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unmute channel tags: - product:chat /og: get: description: Get an OpenGraph attachment for a link operationId: GetOG parameters: - in: query name: url required: true schema: description: URL to be scraped title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOGResponse' description: Get OG Attachment '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get OG tags: - product:chat /permissions: get: description: Lists all available permissions operationId: ListPermissions responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListPermissionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List permissions tags: - product:chat /permissions/{id}: get: description: Gets custom permission operationId: GetPermission parameters: - in: path name: id required: true schema: description: Permission ID title: ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCustomPermissionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get permission tags: - product:chat /polls: post: description: Creates a new poll operationId: CreatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollRequest' description: Create Poll Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll tags: - product:chat put: description: 'Updates a poll Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated' operationId: UpdatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll tags: - product:chat /polls/{poll_id}: delete: description: 'Deletes a poll Sends events: - feeds.poll.deleted - poll.deleted' operationId: DeletePoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll tags: - product:chat get: description: Retrieves a poll operationId: GetPoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll tags: - product:chat patch: description: 'Updates a poll partially Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated' operationId: UpdatePollPartial parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial update poll tags: - product:chat /polls/{poll_id}/options: post: description: 'Creates a poll option Sends events: - feeds.poll.updated - poll.updated' operationId: CreatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollOptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll option tags: - product:chat put: description: 'Updates a poll option Sends events: - feeds.poll.updated - poll.updated' operationId: UpdatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollOptionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll option tags: - product:chat /polls/{poll_id}/options/{option_id}: delete: description: 'Deletes a poll option Sends events: - feeds.poll.updated - poll.updated' operationId: DeletePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll option tags: - product:chat get: description: Retrieves a poll option operationId: GetPollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll option tags: - product:chat /polls/{poll_id}/votes: post: description: Queries votes operationId: QueryPollVotes parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollVotesRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollVotesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query votes tags: - product:chat /polls/query: post: description: Queries polls operationId: QueryPolls parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryPollsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query polls tags: - product:chat /push_preferences: post: description: Upserts the push preferences for a user and or channel member. Set to all, mentions or none operationId: UpdatePushNotificationPreferences requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Push notification preferences tags: - product:chat /push_providers: get: description: List details of all push providers. operationId: ListPushProviders responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListPushProvidersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List push providers tags: - product:chat post: description: Upsert a push provider for v2 with multi bundle/package support operationId: UpsertPushProvider requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push provider tags: - product:chat /push_providers/{type}/{name}: delete: description: Delete a push provider from v2 with multi bundle/package support. v1 isn't supported in this endpoint operationId: DeletePushProvider parameters: - in: path name: type required: true schema: enum: - apn - firebase - huawei - xiaomi type: string writeOnly: true x-stream-index: '001' - in: path name: name required: true schema: maxLength: 36 minLength: 1 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a push provider tags: - product:chat /push_templates: get: description: Retrieve push notification templates for Chat. operationId: GetPushTemplates parameters: - in: query name: push_provider_name schema: description: Push provider name to filter templates title: string type: string writeOnly: true x-stream-index: '002' - in: query name: push_provider_type required: true schema: description: 'Push provider type to filter templates. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetPushTemplatesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get push notification templates tags: - product:chat post: description: Create or update a push notification template for a specific event type and push provider operationId: UpsertPushTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push notification template tags: - product:chat /query_banned_users: get: description: Find and filter channel scoped or global user bans operationId: QueryBannedUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersPayload' description: JSON object with query user bans payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Banned Users tags: - product:chat /query_future_channel_bans: get: description: Find and filter future channel bans created by the authenticated user operationId: QueryFutureChannelBans parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansPayload' description: JSON object with query future channel bans payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Future Channel Bans tags: - product:chat /rate_limits: get: description: Get rate limits usage and quotas operationId: GetRateLimits parameters: - in: query name: server_side schema: description: Whether to include server-side platform limits or not title: Server-side type: boolean writeOnly: true x-stream-index: '001' - in: query name: android schema: description: Whether to include Android platform limits or not title: Android type: boolean writeOnly: true x-stream-index: '002' - in: query name: ios schema: description: Whether to include iOS platform limits or not title: iOS type: boolean writeOnly: true x-stream-index: '003' - in: query name: web schema: description: Whether to include web platform limits or not title: Web type: boolean writeOnly: true x-stream-index: '004' - in: query name: endpoints schema: description: Specific endpoints to show limits for, as a comma-separated list of values title: Endpoints type: string writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRateLimitsResponse' description: Get Rate Limits Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get rate limits tags: - product:chat /reminders/query: post: description: Queries reminders operationId: QueryReminders requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRemindersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryRemindersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query reminders tags: - product:chat /retention_policy: get: description: Returns all retention policies configured for the app. Server-side only. operationId: GetRetentionPolicy responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy tags: - product:chat post: description: Creates or updates a retention policy for the app. Server-side only. operationId: SetRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set retention policy tags: - product:chat /retention_policy/delete: post: description: Removes a retention policy for the app. Server-side only. operationId: DeleteRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete retention policy tags: - product:chat /retention_policy/runs: post: description: 'Returns filtered and sorted retention cleanup run history for the app. Supports filter_conditions on ''policy'' (possible values: ''old-messages'', ''inactive-channels'') and ''date'' fields. Server-side only.' operationId: GetRetentionPolicyRuns requestBody: content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy runs tags: - product:chat /roles: get: description: Lists all available roles operationId: ListRoles responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListRolesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List roles tags: - product:chat post: description: Creates custom role operationId: CreateRole requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRoleRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateRoleResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create role tags: - product:chat /roles/{name}: delete: description: Deletes custom role operationId: DeleteRole parameters: - in: path name: name required: true schema: description: Role name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete role tags: - product:chat /search: get: description: Search messages across channels operationId: Search parameters: - content: application/json: schema: $ref: '#/components/schemas/SearchPayload' description: JSON object with search payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search messages tags: - product:chat /segments/{id}: delete: description: Delete a segment operationId: DeleteSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete segment tags: - product:chat get: operationId: GetSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetSegmentResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get segment tags: - product:chat /segments/{id}/deletetargets: post: operationId: DeleteSegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteSegmentTargetsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete targets from a segment tags: - product:chat /segments/{id}/target/{target_id}: get: description: Check whether a target exists in a segment. Returns 200 if the target exists, 404 otherwise operationId: SegmentTargetExists parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: target_id required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check whether a target exists in a segment tags: - product:chat /segments/{id}/targets/query: post: operationId: QuerySegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segment targets tags: - product:chat /segments/query: post: operationId: QuerySegments requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segments tags: - product:chat /stats/team_usage: post: description: 'Retrieve team-level usage statistics from the warehouse database. Returns all 16 metrics grouped by team with cursor-based pagination. **Date Range Options (mutually exclusive):** - Use ''month'' parameter (YYYY-MM format) for monthly aggregated values - Use ''start_date''/''end_date'' parameters (YYYY-MM-DD format) for daily breakdown - If neither provided, defaults to current month (monthly mode) This endpoint is server-side only.' operationId: QueryTeamUsageStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsRequest' description: Query Team Usage Stats Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsResponse' description: Query Team Usage Stats Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Team Usage Statistics tags: - product:chat /tasks/{id}: get: description: Gets status of a task operationId: GetTask parameters: - in: path name: id required: true schema: description: Task ID title: ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetTaskResponse' description: Get Task Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get status of a task tags: - product:chat /threads: post: description: Returns the list of threads for specific user operationId: QueryThreads requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryThreadsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryThreadsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Threads tags: - product:chat /threads/{message_id}: get: description: Return a specific thread operationId: GetThread parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: reply_limit schema: description: Limit the number of replies returned format: int32 minimum: 0 title: Reply limit type: integer writeOnly: true x-stream-index: '004' - in: query name: participant_limit schema: description: Limit the number of participants returned format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer writeOnly: true x-stream-index: '005' - in: query name: member_limit schema: description: Limit the number of members returned per thread channel format: int32 maximum: 100 minimum: 0 title: Member limit type: integer writeOnly: true x-stream-index: '006' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetThreadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Thread tags: - product:chat patch: description: 'Updates certain fields of the thread Sends events: - thread.updated' operationId: UpdateThreadPartial parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update thread tags: - product:chat /unread: get: description: Fetch unread counts for a single user operationId: UnreadCounts parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WrappedUnreadCountsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unread counts tags: - product:chat /unread_batch: post: description: Fetch unread counts in batch for multiple users in one call operationId: UnreadCountsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Batch unread counts tags: - product:chat /uploads/file: delete: description: Deletes previously uploaded file operationId: DeleteFile parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:chat post: description: Uploads file operationId: UploadFile requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FileUploadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:chat /uploads/image: delete: description: Deletes previously uploaded image operationId: DeleteImage parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:chat post: description: Uploads image operationId: UploadImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ImageUploadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ImageUploadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:chat /usergroups: get: description: Lists user groups with cursor-based pagination operationId: ListUserGroups parameters: - in: query name: limit schema: format: int32 maximum: 100 minimum: 1 type: integer writeOnly: true x-stream-index: '001' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '002' - in: query name: created_at_gt schema: type: string writeOnly: true x-stream-index: '003' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListUserGroupsResponse' description: ListUserGroupsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List user groups tags: - product:chat post: description: Creates a new user group, optionally with initial members operationId: CreateUserGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupRequest' description: CreateUserGroupRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupResponse' description: CreateUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create user group tags: - product:chat /usergroups/{id}: delete: description: Deletes a user group and all its members operationId: DeleteUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete user group tags: - product:chat get: description: Gets a user group by ID, including its members operationId: GetUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetUserGroupResponse' description: GetUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user group tags: - product:chat put: description: Updates a user group's name and/or description. team_id is immutable. operationId: UpdateUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupRequest' description: UpdateUserGroupRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupResponse' description: UpdateUserGroupResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update user group tags: - product:chat /usergroups/{id}/members: post: description: Adds members to a user group. All user IDs must exist. The operation is all-or-nothing. operationId: AddUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersRequest' description: AddUserGroupMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersResponse' description: AddUserGroupMembersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add user group members tags: - product:chat /usergroups/{id}/members/delete: post: description: Removes members from a user group. Users already not in the group are silently ignored. operationId: RemoveUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersRequest' description: RemoveUserGroupMembersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersResponse' description: RemoveUserGroupMembersResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Remove user group members tags: - product:chat /usergroups/search: get: description: Searches user groups by name prefix for autocomplete operationId: SearchUserGroups parameters: - in: query name: query required: true schema: maxLength: 255 minLength: 1 type: string writeOnly: true x-stream-index: '001' - in: query name: limit schema: format: int32 maximum: 25 minimum: 1 type: integer writeOnly: true x-stream-index: '002' - in: query name: name_gt schema: type: string writeOnly: true x-stream-index: '003' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '004' - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchUserGroupsResponse' description: SearchUserGroupsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search user groups tags: - product:chat /users: get: description: Find and filter users operationId: QueryUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryUsersPayload' x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query users tags: - product:chat patch: description: 'Updates certain fields of the user Sends events: - user.presence.changed - user.updated' operationId: UpdateUsersPartial requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update user tags: - product:chat post: description: 'Update or create users in bulk Sends events: - user.updated' operationId: UpdateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert users tags: - product:chat /users/{user_id}/deactivate: post: description: 'Deactivates user with possibility to activate it back Sends events: - user.deactivated' operationId: DeactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeactivateUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate user tags: - product:chat /users/{user_id}/event: post: description: 'Sends a custom event to a user Sends events: - *' operationId: SendUserCustomEvent parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendUserCustomEventRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send user event tags: - product:chat /users/{user_id}/export: get: description: Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions operationId: ExportUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExportUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export user tags: - product:chat /users/{user_id}/reactivate: post: description: 'Activates user who''s been deactivated previously Sends events: - user.reactivated' operationId: ReactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUserRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReactivateUserResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate user tags: - product:chat /users/block: get: operationId: GetBlockedUsers parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetBlockedUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get list of blocked Users tags: - product:chat post: description: Block users operationId: BlockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/BlockUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Block user tags: - product:chat /users/deactivate: post: description: 'Deactivate users in batches Sends events: - user.deactivated' operationId: DeactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersRequest' description: DeactivateUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate users tags: - product:chat /users/delete: post: description: 'Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted' operationId: DeleteUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Users tags: - product:chat /users/live_locations: get: description: Retrieves all active live locations for a user operationId: GetUserLiveLocations parameters: - in: query name: user_id schema: description: User ID to get live locations for. If not provided, returns live locations for the authenticated user. title: string type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SharedLocationsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user live locations tags: - product:chat put: description: Updates an existing live location with new coordinates or expiration time operationId: UpdateLiveLocation parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '005.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateLiveLocationRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SharedLocationResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update live location tags: - product:chat /users/reactivate: post: description: 'Reactivate users in batches Sends events: - user.reactivated' operationId: ReactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersRequest' description: ReactivateUsersRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate users tags: - product:chat /users/restore: post: description: Restore soft deleted users operationId: RestoreUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore users tags: - product:chat /users/unblock: post: description: Unblock users operationId: UnblockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UnblockUsersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnblockUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unblock user tags: - product:chat /api/v2/chat/campaigns: post: description: Creates a campaign operationId: CreateCampaign requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create campaign tags: - product:chat /api/v2/chat/campaigns/{id}: delete: operationId: DeleteCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete campaign tags: - product:chat get: description: Get campaign by ID. operationId: GetCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: '001' - in: query name: prev schema: description: Token for the previous page of campaign users title: Previous Users Page type: string writeOnly: true x-stream-index: '002.001' - in: query name: next schema: description: Token for the next page of campaign users title: Next Users Page type: string writeOnly: true x-stream-index: '002.002' - in: query name: limit schema: description: 'Maximum number of campaign users to return in a single request (max: 1000)' format: int32 maximum: 1000 minimum: 0 title: Users Limit type: integer writeOnly: true x-stream-index: '002.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get campaign tags: - product:chat put: description: Updates a campaign operationId: UpdateCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CampaignResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update campaign tags: - product:chat /api/v2/chat/campaigns/{id}/start: post: description: Starts or schedules a campaign operationId: StartCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/StartCampaignRequest_2' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/StartCampaignResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start/schedule campaign tags: - product:chat /api/v2/chat/campaigns/{id}/stop: post: description: Stops a campaign operationId: StopCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/StopCampaignRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CampaignResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop campaign tags: - product:chat /api/v2/chat/campaigns/query: post: description: Query campaigns with filter query operationId: QueryCampaigns requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query campaigns tags: - product:chat /api/v2/chat/channels: post: description: Query channels with filter query operationId: QueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryChannelsRequest' description: Query Channels Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryChannelsResponse' description: Channels list '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query channels tags: - product:chat /api/v2/chat/channels/{type}/{id}: delete: description: 'Deletes channel Sends events: - channel.deleted' operationId: DeleteChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' - in: query name: hard_delete schema: type: boolean x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel tags: - product:chat patch: description: 'Updates certain fields of the channel Sends events: - channel.updated' operationId: UpdateChannelPartial parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialRequest' description: UpdateChannelPartialRequest required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update channel tags: - product:chat post: description: 'Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new' operationId: UpdateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 016.002.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 016.002.002 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelRequest_2' description: Channel update request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel tags: - product:chat /api/v2/chat/channels/{type}/{id}/draft: delete: description: 'Deletes a draft Sends events: - draft.deleted' operationId: DeleteDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete draft tags: - product:chat get: description: Get a draft operationId: GetDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetDraftResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get draft tags: - product:chat /api/v2/chat/channels/{type}/{id}/event: post: description: Sends event to the channel operationId: SendEvent parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendEventRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/EventResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send event tags: - product:chat /api/v2/chat/channels/{type}/{id}/file: delete: description: Deletes previously uploaded file operationId: DeleteChannelFile parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: '002.002' - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:chat post: description: Uploads file operationId: UploadChannelFile parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001.002' requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelFileRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UploadChannelFileResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:chat /api/v2/chat/channels/{type}/{id}/hide: post: description: 'Marks channel as hidden for current user Sends events: - channel.hidden' operationId: HideChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/HideChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/HideChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Hide channel tags: - product:chat /api/v2/chat/channels/{type}/{id}/image: delete: description: Deletes previously uploaded image operationId: DeleteChannelImage parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: '002.002' - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:chat post: description: Uploads image operationId: UploadChannelImage parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 001.001.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 001.001.002 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UploadChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:chat /api/v2/chat/channels/{type}/{id}/member: patch: description: ' ' operationId: UpdateMemberPartial parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '003.002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '005.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially channel member update tags: - product:chat /api/v2/chat/channels/{type}/{id}/message: post: description: 'Sends new message to the specified channel Sends events: - message.new - message.updated' operationId: SendMessage parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '009.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '009.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send new message tags: - product:chat /api/v2/chat/channels/{type}/{id}/messages: get: description: Returns list messages found by IDs operationId: GetManyMessages parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' - in: query name: ids required: true schema: description: List of comma-separated IDs items: type: string maxItems: 50 minItems: 1 title: IDs type: array writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetManyMessagesResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get many messages tags: - product:chat /api/v2/chat/channels/{type}/{id}/query: post: description: 'This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start' operationId: GetOrCreateChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' - in: path name: id required: true schema: description: Channel ID (maximum length of 64 characters) title: ID type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /api/v2/chat/channels/{type}/{id}/read: post: description: 'Marks channel as read up to the specific message Sends events: - message.read' operationId: MarkRead parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '003.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '003.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkReadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark read tags: - product:chat /api/v2/chat/channels/{type}/{id}/show: post: description: 'Shows previously hidden channel Sends events: - channel.visible' operationId: ShowChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/ShowChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ShowChannelResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Show channel tags: - product:chat /api/v2/chat/channels/{type}/{id}/truncate: post: description: 'Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members. Sends events: - channel.truncated' operationId: TruncateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '001.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/TruncateChannelRequest_2' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/TruncateChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Truncate channel tags: - product:chat /api/v2/chat/channels/{type}/{id}/unread: post: description: Marks channel as unread from a specific message operationId: MarkUnread parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: '002.001' - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '002.002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkUnreadRequest_2' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark unread tags: - product:chat /api/v2/chat/channels/{type}/query: post: description: 'This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start' operationId: GetOrCreateDistinctChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /api/v2/chat/channels/batch: put: description: 'Update channels in batch Sends events: - channel.frozen - channel.hidden - channel.unfrozen - channel.updated - channel.visible - member.added - member.removed - member.updated' operationId: ChannelBatchUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channels in batch tags: - product:chat /api/v2/chat/channels/delete: post: description: 'Allows to delete several channels at once asynchronously Sends events: - channel.deleted' operationId: DeleteChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deletes channels asynchronously tags: - product:chat /api/v2/chat/channels/delivered: post: description: Mark the status of a channel message delivered. operationId: MarkDelivered parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channel message delivery status tags: - product:chat /api/v2/chat/channels/grouped: post: description: Query channels grouped into predefined buckets. Only available for enterprise apps. operationId: GroupedQueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsRequest' description: Grouped Query Channels Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsResponse' description: Grouped Query Channels Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Grouped query channels tags: - product:chat /api/v2/chat/channels/read: post: description: 'Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read' operationId: MarkChannelsRead requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkChannelsReadRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channels as read tags: - product:chat /api/v2/chat/channeltypes: get: description: Lists all available channel types operationId: ListChannelTypes responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListChannelTypesResponse' description: ListChannelTypesResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List channel types tags: - product:chat post: description: Creates new channel type operationId: CreateChannelType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeRequest' description: CreateChannelTypeRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create channel type tags: - product:chat /api/v2/chat/channeltypes/{name}: delete: description: Deletes channel type operationId: DeleteChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel type tags: - product:chat get: description: Gets channel type operationId: GetChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetChannelTypeResponse_2' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get channel type tags: - product:chat put: description: Updates channel type operationId: UpdateChannelType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeResponse_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel type tags: - product:chat /api/v2/chat/commands: get: description: Returns all custom commands operationId: ListCommands responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListCommandsResponse' description: ListCommandsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List commands tags: - product:chat post: description: Creates custom chat command operationId: CreateCommand requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCommandRequest' description: CreateCommandRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCommandResponse' description: CreateCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create command tags: - product:chat /api/v2/chat/commands/{name}: delete: description: Deletes custom chat command operationId: DeleteCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCommandResponse' description: DeleteCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete command tags: - product:chat get: description: Returns custom command by its name operationId: GetCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCommandResponse_2' description: GetCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get command tags: - product:chat put: description: Updates custom chat command operationId: UpdateCommand parameters: - in: path name: name required: true schema: description: Unique command name title: Name type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommandRequest' description: UpdateCommandRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCommandResponse' description: UpdateCommandResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update command tags: - product:chat /api/v2/chat/drafts/query: post: description: Queries draft messages for a user operationId: QueryDrafts requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryDraftsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryDraftsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query draft messages tags: - product:chat /api/v2/chat/export_channels: post: description: Exports channel data to JSON file operationId: ExportChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportChannelsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportChannelsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export channels tags: - product:chat /api/v2/chat/members: get: description: Find and filter channel members operationId: QueryMembers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMembersPayload' x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/MembersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query members tags: - product:chat /api/v2/chat/messages/{id}: delete: description: 'Deletes message Sends events: - message.deleted' operationId: DeleteMessage parameters: - in: path name: id required: true schema: description: Message ID to delete title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: hard schema: description: Delete all message reactions and replies as well title: Hard type: boolean writeOnly: true x-stream-index: '002' - in: query name: deleted_by schema: type: string writeOnly: true x-stream-index: '003' - in: query name: delete_for_me schema: description: Delete the message only for the user making the request title: Delete for me type: boolean writeOnly: true x-stream-index: '004' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete message tags: - product:chat get: description: Returns message by ID operationId: GetMessage parameters: - in: path name: id required: true schema: description: ID of the message title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: show_deleted_message schema: description: Whether to show deleted message title: Show deleted message type: boolean writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get message tags: - product:chat post: description: 'Updates message with new data Sends events: - message.updated' operationId: UpdateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update message tags: - product:chat put: description: 'Updates certain fields of the message Sends events: - message.updated' operationId: UpdateMessagePartial parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially message update tags: - product:chat /api/v2/chat/messages/{id}/action: post: description: 'Executes message command action with given parameters Sends events: - message.new' operationId: RunMessageAction parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageActionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Run message command action tags: - product:chat /api/v2/chat/messages/{id}/commit: post: description: 'Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated' operationId: CommitMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/CommitMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Commit message tags: - product:chat /api/v2/chat/messages/{id}/ephemeral: patch: description: 'Updates message fields without storing in database, only sends update event Sends events: - message.updated' operationId: EphemeralMessageUpdate parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '004.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ephemeral message update tags: - product:chat /api/v2/chat/messages/{id}/reaction: post: description: 'Sends reaction to specified message Sends events: - reaction.new - reaction.updated' operationId: SendReaction parameters: - in: path name: id required: true schema: description: Message ID to send reaction for title: ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendReactionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SendReactionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send reaction tags: - product:chat /api/v2/chat/messages/{id}/reaction/{type}: delete: description: 'Removes user reaction from the message Sends events: - reaction.deleted' operationId: DeleteReaction parameters: - in: path name: id required: true schema: description: Message ID to remove reaction from title: ID type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: description: Reaction type to remove title: Type type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteReactionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reaction tags: - product:chat /api/v2/chat/messages/{id}/reactions: get: description: Returns list of reactions of specific message operationId: GetReactions parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '001' - in: query name: limit schema: description: Number of records to return format: int32 title: Limit type: integer writeOnly: true x-stream-index: '002' - in: query name: offset schema: description: Number of records to offset format: int32 title: Offset type: integer writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetReactionsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get reactions tags: - product:chat post: description: Get reactions on a message operationId: QueryReactions parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryReactionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryReactionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests tags: - product:chat summary: Query reactions x-summary-source: derived /api/v2/chat/messages/{id}/translate: post: description: 'Translates message to a given language using automated translation software Sends events: - message.updated' operationId: TranslateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslateMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Translate message tags: - product:chat /api/v2/chat/messages/{id}/undelete: post: description: 'Undelete a message that was previously soft-deleted Sends events: - message.undeleted' operationId: UndeleteMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: '002.001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Undelete message tags: - product:chat /api/v2/chat/messages/{message_id}/polls/{poll_id}/vote: post: description: 'Cast a vote on a poll Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed' operationId: CastPollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/CastPollVoteRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Cast vote tags: - product:chat /api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}: delete: description: 'Delete a vote from a poll Sends events: - feeds.poll.vote_removed - poll.vote_removed' operationId: DeletePollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '004' - in: path name: vote_id required: true schema: description: Vote ID maxLength: 255 title: string type: string x-stream-index: '005' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete vote tags: - product:chat /api/v2/chat/messages/{message_id}/reminders: delete: description: 'Deletes a user''s created reminder Sends events: - reminder.deleted' operationId: DeleteReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteReminderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reminder tags: - product:chat patch: description: 'Updates an existing reminder Sends events: - reminder.updated' operationId: UpdateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateReminderRequest_2' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateReminderResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Updates Reminder tags: - product:chat post: description: 'Creates a new reminder Sends events: - reminder.created' operationId: CreateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReminderRequest_2' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ReminderResponseData_2' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create reminder tags: - product:chat /api/v2/chat/messages/{parent_id}/replies: get: description: Returns replies (thread) of the message operationId: GetReplies parameters: - in: path name: parent_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: sort schema: items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 type: array writeOnly: true x-stream-index: '002' - in: query name: limit schema: format: int32 minimum: 0 type: integer writeOnly: true x-stream-index: '003' - in: query name: id_gte schema: type: string writeOnly: true x-stream-index: '004' - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: '005' - in: query name: id_lte schema: type: string writeOnly: true x-stream-index: '006' - in: query name: id_lt schema: type: string writeOnly: true x-stream-index: '007' - in: query name: id_around schema: type: string writeOnly: true x-stream-index: 008 responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRepliesResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get replies tags: - product:chat /api/v2/chat/messages/history: post: description: Queries history for one message operationId: QueryMessageHistory requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query message history tags: - product:chat /api/v2/chat/moderation/flags/message: get: description: Find and filter message flags operationId: QueryMessageFlags parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsPayload' description: JSON object with query message flags payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsResponse' description: QueryMessageFlagsResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Message Flags tags: - product:chat /api/v2/chat/moderation/mute/channel: post: description: 'Mutes channel for user Sends events: - channel.muted' operationId: MuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MuteChannelResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute channel tags: - product:chat /api/v2/chat/moderation/unmute/channel: post: description: 'Unmutes channel for user Sends events: - channel.unmuted' operationId: UnmuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteChannelRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnmuteResponse' description: UnmuteResponse '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unmute channel tags: - product:chat /api/v2/chat/query_banned_users: get: description: Find and filter channel scoped or global user bans operationId: QueryBannedUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersPayload' description: JSON object with query user bans payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Banned Users tags: - product:chat /api/v2/chat/query_future_channel_bans: get: description: Find and filter future channel bans created by the authenticated user operationId: QueryFutureChannelBans parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansPayload' description: JSON object with query future channel bans payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Future Channel Bans tags: - product:chat /api/v2/chat/reminders/query: post: description: Queries reminders operationId: QueryReminders requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRemindersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryRemindersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query reminders tags: - product:chat /api/v2/chat/retention_policy: get: description: Returns all retention policies configured for the app. Server-side only. operationId: GetRetentionPolicy responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy tags: - product:chat post: description: Creates or updates a retention policy for the app. Server-side only. operationId: SetRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set retention policy tags: - product:chat /api/v2/chat/retention_policy/delete: post: description: Removes a retention policy for the app. Server-side only. operationId: DeleteRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete retention policy tags: - product:chat /api/v2/chat/retention_policy/runs: post: description: 'Returns filtered and sorted retention cleanup run history for the app. Supports filter_conditions on ''policy'' (possible values: ''old-messages'', ''inactive-channels'') and ''date'' fields. Server-side only.' operationId: GetRetentionPolicyRuns requestBody: content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy runs tags: - product:chat /api/v2/chat/search: get: description: Search messages across channels operationId: Search parameters: - content: application/json: schema: $ref: '#/components/schemas/SearchPayload' description: JSON object with search payload title: Payload x-stream-index: '001' in: query name: payload responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search messages tags: - product:chat /api/v2/chat/segments/{id}: delete: description: Delete a segment operationId: DeleteSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete segment tags: - product:chat get: operationId: GetSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetSegmentResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get segment tags: - product:chat /api/v2/chat/segments/{id}/deletetargets: post: operationId: DeleteSegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteSegmentTargetsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete targets from a segment tags: - product:chat /api/v2/chat/segments/{id}/target/{target_id}: get: description: Check whether a target exists in a segment. Returns 200 if the target exists, 404 otherwise operationId: SegmentTargetExists parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: target_id required: true schema: type: string writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check whether a target exists in a segment tags: - product:chat /api/v2/chat/segments/{id}/targets/query: post: operationId: QuerySegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segment targets tags: - product:chat /api/v2/chat/segments/query: post: operationId: QuerySegments requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segments tags: - product:chat /api/v2/chat/stats/team_usage: post: description: 'Retrieve team-level usage statistics from the warehouse database. Returns all 16 metrics grouped by team with cursor-based pagination. **Date Range Options (mutually exclusive):** - Use ''month'' parameter (YYYY-MM format) for monthly aggregated values - Use ''start_date''/''end_date'' parameters (YYYY-MM-DD format) for daily breakdown - If neither provided, defaults to current month (monthly mode) This endpoint is server-side only.' operationId: QueryTeamUsageStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsRequest' description: Query Team Usage Stats Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsResponse' description: Query Team Usage Stats Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Team Usage Statistics tags: - product:chat /api/v2/chat/threads: post: description: Returns the list of threads for specific user operationId: QueryThreads requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryThreadsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryThreadsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Threads tags: - product:chat /api/v2/chat/threads/{message_id}: get: description: Return a specific thread operationId: GetThread parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: reply_limit schema: description: Limit the number of replies returned format: int32 minimum: 0 title: Reply limit type: integer writeOnly: true x-stream-index: '004' - in: query name: participant_limit schema: description: Limit the number of participants returned format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer writeOnly: true x-stream-index: '005' - in: query name: member_limit schema: description: Limit the number of members returned per thread channel format: int32 maximum: 100 minimum: 0 title: Member limit type: integer writeOnly: true x-stream-index: '006' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetThreadResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Thread tags: - product:chat patch: description: 'Updates certain fields of the thread Sends events: - thread.updated' operationId: UpdateThreadPartial parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update thread tags: - product:chat /api/v2/chat/unread: get: description: Fetch unread counts for a single user operationId: UnreadCounts parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/WrappedUnreadCountsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unread counts tags: - product:chat /api/v2/chat/unread_batch: post: description: Fetch unread counts in batch for multiple users in one call operationId: UnreadCountsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Batch unread counts tags: - product:chat /api/v2/chat/users/{user_id}/event: post: description: 'Sends a custom event to a user Sends events: - *' operationId: SendUserCustomEvent parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/SendUserCustomEventRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send user event tags: - product:chat components: schemas: ParsedPredefinedFilterResponse: properties: filter: additionalProperties: {} type: object x-stream-index: '002' name: type: string x-stream-index: '001' sort: items: $ref: '#/components/schemas/SortParamRequest' type: array x-stream-index: '003' required: - name - filter type: object DeleteReminderResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' DraftResponse_2: properties: channel: $ref: '#/components/schemas/ChannelResponse_2' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: number x-stream-index: '007' message: $ref: '#/components/schemas/DraftPayloadResponse' x-stream-index: '001' parent_id: type: string x-stream-index: '004' parent_message: $ref: '#/components/schemas/MessageResponse_2' x-stream-index: '005' quoted_message: $ref: '#/components/schemas/MessageResponse_2' x-stream-index: '006' required: - message - channel_cid - created_at type: object UserRequest: description: User request object properties: custom: additionalProperties: {} description: Custom user data title: Custom type: object x-stream-index: '004' id: description: User ID title: ID type: string x-stream-index: '001' image: description: User's profile image URL title: Image type: string x-stream-index: '003' invisible: type: boolean x-stream-index: '006' language: type: string x-stream-index: '005' name: description: Optional name of user title: Name type: string x-stream-index: '002' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '007' role: description: User's global role title: Role type: string x-stream-index: 008 teams: description: List of teams the user belongs to items: type: string title: Teams type: array x-stream-index: '010' teams_role: additionalProperties: type: string description: Map of team-specific roles for the user title: TeamsRole type: object x-stream-index: 009 required: - id title: UserRequest type: object GetDraftResponse: description: Basic response information properties: draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - draft - duration title: Response type: - object - 'null' SharedLocation: properties: created_by_device_id: type: string x-stream-index: '003' end_at: format: date-time type: string x-stream-index: '004' latitude: format: float maximum: 90 minimum: 1.8446744073709552e+19 type: number x-stream-index: '001' longitude: format: float maximum: 180 minimum: 1.8446744073709552e+19 type: number x-stream-index: '002' required: - latitude - longitude type: object ScreensharingSettings: properties: access_request_enabled: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled type: object GeofenceResponse: properties: country_codes: items: type: string type: array x-stream-index: '004' description: type: string x-stream-index: '003' name: type: string x-stream-index: '001' type: type: string x-stream-index: '002' required: - name type: - object - 'null' FlagRequest: properties: custom: additionalProperties: {} type: object x-stream-index: '004' reason: maxLength: 255 type: string x-stream-index: '003' target_message_id: description: ID of the message when reporting a message title: Target Message ID type: string x-stream-index: '001' target_user_id: description: ID of the user when reporting a user title: Target User ID type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' type: - object - 'null' CreateGuestRequest: properties: user: $ref: '#/components/schemas/UserRequest' description: User object which server acts upon title: User x-stream-index: '001' required: - user type: - object - 'null' SharedLocationResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '011' channel_cid: type: string x-stream-index: '001' created_at: format: date-time type: string x-stream-index: 008 created_by_device_id: type: string x-stream-index: '006' end_at: format: date-time type: string x-stream-index: '007' latitude: format: float type: number x-stream-index: '004' longitude: format: float type: number x-stream-index: '005' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '010' message_id: type: string x-stream-index: '002' updated_at: format: date-time type: string x-stream-index: 009 user_id: type: string x-stream-index: '003' required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at type: object IngressAudioEncodingOptions: properties: bitrate: maximum: 128000 minimum: 16000 type: integer x-stream-index: '003' channels: enum: - '1' - '2' format: int32 type: integer x-stream-index: '001' enable_dtx: type: boolean x-stream-index: '002' required: - channels - enable_dtx - bitrate type: object UpdateLiveLocationRequest: properties: end_at: description: Time when the live location expires format: date-time title: string type: string x-stream-index: '004' latitude: description: Latitude coordinate format: float maximum: 90 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: '002' longitude: description: Longitude coordinate format: float maximum: 180 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: '003' message_id: description: Live location ID title: string type: string x-stream-index: '001' required: - message_id type: - object - 'null' GroupedQueryChannelsRequest: properties: limit: description: Max channels per bucket (default 10) format: int32 maximum: 10 title: Limit type: integer x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' title: Grouped Query Channels Request type: - object - 'null' x-stream-docs-page-id: grouped_query_channels GetChannelTypeResponse_2: description: Basic response information properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.029 blocklist: type: string x-stream-index: 003.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.002.034 commands: items: $ref: '#/components/schemas/Command_2' type: array x-stream-index: '003.003' connect_events: type: boolean x-stream-index: 003.002.004 count_messages: type: boolean x-stream-index: 003.002.020 created_at: format: date-time type: number x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.013 delivery_events: type: boolean x-stream-index: 003.002.005 duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 003.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.022 mutes: type: boolean x-stream-index: 003.002.010 name: type: string x-stream-index: 003.002.001 partition_size: format: int32 type: integer x-stream-index: 003.002.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 003.002.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '001' polls: type: boolean x-stream-index: 003.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.002.033 push_notifications: type: boolean x-stream-index: 003.002.014 quotes: type: boolean x-stream-index: 003.002.009 reactions: type: boolean x-stream-index: 003.002.007 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.015 replies: type: boolean x-stream-index: 003.002.008 search: type: boolean x-stream-index: 003.002.006 shared_locations: type: boolean x-stream-index: 003.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.002.032 typing_events: type: boolean x-stream-index: 003.002.002 updated_at: format: date-time type: number x-stream-index: 003.001.004 uploads: type: boolean x-stream-index: 003.002.011 url_enrichment: type: boolean x-stream-index: 003.002.012 user_message_reminders: type: boolean x-stream-index: 003.002.018 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands - duration title: Response type: - object - 'null' CheckExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' file_url: type: string x-stream-index: '002' required: - duration - file_url title: Response type: - object - 'null' DeleteCampaignResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' ChatPreferences: properties: channel_mentions: type: string x-stream-index: '007' default_preference: type: string x-stream-index: '001' direct_mentions: type: string x-stream-index: '002' distinct_channel_messages: type: string x-stream-index: 008 group_mentions: type: string x-stream-index: '004' here_mentions: type: string x-stream-index: '006' role_mentions: type: string x-stream-index: '003' thread_replies: type: string x-stream-index: '005' type: object ChannelResponse_2: description: Represents channel in chat properties: auto_translation_enabled: description: Whether auto translation is enabled or not title: Auto translation type: boolean x-stream-index: '017' auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: 018 blocked: description: Whether this channel is blocked by current user or not title: Blocked type: boolean x-stream-index: '023' cid: description: Channel CID (:) title: CID type: string x-stream-index: '003' config: $ref: '#/components/schemas/ChannelConfigWithInfo_2' description: Channel configuration title: ChannelConfigWithInfo x-stream-index: '013' cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: '020' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '005' created_by: $ref: '#/components/schemas/UserResponse_2' description: Creator of the channel title: UserResponse x-stream-index: 008 custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '026' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '007' disabled: type: boolean x-stream-index: '010' filter_tags: description: List of filter tags associated with the channel items: type: string title: Filter tags type: array x-stream-index: 028 frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: 009 hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: '022' hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: number x-stream-index: 019 id: description: Channel unique ID title: ID type: string x-stream-index: '001' last_message_at: description: Date of the last message sent format: date-time title: Last message at type: number x-stream-index: '004' member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: '012' members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMemberResponse_2' title: Channel members type: array x-stream-index: '011' message_count: description: Number of messages in the channel format: int64 title: Message count type: integer x-stream-index: '027' mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: number x-stream-index: '015' muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: '014' own_capabilities: description: List of channel capabilities of authenticated user items: $ref: '#/components/schemas/ChannelOwnCapability' title: ChannelOwnCapability type: array x-stream-index: '021' team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: '016' truncated_at: description: Date of the latest truncation of the channel format: date-time title: UserResponse type: number x-stream-index: '024' truncated_by: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '025' type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: '002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '006' required: - id - type - cid - created_at - updated_at - frozen - disabled - custom title: Channel type: object UpdateChannelRequest: properties: accept_invite: description: Set to `true` to accept the invite title: Accept invite type: boolean x-stream-index: 008 add_filter_tags: description: List of filter tags to add to the channel items: type: string maxItems: 10 title: Add filter tags type: array x-stream-index: '014' add_members: description: List of user IDs to add to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Add members type: array x-stream-index: '001' add_moderators: description: List of user IDs to make channel moderators items: type: string maxItems: 100 title: Add moderators type: array x-stream-index: '003' assign_roles: description: List of channel member role assignments. If any specified user is not part of the channel, the request will fail items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Assign roles type: array x-stream-index: '006' cooldown: description: Sets cool down period for the channel in seconds format: int32 maximum: 120 minimum: 0 title: Cool down type: integer x-stream-index: '007' data: $ref: '#/components/schemas/ChannelInputRequest' x-stream-index: '016.001' demote_moderators: description: List of user IDs to take away moderators status from items: type: string maxItems: 100 title: Demote moderators type: array x-stream-index: '004' hide_history: description: Set to `true` to hide channel's history when adding new members title: Hide history type: boolean x-stream-index: '012' hide_history_before: description: If set, hides channel's history before this time when adding new members. Takes precedence over `hide_history` when both are provided. Must be in RFC3339 format (e.g., "2024-01-01T10:00:00Z") and in the past. format: date-time title: Hide history before type: string x-stream-index: '013' invites: description: List of user IDs to invite to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Invites type: array x-stream-index: '005' message: $ref: '#/components/schemas/MessageRequest' description: Message to send to the chat when channel is successfully updated title: Message x-stream-index: '010' reject_invite: description: Set to `true` to reject the invite title: Reject invite type: boolean x-stream-index: 009 remove_filter_tags: description: List of filter tags to remove from the channel items: type: string title: Remove filter tags type: array x-stream-index: '015' remove_members: description: List of user IDs to remove from the channel items: type: string maxItems: 100 title: Remove members type: array x-stream-index: '002' skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: '011' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '017.002' user_id: type: string x-stream-index: '017.001' title: Channel update request type: - object - 'null' x-stream-docs-page-id: channel_update AudioSettings: properties: access_request_enabled: type: boolean x-stream-index: '001' default_device: enum: - speaker - earpiece type: string x-stream-index: '006' hifi_audio_enabled: type: boolean x-stream-index: 008 mic_default_on: type: boolean x-stream-index: '004' noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: '007' opus_dtx_enabled: type: boolean x-stream-index: '002' redundant_coding_enabled: type: boolean x-stream-index: '003' speaker_default_on: type: boolean x-stream-index: '005' required: - access_request_enabled - opus_dtx_enabled - redundant_coding_enabled - mic_default_on - speaker_default_on - default_device - hifi_audio_enabled type: object StartCampaignResponse: description: Basic response information properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' users: $ref: '#/components/schemas/PagerResponse' x-stream-index: '002' required: - duration title: Response type: - object - 'null' SendEventRequest: properties: event: $ref: '#/components/schemas/EventRequest' x-stream-index: '001' required: - event type: - object - 'null' ChannelMute: properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Channel that is muted title: Channel x-stream-index: '002' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '004' expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: '003' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' description: Owner of channel mute title: User x-stream-index: '001' required: - created_at - updated_at type: - object - 'null' SharedLocationsResponse: properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData' type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - active_live_locations - duration type: - object - 'null' UpdateUsersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' membership_deletion_task_id: type: string x-stream-index: '002' users: additionalProperties: $ref: '#/components/schemas/FullUserResponse' description: Object containing users title: Users type: object x-stream-index: '001' x-stream-map: key: user_id required: - users - membership_deletion_task_id - duration type: - object - 'null' ListChannelTypesResponse: properties: channel_types: additionalProperties: $ref: '#/components/schemas/ChannelTypeConfig' description: Object with all channel types title: Channel types type: object x-stream-index: '001' x-stream-map: description: Channel type config object key: channel_type title: Channel type duration: type: string x-stream-index: '002.001' required: - channel_types - duration title: ListChannelTypesResponse type: - object - 'null' ExportUsersResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: type: string x-stream-index: '001' required: - task_id - duration title: Response type: - object - 'null' PollVoteResponseData_2: properties: answer_text: type: string x-stream-index: '005' created_at: format: date-time type: number x-stream-index: 008 id: type: string x-stream-index: '002' is_answer: type: boolean x-stream-index: '004' option_id: type: string x-stream-index: '003' poll_id: type: string x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - poll_id - id - option_id - created_at - updated_at type: - object - 'null' NotificationSettings: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '002' call_missed: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '006' call_notification: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '004' call_ring: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '005' enabled: type: boolean x-stream-index: '001' session_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: '003' required: - enabled - call_live_started - session_started - call_notification - call_ring - call_missed type: object CreateGuestResponse: properties: access_token: description: the access token to authenticate the user title: Access token type: string x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' user: $ref: '#/components/schemas/UserResponse' description: User object which server acts upon title: User x-stream-index: '001' required: - user - access_token - duration type: - object - 'null' UpdateCommandRequest: properties: args: description: Arguments help text, shown in commands auto-completion maxLength: 255 title: Arguments type: string x-stream-index: '003' description: description: Description, shown in commands auto-completion maxLength: 255 title: Description type: string x-stream-index: '002' set: description: Set name used for grouping commands maxLength: 255 title: Set type: string x-stream-index: '004' required: - description title: UpdateCommandRequest type: - object - 'null' Role: properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '004' custom: description: Whether this is a custom role or built-in title: Custom type: boolean x-stream-index: '002' name: description: Unique role name title: Name type: string x-stream-index: '001' scopes: description: List of scopes where this role is currently present. `.app` means that role is present in app-level grants items: type: string title: Scopes type: array x-stream-index: '003' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '005' required: - name - custom - scopes - created_at - updated_at type: object DeleteSegmentTargetsRequest: properties: target_ids: description: Target IDs items: type: string maxItems: 100 minItems: 1 title: '[]string' type: array x-stream-index: '002' required: - target_ids type: - object - 'null' MarkReadResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' event: $ref: '#/components/schemas/MarkReadResponseEvent' description: Mark read event title: Event x-stream-index: '001' required: - duration type: - object - 'null' ChannelStateResponse: properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData' type: array x-stream-index: '001.015' channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '001.001' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '001.014' duration: type: string x-stream-index: '002.001' hidden: type: boolean x-stream-index: '001.011' hide_messages_before: format: date-time type: string x-stream-index: '001.012' members: items: $ref: '#/components/schemas/ChannelMemberResponse' type: array x-stream-index: '001.007' membership: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: '001.008' messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: '001.002' pending_messages: items: $ref: '#/components/schemas/PendingMessageResponse' type: array x-stream-index: '001.013' pinned_messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: '001.003' push_preferences: $ref: '#/components/schemas/ChannelPushPreferencesResponse' x-stream-index: '001.009' read: items: $ref: '#/components/schemas/ReadStateResponse' type: array x-stream-index: '001.006' threads: items: $ref: '#/components/schemas/ThreadStateResponse' type: array x-stream-index: '001.010' watcher_count: format: int32 type: integer x-stream-index: '001.004' watchers: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: '001.005' required: - messages - pinned_messages - members - threads - duration type: - object - 'null' MessageFlagResponse: properties: approved_at: format: date-time type: string x-stream-index: '013' created_at: format: date-time type: string x-stream-index: 009 created_by_automod: type: boolean x-stream-index: '001' custom: additionalProperties: {} type: object x-stream-index: 008 details: $ref: '#/components/schemas/FlagDetailsResponse' x-stream-index: '006' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '005' moderation_feedback: $ref: '#/components/schemas/FlagFeedbackResponse' x-stream-index: '003' moderation_result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: '002' reason: type: string x-stream-index: '007' rejected_at: format: date-time type: string x-stream-index: '014' reviewed_at: format: date-time type: string x-stream-index: '011' reviewed_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '012' updated_at: format: date-time type: string x-stream-index: '010' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '004' required: - created_by_automod - created_at - updated_at type: - object - 'null' CreateImportV2TaskRequest: description: Client request properties: product: enum: - chat - feeds type: string x-stream-index: '001' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - product - settings title: ClientRequest type: - object - 'null' GetImportResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: '001' required: - duration title: Response type: - object - 'null' PollOptionRequest: properties: custom: additionalProperties: {} type: object x-stream-index: '003' id: maxLength: 255 type: string x-stream-index: '001' text: type: string x-stream-index: '002' required: - id type: - object - 'null' UpdateChannelTypeResponse: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.001.029 blocklist: type: string x-stream-index: 003.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.001.034 commands: items: type: string type: array x-stream-index: '003.003' connect_events: type: boolean x-stream-index: 003.001.004 count_messages: type: boolean x-stream-index: 003.001.020 created_at: format: date-time type: string x-stream-index: 003.002.003 custom_events: type: boolean x-stream-index: 003.001.013 delivery_events: type: boolean x-stream-index: 003.001.005 duration: type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 003.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.001.022 mutes: type: boolean x-stream-index: 003.001.010 name: type: string x-stream-index: 003.001.001 partition_size: format: int32 type: integer x-stream-index: 003.001.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 003.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '001' polls: type: boolean x-stream-index: 003.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.001.033 push_notifications: type: boolean x-stream-index: 003.001.014 quotes: type: boolean x-stream-index: 003.001.009 reactions: type: boolean x-stream-index: 003.001.007 read_events: type: boolean x-stream-index: 003.001.003 reminders: type: boolean x-stream-index: 003.001.015 replies: type: boolean x-stream-index: 003.001.008 search: type: boolean x-stream-index: 003.001.006 shared_locations: type: boolean x-stream-index: 003.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.001.032 typing_events: type: boolean x-stream-index: 003.001.002 updated_at: format: date-time type: string x-stream-index: 003.002.004 uploads: type: boolean x-stream-index: 003.001.011 url_enrichment: type: boolean x-stream-index: 003.001.012 user_message_reminders: type: boolean x-stream-index: 003.001.018 required: - permissions - grants - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - duration type: - object - 'null' QueryReactionsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-filter-fields: created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date type: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '006.001' next: type: string x-stream-index: '006.002' prev: type: string x-stream-index: '006.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '003' x-stream-sort-combinations: - - created_at x-stream-sort-fields: - created_at user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' type: object ListUserGroupsResponse: description: Response for listing user groups properties: duration: type: string x-stream-index: '002.001' user_groups: description: List of user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: '001' required: - user_groups - duration title: ListUserGroupsResponse type: - object - 'null' MarkDeliveredRequest: properties: latest_delivered_messages: items: $ref: '#/components/schemas/DeliveredMessagePayload' type: array x-stream-index: '001' type: - object - 'null' CreateBlockListRequest: description: Block list contains restricted words properties: is_leet_check_enabled: type: boolean x-stream-index: '001' is_plural_check_enabled: type: boolean x-stream-index: '002' name: description: Block list name maxLength: 255 title: Name type: string x-stream-index: '003' team: type: string x-stream-index: '006' type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' enum: - regex - domain - domain_allowlist - email - email_allowlist - word title: Type type: string x-stream-index: '005' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '004' required: - name - words title: Block list type: - object - 'null' x-stream-docs-page-id: block_lists PaginationParams: properties: limit: format: int32 minimum: 0 type: integer x-stream-index: '001' offset: format: int32 type: integer x-stream-index: '002' type: object FullUserResponse: properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: format: date-time type: string x-stream-index: '016' banned: type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '015' bypass_moderation: type: boolean x-stream-index: '014' channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: '007' created_at: format: date-time type: string x-stream-index: '001.009' custom: additionalProperties: {} type: object x-stream-index: '001.004' deactivated_at: format: date-time type: string x-stream-index: '001.016' deleted_at: format: date-time type: string x-stream-index: '001.011' devices: items: $ref: '#/components/schemas/DeviceResponse' type: array x-stream-index: '004' id: type: string x-stream-index: '001.001' image: type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: '005' language: type: string x-stream-index: '001.005' last_active: format: date-time type: string x-stream-index: '001.014' latest_hidden_channels: items: type: string type: array x-stream-index: '012' mutes: items: $ref: '#/components/schemas/UserMuteResponse' type: array x-stream-index: '006' name: type: string x-stream-index: '001.002' online: type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '003' revoke_tokens_issued_before: format: date-time type: string x-stream-index: '001.015' role: type: string x-stream-index: '001.006' shadow_banned: type: boolean x-stream-index: '013' teams: items: type: string type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' total_unread_count: format: int32 type: integer x-stream-index: 009 unread_channels: format: int32 type: integer x-stream-index: '010' unread_count: format: int32 type: integer x-stream-index: 008 unread_threads: format: int32 type: integer x-stream-index: '011' updated_at: format: date-time type: string x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - invisible - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads - shadow_banned - blocked_user_ids type: object UploadChannelFileResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' file: description: URL to the uploaded asset. Should be used to put to `asset_url` attachment field title: File type: string x-stream-index: '001' moderation_action: type: string x-stream-index: '003' thumb_url: description: URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field title: Thumbnail URL type: string x-stream-index: '002' required: - duration type: - object - 'null' UpdateChannelPartialResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Updated channel object title: Channel x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' members: description: List of updated members items: $ref: '#/components/schemas/ChannelMemberResponse' title: ChannelMemberResponse type: array x-stream-index: '002' required: - members - duration type: - object - 'null' QueryFutureChannelBansPayload: properties: exclude_expired_bans: description: Whether to exclude expired bans or not title: Exclude expired bans type: boolean x-stream-index: '002' limit: description: Number of records to return format: int32 maximum: 300 minimum: 0 title: Limit type: integer x-stream-index: '001.003' offset: description: Number of records to offset format: int32 maximum: 10000 title: Offset type: integer x-stream-index: '001.004' target_user_id: description: Filter by the target user ID. For server-side requests only. title: Target user ID type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' type: object ReactivateUsersRequest: description: Reactivate users in batches properties: created_by_id: description: ID of the user who's reactivating the users title: Created by ID type: string x-stream-index: '003' restore_channels: type: boolean x-stream-index: '004' restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: '002' user_ids: description: User IDs to reactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001' required: - user_ids title: ReactivateUsersRequest type: - object - 'null' BlockListResponse: description: Block list contains restricted words properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001' id: type: string x-stream-index: '003' is_leet_check_enabled: type: boolean x-stream-index: 008 is_plural_check_enabled: type: boolean x-stream-index: 009 name: description: Block list name title: Name type: string x-stream-index: '004' team: type: string x-stream-index: '007' type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' title: Type type: string x-stream-index: '005' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '002' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '006' required: - name - type - words - is_leet_check_enabled - is_plural_check_enabled title: Block list type: object x-stream-docs-page-id: block_lists UnblockUsersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration type: - object - 'null' CreateReminderRequest: properties: remind_at: format: date-time type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' DeleteChannelResponse: description: Basic response information properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' QueryChannelsRequest: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: app_banned: operators: - $eq type: string archived: operators: - $eq type: boolean blocked: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date created_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string disabled: operators: - $eq type: boolean distinct: operators: - $eq type: boolean filter_tags: operators: - $eq - $in type: string frozen: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: boolean has_unread: operators: - $eq type: boolean hidden: operators: - $eq type: boolean id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string joined: operators: - $eq type: boolean last_message_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date last_updated: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date member.user.name: operators: - $autocomplete - $eq - $ne type: string member_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number members: operators: - $eq - $in - $nin type: string message_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number muted: operators: - $eq type: boolean name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string pinned: operators: - $eq type: boolean team: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date x-stream-index: '001' filter_values: additionalProperties: {} description: Values to interpolate into the predefined filter template title: Filter Values type: object x-stream-index: '011' limit: description: Number of channels to limit format: int32 title: Limit type: integer x-stream-index: 008 member_limit: description: Number of members to limit format: int32 maximum: 100 minimum: 0 title: Member limit type: integer x-stream-index: '007' message_limit: description: Number of messages to limit format: int32 minimum: 0 title: Message limit type: integer x-stream-index: '006' offset: description: Channel pagination offset format: int32 title: Offset type: integer x-stream-index: 009 predefined_filter: description: ID of a predefined filter to use instead of filter_conditions maxLength: 255 title: Predefined Filter type: string x-stream-index: '010' sort: description: List of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' sort_values: additionalProperties: {} type: object x-stream-index: '012' state: description: Whether to update channel state or not title: State type: boolean x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '013.002' user_id: type: string x-stream-index: '013.001' title: Query Channels Request type: - object - 'null' x-stream-docs-page-id: query_channels DeleteReactionResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: '002' required: - message - reaction - duration title: Response type: - object - 'null' ReactionRequest: description: Represents user reaction to a message properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '003' custom: additionalProperties: {} type: object x-stream-index: '005' score: description: Reaction score. If not specified reaction has score of 1 format: int32 title: Score type: integer x-stream-index: '002' type: description: The type of reaction (e.g. 'like', 'laugh', 'wow') maxLength: 30 title: Type type: string x-stream-index: '001' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' required: - type title: Reaction type: object x-stream-docs-page-id: send_reaction DeviceResponse_2: description: Response for Device properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: - object - 'null' ChannelExport: properties: cid: type: string x-stream-index: '003' id: description: Channel ID title: ID type: string x-stream-index: '002' messages_since: description: Date to export messages since format: date-time title: Messages since type: string x-stream-index: '004' messages_until: description: Date to export messages until format: date-time title: Messages until type: string x-stream-index: '005' type: description: Channel type title: Type type: string x-stream-index: '001' title: Channel Export type: object S3Request: description: Config for creating Amazon S3 storage. properties: s3_api_key: description: 'The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application.' title: S3ApiKey type: string x-stream-index: '002' s3_custom_endpoint_url: description: The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters. title: S3CustomEndpointURL type: string x-stream-index: '004' s3_region: description: The AWS region where the bucket is hosted title: S3Region type: string x-stream-index: '001' s3_secret: description: The AWS API Secret title: S3Secret type: string x-stream-index: '003' required: - s3_region title: S3Request type: object MessageActionResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' required: - duration title: Response type: - object - 'null' GetRepliesResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: '001' required: - messages - duration title: Response type: - object - 'null' CreatePollRequest: description: Contains all information needed to create a new poll properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '011' allow_answers: description: Indicates whether users can suggest user defined answers title: Allow answers type: boolean x-stream-index: 009 allow_user_suggested_options: type: boolean x-stream-index: 008 description: description: A description of the poll title: Description type: string x-stream-index: '003' enforce_unique_vote: description: Indicates whether users can cast multiple votes title: Multiple choice type: boolean x-stream-index: '006' id: maxLength: 255 type: string x-stream-index: '001' is_closed: description: Indicates whether the poll is open for voting title: Is closed type: boolean x-stream-index: '010' max_votes_allowed: description: Indicates the maximum amount of votes a user can cast format: int32 maximum: 10 title: Maximum votes allowed type: integer x-stream-index: '007' name: description: The name of the poll title: Name type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionInput' maxItems: 100 type: array x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '012.002' user_id: type: string x-stream-index: '012.001' voting_visibility: enum: - anonymous - public type: string x-stream-index: '005' required: - name title: Create Poll Request type: - object - 'null' TargetResolution: properties: bitrate: format: int32 maximum: 6000000 type: integer x-stream-index: '003' height: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '002' width: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: '001' required: - width - height - bitrate type: object GetSegmentResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' segment: $ref: '#/components/schemas/SegmentResponse' description: Segment title: SegmentResponse x-stream-index: '001' required: - duration type: - object - 'null' UndeleteMessageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' required: - message - duration title: Response type: - object - 'null' MarkChannelsReadRequest: properties: read_by_channel: additionalProperties: type: string description: Map of channel ID to last read message ID maximum: 30 title: Read by channel type: object x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' type: - object - 'null' ListDevicesResponse: description: List devices response properties: devices: description: List of devices items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - devices - duration title: ListDevicesResponse type: - object - 'null' UpdateMessagePartialRequest: properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: '003.001' x-stream-map: description: New value to set key: field title: Value skip_enrich_url: description: Skip enriching the URL in the message title: SkipEnrichURL type: boolean x-stream-index: '001' skip_push: type: boolean x-stream-index: '002' unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: '003.002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' type: - object - 'null' GetManyMessagesResponse: properties: duration: type: string x-stream-index: 001.002.001 messages: description: List of messages items: $ref: '#/components/schemas/MessageResponse' title: Messages type: array x-stream-index: '001.001' required: - messages - duration type: - object - 'null' ReactionResponse: properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '006' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: 008 message_id: description: Message ID title: Message ID type: string x-stream-index: '001' score: description: Score of the reaction format: int32 title: Score type: integer x-stream-index: '005' type: description: Type of reaction title: Type type: string x-stream-index: '004' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '007' user: $ref: '#/components/schemas/UserResponse' description: User title: UserResponse x-stream-index: '003' user_id: description: User ID title: User ID type: string x-stream-index: '002' required: - message_id - user_id - user - type - score - created_at - updated_at - custom type: object MessagePaginationParams: properties: created_at_after: description: The timestamp to get messages with a created_at timestamp greater than format: date-time title: Created_at after type: string x-stream-index: 008 created_at_after_or_equal: description: The timestamp to get messages with a created_at timestamp greater than or equal to format: date-time title: Created_at after or equal type: string x-stream-index: '007' created_at_around: description: The result will be a set of messages, that are both older and newer than the created_at timestamp provided, distributed evenly around the timestamp format: date-time title: Created_at around type: string x-stream-index: '012' created_at_before: description: The timestamp to get messages with a created_at timestamp smaller than format: date-time title: Created_at after before type: string x-stream-index: '010' created_at_before_or_equal: description: The timestamp to get messages with a created_at timestamp smaller than or equal to format: date-time title: Created_at after before or equal type: string x-stream-index: 009 id_around: description: The result will be a set of messages, that are both older and newer than the message with the provided ID, and the message with the ID provided will be in the middle of the set title: Id around type: string x-stream-index: '011' id_gt: description: The ID of the message to get messages with a timestamp greater than title: IDGT type: string x-stream-index: '004' id_gte: description: The ID of the message to get messages with a timestamp greater than or equal to title: IDGTE type: string x-stream-index: '003' id_lt: description: The ID of the message to get messages with a timestamp smaller than title: IDLT type: string x-stream-index: '006' id_lte: description: The ID of the message to get messages with a timestamp smaller than or equal to title: IDLTE type: string x-stream-index: '005' limit: description: 'The maximum number of messages to return (max limit ' format: int32 minimum: 0 title: Limit type: integer x-stream-index: '001' type: object RetentionPolicy: properties: app_pk: format: int64 type: integer x-stream-index: '002' config: $ref: '#/components/schemas/PolicyConfig' x-stream-index: '004' enabled_at: format: date-time type: string x-stream-index: '005' policy: type: string x-stream-index: '003' required: - app_pk - policy - config - enabled_at type: object FeedsPreferences: properties: comment: description: 'Push notification preference for comments on user''s activities. One of: all, none' enum: - all - none title: Comment type: string x-stream-index: '002' comment_mention: description: 'Push notification preference for mentions in comments. One of: all, none' enum: - all - none title: Comment Mention type: string x-stream-index: '006' comment_reaction: description: 'Push notification preference for reactions on comments. One of: all, none' enum: - all - none title: Comment Reaction type: string x-stream-index: '004' comment_reply: description: 'Push notification preference for replies to comments. One of: all, none' enum: - all - none title: Comment Reply type: string x-stream-index: '005' custom_activity_types: additionalProperties: type: string description: Push notification preferences for custom activity types. Map of activity type to preference (all or none) title: Custom Activity Types type: object x-stream-index: 008 follow: description: 'Push notification preference for new followers. One of: all, none' enum: - all - none title: Follow type: string x-stream-index: '001' mention: description: 'Push notification preference for mentions in activities. One of: all, none' enum: - all - none title: Mention type: string x-stream-index: '007' reaction: description: 'Push notification preference for reactions on user''s activities or comments. One of: all, none' enum: - all - none title: Reaction type: string x-stream-index: '003' title: Feeds Preferences type: object DeliveredMessagePayload: properties: cid: type: string x-stream-index: '001' id: type: string x-stream-index: '002' type: object CreateUserGroupResponse: description: Response for creating a user group properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The created user group title: UserGroup x-stream-index: '001' required: - duration title: CreateUserGroupResponse type: - object - 'null' UnmuteResponse: properties: duration: type: string x-stream-index: '002.001' non_existing_users: description: A list of users that can't be found. Common cause for this is deleted users items: type: string title: Non Existing Users type: array x-stream-index: '001' required: - duration title: UnmuteResponse type: - object - 'null' CreateImportV2TaskResponse: description: Basic response information properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '006' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '008.001' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: string x-stream-index: '007' required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: - object - 'null' TranslateMessageRequest: properties: language: description: Language to translate message to enum: - af - sq - am - ar - az - bn - bs - bg - zh - zh-TW - hr - cs - da - fa-AF - nl - en - et - fi - fr - fr-CA - ka - de - el - ha - he - hi - hu - id - it - ja - ko - lv - ms - 'no' - fa - ps - pl - pt - ro - ru - sr - sk - sl - so - es - es-MX - sw - sv - tl - ta - th - tr - uk - ur - vi - lt - ht title: Language type: string x-stream-index: '001' required: - language type: - object - 'null' CheckPushRequest: description: Check push request properties: apn_template: description: Push message template for APN title: APN template type: string x-stream-docs-page-id: push_template x-stream-index: '002' event_type: description: 'Type of event for push templates (default: message.new). One of: message.new, message.updated, reaction.new, reaction.updated, notification.reminder_due' enum: - message.new - message.updated - reaction.new - reaction.updated - notification.reminder_due title: Event type type: string x-stream-index: 008 firebase_data_template: description: Push message data template for Firebase title: Firebase data template type: string x-stream-docs-page-id: push_template x-stream-index: '004' firebase_template: description: Push message template for Firebase title: Firebase template type: string x-stream-docs-page-id: push_template x-stream-index: '003' message_id: description: Message ID to send push notification for title: Message ID type: string x-stream-index: '001' push_provider_name: description: Name of push provider title: Name of push provider type: string x-stream-index: '007' push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' title: Type of push provider type: string x-stream-index: '006' skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: '005' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' title: CheckPushRequest type: - object - 'null' NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object CampaignChannelMember: properties: channel_role: type: string x-stream-index: '002' custom: additionalProperties: {} type: object x-stream-index: '003' user_id: type: string x-stream-index: '001' required: - user_id type: - object - 'null' ReminderResponseData_2: properties: channel: $ref: '#/components/schemas/ChannelResponse_2' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: number x-stream-index: 008 message: $ref: '#/components/schemas/MessageResponse_2' x-stream-index: '005' message_id: type: string x-stream-index: '004' remind_at: format: date-time type: number x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - channel_cid - message_id - user_id - created_at - updated_at type: object ErrorResult: properties: description: type: string x-stream-index: '002' stacktrace: type: string x-stream-index: '003' type: type: string x-stream-index: '001' version: type: string x-stream-index: '004' required: - type - description type: object UpsertPushPreferencesRequest: properties: preferences: description: A list of push preferences for channels, calls, or the user. items: $ref: '#/components/schemas/PushPreferenceInput' type: array x-stream-index: '001' required: - preferences type: - object - 'null' MetricStats: description: Statistics for a single metric with optional daily breakdown properties: daily: description: Per-day values (only present in daily mode) items: $ref: '#/components/schemas/DailyValue' title: '[]DailyValue' type: array x-stream-index: '001' total: description: Aggregated total value format: int64 title: integer type: integer x-stream-index: '002' required: - total title: Metric Stats type: object PushConfig: properties: offline_only: type: boolean x-stream-index: '002' version: enum: - v1 - v2 - v3 type: string x-stream-index: '001' required: - version type: object UpsertExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' FutureChannelBanResponse: properties: banned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '006' expires: format: date-time type: string x-stream-index: '003' reason: type: string x-stream-index: '004' shadow: type: boolean x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' required: - created_at type: - object - 'null' UploadChannelResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.004.001 file: type: string x-stream-index: '001.001' moderation_action: type: string x-stream-index: '001.003' thumb_url: type: string x-stream-index: '001.002' upload_sizes: description: Array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' required: - duration type: - object - 'null' EventNotificationSettings: properties: apns: $ref: '#/components/schemas/APNS' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' fcm: $ref: '#/components/schemas/FCM' x-stream-index: '003' required: - enabled - apns - fcm type: object SearchResult: properties: message: $ref: '#/components/schemas/SearchResultMessage' description: Found message title: Message x-stream-index: '001' type: object PushProviderRequest: properties: apn_auth_key: type: string x-stream-index: '006' apn_auth_type: type: string x-stream-index: '011' apn_development: type: boolean x-stream-index: '012' apn_host: type: string x-stream-index: '013' apn_key_id: type: string x-stream-index: '007' apn_notification_template: type: string x-stream-index: '014' apn_p12_cert: type: string x-stream-index: 008 apn_team_id: type: string x-stream-index: 009 apn_topic: type: string x-stream-index: '010' description: maxLength: 128 type: string x-stream-index: '003' disabled_at: format: date-time type: string x-stream-index: '004' disabled_reason: maxLength: 255 type: string x-stream-index: '005' firebase_apn_template: type: string x-stream-index: 019 firebase_credentials: type: string x-stream-index: '016' firebase_data_template: type: string x-stream-index: '017' firebase_host: type: string x-stream-index: '020' firebase_notification_template: type: string x-stream-index: 018 firebase_server_key: type: string x-stream-index: '015' huawei_app_id: type: string x-stream-index: '021' huawei_app_secret: type: string x-stream-index: '022' name: maxLength: 36 minLength: 1 type: string x-stream-index: '001' type: type: string x-stream-index: '002' xiaomi_app_secret: type: string x-stream-index: '024' xiaomi_package_name: type: string x-stream-index: '023' required: - name type: object XiaomiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '003' package_name: type: string x-stream-index: '001' secret: type: string x-stream-index: '002' type: object BlockListOptions: properties: behavior: description: 'Blocklist behavior. One of: flag, block, shadow_block' enum: - flag - block - shadow_block title: Behavior type: string x-stream-index: '002' blocklist: description: Blocklist name title: Blocklist type: string x-stream-index: '001' required: - blocklist - behavior type: object UpsertExternalStorageAWSS3Request: properties: bucket: type: string x-stream-index: '002' path_prefix: type: string x-stream-index: '004' region: type: string x-stream-index: '003' role_arn: type: string x-stream-index: '001' required: - role_arn - bucket - region type: object ExportUsersRequest: properties: user_ids: items: type: string maxItems: 25 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: - object - 'null' CreateCommandResponse: properties: command: $ref: '#/components/schemas/Command' description: Command object title: Command x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - duration title: CreateCommandResponse type: - object - 'null' PushPreferenceInput: properties: call_level: description: 'Set the level of call push notifications for the user. One of: all, none, default' enum: - all - none - default title: Call Level type: string x-stream-index: '005' channel_cid: description: Set the push preferences for a specific channel. If empty it sets the default for the user title: Channel CID type: string x-stream-index: '002' chat_level: description: 'Set the level of chat push notifications for the user. Note: "mentions" is deprecated in favor of "direct_mentions". One of: all, mentions, direct_mentions, all_mentions, none, default' enum: - all - mentions - direct_mentions - all_mentions - none - default title: Chat Level type: string x-stream-index: '003' chat_preferences: $ref: '#/components/schemas/ChatPreferencesInput' x-stream-index: '004' disabled_until: description: Disable push notifications till a certain time format: date-time title: Disabled Until type: string x-stream-index: 008 feeds_level: description: 'Set the level of feeds push notifications for the user. One of: all, none, default' enum: - all - none - default title: Feeds Level type: string x-stream-index: '006' feeds_preferences: $ref: '#/components/schemas/FeedsPreferences' description: Set granular feeds preferences for reactions, comments, new followers, mentions, and custom activity types title: Feeds Preferences x-stream-index: '007' remove_disable: description: Remove the disabled until time. (IE stop snoozing notifications) title: Remove Disable type: boolean x-stream-index: 009 user_id: description: The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth. title: User ID type: string x-stream-index: '001' type: - object - 'null' UpdateReminderResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: '001' required: - reminder - duration title: Response type: - object - 'null' BlockedUserResponse: properties: blocked_user: $ref: '#/components/schemas/UserResponse' description: User who got blocked title: User x-stream-index: '003' blocked_user_id: description: ID of the user who got blocked title: UserID type: string x-stream-index: '004' created_at: format: date-time type: string x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' description: User who blocked another user title: User x-stream-index: '001' user_id: description: ID of the user who blocked another user title: UserID type: string x-stream-index: '002' required: - user - user_id - blocked_user - blocked_user_id - created_at type: - object - 'null' SendUserCustomEventRequest: properties: event: $ref: '#/components/schemas/UserCustomEventRequest' x-stream-index: '001' required: - event type: - object - 'null' FileUploadRequest: properties: file: description: file field title: File type: string x-stream-index: '001' user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: '002' type: - object - 'null' CreateCampaignResponse: description: Basic response information properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' users: $ref: '#/components/schemas/PagerResponse' x-stream-index: '002' required: - duration title: Response type: - object - 'null' LabelResponse: properties: harm_labels: items: type: string type: array x-stream-index: '003' name: type: string x-stream-index: '001' phrase_list_ids: items: format: int32 type: integer type: array x-stream-index: '002' required: - name type: object HideChannelRequest: properties: clear_history: description: Whether to clear message history of the channel or not title: Clear history type: boolean x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' CreatePollOptionRequest: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '003' text: description: Option text title: string type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - text type: - object - 'null' BanResponse: properties: banned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '006' channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '001' created_at: format: date-time type: string x-stream-index: '007' expires: format: date-time type: string x-stream-index: '003' reason: type: string x-stream-index: '004' shadow: type: boolean x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' required: - created_at type: - object - 'null' SendReactionRequest: properties: enforce_unique: description: Whether to replace all existing user reactions title: Enforce unique type: boolean x-stream-index: '003' reaction: $ref: '#/components/schemas/ReactionRequest' x-stream-index: '002' skip_push: description: Skips any mobile push notifications title: Skip push type: boolean x-stream-index: '004' required: - reaction type: - object - 'null' QuerySegmentsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '002' required: - filter type: - object - 'null' FlagMessageResponse: properties: duration: type: string x-stream-index: '003.001' flag: $ref: '#/components/schemas/FlagResponse' description: Flag object title: Flag x-stream-index: '001' review_queue_item_id: description: ID of review queue item if moderation v2 is enabled title: Review Queue Item ID type: string x-stream-index: '002' required: - review_queue_item_id - duration type: - object - 'null' PagerResponse: properties: next: type: string x-stream-index: '001' prev: type: string x-stream-index: '002' type: object ImportV2TaskItem: properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '007' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' result: readOnly: true type: object x-stream-index: '006' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: string x-stream-index: 008 required: - id - app_pk - product - state - settings - created_at - updated_at type: object PushNotificationSettingsResponse_2: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: number x-stream-index: '002' type: object DeleteChannelsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' result: additionalProperties: $ref: '#/components/schemas/DeleteChannelsResultResponse' description: Map of channel IDs and their deletion results title: Result type: object x-stream-index: '001' task_id: type: string x-stream-index: '002' required: - duration type: - object - 'null' DeviceErrorInfo: properties: error_message: type: string x-stream-index: '003' provider: type: string x-stream-index: '001' provider_name: type: string x-stream-index: '002' required: - provider - provider_name - error_message type: object QueryDraftsResponse: properties: drafts: description: Drafts items: $ref: '#/components/schemas/DraftResponse' title: DraftsResponseList type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' required: - drafts - duration type: - object - 'null' GroupedQueryChannelsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' groups: additionalProperties: $ref: '#/components/schemas/GroupedChannelsBucket' description: Predefined channel groups keyed by group name title: Groups type: object x-stream-index: '001' x-stream-map: description: Channels and unread counts for one group key: group_name title: Grouped Channels Bucket required: - groups - duration title: Grouped Query Channels Response type: - object - 'null' Segment_2: properties: all_sender_channels: type: boolean x-stream-index: '007' all_users: type: boolean x-stream-index: '006' created_at: format: date-time type: number x-stream-index: '010' deleted_at: format: date-time type: number x-stream-index: '012' description: type: string x-stream-index: '004' filter: additionalProperties: {} type: object x-stream-index: '005' id: type: string x-stream-index: '001' name: type: string x-stream-index: '003' size: format: int32 type: integer x-stream-index: 009 task_id: type: string x-stream-index: 008 type: type: string x-stream-index: '002' updated_at: format: date-time type: number x-stream-index: '011' required: - id - type - name - all_users - all_sender_channels - size - created_at - updated_at type: - object - 'null' UpdatePollRequest: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '011' allow_answers: description: Allow answers title: boolean type: boolean x-stream-index: 009 allow_user_suggested_options: description: Allow user suggested options title: boolean type: boolean x-stream-index: 008 description: description: Poll description title: string type: string x-stream-index: '003' enforce_unique_vote: description: Enforce unique vote title: boolean type: boolean x-stream-index: '005' id: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '001' is_closed: description: Is closed title: boolean type: boolean x-stream-index: '010' max_votes_allowed: description: Max votes allowed format: int32 maximum: 10 title: integer type: integer x-stream-index: '007' name: description: Poll name title: string type: string x-stream-index: '002' options: description: Poll options items: $ref: '#/components/schemas/PollOptionRequest' maxItems: 100 title: PollOptions type: array x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '012.002' user_id: type: string x-stream-index: '012.001' voting_visibility: description: Voting visibility enum: - anonymous - public title: string type: string x-stream-index: '006' required: - id - name type: - object - 'null' DraftPayloadResponse: description: Contains the draft message content properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: '004' custom: additionalProperties: {} type: object x-stream-index: '007' html: description: Contains HTML markup of the message title: HTML content type: string x-stream-index: '010' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: 008 mml: description: MML content of the message title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '005' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '013' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: 009 show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: '006' silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '012' text: description: Text of the message title: Text type: string x-stream-index: '002' type: description: 'Contains type of the message. One of: regular, system' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '011' required: - id - text - custom title: Draft Message Payload type: object IngressSource: properties: fps: maximum: 60 minimum: 1 type: integer x-stream-index: '003' height: minimum: 2 type: integer x-stream-index: '002' width: minimum: 2 type: integer x-stream-index: '001' required: - width - height - fps type: object WebhookFailoverConfig: properties: gcs_bucket: type: string x-stream-index: '002' gcs_credentials: type: string x-stream-index: '004' gcs_path: type: string x-stream-index: '003' type: type: string x-stream-index: '001' type: object LabelThresholds: properties: block: description: Threshold for automatic message block format: float maximum: 1 minimum: 0 title: Block type: number x-stream-index: '002' flag: description: Threshold for automatic message flag format: float maximum: 1 minimum: 0 title: Flag type: number x-stream-index: '001' type: object MessageWithChannelResponse: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: '001.009' channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: '002' cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: '001.024' command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: '001.004' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001.025' custom: additionalProperties: {} type: object x-stream-index: '001.028' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: '001.027' deleted_for_me: type: boolean x-stream-index: '001.050' deleted_reply_count: format: int32 type: integer x-stream-index: '001.020' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '001.047' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '001.005' i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: '001.036' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001.001' image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: '001.030' latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse' title: Latest reactions type: array x-stream-index: '001.010' member: $ref: '#/components/schemas/ChannelMemberResponse' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: '001.008' mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: '001.034' mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: '001.033' mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: '001.035' mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: '001.032' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: '001.031' message_text_updated_at: format: date-time type: string x-stream-index: '001.042' mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '001.003' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '001.045' own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse' title: Own reactions type: array x-stream-index: '001.011' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '001.017' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: '001.041' pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: '001.038' pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: string x-stream-docs-page-id: pinned_messages x-stream-index: '001.039' pinned_by: $ref: '#/components/schemas/UserResponse' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: '001.040' poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: '001.044' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '001.043' quoted_message: $ref: '#/components/schemas/MessageResponse' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: '001.022' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '001.021' reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: '001.012' reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: '001.016' reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: '001.013' reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: '001.048' reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: '001.019' restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: '001.046' shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: '001.029' shared_location: $ref: '#/components/schemas/SharedLocationResponseData' description: Contains shared location data title: Shared Location x-stream-index: '001.049' show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: '001.018' silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '001.037' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '001.002' thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: '001.023' type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '001.006' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '001.026' user: $ref: '#/components/schemas/UserResponse' description: Sender of the message. Required when using server-side API title: User object x-stream-index: '001.007' required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility - channel title: Message type: object x-stream-docs-page-id: send_message UpsertPushTemplateRequest: properties: enable_push: description: Whether to send push notification for this event title: boolean type: boolean x-stream-index: '002' event_type: description: 'Event type. One of: message.new, message.updated, reaction.new, notification.reminder_due, feeds.activity.added, feeds.comment.added, feeds.activity.reaction.added, feeds.comment.reaction.added, feeds.follow.created, feeds.notification_feed.updated' enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated title: string type: string x-stream-index: '003' push_provider_name: description: Push provider name title: string type: string x-stream-index: '004' push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string x-stream-index: '005' template: description: Push template title: string type: string x-stream-index: '006' required: - event_type - push_provider_type type: - object - 'null' HuaweiConfigFields: properties: enabled: type: boolean x-stream-index: '001' id: type: string x-stream-index: '002' secret: type: string x-stream-index: '003' required: - enabled type: object GetRetentionPolicyRunsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' runs: items: $ref: '#/components/schemas/RetentionRunResponse' type: array x-stream-index: '001' required: - runs - duration title: Response type: - object - 'null' ChannelMemberRequest: properties: channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: '004' custom: additionalProperties: {} type: object x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' user_id: title: User ID type: string x-stream-index: '001' required: - user_id title: Channel member type: - object - 'null' UpdateReminderRequest: properties: remind_at: format: date-time type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' RawRecordSettings: properties: audio_only: type: boolean x-stream-index: '002' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object UpsertExternalStorageRequest: properties: aws_s3: $ref: '#/components/schemas/UpsertExternalStorageAWSS3Request' x-stream-index: '002' type: enum: - aws_s3 type: string x-stream-index: '001' required: - type type: - object - 'null' RecordSettings: properties: audio_only: type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '004' mode: type: string x-stream-index: '002' quality: type: string x-stream-index: '003' required: - mode type: object ListExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' external_storages: additionalProperties: $ref: '#/components/schemas/ExternalStorageResponse' type: object x-stream-index: '002' required: - duration - external_storages title: Response type: - object - 'null' CreateImportResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: '001' required: - duration title: Response type: - object - 'null' PushProviderResponse: properties: apn_auth_key: type: string x-stream-index: 008 apn_auth_type: type: string x-stream-index: '013' apn_development: type: boolean x-stream-index: '014' apn_host: type: string x-stream-index: '015' apn_key_id: type: string x-stream-index: 009 apn_p12_cert: type: string x-stream-index: '010' apn_sandbox_certificate: type: boolean x-stream-index: '016' apn_supports_remote_notifications: type: boolean x-stream-index: 018 apn_supports_voip_notifications: type: boolean x-stream-index: '017' apn_team_id: type: string x-stream-index: '011' apn_topic: type: string x-stream-index: '012' created_at: format: date-time type: string x-stream-index: '004' description: type: string x-stream-index: '003' disabled_at: format: date-time type: string x-stream-index: '006' disabled_reason: type: string x-stream-index: '007' firebase_apn_template: type: string x-stream-index: '023' firebase_credentials: type: string x-stream-index: '020' firebase_data_template: type: string x-stream-index: '021' firebase_host: type: string x-stream-index: '024' firebase_notification_template: type: string x-stream-index: '022' firebase_server_key: type: string x-stream-index: 019 huawei_app_id: type: string x-stream-index: '025' huawei_app_secret: type: string x-stream-index: '026' name: type: string x-stream-index: '001' type: type: string x-stream-index: '002' updated_at: format: date-time type: string x-stream-index: '005' xiaomi_app_secret: type: string x-stream-index: 028 xiaomi_package_name: type: string x-stream-index: '027' required: - name - type - created_at - updated_at type: object ChannelBatchMemberRequest: properties: channel_role: type: string x-stream-index: '002' user_id: type: string x-stream-index: '001' required: - user_id type: - object - 'null' CampaignChannelTemplate: properties: custom: additionalProperties: {} type: object x-stream-index: '006' id: type: string x-stream-index: '002' members: items: type: string maxItems: 1000 type: array x-stream-index: '003' members_template: items: $ref: '#/components/schemas/CampaignChannelMember' maxItems: 1000 type: array x-stream-index: '004' team: maxLength: 1000 type: string x-stream-index: '005' type: maxLength: 64 type: string x-stream-index: '001' required: - type type: object CreateChannelTypeResponse: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.001.029 blocklist: type: string x-stream-index: 001.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.001.034 commands: items: type: string type: array x-stream-index: '001.003' connect_events: type: boolean x-stream-index: 001.001.004 count_messages: type: boolean x-stream-index: 001.001.020 created_at: format: date-time type: string x-stream-index: 001.002.003 custom_events: type: boolean x-stream-index: 001.001.013 delivery_events: type: boolean x-stream-index: 001.001.005 duration: type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '003' mark_messages_pending: type: boolean x-stream-index: 001.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.001.022 mutes: type: boolean x-stream-index: 001.001.010 name: type: string x-stream-index: 001.001.001 partition_size: format: int32 type: integer x-stream-index: 001.001.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 001.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '002' polls: type: boolean x-stream-index: 001.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.001.033 push_notifications: type: boolean x-stream-index: 001.001.014 quotes: type: boolean x-stream-index: 001.001.009 reactions: type: boolean x-stream-index: 001.001.007 read_events: type: boolean x-stream-index: 001.001.003 reminders: type: boolean x-stream-index: 001.001.015 replies: type: boolean x-stream-index: 001.001.008 search: type: boolean x-stream-index: 001.001.006 shared_locations: type: boolean x-stream-index: 001.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.001.032 typing_events: type: boolean x-stream-index: 001.001.002 updated_at: format: date-time type: string x-stream-index: 001.002.004 uploads: type: boolean x-stream-index: 001.001.011 url_enrichment: type: boolean x-stream-index: 001.001.012 user_message_reminders: type: boolean x-stream-index: 001.001.018 required: - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - permissions - grants - duration type: - object - 'null' UserGroupMember: properties: app_pk: format: int64 type: integer x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '006' group_id: type: string x-stream-index: '003' is_admin: type: boolean x-stream-index: '005' user_id: type: string x-stream-index: '004' required: - app_pk - group_id - user_id - is_admin - created_at type: - object - 'null' SharedLocation_2: properties: created_by_device_id: type: string x-stream-index: '003' end_at: format: date-time type: number x-stream-index: '004' latitude: format: float maximum: 90 minimum: 1.8446744073709552e+19 type: number x-stream-index: '001' longitude: format: float maximum: 180 minimum: 1.8446744073709552e+19 type: number x-stream-index: '002' required: - latitude - longitude type: object TranslationSettings: properties: enabled: type: boolean x-stream-index: '001' languages: items: enum: - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk type: string type: array x-stream-index: '002' required: - enabled - languages type: object ImportTaskHistory: properties: created_at: format: date-time type: string x-stream-index: '005' next_state: type: string x-stream-index: '007' prev_state: type: string x-stream-index: '006' required: - created_at - prev_state - next_state type: - object - 'null' SetRetentionPolicyRequest: properties: max_age_hours: format: int32 maximum: 43800 minimum: 24 type: integer x-stream-index: '002' policy: enum: - old-messages - inactive-channels type: string x-stream-index: '001' required: - policy - max_age_hours type: - object - 'null' QueryCampaignsResponse: description: Basic response information properties: campaigns: items: $ref: '#/components/schemas/CampaignResponse' type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' required: - campaigns - duration title: Response type: - object - 'null' MarkUnreadRequest: properties: message_id: description: ID of the message from where the channel is marked unread title: Message ID type: string x-stream-index: '001' message_timestamp: description: Timestamp of the message from where the channel is marked unread format: date-time title: Message Timestamp type: string x-stream-index: '004' thread_id: description: Mark a thread unread, specify one of the thread, message timestamp, or message id title: Thread ID type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' type: - object - 'null' QueryThreadsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' threads: description: List of enriched thread states items: $ref: '#/components/schemas/ThreadStateResponse' title: Threads type: array x-stream-index: '001' required: - threads - duration type: - object - 'null' ExportChannelsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: description: ID of the task to export channels title: Task ID type: string x-stream-index: '001' required: - task_id - duration type: - object - 'null' ReminderResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: string x-stream-index: 008 message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '005' message_id: type: string x-stream-index: '004' remind_at: format: date-time type: string x-stream-index: '001' updated_at: format: date-time type: string x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - channel_cid - message_id - user_id - created_at - updated_at type: object MessageUpdate: properties: change_set: $ref: '#/components/schemas/MessageChangeSet' x-stream-index: '002' old_text: type: string x-stream-index: '001' type: object ChannelPushPreferencesResponse: properties: chat_level: type: string x-stream-index: '001' disabled_until: format: date-time type: string x-stream-index: '002' type: object DeleteRetentionPolicyRequest: properties: policy: enum: - old-messages - inactive-channels type: string x-stream-index: '001' required: - policy type: - object - 'null' MarkDeliveredResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' QueryDraftsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query maximum: 3 title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' UpdateMemberPartialRequest: properties: set: additionalProperties: {} type: object x-stream-index: '002.001' unset: items: type: string type: array x-stream-index: '002.002' type: - object - 'null' MessageRequest: description: Message data for creating or updating a message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' maxItems: 30 title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: '004' custom: additionalProperties: {} type: object x-stream-index: '007' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '014' id: description: Message ID is unique string identifier of the message maxLength: 255 title: ID type: string x-stream-index: '001' mentioned_channel: type: boolean x-stream-index: '011' mentioned_group_ids: description: List of user group IDs to mention. Group members who are also channel members will receive push notifications. Max 10 groups items: type: string maxItems: 10 title: Mentioned Groups type: array x-stream-index: '010' mentioned_here: type: boolean x-stream-index: '012' mentioned_roles: items: type: string maxItems: 10 type: array x-stream-index: 009 mentioned_users: description: Array of user IDs to mention items: type: string maxItems: 100 title: Mentioned User IDs type: array x-stream-index: 008 mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '005' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: 019 pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: '017' pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: - string - 'null' x-stream-docs-page-id: pinned_messages x-stream-index: 018 poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '043' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '013' restricted_visibility: description: A list of user ids that have restricted visibility to the message items: type: string maxItems: 10 title: Restricted visibility type: array x-stream-index: '020' shared_location: $ref: '#/components/schemas/SharedLocation' description: Contains shared location data title: Shared Location x-stream-index: '044' show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: '006' silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '016' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '002' type: description: 'Contains type of the message. One of: regular, system' enum: - '''''' - regular - system title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '015' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '025.002' user_id: type: string x-stream-index: '025.001' title: Message Request type: object Images: properties: fixed_height: $ref: '#/components/schemas/ImageData' x-stream-index: '002' fixed_height_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '004' fixed_height_still: $ref: '#/components/schemas/ImageData' x-stream-index: '003' fixed_width: $ref: '#/components/schemas/ImageData' x-stream-index: '005' fixed_width_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '007' fixed_width_still: $ref: '#/components/schemas/ImageData' x-stream-index: '006' original: $ref: '#/components/schemas/ImageData' x-stream-index: '001' required: - original - fixed_height - fixed_height_still - fixed_height_downsampled - fixed_width - fixed_width_still - fixed_width_downsampled type: object GetCommandResponse_2: properties: args: type: string x-stream-index: '001.006' created_at: format: date-time readOnly: true type: number x-stream-index: '001.001' description: type: string x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' name: type: string x-stream-index: '001.004' set: type: string x-stream-index: '001.007' updated_at: format: date-time readOnly: true type: number x-stream-index: '001.002' required: - name - description - args - set - duration title: GetCommandResponse type: - object - 'null' SearchResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '005.001' next: description: Value to pass to the next search query in order to paginate title: Next type: string x-stream-index: '003' previous: description: Value that points to the previous page. Pass as the next value in a search query to paginate backwards title: Previous type: string x-stream-index: '004' results: description: Search results items: $ref: '#/components/schemas/SearchResult' title: Results type: array x-stream-index: '001' results_warning: $ref: '#/components/schemas/SearchWarning' description: Warning about the search results title: Results Warning x-stream-index: '002' required: - results - duration type: - object - 'null' DeleteUsersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: description: ID of the task to delete users title: Task ID type: string x-stream-index: '001' required: - task_id - duration type: - object - 'null' CampaignStatsResponse: properties: progress: format: float type: number x-stream-index: '005' stats_channels_created: format: int32 type: integer x-stream-index: '004' stats_completed_at: format: date-time type: string x-stream-index: '002' stats_messages_sent: format: int32 type: integer x-stream-index: '003' stats_started_at: format: date-time type: string x-stream-index: '001' stats_users_read: format: int32 type: integer x-stream-index: '007' stats_users_sent: format: int32 type: integer x-stream-index: '006' required: - stats_started_at - stats_completed_at - stats_messages_sent - stats_channels_created - progress - stats_users_sent - stats_users_read type: object UnblockUsersRequest: properties: blocked_user_id: type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - blocked_user_id type: - object - 'null' QueryPollsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' polls: description: Polls data returned by the query items: $ref: '#/components/schemas/PollResponseData' title: PollsResponseData type: array x-stream-index: '001' prev: type: string x-stream-index: '002.002' required: - polls - duration type: - object - 'null' RTMPSettings: properties: enabled: type: boolean x-stream-index: '001' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '003' location: $ref: '#/components/schemas/RTMPLocation' x-stream-index: '004' quality_name: type: string x-stream-index: '002' required: - enabled type: object LimitsSettings: properties: max_duration_seconds: format: int32 type: integer x-stream-index: '004' max_participants: format: int32 type: integer x-stream-index: '001' max_participants_exclude_owner: type: boolean x-stream-index: '003' max_participants_exclude_roles: items: type: string type: array x-stream-index: '002' required: - max_participants_exclude_roles type: object UpdateThreadPartialRequest: properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: '004.001' x-stream-map: description: New value to set key: field title: Value unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: '004.002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' QueryUsersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' users: description: Array of users as result of filters applied. items: $ref: '#/components/schemas/FullUserResponse' title: Users type: array x-stream-index: '001' required: - users - duration type: - object - 'null' PushTemplate: properties: created_at: format: date-time type: string x-stream-index: '007' enable_push: type: boolean x-stream-index: '003' event_type: enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated type: string x-stream-index: '005' template: type: string x-stream-index: '006' updated_at: format: date-time type: string x-stream-index: 008 required: - enable_push - event_type - created_at - updated_at type: - object - 'null' UpdateUsersRequest: properties: users: additionalProperties: $ref: '#/components/schemas/UserRequest' description: Object containing users title: Users type: object x-stream-index: '001' x-stream-map: key: user_id required: - users type: - object - 'null' ShowChannelResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' UpdateBlockListResponse: description: Basic response information properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - duration title: Response type: - object - 'null' IndividualRecordSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' output_types: items: type: string type: array x-stream-index: '002' required: - mode type: object ListPermissionsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' permissions: items: $ref: '#/components/schemas/Permission' type: array x-stream-index: '001' required: - permissions - duration title: Response type: - object - 'null' DraftResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '003' channel_cid: type: string x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '007' message: $ref: '#/components/schemas/DraftPayloadResponse' x-stream-index: '001' parent_id: type: string x-stream-index: '004' parent_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '005' quoted_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '006' required: - message - channel_cid - created_at type: object UpdateMessageRequest: properties: message: $ref: '#/components/schemas/MessageRequest' description: Message title: MessageRequest x-stream-index: '001' skip_enrich_url: description: Skip enrich URL title: boolean type: boolean x-stream-index: '003' skip_push: type: boolean x-stream-index: '002' required: - message type: - object - 'null' ReactionGroupUserResponse_2: description: Contains information about a user who reacted with this reaction type. properties: created_at: description: The time when the user reacted. format: date-time title: CreatedAt type: number x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse_2' description: The full user object. title: User x-stream-index: '002' user_id: description: The ID of the user who reacted. title: UserID type: string x-stream-index: '001' required: - user_id - created_at title: ReactionGroupUserResponse type: object QueryTeamUsageStatsResponse: description: Response containing team-level usage statistics properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: description: Cursor for pagination to fetch next page title: string type: string x-stream-index: '002' teams: description: Array of team usage statistics items: $ref: '#/components/schemas/TeamUsageStats' title: '[]TeamUsageStats' type: array x-stream-index: '001' required: - teams - duration title: Query Team Usage Stats Response type: - object - 'null' UpdateAppRequest: properties: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: '001.053' allowed_flag_reasons: items: type: string type: array x-stream-index: '001.018' apn_config: $ref: '#/components/schemas/APNConfig' x-stream-index: '001.003' async_moderation_config: $ref: '#/components/schemas/AsyncModerationConfiguration' x-stream-index: '001.040' async_url_enrich_enabled: type: boolean x-stream-index: '001.020' auto_translation_enabled: type: boolean x-stream-index: '001.019' before_message_send_hook_url: type: string x-stream-index: '001.021' cdn_expiration_seconds: format: int32 maximum: 1209600 minimum: 14400 type: integer x-stream-index: '001.039' channel_hide_members_only: type: boolean x-stream-index: '001.034' custom_action_handler_url: type: string x-stream-index: '001.022' datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: '001.041' disable_auth_checks: type: boolean x-stream-index: '001.001' disable_permissions_checks: type: boolean x-stream-index: '001.002' enable_hook_payload_compression: type: boolean x-stream-index: '001.049' enforce_unique_usernames: enum: - 'no' - app - team type: string x-stream-index: '001.023' event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: '001.047' feeds_moderation_enabled: type: boolean x-stream-index: '001.043' feeds_v2_region: type: string x-stream-index: '001.042' file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '001.031' firebase_config: $ref: '#/components/schemas/FirebaseConfig' x-stream-index: '001.004' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '001.035' guest_user_creation_disabled: type: boolean x-stream-index: '001.044' huawei_config: $ref: '#/components/schemas/HuaweiConfig' x-stream-index: '001.005' image_moderation_block_labels: items: type: string type: array x-stream-index: '001.016' image_moderation_enabled: type: boolean x-stream-index: '001.017' image_moderation_labels: items: type: string type: array x-stream-index: '001.015' image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '001.030' max_aggregated_activities_length: format: int32 type: integer x-stream-index: '001.051' migrate_permissions_to_v2: type: boolean x-stream-index: '001.036' moderation_analytics_enabled: type: boolean x-stream-index: '001.010' moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: '001.045' moderation_enabled: type: boolean x-stream-index: '001.009' moderation_s3_image_access_role_arn: type: string x-stream-index: '001.052' moderation_webhook_url: type: string x-stream-index: '001.011' multi_tenant_enabled: type: boolean x-stream-index: '001.014' permission_version: enum: - v1 - v2 type: string x-stream-index: '001.012' push_config: $ref: '#/components/schemas/PushConfig' x-stream-index: '001.007' reminders_interval: format: int32 maximum: 86400 minimum: 60 type: integer x-stream-index: '001.037' reminders_max_members: format: int32 minimum: 2 type: integer x-stream-index: '001.038' revoke_tokens_issued_before: format: date-time type: string x-stream-index: '001.032' sns_key: type: string x-stream-index: '001.028' sns_secret: type: string x-stream-index: '001.029' sns_topic_arn: type: string x-stream-index: '001.027' sqs_key: type: string x-stream-index: '001.025' sqs_secret: type: string x-stream-index: '001.026' sqs_url: type: string x-stream-index: '001.024' user_response_time_enabled: type: boolean x-stream-index: '001.050' user_search_disallowed_roles: items: type: string maxItems: 10 type: array x-stream-index: '001.013' webhook_events: items: type: string type: array x-stream-index: '001.033' webhook_url: type: string x-stream-index: '001.008' xiaomi_config: $ref: '#/components/schemas/XiaomiConfig' x-stream-index: '001.006' type: - object - 'null' MarkUnreadRequest_2: properties: message_id: description: ID of the message from where the channel is marked unread title: Message ID type: string x-stream-index: '001' message_timestamp: description: Timestamp of the message from where the channel is marked unread format: date-time title: Message Timestamp type: number x-stream-index: '004' thread_id: description: Mark a thread unread, specify one of the thread, message timestamp, or message id title: Thread ID type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' type: - object - 'null' ChannelConfigWithInfo_2: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.029 blocklist: type: string x-stream-index: 001.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.002.034 commands: items: $ref: '#/components/schemas/Command_2' type: array x-stream-index: '001.003' connect_events: type: boolean x-stream-index: 001.002.004 count_messages: type: boolean x-stream-index: 001.002.020 created_at: format: date-time type: number x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.013 delivery_events: type: boolean x-stream-index: 001.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 001.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.022 mutes: type: boolean x-stream-index: 001.002.010 name: type: string x-stream-index: 001.002.001 partition_size: format: int32 type: integer x-stream-index: 001.002.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 001.002.031 polls: type: boolean x-stream-index: 001.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.002.033 push_notifications: type: boolean x-stream-index: 001.002.014 quotes: type: boolean x-stream-index: 001.002.009 reactions: type: boolean x-stream-index: 001.002.007 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.015 replies: type: boolean x-stream-index: 001.002.008 search: type: boolean x-stream-index: 001.002.006 shared_locations: type: boolean x-stream-index: 001.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.002.032 typing_events: type: boolean x-stream-index: 001.002.002 updated_at: format: date-time type: number x-stream-index: 001.001.004 uploads: type: boolean x-stream-index: 001.002.011 url_enrichment: type: boolean x-stream-index: 001.002.012 user_message_reminders: type: boolean x-stream-index: 001.002.018 required: - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: object ListImportsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_tasks: items: $ref: '#/components/schemas/ImportTask' type: array x-stream-index: '001' required: - import_tasks - duration title: Response type: - object - 'null' CreateBlockListResponse: description: Basic response information properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - duration title: Response type: - object - 'null' SortParamRequest: properties: direction: description: 'Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1' format: int32 title: Direction type: integer x-stream-index: '003' field: description: Name of field to sort by title: Field type: string x-stream-index: '001' type: description: 'Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean' title: Type type: string x-stream-index: '002' type: - object - 'null' Thresholds: description: Sets thresholds for AI moderation properties: explicit: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for explicit messages title: LabelThresholds x-stream-index: '001' spam: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for spam title: LabelThresholds x-stream-index: '002' toxic: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for toxic messages title: LabelThresholds x-stream-index: '003' title: Auto moderation thresholds type: object PollResponseData: properties: allow_answers: type: boolean x-stream-index: 008 allow_user_suggested_options: type: boolean x-stream-index: '007' answers_count: format: int32 type: integer x-stream-index: '012' created_at: format: date-time type: string x-stream-index: 019 created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: 018 created_by_id: type: string x-stream-index: '017' custom: additionalProperties: {} type: object x-stream-index: '021' description: type: string x-stream-index: '003' enforce_unique_vote: type: boolean x-stream-index: '005' id: type: string x-stream-index: '001' is_closed: type: boolean x-stream-index: 009 latest_answers: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '015' latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData' type: array type: object x-stream-index: '014' max_votes_allowed: format: int32 type: integer x-stream-index: '006' name: type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: '011' own_votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '016' updated_at: format: date-time type: string x-stream-index: '020' vote_count: format: int32 type: integer x-stream-index: '010' vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: '013' voting_visibility: type: string x-stream-index: '004' required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - custom type: object CreateExternalStorageRequest: description: Create external storage properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' name: description: The name of the provider, this must be unique title: Name type: string x-stream-index: '001' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - name - storage_type - bucket title: CreateExternalStorageRequest type: - object - 'null' UpdateUserGroupRequest: description: Request body for updating a user group properties: description: description: The new description for the group maxLength: 1024 title: Description type: string x-stream-index: '003' name: description: The new name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '004' title: UpdateUserGroupRequest type: - object - 'null' CommitMessageRequest: type: - object - 'null' QuerySegmentsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' segments: description: Segments items: $ref: '#/components/schemas/SegmentResponse' title: SegmentResponses type: array x-stream-index: '001' required: - segments - duration type: - object - 'null' ChannelStateResponse_2: properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData_2' type: array x-stream-index: '001.015' channel: $ref: '#/components/schemas/ChannelResponse_2' x-stream-index: '001.001' draft: $ref: '#/components/schemas/DraftResponse_2' x-stream-index: '001.014' duration: type: string x-stream-index: '002.001' hidden: type: boolean x-stream-index: '001.011' hide_messages_before: format: date-time type: number x-stream-index: '001.012' members: items: $ref: '#/components/schemas/ChannelMemberResponse_2' type: array x-stream-index: '001.007' membership: $ref: '#/components/schemas/ChannelMemberResponse_2' x-stream-index: '001.008' messages: items: $ref: '#/components/schemas/MessageResponse_2' type: array x-stream-index: '001.002' pending_messages: items: $ref: '#/components/schemas/PendingMessageResponse' type: array x-stream-index: '001.013' pinned_messages: items: $ref: '#/components/schemas/MessageResponse_2' type: array x-stream-index: '001.003' push_preferences: $ref: '#/components/schemas/ChannelPushPreferencesResponse_2' x-stream-index: '001.009' read: items: $ref: '#/components/schemas/ReadStateResponse_2' type: array x-stream-index: '001.006' threads: items: $ref: '#/components/schemas/ThreadStateResponse_2' type: array x-stream-index: '001.010' watcher_count: format: int32 type: integer x-stream-index: '001.004' watchers: items: $ref: '#/components/schemas/UserResponse_2' type: array x-stream-index: '001.005' required: - messages - pinned_messages - members - threads - duration type: - object - 'null' UpdateMessagePartialResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageResponse' description: Updated message title: Message x-stream-index: '001' pending_message_metadata: additionalProperties: type: string description: Pending message metadata title: PendingMessageMetadata type: object x-stream-index: '002' required: - duration type: - object - 'null' ChannelOwnCapability: description: All possibility of string to use enum: - ban-channel-members - cast-poll-vote - connect-events - create-attachment - delete-any-message - delete-channel - delete-own-message - delivery-events - flag-message - freeze-channel - join-channel - leave-channel - mute-channel - pin-message - query-poll-votes - quote-message - read-events - search-messages - send-custom-events - send-links - send-message - send-poll - send-reaction - send-reply - send-restricted-visibility-message - send-typing-events - set-channel-cooldown - share-location - skip-slow-mode - slow-mode - typing-events - update-any-message - update-channel - update-channel-members - update-own-message - update-thread - upload-file title: ChannelOwnCapability type: string SearchWarning: properties: channel_search_cids: description: Channel CIDs for the searched channels items: type: string title: Channel Search CIDs type: array x-stream-index: '004' channel_search_count: description: Number of channels searched format: int32 title: Channel Search Count type: integer x-stream-index: '003' warning_code: description: Code corresponding to the warning format: int32 title: Warning Code type: integer x-stream-index: '002' warning_description: description: Description of the warning title: Warning Description type: string x-stream-index: '001' required: - warning_description - warning_code type: object ImageData: properties: frames: type: string x-stream-index: '005' height: type: string x-stream-index: '003' size: type: string x-stream-index: '004' url: type: string x-stream-index: '001' width: type: string x-stream-index: '002' required: - url - width - height - size - frames type: object CreateCampaignRequest: properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' description: The channel template for the campaign title: Channel Template x-stream-index: '001.013' create_channels: description: Whether to create channels for the campaign, if they don't exist title: Create Channels type: boolean x-stream-index: '001.008' description: description: The description of the campaign title: Description type: string x-stream-index: '001.007' id: maxLength: 255 type: string x-stream-index: '001.001' message_template: $ref: '#/components/schemas/CampaignMessageTemplate' description: The message template for the campaign title: Message Template x-stream-index: '001.012' name: description: The name of the campaign title: Name type: string x-stream-index: '001.006' segment_ids: description: The IDs of the segments to send the campaign to. Duplicate user IDs are removed. Use either user_ids or segment_ids, not both items: type: string maxItems: 25 title: Segment IDs type: array x-stream-index: '001.002' sender_id: description: The user ID of the sender title: Sender ID type: string x-stream-index: '001.004' sender_mode: description: The sender mode of the campaign enum: - exclude - include title: Sender Mode type: string x-stream-index: '001.005' sender_visibility: description: The visibility of the created channels for the sender enum: - hidden - archived title: Sender Visibility type: string x-stream-index: '001.014' show_channels: description: Whether the campaign should show channels, if they are hidden title: Show Channels type: boolean x-stream-index: '001.009' skip_push: description: Whether to skip push notifications title: Skip Push type: boolean x-stream-index: '001.010' skip_webhook: description: Whether to skip webhooks title: Skip Webhook type: boolean x-stream-index: '001.011' user_ids: description: The userIDs to send the campaign to. Use either segment ids or user ids not both items: type: string maxItems: 10000 title: User IDs type: array x-stream-index: '001.003' required: - sender_id - message_template type: - object - 'null' ImageSize: properties: crop: description: 'Crop mode. One of: top, bottom, left, right, center' title: Crop type: string x-stream-index: '001' height: description: Target image height format: int32 title: Height type: integer x-stream-index: '003' resize: description: 'Resize method. One of: clip, crop, scale, fill' title: Resize type: string x-stream-index: '002' width: description: Target image width format: int32 title: Width type: integer x-stream-index: '004' title: Image size configuration type: object StartCampaignRequest_2: properties: scheduled_for: format: date-time type: number x-stream-index: '002' stop_at: format: date-time type: number x-stream-index: '003' type: - object - 'null' MarkReadResponseEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '011' channel_id: type: string x-stream-index: '003' channel_last_message_at: format: date-time type: string x-stream-index: '005' channel_type: type: string x-stream-index: '004' cid: type: string x-stream-index: '002' created_at: format: date-time type: string x-stream-index: 009 last_read_message_id: type: string x-stream-index: '010' team: type: string x-stream-index: '006' thread: $ref: '#/components/schemas/ThreadResponse' x-stream-index: 008 type: type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserResponseCommonFields' x-stream-index: '007' required: - type - cid - channel_id - channel_type - created_at type: object UpdatePollOptionRequest: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '004' id: description: Option ID maxLength: 255 title: string type: string x-stream-index: '002' text: description: Option text title: string type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' required: - id - text type: - object - 'null' OnlyUserID: properties: id: type: string x-stream-index: '001' required: - id type: object PollOptionResponseData: properties: custom: additionalProperties: {} type: object x-stream-index: '003' id: type: string x-stream-index: '001' text: type: string x-stream-index: '002' required: - id - text - custom type: - object - 'null' Policy: properties: action: type: integer x-stream-index: '007' created_at: format: date-time type: string x-stream-index: '010' name: type: string x-stream-index: '004' owner: type: boolean x-stream-index: 008 priority: format: int32 type: integer x-stream-index: 009 resources: items: type: string type: array x-stream-index: '005' roles: items: type: string type: array x-stream-index: '006' updated_at: format: date-time type: string x-stream-index: '011' required: - name - resources - roles - action - owner - priority - created_at - updated_at type: object SegmentResponse: properties: all_sender_channels: type: boolean x-stream-index: '007' all_users: type: boolean x-stream-index: '006' created_at: format: date-time type: string x-stream-index: 009 deleted_at: format: date-time type: string x-stream-index: '011' description: type: string x-stream-index: '004' filter: additionalProperties: {} type: object x-stream-index: '005' id: type: string x-stream-index: '001' name: type: string x-stream-index: '003' size: format: int32 type: integer x-stream-index: 008 type: type: string x-stream-index: '002' updated_at: format: date-time type: string x-stream-index: '010' required: - id - type - name - description - filter - all_users - all_sender_channels - size - created_at - updated_at - deleted_at type: object PolicyRequest: description: Policy request properties: action: enum: - Deny - Allow title: Action type: string x-stream-index: '001' name: description: User-friendly policy name title: Name type: string x-stream-index: '002' owner: description: Whether policy applies to resource owner or not title: Owner type: boolean x-stream-index: '005' priority: description: Policy priority format: int32 maximum: 999 minimum: 1 title: Priority type: integer x-stream-index: '006' resources: description: List of resources to apply policy to items: type: string minItems: 1 title: Resources type: array x-stream-index: '003' roles: description: List of roles to apply policy to items: type: string title: Roles type: array x-stream-index: '004' required: - action - name - resources - roles - owner - priority title: PolicyRequest type: object APNS: properties: body: type: string x-stream-index: '002' content-available: format: int32 type: integer x-stream-index: '004' data: additionalProperties: {} type: object x-stream-index: '006' mutable-content: format: int32 type: integer x-stream-index: '005' sound: type: string x-stream-index: '003' title: type: string x-stream-index: '001' required: - title - body type: object UnreadCountsChannelType: properties: channel_count: format: int32 type: integer x-stream-index: '002' channel_type: type: string x-stream-index: '001' unread_count: format: int32 type: integer x-stream-index: '003' required: - channel_type - channel_count - unread_count type: object ListCommandsResponse: properties: commands: description: List of commands items: $ref: '#/components/schemas/Command' title: Commands type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - commands - duration title: ListCommandsResponse type: - object - 'null' Attachment: description: An attachment is a message object that represents a file uploaded by a user. properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: '015' asset_url: type: string x-stream-index: '017' author_icon: type: string x-stream-index: '007' author_link: type: string x-stream-index: '006' author_name: type: string x-stream-index: '005' color: type: string x-stream-index: '003' custom: additionalProperties: {} type: object x-stream-index: 018 fallback: type: string x-stream-index: '002' fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: '016' footer: type: string x-stream-index: '013' footer_icon: type: string x-stream-index: '014' giphy: $ref: '#/components/schemas/Images' x-stream-index: 019 image_url: type: string x-stream-index: '011' og_scrape_url: type: string x-stream-index: '020' original_height: format: int32 type: integer x-stream-index: '022' original_width: format: int32 type: integer x-stream-index: '021' pretext: type: string x-stream-index: '004' text: type: string x-stream-index: '010' thumb_url: type: string x-stream-index: '012' title: type: string x-stream-index: 008 title_link: type: string x-stream-index: 009 type: description: Attachment type (e.g. image, video, url) title: Type type: string x-stream-index: '001' required: - custom title: Attachment type: - object - 'null' x-stream-docs-page-id: file_uploads BlockUsersRequest: properties: blocked_user_id: description: User id to block title: BlockedUserID type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - blocked_user_id type: - object - 'null' UpdateMemberPartialResponse: properties: channel_member: $ref: '#/components/schemas/ChannelMemberResponse' description: Updated channel member title: Channel member x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - duration type: - object - 'null' DeleteImportV2TaskResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' CreateReminderRequest_2: properties: remind_at: format: date-time type: number x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' ModerationResponse: properties: action: type: string x-stream-index: '004' explicit: format: float type: number x-stream-index: '002' spam: format: float type: number x-stream-index: '003' toxic: format: float type: number x-stream-index: '001' required: - toxic - explicit - spam - action - automod_response type: object IngressVideoEncodingOptions: properties: layers: items: $ref: '#/components/schemas/IngressVideoLayer' minItems: 1 type: array x-stream-index: '002' source: $ref: '#/components/schemas/IngressSource' x-stream-index: '001' required: - layers type: object GetReactionsResponse: properties: duration: type: string x-stream-index: '002.001' reactions: description: List of reactions items: $ref: '#/components/schemas/ReactionResponse' title: Reactions type: array x-stream-index: '001' required: - reactions - duration type: - object - 'null' ExternalStorageResponse: properties: bucket: type: string x-stream-index: '003' name: type: string x-stream-index: '001' path: type: string x-stream-index: '004' type: enum: - s3 - gcs - abs type: string x-stream-index: '002' required: - name - type - bucket - path type: object QuerySegmentTargetsResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' targets: description: Targets items: $ref: '#/components/schemas/SegmentTargetResponse' title: SegmentTargetResponseList type: array x-stream-index: '001' required: - targets - duration type: - object - 'null' UserResponse_2: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: number x-stream-index: '004' banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: number x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse_2' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: number x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' online: description: Whether a user online or not title: Online type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse_2' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: number x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object WrappedUnreadCountsResponse: description: Basic response information properties: channel_type: items: $ref: '#/components/schemas/UnreadCountsChannelType' type: array x-stream-index: '001.005' channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: '001.004' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: '001.006' total_unread_count: format: int32 type: integer x-stream-index: '001.001' total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: '001.003' total_unread_threads_count: format: int32 type: integer x-stream-index: '001.002' required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads - duration title: Response type: - object - 'null' SessionSettings: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: '001' required: - inactivity_timeout_seconds type: object UpdateChannelRequest_2: properties: accept_invite: description: Set to `true` to accept the invite title: Accept invite type: boolean x-stream-index: 008 add_filter_tags: description: List of filter tags to add to the channel items: type: string maxItems: 10 title: Add filter tags type: array x-stream-index: '014' add_members: description: List of user IDs to add to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Add members type: array x-stream-index: '001' add_moderators: description: List of user IDs to make channel moderators items: type: string maxItems: 100 title: Add moderators type: array x-stream-index: '003' assign_roles: description: List of channel member role assignments. If any specified user is not part of the channel, the request will fail items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Assign roles type: array x-stream-index: '006' cooldown: description: Sets cool down period for the channel in seconds format: int32 maximum: 120 minimum: 0 title: Cool down type: integer x-stream-index: '007' data: $ref: '#/components/schemas/ChannelInputRequest' x-stream-index: '016.001' demote_moderators: description: List of user IDs to take away moderators status from items: type: string maxItems: 100 title: Demote moderators type: array x-stream-index: '004' hide_history: description: Set to `true` to hide channel's history when adding new members title: Hide history type: boolean x-stream-index: '012' hide_history_before: description: If set, hides channel's history before this time when adding new members. Takes precedence over `hide_history` when both are provided. Must be in RFC3339 format (e.g., "2024-01-01T10:00:00Z") and in the past. format: date-time title: Hide history before type: number x-stream-index: '013' invites: description: List of user IDs to invite to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Invites type: array x-stream-index: '005' message: $ref: '#/components/schemas/MessageRequest_2' description: Message to send to the chat when channel is successfully updated title: Message x-stream-index: '010' reject_invite: description: Set to `true` to reject the invite title: Reject invite type: boolean x-stream-index: 009 remove_filter_tags: description: List of filter tags to remove from the channel items: type: string title: Remove filter tags type: array x-stream-index: '015' remove_members: description: List of user IDs to remove from the channel items: type: string maxItems: 100 title: Remove members type: array x-stream-index: '002' skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: '011' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '017.002' user_id: type: string x-stream-index: '017.001' title: Channel update request type: - object - 'null' x-stream-docs-page-id: channel_update DeactivateUsersRequest: description: Deactivate users request properties: created_by_id: description: ID of the user who deactivated the users title: Created by ID type: string x-stream-index: '003' mark_channels_deleted: type: boolean x-stream-index: '004' mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: '002' user_ids: description: User IDs to deactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001' required: - user_ids title: DeactivateUsersRequest type: - object - 'null' FileUploadConfig: properties: allowed_file_extensions: items: type: string type: array x-stream-index: '001' allowed_mime_types: items: type: string type: array x-stream-index: '003' blocked_file_extensions: items: type: string type: array x-stream-index: '002' blocked_mime_types: items: type: string type: array x-stream-index: '004' size_limit: format: int32 maximum: 104857600 minimum: 0 type: integer x-stream-index: '005' required: - size_limit type: object DeactivateUserRequest: properties: created_by_id: description: ID of the user who deactivated the user title: Created by ID type: string x-stream-index: '003' mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: '002' type: - object - 'null' CampaignResponse_2: properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' x-stream-index: '017' create_channels: type: boolean x-stream-index: 009 created_at: format: date-time type: number x-stream-index: '021' description: type: string x-stream-index: '011' id: type: string x-stream-index: '001' message_template: $ref: '#/components/schemas/CampaignMessageTemplate' x-stream-index: '016' name: type: string x-stream-index: 008 scheduled_for: format: date-time type: number x-stream-index: '014' segment_ids: items: type: string type: array x-stream-index: '002' segments: items: $ref: '#/components/schemas/Segment_2' type: array x-stream-index: '003' sender: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '005' sender_id: type: string x-stream-index: '004' sender_mode: type: string x-stream-index: '006' sender_visibility: type: string x-stream-index: '007' show_channels: type: boolean x-stream-index: '010' skip_push: type: boolean x-stream-index: '012' skip_webhook: type: boolean x-stream-index: '013' stats: $ref: '#/components/schemas/CampaignStatsResponse_2' x-stream-index: '023' status: type: string x-stream-index: '020' stop_at: format: date-time type: number x-stream-index: '015' updated_at: format: date-time type: number x-stream-index: '022' user_ids: items: type: string type: array x-stream-index: 018 users: items: $ref: '#/components/schemas/UserResponse_2' type: array x-stream-index: 019 required: - id - segment_ids - segments - sender_id - sender_mode - sender_visibility - name - create_channels - show_channels - description - skip_push - skip_webhook - user_ids - users - status - created_at - updated_at - stats type: object ChannelResponse: description: Represents channel in chat properties: auto_translation_enabled: description: Whether auto translation is enabled or not title: Auto translation type: boolean x-stream-index: '017' auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: 018 blocked: description: Whether this channel is blocked by current user or not title: Blocked type: boolean x-stream-index: '023' cid: description: Channel CID (:) title: CID type: string x-stream-index: '003' config: $ref: '#/components/schemas/ChannelConfigWithInfo' description: Channel configuration title: ChannelConfigWithInfo x-stream-index: '013' cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: '020' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '005' created_by: $ref: '#/components/schemas/UserResponse' description: Creator of the channel title: UserResponse x-stream-index: 008 custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '026' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: '007' disabled: type: boolean x-stream-index: '010' filter_tags: description: List of filter tags associated with the channel items: type: string title: Filter tags type: array x-stream-index: 028 frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: 009 hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: '022' hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: string x-stream-index: 019 id: description: Channel unique ID title: ID type: string x-stream-index: '001' last_message_at: description: Date of the last message sent format: date-time title: Last message at type: string x-stream-index: '004' member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: '012' members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMemberResponse' title: Channel members type: array x-stream-index: '011' message_count: description: Number of messages in the channel format: int64 title: Message count type: integer x-stream-index: '027' mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: string x-stream-index: '015' muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: '014' own_capabilities: description: List of channel capabilities of authenticated user items: $ref: '#/components/schemas/ChannelOwnCapability' title: ChannelOwnCapability type: array x-stream-index: '021' team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: '016' truncated_at: description: Date of the latest truncation of the channel format: date-time title: UserResponse type: string x-stream-index: '024' truncated_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '025' type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: '002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '006' required: - id - type - cid - created_at - updated_at - frozen - disabled - custom title: Channel type: object Permission: properties: action: description: Action name this permission is for (e.g. SendMessage) title: Action type: string x-stream-index: '004' condition: additionalProperties: {} description: MongoDB style condition which decides whether or not the permission is granted title: Condition type: object x-stream-index: '007' custom: description: Whether this is a custom permission or built-in title: Custom type: boolean x-stream-index: 009 description: description: Description of the permission title: Description type: string x-stream-index: '003' id: description: Unique permission ID title: ID type: string x-stream-index: '001' level: description: 'Level at which permission could be applied (app or channel). One of: app, channel' title: Level type: string x-stream-index: '010' name: description: Name of the permission title: Name type: string x-stream-index: '002' owner: description: Whether this permission applies to resource owner or not title: Owner type: boolean x-stream-index: '005' same_team: description: Whether this permission applies to teammates (multi-tenancy mode only) title: Same team type: boolean x-stream-index: '006' tags: description: List of tags of the permission items: type: string title: Tags type: array x-stream-index: '011' required: - id - name - description - action - owner - same_team - custom - level - tags type: object AppResponseFields: properties: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: '057' allow_multi_user_devices: type: boolean x-stream-index: 018 allowed_flag_reasons: items: type: string type: array x-stream-index: '022' async_url_enrich_enabled: type: boolean x-stream-index: '020' auto_translation_enabled: type: boolean x-stream-index: '023' before_message_send_hook_url: type: string x-stream-index: '024' call_types: additionalProperties: $ref: '#/components/schemas/CallType' type: object x-stream-index: 009 campaign_enabled: type: boolean x-stream-index: '037' cdn_expiration_seconds: format: int32 type: integer x-stream-index: '040' channel_configs: additionalProperties: $ref: '#/components/schemas/ChannelConfig' type: object x-stream-index: 008 custom_action_handler_url: type: string x-stream-index: '025' datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: '043' disable_auth_checks: type: boolean x-stream-index: '013' disable_permissions_checks: type: boolean x-stream-index: '014' enforce_unique_usernames: type: string x-stream-index: '026' event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: 048 feed_audit_logs_enabled: type: boolean x-stream-index: '053' file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '033' geofences: items: $ref: '#/components/schemas/GeofenceResponse' type: array x-stream-index: '042' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '036' guest_user_creation_disabled: type: boolean x-stream-index: '046' id: format: int32 type: integer x-stream-index: '001' image_moderation_enabled: type: boolean x-stream-index: 019 image_moderation_labels: items: type: string type: array x-stream-index: '021' image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: '034' max_aggregated_activities_length: format: int32 type: integer x-stream-index: '052' moderation_audio_call_moderation_enabled: type: boolean x-stream-index: '055' moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: '047' moderation_enabled: type: boolean x-stream-index: '044' moderation_llm_configurability_enabled: type: boolean x-stream-index: '051' moderation_multitenant_blocklist_enabled: type: boolean x-stream-index: '045' moderation_s3_image_access_role_arn: type: string x-stream-index: '056' moderation_video_call_moderation_enabled: type: boolean x-stream-index: '054' moderation_webhook_url: type: string x-stream-index: '007' multi_tenant_enabled: type: boolean x-stream-index: '017' name: type: string x-stream-index: '002' organization: type: string x-stream-index: '003' permission_version: type: string x-stream-index: '015' placement: type: string x-stream-index: '004' policies: additionalProperties: items: $ref: '#/components/schemas/Policy' type: array type: object x-stream-index: '010' push_notifications: $ref: '#/components/schemas/PushNotificationFields' x-stream-index: '005' reminders_interval: format: int32 type: integer x-stream-index: 039 revoke_tokens_issued_before: format: date-time type: string x-stream-index: '035' sns_key: type: string x-stream-index: '031' sns_secret: type: string x-stream-index: '032' sns_topic_arn: type: string x-stream-index: '030' sqs_key: type: string x-stream-index: 028 sqs_secret: type: string x-stream-index: 029 sqs_url: type: string x-stream-index: '027' suspended: type: boolean x-stream-index: '011' suspended_explanation: type: string x-stream-index: '012' use_hook_v2: type: boolean x-stream-index: 049 user_response_time_enabled: type: boolean x-stream-index: '050' user_search_disallowed_roles: items: type: string type: array x-stream-index: '016' webhook_events: items: type: string type: array x-stream-index: 038 webhook_url: type: string x-stream-index: '006' required: - id - name - organization - placement - push_notifications - webhook_url - moderation_webhook_url - channel_configs - call_types - policies - suspended - suspended_explanation - disable_auth_checks - disable_permissions_checks - permission_version - user_search_disallowed_roles - multi_tenant_enabled - allow_multi_user_devices - image_moderation_enabled - async_url_enrich_enabled - auto_translation_enabled - custom_action_handler_url - enforce_unique_usernames - sqs_url - sqs_key - sqs_secret - sns_topic_arn - sns_key - sns_secret - file_upload_config - image_upload_config - grants - campaign_enabled - webhook_events - reminders_interval - cdn_expiration_seconds - video_provider - moderation_enabled - moderation_multitenant_blocklist_enabled - guest_user_creation_disabled - event_hooks - use_hook_v2 - user_response_time_enabled - moderation_llm_configurability_enabled - max_aggregated_activities_length - feed_audit_logs_enabled - moderation_video_call_moderation_enabled - moderation_audio_call_moderation_enabled type: object TruncateChannelResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Truncated channel object title: Channel x-stream-index: '002' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' message: $ref: '#/components/schemas/MessageResponse' description: Truncated message object title: Message x-stream-index: '003' required: - duration type: - object - 'null' LayoutSettings: properties: detect_orientation: type: boolean x-stream-index: '005' external_app_url: type: string x-stream-index: '003' external_css_url: type: string x-stream-index: '004' name: enum: - spotlight - grid - single-participant - mobile - custom type: string x-stream-index: '001' options: additionalProperties: {} type: object x-stream-index: '002' required: - name - external_app_url - external_css_url type: object UpsertPushProviderResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' push_provider: $ref: '#/components/schemas/PushProviderResponse' x-stream-index: '001' required: - push_provider - duration title: Response type: - object - 'null' DeleteCommandResponse: properties: duration: type: string x-stream-index: '002.001' name: description: Command name title: Name type: string x-stream-index: '001' required: - name - duration title: DeleteCommandResponse type: - object - 'null' CreateChannelTypeRequest: properties: automod: description: 'Automod. One of: disabled, simple, AI' enum: - disabled - simple - AI title: Automod type: string x-stream-index: '021' automod_behavior: description: 'Automod behavior. One of: flag, block' enum: - flag - block title: Automod behavior type: string x-stream-index: '022' blocklist: description: Blocklist title: Blocklist type: string x-stream-index: '026' blocklist_behavior: description: 'Blocklist behavior. One of: flag, block, shadow_block' enum: - flag - block - shadow_block title: Blocklist behavior type: string x-stream-index: '027' blocklists: description: Blocklists items: $ref: '#/components/schemas/BlockListOptions' title: Blocklists type: array x-stream-index: 028 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: '033' commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: '023' connect_events: description: Connect events title: Connect events type: boolean x-stream-index: '004' count_messages: description: Count messages in channel. title: Count messages type: boolean x-stream-index: 018 custom_events: description: Custom events title: Custom events type: boolean x-stream-index: '012' delivery_events: type: boolean x-stream-index: '005' grants: additionalProperties: items: type: string type: array description: List of grants for the channel type title: Grants type: object x-stream-index: '025' mark_messages_pending: description: Mark messages pending title: Mark messages pending type: boolean x-stream-index: '014' max_message_length: description: Max message length format: int32 title: Max message length type: integer x-stream-index: '020' message_retention: description: 'Message retention. One of: infinite, numeric' title: Message retention type: string x-stream-index: 019 mutes: description: Mutes title: Mutes type: boolean x-stream-index: 009 name: description: Channel type name title: Name type: string x-stream-index: '001' partition_size: description: Partition size format: int32 minimum: 10 title: Partition size type: integer x-stream-index: 029 partition_ttl: description: Partition TTL example: 24h format: duration title: Partition TTL type: - string - 'null' x-stream-index: '030' permissions: description: List of permissions for the channel type items: $ref: '#/components/schemas/PolicyRequest' title: Permissions type: array x-stream-index: '024' polls: description: Polls title: Polls type: boolean x-stream-index: '015' push_level: description: 'Default push notification level for the channel type. One of: all, all_mentions, mentions, direct_mentions, none' enum: - all - all_mentions - mentions - direct_mentions - none title: Push level type: string x-stream-index: '032' push_notifications: description: Push notifications title: Push notifications type: boolean x-stream-index: '013' reactions: description: Reactions title: Reactions type: boolean x-stream-index: '006' read_events: description: Read events title: Read events type: boolean x-stream-index: '003' replies: description: Replies title: Replies type: boolean x-stream-index: '007' search: description: Search title: Search type: boolean x-stream-index: 008 shared_locations: description: Enables shared location messages title: Shared locations type: boolean x-stream-index: '017' skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: '031' typing_events: description: Typing events title: Typing events type: boolean x-stream-index: '002' uploads: description: Uploads title: Uploads type: boolean x-stream-index: '010' url_enrichment: description: URL enrichment title: URL enrichment type: boolean x-stream-index: '011' user_message_reminders: type: boolean x-stream-index: '016' required: - name - max_message_length - automod - automod_behavior title: CreateChannelTypeRequest type: - object - 'null' DeleteChannelsResultResponse: properties: error: type: string x-stream-index: '002' status: type: string x-stream-index: '001' required: - status type: - object - 'null' ReactivateUserRequest: properties: created_by_id: description: ID of the user who's reactivating the user title: Created by ID type: string x-stream-index: '004' name: description: Set this field to put new name for the user title: Name type: string x-stream-index: '003' restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: '002' type: - object - 'null' BackstageSettings: properties: enabled: type: boolean x-stream-index: '001' join_ahead_time_seconds: format: int32 type: integer x-stream-index: '002' required: - enabled type: object UploadChannelRequest: properties: file: type: string x-stream-index: '001.002' upload_sizes: description: field with JSON-encoded array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' user: $ref: '#/components/schemas/OnlyUserID' x-stream-index: '001.003' type: - object - 'null' GetChannelTypeResponse: description: Basic response information properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.029 blocklist: type: string x-stream-index: 003.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: '003.003' connect_events: type: boolean x-stream-index: 003.002.004 count_messages: type: boolean x-stream-index: 003.002.020 created_at: format: date-time type: string x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.013 delivery_events: type: boolean x-stream-index: 003.002.005 duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 003.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.022 mutes: type: boolean x-stream-index: 003.002.010 name: type: string x-stream-index: 003.002.001 partition_size: format: int32 type: integer x-stream-index: 003.002.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 003.002.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '001' polls: type: boolean x-stream-index: 003.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.002.033 push_notifications: type: boolean x-stream-index: 003.002.014 quotes: type: boolean x-stream-index: 003.002.009 reactions: type: boolean x-stream-index: 003.002.007 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.015 replies: type: boolean x-stream-index: 003.002.008 search: type: boolean x-stream-index: 003.002.006 shared_locations: type: boolean x-stream-index: 003.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.002.032 typing_events: type: boolean x-stream-index: 003.002.002 updated_at: format: date-time type: string x-stream-index: 003.001.004 uploads: type: boolean x-stream-index: 003.002.011 url_enrichment: type: boolean x-stream-index: 003.002.012 user_message_reminders: type: boolean x-stream-index: 003.002.018 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands - duration title: Response type: - object - 'null' UpdateExternalStorageRequest: description: External storage properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: '003.004' azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: '003.006' bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: '003.002' gcs_credentials: type: string x-stream-index: '003.005' path: description: The path prefix to use for storing files title: Path type: string x-stream-index: '003.003' storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: '003.001' required: - storage_type - bucket title: ExternalStorageRequest type: - object - 'null' RestoreUsersRequest: properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: - object - 'null' ChannelMemberResponse: properties: channel_role: type: string x-stream-index: '001' notifications_muted: type: boolean x-stream-index: '002' required: - channel_role - notifications_muted type: object UpdateExternalStorageResponse: description: Basic response information properties: bucket: type: string x-stream-index: '001.003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' name: type: string x-stream-index: '001.001' path: type: string x-stream-index: '001.004' type: enum: - s3 - gcs - abs type: string x-stream-index: '001.002' required: - name - type - bucket - path - duration title: Response type: - object - 'null' GetPushTemplatesResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' templates: items: $ref: '#/components/schemas/PushTemplateResponse' type: array x-stream-index: '002' required: - duration - templates title: Response type: - object - 'null' GetUserGroupResponse: description: Response for getting a user group properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The user group title: UserGroup x-stream-index: '001' required: - duration title: GetUserGroupResponse type: - object - 'null' FlagResponse: properties: approved_at: format: date-time type: string x-stream-index: '010' created_at: format: date-time type: string x-stream-index: '006' created_by_automod: type: boolean x-stream-index: '001' custom: additionalProperties: {} type: object x-stream-index: '014' details: $ref: '#/components/schemas/FlagDetails' x-stream-index: '013' reason: type: string x-stream-index: '012' rejected_at: format: date-time type: string x-stream-index: '011' reviewed_at: format: date-time type: string x-stream-index: 008 reviewed_by: type: string x-stream-index: 009 target_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '004' target_message_id: type: string x-stream-index: '003' target_user: $ref: '#/components/schemas/UserResponse' x-stream-index: '005' updated_at: format: date-time type: string x-stream-index: '007' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' required: - created_by_automod - created_at - updated_at type: object PollVoteResponseData: properties: answer_text: type: string x-stream-index: '005' created_at: format: date-time type: string x-stream-index: 008 id: type: string x-stream-index: '002' is_answer: type: boolean x-stream-index: '004' option_id: type: string x-stream-index: '003' poll_id: type: string x-stream-index: '001' updated_at: format: date-time type: string x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - poll_id - id - option_id - created_at - updated_at type: - object - 'null' UpdateThreadPartialResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' thread: $ref: '#/components/schemas/ThreadResponse' description: Updated thread (not enriched) title: Thread x-stream-index: '001' required: - thread - duration type: - object - 'null' OwnUserResponse: properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' banned: type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '016' channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: '007' created_at: format: date-time type: string x-stream-index: '001.009' custom: additionalProperties: {} type: object x-stream-index: '001.004' deactivated_at: format: date-time type: string x-stream-index: '001.016' deleted_at: format: date-time type: string x-stream-index: '001.011' devices: items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '004' id: type: string x-stream-index: '001.001' image: type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: '005' language: type: string x-stream-index: '001.005' last_active: format: date-time type: string x-stream-index: '001.014' latest_hidden_channels: items: type: string type: array x-stream-index: '013' mutes: items: $ref: '#/components/schemas/UserMuteResponse' type: array x-stream-index: '006' name: type: string x-stream-index: '001.002' online: type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '003' push_preferences: $ref: '#/components/schemas/PushPreferencesResponse' x-stream-index: '002' revoke_tokens_issued_before: format: date-time type: string x-stream-index: '001.015' role: type: string x-stream-index: '001.006' teams: items: type: string type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' total_unread_count: format: int32 type: integer x-stream-index: 009 total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: '010' unread_channels: format: int32 type: integer x-stream-index: '011' unread_count: format: int32 type: integer x-stream-index: 008 unread_threads: format: int32 type: integer x-stream-index: '012' updated_at: format: date-time type: string x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - invisible - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads type: object GetBlockedUsersResponse: properties: blocks: description: Array of blocked user object items: $ref: '#/components/schemas/BlockedUserResponse' title: Blocks type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - blocks - duration type: - object - 'null' ChannelPushPreferencesResponse_2: properties: chat_level: type: string x-stream-index: '001' chat_preferences: $ref: '#/components/schemas/ChatPreferencesResponse' x-stream-index: '002' disabled_until: format: date-time type: number x-stream-index: '003' type: - object - 'null' QueryMessageFlagsResponse: description: Query message flags response properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' flags: description: The flags that match the query items: $ref: '#/components/schemas/MessageFlagResponse' title: MessageFlagResponseList type: array x-stream-index: '001' required: - flags - duration title: QueryMessageFlagsResponse type: - object - 'null' DeactivateUsersResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: type: string x-stream-index: '001' required: - task_id - duration title: Response type: - object - 'null' ChannelGetOrCreateRequest: properties: data: $ref: '#/components/schemas/ChannelInput' x-stream-index: '003' hide_for_creator: description: Whether this channel will be hidden for the user who created the channel or not title: Hide for creator type: boolean x-stream-index: '007' members: $ref: '#/components/schemas/PaginationParams' x-stream-index: '010' messages: $ref: '#/components/schemas/MessagePaginationParams' x-stream-index: 009 state: description: Refresh channel state title: State type: boolean x-stream-index: '005' thread_unread_counts: type: boolean x-stream-index: 008 watchers: $ref: '#/components/schemas/PaginationParams' x-stream-index: '011' type: - object - 'null' MessageOptions: properties: include_thread_participants: type: boolean x-stream-index: '001' type: object VideoSettings: properties: access_request_enabled: type: boolean x-stream-index: '002' camera_default_on: type: boolean x-stream-index: '004' camera_facing: enum: - front - back - external type: string x-stream-index: '005' enabled: type: boolean x-stream-index: '001' target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: '003' required: - enabled - access_request_enabled - target_resolution - camera_default_on - camera_facing type: object ChatPreferencesResponse: properties: channel_mentions: type: string x-stream-index: '007' default_preference: type: string x-stream-index: '001' direct_mentions: type: string x-stream-index: '002' group_mentions: type: string x-stream-index: '004' here_mentions: type: string x-stream-index: '006' role_mentions: type: string x-stream-index: '003' thread_replies: type: string x-stream-index: '005' type: object BanRequest: properties: ban_from_future_channels: description: Whether to also ban the user from all future channels created by the banner title: Ban from future channels type: boolean x-stream-index: '013' banned_by: $ref: '#/components/schemas/UserRequest' description: User who issued a ban title: Banned by x-stream-index: '010' banned_by_id: description: User ID who issued a ban title: Banned by ID type: string x-stream-index: 009 channel_cid: description: Channel CID to ban user in eg. messaging:123 title: Channel CID type: string x-stream-index: '006' delete_messages: enum: - soft - pruning - hard type: string x-stream-index: '011' delete_reactions: description: Whether to delete reactions by the banned user on other users' messages title: Delete reactions type: boolean x-stream-index: '012' ip_ban: description: Whether to perform IP ban or not title: IP ban type: boolean x-stream-index: 008 reason: description: Ban reason title: Reason type: string x-stream-index: '003' shadow: description: Whether to perform shadow ban or not title: Shadow type: boolean x-stream-index: '007' target_user_id: description: ID of user to ban title: Target user ID type: string x-stream-index: '001' timeout: description: Timeout of ban in minutes. User will be unbanned after this period of time title: Timeout type: integer x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '014.002' user_id: type: string x-stream-index: '014.001' required: - target_user_id type: - object - 'null' GetRetentionPolicyResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' policies: items: $ref: '#/components/schemas/RetentionPolicy' type: array x-stream-index: '001' required: - policies - duration title: Response type: - object - 'null' UpsertPushPreferencesResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' user_channel_preferences: additionalProperties: additionalProperties: $ref: '#/components/schemas/ChannelPushPreferencesResponse' type: object description: The channel specific push notification preferences, only returned for channels you've edited. title: User Channel Notification Preferences type: object x-stream-index: '002' user_preferences: additionalProperties: $ref: '#/components/schemas/PushPreferencesResponse' description: The user preferences, always returned regardless if you edited it title: User Preferences type: object x-stream-index: '001' required: - user_preferences - user_channel_preferences - duration type: - object - 'null' ModerationDashboardPreferences: properties: allowed_moderation_action_reasons: items: type: string type: array x-stream-index: '004' async_review_queue_upsert: type: boolean x-stream-index: '006' disable_audit_logs: type: boolean x-stream-index: '007' disable_flagging_reviewed_entity: type: boolean x-stream-index: '003' escalation_queue_enabled: type: boolean x-stream-index: '010' escalation_reasons: items: type: string type: array x-stream-index: 009 flag_user_on_flagged_content: type: boolean x-stream-index: '002' include_attachment_payload: type: boolean x-stream-index: '011' keyframe_classifications_map: additionalProperties: additionalProperties: type: boolean type: object type: object x-stream-index: 008 media_queue_blur_enabled: type: boolean x-stream-index: '001' overview_dashboard: $ref: '#/components/schemas/OverviewDashboardConfig' x-stream-index: '005' type: object AzureRequest: description: Config for creating Azure Blob Storage storage properties: abs_account_name: description: The account name title: AccountName type: string x-stream-index: '001' abs_client_id: description: The client id title: ClientID type: string x-stream-index: '003' abs_client_secret: description: The client secret title: ClientSecret type: string x-stream-index: '004' abs_tenant_id: description: The tenant id title: TenantID type: string x-stream-index: '002' required: - abs_account_name - abs_tenant_id - abs_client_id - abs_client_secret title: AzureRequest type: object BlockUsersResponse: properties: blocked_by_user_id: description: User id who blocked another user title: BlockedByUserID type: string x-stream-index: '002' blocked_user_id: description: User id who got blocked title: BlockedUserID type: string x-stream-index: '003' created_at: description: Timestamp when the user was blocked format: date-time title: CreatedAt type: string x-stream-index: '004' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration - blocked_by_user_id - blocked_user_id - created_at type: - object - 'null' GetExternalStorageAWSS3Response: properties: bucket: type: string x-stream-index: '002' path_prefix: type: string x-stream-index: '004' region: type: string x-stream-index: '003' role_arn: type: string x-stream-index: '001' required: - role_arn - bucket - region type: object ThumbnailsSettings: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object DeactivateUserResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: '001' required: - duration type: - object - 'null' QueryFutureChannelBansResponse: properties: bans: description: List of found future channel bans items: $ref: '#/components/schemas/FutureChannelBanResponse' title: FutureChannelBanResponse type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - bans - duration type: - object - 'null' FlagMessageDetailsResponse: properties: pin_changed: type: boolean x-stream-index: '002' should_enrich: type: boolean x-stream-index: '003' skip_push: type: boolean x-stream-index: '004' updated_by_id: type: string x-stream-index: '001' type: object UnmuteUserRequest: properties: target_ids: description: User IDs to unmute (if multiple users) items: type: string maxItems: 1000 title: Target IDs type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' GetMessageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageWithChannelResponse' x-stream-index: '001' pending_message_metadata: additionalProperties: type: string type: object x-stream-index: '002' required: - message - duration title: Response type: - object - 'null' UpdateMessageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' pending_message_metadata: additionalProperties: type: string type: object x-stream-index: '002' required: - message - duration title: Response type: - object - 'null' QueryBannedUsersResponse: properties: bans: description: List of found bans items: $ref: '#/components/schemas/BanResponse' title: BanResponse type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - bans - duration type: - object - 'null' ValidateExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' ImportV2TaskSettings: properties: merge_custom: type: boolean x-stream-index: '006' mode: type: string x-stream-index: '003' path: type: string x-stream-index: '004' s3: $ref: '#/components/schemas/ImportV2TaskSettingsS3' x-stream-index: '001' skip_references_check: type: boolean x-stream-index: '005' source: type: string x-stream-index: '002' type: object UserGroupResponse: properties: created_at: format: date-time type: string x-stream-index: '006' created_by: type: string x-stream-index: 008 description: type: string x-stream-index: '003' id: type: string x-stream-index: '001' members: items: $ref: '#/components/schemas/UserGroupMember' type: array x-stream-index: '005' name: type: string x-stream-index: '002' team_id: type: string x-stream-index: '004' updated_at: format: date-time type: string x-stream-index: '007' required: - id - name - created_at - updated_at type: object APNConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '005' auth_key: type: string x-stream-index: '006.001' auth_type: enum: - certificate - token type: string x-stream-index: '001' bundle_id: type: string x-stream-index: '004' development: type: boolean x-stream-index: '002' host: type: string x-stream-index: '003' key_id: type: string x-stream-index: '006.002' notification_template: type: string x-stream-index: 008 p12_cert: type: string x-stream-index: '007.001' team_id: type: string x-stream-index: '006.003' type: object ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object ChannelBatchUpdateRequest: properties: data: $ref: '#/components/schemas/ChannelDataUpdate' x-stream-index: '004' filter: additionalProperties: {} type: object x-stream-index: '002' members: items: $ref: '#/components/schemas/ChannelBatchMemberRequest' maxItems: 100 type: array x-stream-index: '003' operation: enum: - addMembers - removeMembers - inviteMembers - invites - assignRoles - addModerators - demoteModerators - hide - show - archive - unarchive - updateData type: string x-stream-index: '001' required: - operation - filter type: - object - 'null' QueryTeamUsageStatsRequest: description: Request payload for querying team-level usage statistics from the warehouse database properties: end_date: description: End date in YYYY-MM-DD format. Used with start_date for custom date range. Returns daily breakdown. title: string type: string x-stream-index: '003' limit: description: 'Maximum number of teams to return per page (default: 30, max: 30)' format: int32 maximum: 30 minimum: 1 title: integer type: integer x-stream-index: '004' month: description: Month in YYYY-MM format (e.g., '2026-01'). Mutually exclusive with start_date/end_date. Returns aggregated monthly values. title: string type: string x-stream-index: '001' next: description: Cursor for pagination to fetch next page of teams title: string type: string x-stream-index: '005' start_date: description: Start date in YYYY-MM-DD format. Used with end_date for custom date range. Returns daily breakdown. title: string type: string x-stream-index: '002' title: Query Team Usage Stats Request type: - object - 'null' ReadStateResponse_2: properties: last_delivered_at: format: date-time type: number x-stream-index: '005' last_delivered_message_id: type: string x-stream-index: '006' last_read: format: date-time type: number x-stream-index: '002' last_read_message_id: type: string x-stream-index: '004' unread_messages: format: int32 type: integer x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '001' required: - user - last_read - unread_messages type: object ThreadResponse: properties: active_participant_count: description: Active Participant Count format: int32 title: Active Participant Count type: integer x-stream-index: 009 channel: $ref: '#/components/schemas/ChannelResponse' description: Channel title: ChannelResponse x-stream-index: '002' channel_cid: description: Channel CID title: Channel CID type: string x-stream-index: '001' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '012' created_by: $ref: '#/components/schemas/UserResponse' description: Created By User title: User x-stream-index: '006' created_by_user_id: description: Created By User ID title: Created By User ID type: string x-stream-index: '005' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '016' deleted_at: description: Deleted At format: date-time title: Deleted At type: string x-stream-index: '014' last_message_at: description: Last Message At format: date-time title: Last Message At type: string x-stream-index: '011' parent_message: $ref: '#/components/schemas/MessageResponse' description: Parent Message title: Message x-stream-index: '004' parent_message_id: description: Parent Message ID title: Parent Message ID type: string x-stream-index: '003' participant_count: description: Participant Count format: int32 title: Participant Count type: integer x-stream-index: 008 reply_count: description: Reply Count format: int32 title: Reply Count type: integer x-stream-index: '007' thread_participants: description: Thread Participants items: $ref: '#/components/schemas/ThreadParticipant' title: ThreadParticipants type: array x-stream-index: '010' title: description: Title title: Title type: string x-stream-index: '015' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '013' required: - channel_cid - parent_message_id - created_by_user_id - participant_count - active_participant_count - created_at - updated_at - title - custom type: object AsyncModerationCallbackConfig: properties: mode: enum: - CALLBACK_MODE_NONE - CALLBACK_MODE_REST - CALLBACK_MODE_TWIRP type: string x-stream-index: '002' server_url: type: string x-stream-index: '001' type: object PushNotificationFields: properties: apn: $ref: '#/components/schemas/APNConfigFields' x-stream-index: '002' firebase: $ref: '#/components/schemas/FirebaseConfigFields' x-stream-index: '003' huawei: $ref: '#/components/schemas/HuaweiConfigFields' x-stream-index: '004' offline_only: type: boolean x-stream-index: '001.002' providers: items: $ref: '#/components/schemas/PushProvider' type: array x-stream-index: '006' version: type: string x-stream-index: '001.001' xiaomi: $ref: '#/components/schemas/XiaomiConfigFields' x-stream-index: '005' required: - version - offline_only - apn - firebase - huawei - xiaomi type: object AddUserGroupMembersResponse: description: Response for adding members to a user group properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: AddUserGroupMembersResponse type: - object - 'null' UpdateUserGroupResponse: description: Response for updating a user group properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: UpdateUserGroupResponse type: - object - 'null' ConfigOverridesRequest: description: Channel configuration overrides properties: blocklist: description: Blocklist name title: Blocklist type: string x-stream-index: 008 blocklist_behavior: description: 'Blocklist behavior. One of: flag, block' enum: - flag - block title: Blocklist behavior type: string x-stream-index: 009 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: '016' commands: description: List of available commands items: type: string title: Commands type: array x-stream-index: '011' count_messages: description: Enable/disable message counting title: Count messages type: boolean x-stream-index: '014' grants: additionalProperties: items: type: string type: array description: Permission grants modifiers title: Grants type: object x-stream-index: '010' max_message_length: description: Maximum message length format: int32 maximum: 20000 title: Max message length type: integer x-stream-index: '007' push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: '015' quotes: description: Enable/disable quotes title: Quotes type: boolean x-stream-index: '004' reactions: description: Enable/disable reactions title: Reactions type: boolean x-stream-index: '002' replies: description: Enable/disable replies title: Replies type: boolean x-stream-index: '003' shared_locations: description: Enable/disable shared locations title: Shared locations type: boolean x-stream-index: '013' typing_events: description: Enable/disable typing events title: Typing events type: boolean x-stream-index: '001' uploads: description: Enable/disable uploads title: Uploads type: boolean x-stream-index: '005' url_enrichment: description: Enable/disable URL enrichment title: URL enrichment type: boolean x-stream-index: '006' user_message_reminders: description: Enable/disable user message reminders title: User message reminders type: boolean x-stream-index: '012' title: ConfigOverridesRequest type: object PendingMessageResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '002' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '003' metadata: additionalProperties: type: string type: object x-stream-index: '004' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' type: - object - 'null' FrameRecordSettings: properties: capture_interval_in_seconds: format: int32 maximum: 60 minimum: 2 type: integer x-stream-index: '003' mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' quality: type: string x-stream-index: '002' required: - mode - capture_interval_in_seconds type: object StopCampaignRequest: type: - object - 'null' QueryMessageHistoryResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message_history: description: Message history entries items: $ref: '#/components/schemas/MessageHistoryEntryResponse' title: MessageHistoryEntryResponseList type: array x-stream-index: '001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' required: - message_history - duration type: - object - 'null' UserResponseCommonFields: properties: avg_response_time: format: int32 type: integer x-stream-index: 018 banned: type: boolean x-stream-index: '012' blocked_user_ids: items: type: string type: array x-stream-index: '017' created_at: format: date-time type: string x-stream-index: 009 custom: additionalProperties: {} type: object x-stream-index: '004' deactivated_at: format: date-time type: string x-stream-index: '016' deleted_at: format: date-time type: string x-stream-index: '011' id: type: string x-stream-index: '001' image: type: string x-stream-index: '003' language: type: string x-stream-index: '005' last_active: format: date-time type: string x-stream-index: '014' name: type: string x-stream-index: '002' online: type: boolean x-stream-index: '013' revoke_tokens_issued_before: format: date-time type: string x-stream-index: '015' role: type: string x-stream-index: '006' teams: items: type: string type: array x-stream-index: '007' teams_role: additionalProperties: type: string type: object x-stream-index: 008 updated_at: format: date-time type: string x-stream-index: '010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids type: object FCM: properties: data: additionalProperties: {} type: object x-stream-index: '001' type: object LimitInfoResponse: properties: limit: description: The maximum number of API calls allowed per time window format: int64 title: Limit type: integer x-stream-index: '001' remaining: description: The number of remaining calls in the current window format: int64 title: Remaining type: integer x-stream-index: '002' reset: description: The Unix timestamp when the rate limit resets format: int64 title: Reset type: integer x-stream-index: '003' required: - limit - remaining - reset title: LimitInfo type: object x-stream-docs-page-id: rate_limits TeamUsageStats: description: Usage statistics for a single team containing all 16 metrics properties: concurrent_connections: $ref: '#/components/schemas/MetricStats' description: Peak concurrent connections (total = MAX) title: MetricStats x-stream-index: '007' concurrent_users: $ref: '#/components/schemas/MetricStats' description: Peak concurrent users (total = MAX) title: MetricStats x-stream-index: '006' image_moderations_daily: $ref: '#/components/schemas/MetricStats' description: Daily image moderations (total = SUM) title: MetricStats x-stream-index: '005' messages_daily: $ref: '#/components/schemas/MetricStats' description: Daily messages sent (total = SUM) title: MetricStats x-stream-index: '003' messages_last_24_hours: $ref: '#/components/schemas/MetricStats' description: Messages in last 24 hours (total = LATEST) title: MetricStats x-stream-index: '015' messages_last_30_days: $ref: '#/components/schemas/MetricStats' description: Messages in last 30 days (total = LATEST) title: MetricStats x-stream-index: '016' messages_month_to_date: $ref: '#/components/schemas/MetricStats' description: Messages this month (total = LATEST) title: MetricStats x-stream-index: '017' messages_total: $ref: '#/components/schemas/MetricStats' description: Total messages (total = LATEST) title: MetricStats x-stream-index: '014' team: description: Team identifier (empty string for users not assigned to any team) title: string type: string x-stream-index: '001' translations_daily: $ref: '#/components/schemas/MetricStats' description: Daily translations (total = SUM) title: MetricStats x-stream-index: '004' users_daily: $ref: '#/components/schemas/MetricStats' description: Daily active users (total = SUM) title: MetricStats x-stream-index: '002' users_engaged_last_30_days: $ref: '#/components/schemas/MetricStats' description: Engaged MAU (total = LATEST) title: MetricStats x-stream-index: '012' users_engaged_month_to_date: $ref: '#/components/schemas/MetricStats' description: Engaged users this month (total = LATEST) title: MetricStats x-stream-index: '013' users_last_24_hours: $ref: '#/components/schemas/MetricStats' description: Users active in last 24 hours (total = LATEST) title: MetricStats x-stream-index: 009 users_last_30_days: $ref: '#/components/schemas/MetricStats' description: MAU - users active in last 30 days (total = LATEST) title: MetricStats x-stream-index: '010' users_month_to_date: $ref: '#/components/schemas/MetricStats' description: Users active this month (total = LATEST) title: MetricStats x-stream-index: '011' users_total: $ref: '#/components/schemas/MetricStats' description: Total users (total = LATEST) title: MetricStats x-stream-index: 008 required: - team - users_daily - messages_daily - translations_daily - image_moderations_daily - concurrent_users - concurrent_connections - users_total - users_last_24_hours - users_last_30_days - users_month_to_date - users_engaged_last_30_days - users_engaged_month_to_date - messages_total - messages_last_24_hours - messages_last_30_days - messages_month_to_date title: Team Usage Stats type: object QueryPollsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '003' type: - object - 'null' HLSSettings: properties: auto_on: type: boolean x-stream-index: '001' enabled: type: boolean x-stream-index: '002' layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: '004' quality_tracks: items: type: string type: array x-stream-index: '003' required: - auto_on - enabled - quality_tracks type: object Field: properties: short: type: boolean x-stream-index: '003' title: type: string x-stream-index: '001' value: type: string x-stream-index: '002' required: - title - value - short type: - object - 'null' ReadStateResponse: properties: last_delivered_at: format: date-time type: string x-stream-index: '005' last_delivered_message_id: type: string x-stream-index: '006' last_read: format: date-time type: string x-stream-index: '002' last_read_message_id: type: string x-stream-index: '004' unread_messages: format: int32 type: integer x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' required: - user - last_read - unread_messages type: object UserMuteResponse: properties: created_at: format: date-time type: string x-stream-index: '004' expires: format: date-time type: string x-stream-index: '003' target: $ref: '#/components/schemas/UserResponse' x-stream-index: '002' updated_at: format: date-time type: string x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' required: - created_at - updated_at type: - object - 'null' GetCampaignResponse: description: Basic response information properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' users: $ref: '#/components/schemas/PagerResponse' x-stream-index: '002' required: - duration title: Response type: - object - 'null' EventResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' event: $ref: '#/components/schemas/WSEvent' x-stream-index: '001' required: - event - duration title: Response type: - object - 'null' RetentionRunResponse: properties: app_pk: format: int64 type: integer x-stream-index: '001' date: type: string x-stream-index: '003' policy: type: string x-stream-index: '002' stats: $ref: '#/components/schemas/RunStats' x-stream-index: '004' required: - app_pk - policy - date - stats type: object MessageResponse: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: 009 cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: '024' command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: '004' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '025' custom: additionalProperties: {} type: object x-stream-index: 028 deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: '027' deleted_for_me: type: boolean x-stream-index: '050' deleted_reply_count: format: int32 type: integer x-stream-index: '020' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '047' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '005' i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: '036' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001' image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: '030' latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse' title: Latest reactions type: array x-stream-index: '010' member: $ref: '#/components/schemas/ChannelMemberResponse' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: 008 mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: '034' mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: '033' mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: '035' mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: '032' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: '031' message_text_updated_at: format: date-time type: string x-stream-index: '042' mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '045' own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse' title: Own reactions type: array x-stream-index: '011' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '017' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: '041' pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: 038 pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: string x-stream-docs-page-id: pinned_messages x-stream-index: 039 pinned_by: $ref: '#/components/schemas/UserResponse' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: '040' poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: '044' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '043' quoted_message: $ref: '#/components/schemas/MessageResponse' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: '022' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '021' reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: '012' reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: '016' reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: '013' reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: 048 reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: 019 restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: '046' shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: 029 shared_location: $ref: '#/components/schemas/SharedLocationResponseData' description: Contains shared location data title: Shared Location x-stream-index: 049 show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: 018 silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '037' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '002' thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: '023' type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '006' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '026' user: $ref: '#/components/schemas/UserResponse' description: Sender of the message. Required when using server-side API title: User object x-stream-index: '007' required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility title: Message type: object x-stream-docs-page-id: send_message HuaweiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '003' id: type: string x-stream-index: '001' secret: type: string x-stream-index: '002' type: object QueryRemindersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' reminders: description: MessageReminders data returned by the query items: $ref: '#/components/schemas/ReminderResponseData' title: RemindersResponseData type: array x-stream-index: '001' required: - reminders - duration type: - object - 'null' MessageResponse_2: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: 009 cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: '024' command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: '004' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '025' custom: additionalProperties: {} type: object x-stream-index: 028 deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '027' deleted_for_me: type: boolean x-stream-index: '050' deleted_reply_count: format: int32 type: integer x-stream-index: '020' draft: $ref: '#/components/schemas/DraftResponse_2' x-stream-index: '047' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '005' i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: '036' id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: '001' image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: '030' latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse_2' title: Latest reactions type: array x-stream-index: '010' member: $ref: '#/components/schemas/ChannelMemberResponse_2' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: 008 mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: '034' mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: '033' mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: '035' mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: '032' mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse_2' title: Mentioned Users type: array x-stream-index: '031' message_text_updated_at: format: date-time type: number x-stream-index: '042' mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '045' own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse_2' title: Own reactions type: array x-stream-index: '011' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '017' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: number x-stream-docs-page-id: pinned_messages x-stream-index: '041' pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: 038 pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: number x-stream-docs-page-id: pinned_messages x-stream-index: 039 pinned_by: $ref: '#/components/schemas/UserResponse_2' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: '040' poll: $ref: '#/components/schemas/PollResponseData_2' x-stream-index: '044' poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '043' quoted_message: $ref: '#/components/schemas/MessageResponse_2' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: '022' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '021' reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: '012' reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse_2' type: object x-stream-index: '016' reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: '013' reminder: $ref: '#/components/schemas/ReminderResponseData_2' x-stream-index: 048 reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: 019 restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: '046' shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: 029 shared_location: $ref: '#/components/schemas/SharedLocationResponseData_2' description: Contains shared location data title: Shared Location x-stream-index: 049 show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: 018 silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '037' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '002' thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse_2' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: '023' type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '006' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '026' user: $ref: '#/components/schemas/UserResponse_2' description: Sender of the message. Required when using server-side API title: User object x-stream-index: '007' required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility title: Message type: object x-stream-docs-page-id: send_message GroupedChannelsBucket: properties: channels: description: Channels returned for this bucket items: $ref: '#/components/schemas/ChannelStateResponseFields' title: Channels type: array x-stream-index: '001' unread_channels: description: Unread channels currently classified into this bucket format: int32 title: Unread Channels type: integer x-stream-index: '002' required: - channels title: Grouped Channels Bucket type: object ReactivateUserResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.002.001 user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: '001.001' required: - duration type: - object - 'null' QueryCampaignsRequest: properties: filter: additionalProperties: {} type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: items: $ref: '#/components/schemas/SortParamRequest' type: array x-stream-index: '002' user_limit: format: int32 maximum: 1000 minimum: 0 type: integer x-stream-index: '003' type: - object - 'null' WSEvent: description: Represents an BaseEvent that happened in Stream Chat properties: automoderation: type: boolean x-stream-index: '023' automoderation_scores: $ref: '#/components/schemas/ModerationResponse' x-stream-index: '024' channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '011' channel_id: type: string x-stream-index: '004' channel_last_message_at: format: date-time type: string x-stream-index: '007' channel_type: type: string x-stream-index: '005' cid: type: string x-stream-index: '003' connection_id: type: string x-stream-index: '002' created_at: format: date-time type: string x-stream-index: 028 created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '022' custom: additionalProperties: {} type: object x-stream-index: '027' me: $ref: '#/components/schemas/OwnUserResponse' x-stream-index: 019 member: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: '014' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: 008 message_update: $ref: '#/components/schemas/MessageUpdate' x-stream-index: 009 parent_id: type: string x-stream-index: '025' poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: '015' poll_vote: $ref: '#/components/schemas/PollVoteResponseData' x-stream-index: '016' reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: '010' reason: type: string x-stream-index: '021' team: type: string x-stream-index: '026' thread: $ref: '#/components/schemas/ThreadResponse' x-stream-index: '013' thread_id: type: string x-stream-index: '012' type: type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '017' user_id: type: string x-stream-index: 018 watcher_count: format: int32 type: integer x-stream-index: '020' required: - type - custom - created_at title: Event type: object x-stream-docs-page-id: event_object VoteData: properties: answer_text: type: string x-stream-index: '002' option_id: maxLength: 255 type: string x-stream-index: '001' type: object QueryUsersPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned: operators: - $eq type: boolean bypass_moderation: operators: - $eq - $ne type: boolean created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date email: operators: - $eq - $in type: string id: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string language: operators: - $eq - $ne type: string last_active: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string role: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string shadow_banned: operators: - $eq - $ne type: boolean teams: operators: - $_none - $contains - $eq - $in type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date username: operators: - $autocomplete - $eq type: string x-stream-index: '001' include_deactivated_users: type: boolean x-stream-index: '004' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' offset: format: int32 maximum: 1000 minimum: 0 type: integer x-stream-index: '005.002' presence: type: boolean x-stream-index: '003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' required: - filter_conditions type: object UnreadCountsThread: properties: last_read: format: date-time type: string x-stream-index: '002' last_read_message_id: type: string x-stream-index: '003' parent_message_id: type: string x-stream-index: '004' unread_count: format: int32 type: integer x-stream-index: '001' required: - unread_count - last_read - last_read_message_id - parent_message_id type: object PollOptionInput: properties: custom: additionalProperties: {} type: object x-stream-index: '003' text: type: string x-stream-index: '002' type: - object - 'null' ImageUploadRequest: properties: file: type: string x-stream-index: '001.001' upload_sizes: description: field with JSON-encoded array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' user: $ref: '#/components/schemas/OnlyUserID' x-stream-index: '001.002' type: - object - 'null' ReactivateUsersResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.002.001 task_id: type: string x-stream-index: '001.001' required: - task_id - duration title: Response type: - object - 'null' UnreadCountsBatchRequest: properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: - object - 'null' GetExternalStorageResponse: description: Basic response information properties: aws_s3: $ref: '#/components/schemas/GetExternalStorageAWSS3Response' x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '003' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '005.001' type: type: string x-stream-index: '001' updated_at: format: date-time type: string x-stream-index: '004' required: - type - created_at - updated_at - duration title: Response type: - object - 'null' PushProvider: properties: apn_auth_key: type: string x-stream-index: '012' apn_auth_type: type: string x-stream-index: '017' apn_development: type: boolean x-stream-index: 018 apn_host: type: string x-stream-index: 019 apn_key_id: type: string x-stream-index: '013' apn_notification_template: type: string x-stream-index: '020' apn_p12_cert: type: string x-stream-index: '014' apn_team_id: type: string x-stream-index: '015' apn_topic: type: string x-stream-index: '016' created_at: format: date-time type: string x-stream-index: 008 description: maxLength: 128 type: string x-stream-index: '007' disabled_at: format: date-time type: string x-stream-index: '010' disabled_reason: maxLength: 255 type: string x-stream-index: '011' firebase_apn_template: type: string x-stream-index: '025' firebase_credentials: type: string x-stream-index: '022' firebase_data_template: type: string x-stream-index: '023' firebase_host: type: string x-stream-index: '026' firebase_notification_template: type: string x-stream-index: '024' firebase_server_key: type: string x-stream-index: '021' huawei_app_id: type: string x-stream-index: '027' huawei_app_secret: type: string x-stream-index: 028 huawei_host: type: string x-stream-index: '032' name: maxLength: 36 minLength: 1 type: string x-stream-index: '005' push_templates: items: $ref: '#/components/schemas/PushTemplate' type: array x-stream-index: '031' type: type: string x-stream-index: '006' updated_at: format: date-time type: string x-stream-index: 009 xiaomi_app_secret: type: string x-stream-index: '030' xiaomi_package_name: type: string x-stream-index: 029 required: - name - type - created_at - updated_at type: - object - 'null' ImportTask: properties: created_at: format: date-time type: string x-stream-index: '011' history: items: $ref: '#/components/schemas/ImportTaskHistory' type: array x-stream-index: '010' id: type: string x-stream-index: '003' mode: type: string x-stream-index: '006' path: type: string x-stream-index: '005' size: format: int64 type: integer x-stream-index: '007' state: type: string x-stream-index: 008 updated_at: format: date-time type: string x-stream-index: '012' required: - id - path - mode - state - history - created_at - updated_at type: object QueryChannelsResponse: properties: channels: description: List of channels items: $ref: '#/components/schemas/ChannelStateResponseFields' title: Channels type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' predefined_filter: $ref: '#/components/schemas/ParsedPredefinedFilterResponse' description: The parsed predefined filter with interpolated values, only present when using a predefined filter title: Predefined Filter x-stream-index: '002' required: - channels - duration title: Channels list type: - object - 'null' UnreadCountsResponse: properties: channel_type: items: $ref: '#/components/schemas/UnreadCountsChannelType' type: array x-stream-index: '005' channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: '004' threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: '006' total_unread_count: format: int32 type: integer x-stream-index: '001' total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: '003' total_unread_threads_count: format: int32 type: integer x-stream-index: '002' required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads type: - object - 'null' AddUserGroupMembersRequest: description: Request body for adding members to a user group properties: as_admin: description: Whether to add the members as group admins. Defaults to false title: As Admin type: boolean x-stream-index: '003' member_ids: description: List of user IDs to add as members items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '004' required: - member_ids title: AddUserGroupMembersRequest type: - object - 'null' TruncateChannelRequest_2: properties: hard_delete: description: Permanently delete channel data (messages, reactions, etc.) title: Hard delete type: boolean x-stream-index: '002' member_ids: description: List of member IDs to hide message history for. If empty, truncates the channel for all members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: '007' message: $ref: '#/components/schemas/MessageRequest_2' x-stream-index: '004' skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: '005' truncated_at: description: Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at` format: date-time title: Truncated at type: number x-stream-index: '006' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '008.002' user_id: type: string x-stream-index: '008.001' type: - object - 'null' MembersResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' members: description: List of found members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: '001' required: - members - duration type: - object - 'null' SetRetentionPolicyResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' policy: $ref: '#/components/schemas/RetentionPolicy' x-stream-index: '001' required: - policy - duration title: Response type: - object - 'null' ReactionResponse_2: properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '006' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: 008 message_id: description: Message ID title: Message ID type: string x-stream-index: '001' score: description: Score of the reaction format: int32 title: Score type: integer x-stream-index: '005' type: description: Type of reaction title: Type type: string x-stream-index: '004' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '007' user: $ref: '#/components/schemas/UserResponse_2' description: User title: UserResponse x-stream-index: '003' user_id: description: User ID title: User ID type: string x-stream-index: '002' required: - message_id - user_id - user - type - score - created_at - updated_at - custom type: object CallType: properties: app: format: int32 type: integer x-stream-index: '003' created_at: format: date-time type: string x-stream-index: '005' id: format: int32 type: integer x-stream-index: '002' name: type: string x-stream-index: '004' notification_settings: $ref: '#/components/schemas/NotificationSettings' x-stream-index: 008 recording_external_storage: type: string x-stream-index: 009 settings: $ref: '#/components/schemas/CallSettings' x-stream-index: '007' updated_at: format: date-time type: string x-stream-index: '006' required: - id - app - name - created_at - updated_at - recording_external_storage type: - object - 'null' PollVoteResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: '002' vote: $ref: '#/components/schemas/PollVoteResponseData' description: Poll vote title: PollVoteResponseData x-stream-index: '001' required: - duration type: - object - 'null' UpdateChannelTypeRequest: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 009.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 009.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 009.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 009.001.029 blocklist: type: string x-stream-index: 009.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 009.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 009.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 009.001.034 commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: '009.003' connect_events: type: boolean x-stream-index: 009.001.004 count_messages: type: boolean x-stream-index: 009.001.020 custom_events: type: boolean x-stream-index: 009.001.013 delivery_events: type: boolean x-stream-index: 009.001.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: '004' mark_messages_pending: type: boolean x-stream-index: 009.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 009.001.022 mutes: type: boolean x-stream-index: 009.001.010 partition_size: format: int32 minimum: 0 type: integer x-stream-index: '007' partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 008 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '003' polls: type: boolean x-stream-index: 009.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 009.001.033 push_notifications: type: boolean x-stream-index: 009.001.014 quotes: type: boolean x-stream-index: 009.001.009 reactions: type: boolean x-stream-index: 009.001.007 read_events: type: boolean x-stream-index: 009.001.003 reminders: type: boolean x-stream-index: 009.001.015 replies: type: boolean x-stream-index: 009.001.008 search: type: boolean x-stream-index: 009.001.006 shared_locations: type: boolean x-stream-index: 009.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 009.001.032 typing_events: type: boolean x-stream-index: 009.001.002 uploads: type: boolean x-stream-index: 009.001.011 url_enrichment: type: boolean x-stream-index: 009.001.012 user_message_reminders: type: boolean x-stream-index: 009.001.018 required: - max_message_length - automod - automod_behavior type: - object - 'null' Action: properties: name: type: string x-stream-index: '001' style: type: string x-stream-index: '003' text: type: string x-stream-index: '002' type: type: string x-stream-index: '004' value: type: string x-stream-index: '005' required: - name - text - type type: - object - 'null' UnreadCountsChannel: properties: channel_id: type: string x-stream-index: '001' last_read: format: date-time type: string x-stream-index: '003' unread_count: format: int32 type: integer x-stream-index: '002' required: - channel_id - unread_count - last_read type: object FlagDetails: properties: automod: $ref: '#/components/schemas/AutomodDetailsResponse' x-stream-index: '001' original_text: type: string x-stream-index: '002' required: - original_text type: object QueryRemindersRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' CheckSQSResponse: properties: data: additionalProperties: {} description: Error data title: ReadOnlyData type: object x-stream-index: '003' duration: type: string x-stream-index: '004.001' error: description: Error text title: Error type: string x-stream-index: '002' status: description: 'Validation result. One of: ok, error' title: Status type: string x-stream-index: '001' required: - status - duration type: - object - 'null' ChannelInputRequest: properties: auto_translation_enabled: type: boolean x-stream-index: '002' auto_translation_language: type: string x-stream-index: '003' config_overrides: $ref: '#/components/schemas/ConfigOverridesRequest' x-stream-index: 009 created_by: $ref: '#/components/schemas/UserRequest' x-stream-index: '010' custom: additionalProperties: {} type: object x-stream-index: '006' disabled: type: boolean x-stream-index: '005' frozen: type: boolean x-stream-index: '004' invites: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: '007' members: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: 008 team: type: string x-stream-index: '001' type: object FirebaseConfigFields: properties: apn_template: type: string x-stream-index: '004' credentials_json: type: string x-stream-index: '006' data_template: type: string x-stream-index: '003' enabled: type: boolean x-stream-index: '001' notification_template: type: string x-stream-index: '002' server_key: type: string x-stream-index: '005' required: - enabled type: object CreateDeviceRequest: description: Create device request properties: id: description: Device ID maxLength: 255 minLength: 1 title: ID type: string x-stream-index: '001' push_provider: description: Push provider enum: - firebase - apn - huawei - xiaomi title: PushProvider type: string x-stream-index: '002' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: '005.001' voip_token: description: When true the token is for Apple VoIP push notifications title: VoipToken type: boolean x-stream-index: '004' required: - id - push_provider title: CreateDeviceRequest type: - object - 'null' UserResponse: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: string x-stream-index: '004' banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: string x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: string x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' online: description: Whether a user online or not title: Online type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: string x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object SendReactionResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: '002' required: - message - reaction - duration title: Response type: - object - 'null' GetRetentionPolicyRunsRequest: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: date: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date policy: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: '002' x-stream-sort-combinations: - - policy - - date type: - object - 'null' DeviceResponse: description: Response for Device properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: - object - 'null' CreateImportURLRequest: properties: filename: type: string x-stream-index: '001' type: - object - 'null' GeofenceSettings: properties: names: items: type: string type: array x-stream-index: '001' required: - names type: object UpdateChannelTypeResponse_2: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.001.029 blocklist: type: string x-stream-index: 003.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.001.034 commands: items: type: string type: array x-stream-index: '003.003' connect_events: type: boolean x-stream-index: 003.001.004 count_messages: type: boolean x-stream-index: 003.001.020 created_at: format: date-time type: number x-stream-index: 003.002.003 custom_events: type: boolean x-stream-index: 003.001.013 delivery_events: type: boolean x-stream-index: 003.001.005 duration: type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 003.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.001.022 mutes: type: boolean x-stream-index: 003.001.010 name: type: string x-stream-index: 003.001.001 partition_size: format: int32 type: integer x-stream-index: 003.001.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 003.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '001' polls: type: boolean x-stream-index: 003.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.001.033 push_notifications: type: boolean x-stream-index: 003.001.014 quotes: type: boolean x-stream-index: 003.001.009 reactions: type: boolean x-stream-index: 003.001.007 read_events: type: boolean x-stream-index: 003.001.003 reminders: type: boolean x-stream-index: 003.001.015 replies: type: boolean x-stream-index: 003.001.008 search: type: boolean x-stream-index: 003.001.006 shared_locations: type: boolean x-stream-index: 003.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.001.032 typing_events: type: boolean x-stream-index: 003.001.002 updated_at: format: date-time type: number x-stream-index: 003.002.004 uploads: type: boolean x-stream-index: 003.001.011 url_enrichment: type: boolean x-stream-index: 003.001.012 user_message_reminders: type: boolean x-stream-index: 003.001.018 required: - permissions - grants - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - duration type: - object - 'null' DeleteUsersRequest: properties: calls: description: 'Calls delete mode. Affected calls are those that include exactly two members, one of whom is the user being deleted. * null or empty string - doesn''t delete any calls * soft - marks user''s calls and their related data as deleted (soft-delete) * hard - deletes user''s calls and their data completely (hard-delete) ' enum: - soft - hard title: Delete User's calls type: string x-stream-index: 001.002.004 conversations: description: 'Conversation channels delete mode. Conversation channel is any channel which only has two members one of which is the user being deleted. * null or empty string - doesn''t delete any conversation channels * soft - marks all conversation channels as deleted (same effect as Delete Channels with ''hard'' option disabled) * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with ''hard'' option enabled) ' enum: - soft - hard title: Delete Conversations type: string x-stream-index: 001.002.003 files: description: 'Delete user files. * false or empty string - doesn''t delete any files * true - deletes all files uploaded by the user, including images and attachments. ' title: Delete User's files type: boolean x-stream-index: 001.002.005 messages: description: 'Message delete mode. * null or empty string - doesn''t delete user messages * soft - marks all user messages as deleted without removing any related message data * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags * hard - deletes messages completely with all related information ' enum: - soft - pruning - hard title: Delete Messages type: string x-stream-index: 001.002.002 new_call_owner_id: type: string x-stream-index: 001.002.007 new_channel_owner_id: type: string x-stream-index: 001.002.006 user: description: 'User delete mode. * soft - marks user as deleted and retains all user data * pruning - marks user as deleted and nullifies user information * hard - deletes user completely. Requires ''hard'' option for messages and conversations as well ' enum: - soft - pruning - hard title: Delete User type: string x-stream-index: 001.002.001 user_ids: description: IDs of users to delete items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: '001.001' required: - user_ids type: - object - 'null' RemoveUserGroupMembersRequest: description: Request body for removing members from a user group properties: member_ids: description: List of user IDs to remove items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: '002' team_id: maxLength: 255 type: string x-stream-index: '003' required: - member_ids title: RemoveUserGroupMembersRequest type: - object - 'null' MuteUserResponse: properties: duration: type: string x-stream-index: '005.001' mute: $ref: '#/components/schemas/UserMuteResponse' description: Object with user mute (if one user was muted) title: Mute x-stream-index: '001' mutes: description: Object with mutes (if multiple users were muted) items: $ref: '#/components/schemas/UserMuteResponse' title: Mutes type: array x-stream-index: '002' non_existing_users: items: type: string type: array x-stream-index: '004' own_user: $ref: '#/components/schemas/OwnUserResponse' description: Authorized user object with fresh mutes information title: Own user x-stream-index: '003' required: - duration type: - object - 'null' SendMessageResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' message: $ref: '#/components/schemas/MessageResponse' description: Message response title: Message x-stream-index: '001' pending_message_metadata: additionalProperties: type: string description: Pending message metadata title: Pending message metadata type: object x-stream-index: '002' required: - message - duration type: - object - 'null' CreateExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' CheckSNSRequest: properties: sns_key: description: AWS SNS access key title: SNS key type: string x-stream-index: '002' sns_secret: description: AWS SNS key secret title: SNS secret type: string x-stream-index: '003' sns_topic_arn: description: AWS SNS topic ARN title: SNS Topic ARN type: string x-stream-index: '001' type: - object - 'null' UpdateCommandResponse: properties: command: $ref: '#/components/schemas/Command' description: Command object title: Command x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - duration title: UpdateCommandResponse type: - object - 'null' TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object GetImportV2TaskResponse: description: Basic response information properties: app_pk: format: int32 type: integer x-stream-index: '002' created_at: format: date-time type: string x-stream-index: '007' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '009.001' id: type: string x-stream-index: '001' product: type: string x-stream-index: '003' result: readOnly: true type: object x-stream-index: '006' settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: '005' state: type: integer x-stream-index: '004' updated_at: format: date-time type: string x-stream-index: 008 required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: - object - 'null' ChannelInput: properties: auto_translation_enabled: description: Enable or disable auto translation title: Auto translation type: boolean x-stream-index: '005' auto_translation_language: description: Switch auto translation language title: Auto translation language type: string x-stream-index: '006' config_overrides: $ref: '#/components/schemas/ChannelConfig' x-stream-index: '024' created_by: $ref: '#/components/schemas/UserRequest' x-stream-index: 009 created_by_id: type: string x-stream-index: 008 custom: additionalProperties: {} type: object x-stream-index: '015' disabled: type: boolean x-stream-index: '014' filter_tags: items: type: string maxItems: 10 type: array x-stream-index: '026' frozen: description: Freeze or unfreeze the channel title: Frozen type: boolean x-stream-index: '013' invites: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: '016' members: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: 018 team: description: Team the channel belongs to (if multi-tenant mode is enabled) title: Team type: string x-stream-index: '004' truncated_by_id: type: string x-stream-index: '010' type: object PolicyConfig: properties: max_age_hours: format: int32 type: integer x-stream-index: '001' required: - max_age_hours type: object CreateImportURLResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' path: type: string x-stream-index: '001' upload_url: type: string x-stream-index: '002' required: - path - upload_url - duration title: Response type: - object - 'null' PrivacySettingsResponse: properties: delivery_receipts: $ref: '#/components/schemas/DeliveryReceiptsResponse' x-stream-index: '003' read_receipts: $ref: '#/components/schemas/ReadReceiptsResponse' x-stream-index: '002' typing_indicators: $ref: '#/components/schemas/TypingIndicatorsResponse' x-stream-index: '001' type: object GetThreadResponse: properties: duration: type: string x-stream-index: '002.001' thread: $ref: '#/components/schemas/ThreadStateResponse' description: Enriched thread state title: Thread x-stream-index: '001' required: - thread - duration type: - object - 'null' RemoveUserGroupMembersResponse: description: Response for removing members from a user group properties: duration: type: string x-stream-index: '002.001' user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: '001' required: - duration title: RemoveUserGroupMembersResponse type: - object - 'null' GetRateLimitsResponse: properties: android: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the Android platform title: Android type: object x-stream-index: '002' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name duration: type: string x-stream-index: '005.001' ios: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the iOS platform title: iOS type: object x-stream-index: '003' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name server_side: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the server-side platform title: Server-side type: object x-stream-index: '001' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name web: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the web platform title: Web type: object x-stream-index: '004' x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name required: - duration title: Get Rate Limits Response type: - object - 'null' x-stream-docs-page-id: rate_limits ListBlockListResponse: description: Basic response information properties: blocklists: items: $ref: '#/components/schemas/BlockListResponse' type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - blocklists - duration title: Response type: - object - 'null' PollResponseData_2: properties: allow_answers: type: boolean x-stream-index: 008 allow_user_suggested_options: type: boolean x-stream-index: '007' answers_count: format: int32 type: integer x-stream-index: '012' created_at: format: date-time type: number x-stream-index: 019 created_by: $ref: '#/components/schemas/UserResponse_2' x-stream-index: 018 created_by_id: type: string x-stream-index: '017' custom: additionalProperties: {} type: object x-stream-index: '021' description: type: string x-stream-index: '003' enforce_unique_vote: type: boolean x-stream-index: '005' id: type: string x-stream-index: '001' is_closed: type: boolean x-stream-index: 009 latest_answers: items: $ref: '#/components/schemas/PollVoteResponseData_2' type: array x-stream-index: '015' latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData_2' type: array type: object x-stream-index: '014' max_votes_allowed: format: int32 type: integer x-stream-index: '006' name: type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: '011' own_votes: items: $ref: '#/components/schemas/PollVoteResponseData_2' type: array x-stream-index: '016' updated_at: format: date-time type: number x-stream-index: '020' vote_count: format: int32 type: integer x-stream-index: '010' vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: '013' voting_visibility: type: string x-stream-index: '004' required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - custom type: object UpdatePollPartialRequest: properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: '002.001' x-stream-map: description: New value to set key: field title: Value unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: '002.002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' DeleteChannelsRequest: properties: cids: description: All channels that should be deleted items: type: string maxItems: 100 minItems: 1 title: Channels CID type: array x-stream-index: '001' hard_delete: description: Specify if channels and all ressources should be hard deleted title: Hard delete type: boolean x-stream-index: '002' required: - cids type: - object - 'null' MuteChannelRequest: properties: channel_cids: description: Channel CIDs to mute (if multiple channels) items: type: string maxItems: 25 title: Channel CIDs type: array x-stream-index: '002' expiration: description: Duration of mute in milliseconds title: Expiration type: integer x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' type: - object - 'null' DataDogInfo: properties: api_key: type: string x-stream-index: '001' enabled: type: boolean x-stream-index: '003' site: type: string x-stream-index: '002' type: object SearchResultMessage: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: '001.009' channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: '002' cid: type: string x-stream-index: '001.024' command: type: string x-stream-index: '001.004' created_at: format: date-time type: string x-stream-index: '001.025' custom: additionalProperties: {} type: object x-stream-index: '001.028' deleted_at: format: date-time type: string x-stream-index: '001.027' deleted_for_me: type: boolean x-stream-index: '001.050' deleted_reply_count: format: int32 type: integer x-stream-index: '001.020' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '001.047' html: type: string x-stream-index: '001.005' i18n: additionalProperties: type: string type: object x-stream-index: '001.036' id: type: string x-stream-index: '001.001' image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: '001.030' latest_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: '001.010' member: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: '001.008' mentioned_channel: type: boolean x-stream-index: '001.034' mentioned_group_ids: items: type: string type: array x-stream-index: '001.033' mentioned_here: type: boolean x-stream-index: '001.035' mentioned_roles: items: type: string type: array x-stream-index: '001.032' mentioned_users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: '001.031' message_text_updated_at: format: date-time type: string x-stream-index: '001.042' mml: type: string x-stream-index: '001.003' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '001.045' own_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: '001.011' parent_id: type: string x-stream-index: '001.017' pin_expires: format: date-time type: string x-stream-index: '001.041' pinned: type: boolean x-stream-index: '001.038' pinned_at: format: date-time type: string x-stream-index: '001.039' pinned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: '001.040' poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: '001.044' poll_id: type: string x-stream-index: '001.043' quoted_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001.022' quoted_message_id: type: string x-stream-index: '001.021' reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: '001.012' reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: '001.016' reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: '001.013' reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: '001.048' reply_count: format: int32 type: integer x-stream-index: '001.019' restricted_visibility: items: type: string type: array x-stream-index: '001.046' shadowed: type: boolean x-stream-index: '001.029' shared_location: $ref: '#/components/schemas/SharedLocationResponseData' x-stream-index: '001.049' show_in_channel: type: boolean x-stream-index: '001.018' silent: type: boolean x-stream-index: '001.037' text: type: string x-stream-index: '001.002' thread_participants: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: '001.023' type: type: string x-stream-index: '001.006' updated_at: format: date-time type: string x-stream-index: '001.026' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001.007' required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility type: object StartCampaignRequest: properties: scheduled_for: format: date-time type: string x-stream-index: '002' stop_at: format: date-time type: string x-stream-index: '003' type: - object - 'null' UpsertPushProviderRequest: properties: push_provider: $ref: '#/components/schemas/PushProviderRequest' x-stream-index: '001' type: - object - 'null' GetCustomPermissionResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' permission: $ref: '#/components/schemas/Permission' x-stream-index: '001' required: - permission - duration title: Response type: - object - 'null' UserCustomEventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: '002' type: type: string x-stream-index: '001' required: - type type: object SendMessageRequest: properties: force_moderation: type: boolean x-stream-index: '007' keep_channel_hidden: type: boolean x-stream-index: 008 message: $ref: '#/components/schemas/MessageRequest' x-stream-index: '001' pending: type: boolean x-stream-index: '006' pending_message_metadata: additionalProperties: type: string type: object x-stream-index: '005' skip_enrich_url: type: boolean x-stream-index: '003' skip_push: type: boolean x-stream-index: '002' required: - message type: - object - 'null' ChannelBatchUpdateResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' task_id: type: string x-stream-index: '001' required: - duration title: Response type: - object - 'null' ThreadParticipant_2: description: Represents a user that is participating in a thread. properties: app_pk: format: int32 readOnly: true type: integer x-stream-index: '001' channel_cid: type: string x-stream-index: '002' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '007' custom: additionalProperties: {} type: object x-stream-index: '010' last_read_at: format: date-time type: number x-stream-index: 009 last_thread_message_at: format: date-time type: number x-stream-index: '003' left_thread_at: description: Left Thread At is the time when the user left the thread format: date-time title: Left Thread At type: number x-stream-index: 008 thread_id: description: Thead ID is unique string identifier of the thread title: ID type: string x-stream-index: '004' user: $ref: '#/components/schemas/UserResponse_2' description: User is the user object title: User x-stream-index: '006' user_id: description: User ID is unique string identifier of the user title: User ID type: string x-stream-index: '005' required: - app_pk - channel_cid - created_at - last_read_at - custom title: ThreadParticipant type: - object - 'null' ListRolesResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' roles: items: $ref: '#/components/schemas/Role' type: array x-stream-index: '001' required: - roles - duration title: Response type: - object - 'null' UnmuteChannelRequest: properties: channel_cids: description: Channel CIDs to mute (if multiple channels) items: type: string maxItems: 25 title: Channel CIDs type: array x-stream-index: '001.002' expiration: description: Duration of mute in milliseconds title: Expiration type: integer x-stream-index: '001.003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' type: - object - 'null' HideChannelResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' CreateUserGroupRequest: description: Request body for creating a user group properties: description: description: An optional description for the group maxLength: 1024 title: Description type: string x-stream-index: '003' id: description: Optional user group ID. If not provided, a UUID v7 will be generated maxLength: 255 title: ID type: string x-stream-index: '001' member_ids: description: Optional initial list of user IDs to add as members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: '005' name: description: The user friendly name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: '002' team_id: description: Optional team ID to scope the group to a team maxLength: 255 title: Team ID type: string x-stream-index: '004' required: - name title: CreateUserGroupRequest type: - object - 'null' ChannelStateResponseFields: properties: active_live_locations: description: Active live locations in the channel items: $ref: '#/components/schemas/SharedLocationResponseData' title: Active Live Locations type: array x-stream-index: '015' channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '001' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '014' hidden: description: Whether this channel is hidden or not title: Hidden type: boolean x-stream-index: '011' hide_messages_before: description: Messages before this date are hidden from the user format: date-time title: Hide messages before type: string x-stream-index: '012' members: description: List of channel members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: '007' membership: $ref: '#/components/schemas/ChannelMemberResponse' description: Current user membership object title: Membership x-stream-index: 008 messages: description: List of channel messages items: $ref: '#/components/schemas/MessageResponse' title: Message type: array x-stream-index: '002' pending_messages: description: Pending messages that this user has sent items: $ref: '#/components/schemas/PendingMessageResponse' title: Pending messages type: array x-stream-index: '013' pinned_messages: description: List of pinned messages in the channel items: $ref: '#/components/schemas/MessageResponse' title: Pinned messages type: array x-stream-docs-page-id: pinned_messages x-stream-index: '003' push_preferences: $ref: '#/components/schemas/ChannelPushPreferencesResponse' x-stream-index: 009 read: description: List of read states items: $ref: '#/components/schemas/ReadStateResponse' title: Read type: array x-stream-index: '006' threads: items: $ref: '#/components/schemas/ThreadStateResponse' type: array x-stream-index: '010' watcher_count: description: Number of channel watchers format: int32 title: Watcher count type: integer x-stream-index: '004' watchers: description: List of user who is watching the channel items: $ref: '#/components/schemas/UserResponse' title: Watchers type: array x-stream-index: '005' required: - messages - pinned_messages - members - threads type: object UpdateChannelPartialRequest: properties: set: additionalProperties: {} type: object x-stream-index: '002.001' unset: items: type: string type: array x-stream-index: '002.002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' title: UpdateChannelPartialRequest type: - object - 'null' IngressSettings: properties: audio_encoding_options: $ref: '#/components/schemas/IngressAudioEncodingOptions' x-stream-index: '002' enabled: type: boolean x-stream-index: '001' video_encoding_options: additionalProperties: $ref: '#/components/schemas/IngressVideoEncodingOptions' type: object x-stream-index: '003' required: - enabled type: object GetBlockListResponse: description: Response for get block list properties: blocklist: $ref: '#/components/schemas/BlockListResponse' description: Block list object title: BlockListResponse x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - duration title: GetBlockListResponse type: - object - 'null' x-stream-docs-page-id: get_block_list CreateImportRequest: properties: merge_custom: type: boolean x-stream-index: '003' mode: enum: - insert - upsert type: string x-stream-index: '002' path: type: string x-stream-index: '001' required: - path - mode type: - object - 'null' ChannelMemberResponse_2: properties: archived_at: format: date-time type: number x-stream-index: '016' ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: number x-stream-index: '013' banned: description: Whether member is banned this channel or not title: Banned type: boolean x-stream-index: '012' channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: 018 created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: 009 custom: additionalProperties: {} type: object x-stream-index: '004' deleted_at: format: date-time type: number x-stream-index: '011' deleted_messages: items: type: string type: array x-stream-index: '020' invite_accepted_at: description: Date when invite was accepted format: date-time title: Invited accepted at type: number x-stream-index: '006' invite_rejected_at: description: Date when invite was rejected format: date-time title: Invited rejected at type: number x-stream-index: '007' invited: description: Whether member was invited or not title: Invited type: boolean x-stream-index: '005' is_moderator: description: Whether member is channel moderator or not title: Is moderator type: boolean x-stream-index: '003' notifications_muted: type: boolean x-stream-index: 019 pinned_at: format: date-time type: number x-stream-index: '015' role: description: 'Permission level of the member in the channel (DEPRECATED: use channel_role instead). One of: member, moderator, admin, owner' title: Role type: string x-stream-index: '017' shadow_banned: description: Whether member is shadow banned in this channel or not title: Shadow banned type: boolean x-stream-index: '014' status: type: string x-stream-index: 008 updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '010' user: $ref: '#/components/schemas/UserResponse_2' x-stream-index: '002' user_id: title: User ID type: string x-stream-index: '001' required: - custom - created_at - updated_at - banned - shadow_banned - channel_role - notifications_muted title: Channel member type: - object - 'null' ShowChannelRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' type: - object - 'null' ChannelDataUpdate: properties: auto_translation_enabled: type: boolean x-stream-index: '006' auto_translation_language: type: string x-stream-index: '007' config_overrides: $ref: '#/components/schemas/ChannelConfig' x-stream-index: '005' custom: additionalProperties: {} type: object x-stream-index: '003' disabled: type: boolean x-stream-index: '002' frozen: type: boolean x-stream-index: '001' team: type: string x-stream-index: '004' type: object RunStats: properties: channels_deleted: format: int64 type: integer x-stream-index: '001' messages_deleted: format: int64 type: integer x-stream-index: '002' type: object FirebaseConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: '001' apn_template: type: string x-stream-index: '005' credentials_json: type: string x-stream-index: '006' data_template: type: string x-stream-index: '004' notification_template: type: string x-stream-index: '003' server_key: type: string x-stream-index: '002' type: object APIError: properties: StatusCode: description: Response HTTP status code format: int32 title: Status code type: integer x-stream-index: '004' code: description: API error code format: int32 title: Code type: integer x-stream-index: '001' details: description: Additional error-specific information items: type: integer title: Details type: array x-stream-index: '007' duration: description: Request duration title: Duration type: string x-stream-index: '005' exception_fields: additionalProperties: type: string description: Additional error info title: Exception fields type: object x-stream-index: '003' message: description: Message describing an error title: Message type: string x-stream-index: '002' more_info: description: URL with additional information title: More info type: string x-stream-index: '006' unrecoverable: description: Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it title: Unrecoverable type: boolean x-stream-index: 008 required: - code - message - StatusCode - duration - more_info - details title: Error response type: - object - 'null' QueryReactionsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: '001' required: - reactions - duration title: Response type: object UpdateBlockListRequest: properties: is_leet_check_enabled: type: boolean x-stream-index: '005' is_plural_check_enabled: type: boolean x-stream-index: '006' team: type: string x-stream-index: '002' words: description: List of words to block items: type: string title: Words type: array x-stream-index: '003' title: Update block list type: - object - 'null' x-stream-docs-page-id: update_block_list CampaignResponse: properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' x-stream-index: '017' create_channels: type: boolean x-stream-index: 009 created_at: format: date-time type: string x-stream-index: '021' description: type: string x-stream-index: '011' id: type: string x-stream-index: '001' message_template: $ref: '#/components/schemas/CampaignMessageTemplate' x-stream-index: '016' name: type: string x-stream-index: 008 scheduled_for: format: date-time type: string x-stream-index: '014' segment_ids: items: type: string type: array x-stream-index: '002' segments: items: $ref: '#/components/schemas/Segment' type: array x-stream-index: '003' sender: $ref: '#/components/schemas/UserResponse' x-stream-index: '005' sender_id: type: string x-stream-index: '004' sender_mode: type: string x-stream-index: '006' sender_visibility: type: string x-stream-index: '007' show_channels: type: boolean x-stream-index: '010' skip_push: type: boolean x-stream-index: '012' skip_webhook: type: boolean x-stream-index: '013' stats: $ref: '#/components/schemas/CampaignStatsResponse' x-stream-index: '023' status: type: string x-stream-index: '020' stop_at: format: date-time type: string x-stream-index: '015' updated_at: format: date-time type: string x-stream-index: '022' user_ids: items: type: string type: array x-stream-index: 018 users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: 019 required: - id - segment_ids - segments - sender_id - sender_mode - sender_visibility - name - create_channels - show_channels - description - skip_push - skip_webhook - user_ids - users - status - created_at - updated_at - stats type: object RingSettings: properties: auto_cancel_timeout_ms: format: int32 type: integer x-stream-index: '002' incoming_call_timeout_ms: format: int32 type: integer x-stream-index: '001' missed_call_timeout_ms: format: int32 type: integer x-stream-index: '003' required: - incoming_call_timeout_ms - auto_cancel_timeout_ms - missed_call_timeout_ms type: object SegmentTargetResponse: properties: app_pk: format: int32 type: integer x-stream-index: '001' created_at: format: date-time type: string x-stream-index: '004' segment_id: type: string x-stream-index: '002' target_id: type: string x-stream-index: '003' required: - app_pk - segment_id - target_id - created_at type: - object - 'null' UpdateChannelResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Updated channel title: Channel x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' members: description: List of channel members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: '003' message: $ref: '#/components/schemas/MessageResponse' description: Message sent to the chat title: Message x-stream-index: '002' required: - members - duration type: - object - 'null' MessageRequest_2: description: Message data for creating or updating a message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' maxItems: 30 title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: '004' custom: additionalProperties: {} type: object x-stream-index: '007' html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: '014' id: description: Message ID is unique string identifier of the message maxLength: 255 title: ID type: string x-stream-index: '001' mentioned_channel: type: boolean x-stream-index: '011' mentioned_group_ids: description: List of user group IDs to mention. Group members who are also channel members will receive push notifications. Max 10 groups items: type: string maxItems: 10 title: Mentioned Groups type: array x-stream-index: '010' mentioned_here: type: boolean x-stream-index: '012' mentioned_roles: items: type: string maxItems: 10 type: array x-stream-index: 009 mentioned_users: description: Array of user IDs to mention items: type: string maxItems: 100 title: Mentioned User IDs type: array x-stream-index: 008 mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: '003' parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: '005' pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: number x-stream-docs-page-id: pinned_messages x-stream-index: 019 pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: '017' pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: - string - 'null' x-stream-docs-page-id: pinned_messages x-stream-index: 018 poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: '043' quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: '013' restricted_visibility: description: A list of user ids that have restricted visibility to the message items: type: string maxItems: 10 title: Restricted visibility type: array x-stream-index: '020' shared_location: $ref: '#/components/schemas/SharedLocation_2' description: Contains shared location data title: Shared Location x-stream-index: '044' show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: '006' silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: '016' text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: '002' type: description: 'Contains type of the message. One of: regular, system' enum: - '''''' - regular - system title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: '015' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '025.002' user_id: type: string x-stream-index: '025.001' title: Message Request type: object AutomodDetailsResponse: properties: action: type: string x-stream-index: '001' image_labels: items: type: string type: array x-stream-index: '005' message_details: $ref: '#/components/schemas/FlagMessageDetailsResponse' x-stream-index: '004' original_message_type: type: string x-stream-index: '002' result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: '003' type: object SharedLocationResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: '001.011' channel_cid: description: Channel CID title: string type: string x-stream-index: '001.001' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001.008' created_by_device_id: description: Device ID that created the live location title: string type: string x-stream-index: '001.006' duration: type: string x-stream-index: '002.001' end_at: description: Time when the live location expires format: date-time title: string type: string x-stream-index: '001.007' latitude: description: Latitude coordinate format: float title: number type: number x-stream-index: '001.004' longitude: description: Longitude coordinate format: float title: number type: number x-stream-index: '001.005' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001.010' message_id: description: Message ID title: string type: string x-stream-index: '001.002' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '001.009' user_id: description: User ID title: string type: string x-stream-index: '001.003' required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at - duration type: - object - 'null' AsyncModerationConfiguration: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: '002' timeout_ms: format: int32 type: integer x-stream-index: '001' type: object ModerationV2Response: properties: action: type: string x-stream-index: '001' blocklist_matched: type: string x-stream-index: '005' blocklists_matched: items: type: string type: array x-stream-index: '006' image_harms: items: type: string type: array x-stream-index: '004' original_text: type: string x-stream-index: '002' platform_circumvented: type: boolean x-stream-index: 008 semantic_filter_matched: type: string x-stream-index: '007' text_harms: items: type: string type: array x-stream-index: '003' required: - action - original_text type: object QueryThreadsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-filter-fields: active_participant_count: operators: - $eq - $gt - $gte - $lt - $lte type: number channel.disabled: operators: - $eq type: boolean channel.team: operators: - $eq - $in type: string channel_cid: operators: - $eq - $in type: string created_at: operators: - $eq - $gt - $gte - $lt - $lte type: date created_by_user_id: operators: - $eq - $in type: string has_unread: operators: - $eq type: boolean last_message_at: operators: - $eq - $gt - $gte - $lt - $lte type: date parent_message_id: operators: - $eq - $in type: string participant_count: operators: - $eq - $gt - $gte - $lt - $lte type: number reply_count: operators: - $eq - $gt - $gte - $lt - $lte type: number updated_at: operators: - $eq - $gt - $gte - $lt - $lte type: date x-stream-index: '006' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '008.001' member_limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005' next: type: string x-stream-index: '008.002' participant_limit: description: Limit the number of participants returned per each thread format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer x-stream-index: '004' prev: type: string x-stream-index: '008.003' reply_limit: description: Limit the number of replies returned per each thread format: int32 maximum: 10 minimum: 0 title: Reply limit type: integer x-stream-index: '003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '007' x-stream-sort-combinations: - - has_unread - last_message_at - parent_message_id - - last_message_at - parent_message_id - - created_at - - updated_at - - reply_count - - participant_count - - active_participant_count - - parent_message_id x-stream-sort-fields: - active_participant_count - created_at - has_unread - last_message_at - parent_message_id - participant_count - reply_count - updated_at user: $ref: '#/components/schemas/UserRequest' x-stream-index: '010.002' user_id: type: string x-stream-index: '010.001' type: - object - 'null' GetOGResponse: properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: '001.015' asset_url: description: URL of detected video or audio title: Image URL type: string x-stream-index: '001.017' author_icon: type: string x-stream-index: '001.007' author_link: description: og:site title: Author Link type: string x-stream-index: '001.006' author_name: description: og:site_name title: Author Name type: string x-stream-index: '001.005' color: type: string x-stream-index: '001.003' custom: additionalProperties: {} type: object x-stream-index: '001.018' duration: type: string x-stream-index: '002.001' fallback: type: string x-stream-index: '001.002' fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: '001.016' footer: type: string x-stream-index: '001.013' footer_icon: type: string x-stream-index: '001.014' giphy: $ref: '#/components/schemas/Images' x-stream-index: '001.019' image_url: description: URL of detected image title: Image URL type: string x-stream-index: '001.011' og_scrape_url: description: extracted url from the text title: OG Scrape URL type: string x-stream-index: '001.020' original_height: format: int32 type: integer x-stream-index: '001.022' original_width: format: int32 type: integer x-stream-index: '001.021' pretext: type: string x-stream-index: '001.004' text: description: og:description title: Text type: string x-stream-index: '001.010' thumb_url: description: URL of detected thumb image title: Image URL type: string x-stream-index: '001.012' title: description: og:title title: Title type: string x-stream-index: '001.008' title_link: description: og:url title: Title Link type: string x-stream-index: '001.009' type: description: Attachment type, could be empty, image, audio or video title: Type type: string x-stream-index: '001.001' required: - custom - duration title: Get OG Attachment type: - object - 'null' x-stream-docs-page-id: og ReactionGroupUserResponse: description: Contains information about a user who reacted with this reaction type. properties: created_at: description: The time when the user reacted. format: date-time title: CreatedAt type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' description: The full user object. title: User x-stream-index: '002' user_id: description: The ID of the user who reacted. title: UserID type: string x-stream-index: '001' required: - user_id - created_at title: ReactionGroupUserResponse type: object UpdateUsersPartialRequest: properties: users: items: $ref: '#/components/schemas/UpdateUserPartialRequest' type: array x-stream-index: '001' required: - users type: - object - 'null' CallSettings: properties: audio: $ref: '#/components/schemas/AudioSettings' x-stream-index: '001' backstage: $ref: '#/components/schemas/BackstageSettings' x-stream-index: '002' broadcasting: $ref: '#/components/schemas/BroadcastSettings' x-stream-index: 009 frame_recording: $ref: '#/components/schemas/FrameRecordSettings' x-stream-index: '006' geofencing: $ref: '#/components/schemas/GeofenceSettings' x-stream-index: '010' individual_recording: $ref: '#/components/schemas/IndividualRecordSettings' x-stream-index: '007' ingress: $ref: '#/components/schemas/IngressSettings' x-stream-index: '016' limits: $ref: '#/components/schemas/LimitsSettings' x-stream-index: '014' raw_recording: $ref: '#/components/schemas/RawRecordSettings' x-stream-index: 008 recording: $ref: '#/components/schemas/RecordSettings' x-stream-index: '005' ring: $ref: '#/components/schemas/RingSettings' x-stream-index: '012' screensharing: $ref: '#/components/schemas/ScreensharingSettings' x-stream-index: '004' session: $ref: '#/components/schemas/SessionSettings' x-stream-index: '015' thumbnails: $ref: '#/components/schemas/ThumbnailsSettings' x-stream-index: '013' transcription: $ref: '#/components/schemas/TranscriptionSettings' x-stream-index: '011' video: $ref: '#/components/schemas/VideoSettings' x-stream-index: '003' type: object DailyValue: description: Metric value for a specific date properties: date: description: Date in YYYY-MM-DD format title: string type: string x-stream-index: '001' value: description: Metric value for this date format: int64 title: integer type: integer x-stream-index: '002' required: - date - value title: Daily Value type: object FileUploadResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' file: description: URL to the uploaded asset. Should be used to put to `asset_url` attachment field title: File type: string x-stream-index: '001' thumb_url: description: URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field title: Thumbnail URL type: string x-stream-index: '002' required: - duration type: - object - 'null' CreateCommandRequest: description: Create a new command properties: args: description: Arguments help text, shown in commands auto-completion maxLength: 255 title: Arguments type: string x-stream-index: '003' description: description: Description, shown in commands auto-completion maxLength: 255 title: Description type: string x-stream-index: '002' name: description: Unique command name maxLength: 255 minLength: 1 title: Name type: string x-stream-index: '001' set: description: Set name used for grouping commands maxLength: 255 title: Set type: string x-stream-index: '004' required: - name - description title: CreateCommandRequest type: - object - 'null' GetApplicationResponse: description: Basic response information properties: app: $ref: '#/components/schemas/AppResponseFields' x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - app - duration title: Response type: - object - 'null' CreateRoleResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' role: $ref: '#/components/schemas/Role' x-stream-index: '002' required: - duration - role title: Response type: - object - 'null' QueryMembersPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string is_moderator: operators: - $eq - $ne type: boolean joined: operators: - $eq type: boolean last_active: operators: - $eq - $gt - $gte - $lt - $lte - $ne type: date name: operators: - $autocomplete - $eq - $in - $ne - $nin - $q type: string notifications_muted: operators: - $eq type: boolean updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date user.email: operators: - $autocomplete - $eq - $in - $ne - $nin - $q type: string user.nd_deactivated: operators: - $eq type: boolean user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: '004' id: type: string x-stream-index: '002' limit: format: int32 maximum: 300 minimum: 0 type: integer x-stream-index: '006.001' members: items: $ref: '#/components/schemas/ChannelMemberRequest' type: array x-stream-index: '003' offset: format: int32 maximum: 10000 minimum: 0 type: integer x-stream-index: '006.002' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array x-stream-index: '005' x-stream-sort-fields: - created_at type: maxLength: 64 type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '007.002' user_id: type: string x-stream-index: '007.001' required: - type - filter_conditions type: object Segment: properties: all_sender_channels: type: boolean x-stream-index: '007' all_users: type: boolean x-stream-index: '006' created_at: format: date-time type: string x-stream-index: '010' deleted_at: format: date-time type: string x-stream-index: '012' description: type: string x-stream-index: '004' filter: additionalProperties: {} type: object x-stream-index: '005' id: type: string x-stream-index: '001' name: type: string x-stream-index: '003' size: format: int32 type: integer x-stream-index: 009 task_id: type: string x-stream-index: 008 type: type: string x-stream-index: '002' updated_at: format: date-time type: string x-stream-index: '011' required: - id - type - name - all_users - all_sender_channels - size - created_at - updated_at type: - object - 'null' CheckSQSRequest: properties: sqs_key: description: AWS SQS access key title: SQS key type: string x-stream-index: '002' sqs_secret: description: AWS SQS key secret title: SQS secret type: string x-stream-index: '003' sqs_url: description: AWS SQS endpoint URL title: SQS URL type: string x-stream-index: '001' type: - object - 'null' QueryMessageFlagsPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: action: operators: - $eq type: string blocklist_name: operators: - $eq type: string channel_cid: operators: - $eq - $in type: string date_range: operators: - $eq type: string harm_label: operators: - $eq type: string harm_type: operators: - $eq type: string image_labels: operators: - $eq type: string is_reviewed: operators: - $eq type: boolean keyword: operators: - $eq type: string matched_phrase: operators: - $eq type: string message_id: operators: - $eq - $in type: string phrase_list_ids: operators: - $eq type: number reason: operators: - $eq - $in type: string reporter_id: operators: - $eq type: string reporter_type: operators: - $eq type: string team: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: '001' limit: format: int32 maximum: 300 minimum: 0 type: integer x-stream-index: '003.003' offset: format: int32 maximum: 10000 type: integer x-stream-index: '003.004' show_deleted_messages: description: Whether to include deleted messages in the results title: ShowDeletedMessages type: boolean x-stream-index: '002' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '003.005' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' type: object MuteChannelResponse: properties: channel_mute: $ref: '#/components/schemas/ChannelMute' description: Object with channel mute (if one channel was muted) title: Channel mute x-stream-index: '001' channel_mutes: description: Object with mutes (if multiple channels were muted) items: $ref: '#/components/schemas/ChannelMute' title: Channel mutes type: array x-stream-index: '002' duration: type: string x-stream-index: '004.001' own_user: $ref: '#/components/schemas/OwnUserResponse' description: Authorized user object with fresh mutes information title: Own user x-stream-index: '003' required: - duration type: - object - 'null' ChatPreferencesInput: properties: channel_mentions: enum: - all - none type: string x-stream-index: '007' default_preference: enum: - all - none type: string x-stream-index: '001' direct_mentions: enum: - all - none type: string x-stream-index: '002' group_mentions: enum: - all - none type: string x-stream-index: '004' here_mentions: enum: - all - none type: string x-stream-index: '006' role_mentions: enum: - all - none type: string x-stream-index: '003' thread_replies: enum: - all - none type: string x-stream-index: '005' type: object SearchUserGroupsResponse: description: Response for searching user groups properties: duration: type: string x-stream-index: '002.001' user_groups: description: List of matching user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: '001' required: - user_groups - duration title: SearchUserGroupsResponse type: - object - 'null' ReactionGroupResponse_2: description: ReactionGroupResponse contains all information about a reaction of the same type. properties: count: description: Count is the number of reactions of this type. format: int32 title: Count type: integer x-stream-index: '001' first_reaction_at: description: FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting. format: date-time title: FirstReactionAt type: number x-stream-index: '003' last_reaction_at: description: LastReactionAt is the time of the last reaction of this type. format: date-time title: LastReactionAt type: number x-stream-index: '004' latest_reactions_by: description: The most recent users who reacted with this type, ordered by most recent first. items: $ref: '#/components/schemas/ReactionGroupUserResponse_2' title: LatestReactionsBy type: array x-stream-index: '005' sum_scores: description: 'SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`.' format: int32 title: SumScores type: integer x-stream-index: '002' required: - count - sum_scores - first_reaction_at - last_reaction_at - latest_reactions_by title: ReactionGroupResponse type: - object - 'null' GetTaskResponse: properties: created_at: format: date-time type: string x-stream-index: '001.003' duration: type: string x-stream-index: '004.001' error: $ref: '#/components/schemas/ErrorResult' description: Error produced by task title: Error x-stream-index: '003' result: additionalProperties: {} description: Result produced by task after completion title: Result type: object x-stream-index: '002' status: description: Current status of task title: Status type: string x-stream-index: '001.002' task_id: description: ID of task title: Task ID type: string x-stream-index: '001.001' updated_at: format: date-time type: string x-stream-index: '001.004' required: - task_id - status - created_at - updated_at - duration title: Get Task Response type: - object - 'null' x-stream-docs-page-id: tasks UpsertPushTemplateResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' template: $ref: '#/components/schemas/PushTemplateResponse' x-stream-index: '002' required: - duration title: Response type: - object - 'null' FlagFeedbackResponse: properties: created_at: format: date-time type: string x-stream-index: '002' labels: items: $ref: '#/components/schemas/LabelResponse' type: array x-stream-index: '003' message_id: type: string x-stream-index: '001' required: - message_id - created_at - labels type: object ThreadStateResponse_2: properties: active_participant_count: description: Active Participant Count format: int32 title: Active Participant Count type: integer x-stream-index: '001.009' channel: $ref: '#/components/schemas/ChannelResponse_2' description: Channel title: ChannelResponse x-stream-index: '001.002' channel_cid: description: Channel CID title: Channel CID type: string x-stream-index: '001.001' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.012' created_by: $ref: '#/components/schemas/UserResponse_2' description: Created By User title: User x-stream-index: '001.006' created_by_user_id: description: Created By User ID title: Created By User ID type: string x-stream-index: '001.005' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.016' deleted_at: description: Deleted At format: date-time title: Deleted At type: number x-stream-index: '001.014' draft: $ref: '#/components/schemas/DraftResponse_2' x-stream-index: '004' last_message_at: description: Last Message At format: date-time title: Last Message At type: number x-stream-index: '001.011' latest_replies: items: $ref: '#/components/schemas/MessageResponse_2' type: array x-stream-index: '002' parent_message: $ref: '#/components/schemas/MessageResponse_2' description: Parent Message title: Message x-stream-index: '001.004' parent_message_id: description: Parent Message ID title: Parent Message ID type: string x-stream-index: '001.003' participant_count: description: Participant Count format: int32 title: Participant Count type: integer x-stream-index: '001.008' read: items: $ref: '#/components/schemas/ReadStateResponse_2' type: array x-stream-index: '003' reply_count: description: Reply Count format: int32 title: Reply Count type: integer x-stream-index: '001.007' thread_participants: description: Thread Participants items: $ref: '#/components/schemas/ThreadParticipant_2' title: ThreadParticipants type: array x-stream-index: '001.010' title: description: Title title: Title type: string x-stream-index: '001.015' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.013' required: - channel_cid - parent_message_id - created_by_user_id - participant_count - active_participant_count - created_at - updated_at - title - custom - latest_replies type: - object - 'null' PushPreferencesResponse: properties: call_level: type: string x-stream-index: '003' chat_level: type: string x-stream-index: '001' chat_preferences: $ref: '#/components/schemas/ChatPreferencesResponse' x-stream-index: '002' disabled_until: format: date-time type: string x-stream-index: '006' feeds_level: type: string x-stream-index: '004' feeds_preferences: $ref: '#/components/schemas/FeedsPreferencesResponse' x-stream-index: '005' type: object ChannelConfigWithInfo: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.029 blocklist: type: string x-stream-index: 001.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: '001.003' connect_events: type: boolean x-stream-index: 001.002.004 count_messages: type: boolean x-stream-index: 001.002.020 created_at: format: date-time type: string x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.013 delivery_events: type: boolean x-stream-index: 001.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 001.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.022 mutes: type: boolean x-stream-index: 001.002.010 name: type: string x-stream-index: 001.002.001 partition_size: format: int32 type: integer x-stream-index: 001.002.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 001.002.031 polls: type: boolean x-stream-index: 001.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.002.033 push_notifications: type: boolean x-stream-index: 001.002.014 quotes: type: boolean x-stream-index: 001.002.009 reactions: type: boolean x-stream-index: 001.002.007 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.015 replies: type: boolean x-stream-index: 001.002.008 search: type: boolean x-stream-index: 001.002.006 shared_locations: type: boolean x-stream-index: 001.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.002.032 typing_events: type: boolean x-stream-index: 001.002.002 updated_at: format: date-time type: string x-stream-index: 001.001.004 uploads: type: boolean x-stream-index: 001.002.011 url_enrichment: type: boolean x-stream-index: 001.002.012 user_message_reminders: type: boolean x-stream-index: 001.002.018 required: - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: object DeleteMessageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' message: $ref: '#/components/schemas/MessageResponse' x-stream-index: '001' required: - message - duration title: Response type: - object - 'null' PollOptionResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' poll_option: $ref: '#/components/schemas/PollOptionResponseData' description: Poll option title: PollOptionResponseData x-stream-index: '001' required: - poll_option - duration type: - object - 'null' FeedsPreferencesResponse: properties: comment: type: string x-stream-index: '002' comment_mention: type: string x-stream-index: '006' comment_reaction: type: string x-stream-index: '004' comment_reply: type: string x-stream-index: '005' custom_activity_types: additionalProperties: type: string type: object x-stream-index: 008 follow: type: string x-stream-index: '001' mention: type: string x-stream-index: '007' reaction: type: string x-stream-index: '003' type: object Response: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001' required: - duration title: Response type: - object - 'null' DeleteExternalStorageResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' ThreadParticipant: description: Represents a user that is participating in a thread. properties: app_pk: format: int32 readOnly: true type: integer x-stream-index: '001' channel_cid: type: string x-stream-index: '002' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '007' custom: additionalProperties: {} type: object x-stream-index: '010' last_read_at: format: date-time type: string x-stream-index: 009 last_thread_message_at: format: date-time type: string x-stream-index: '003' left_thread_at: description: Left Thread At is the time when the user left the thread format: date-time title: Left Thread At type: string x-stream-index: 008 thread_id: description: Thead ID is unique string identifier of the thread title: ID type: string x-stream-index: '004' user: $ref: '#/components/schemas/UserResponse' description: User is the user object title: User x-stream-index: '006' user_id: description: User ID is unique string identifier of the user title: User ID type: string x-stream-index: '005' required: - app_pk - channel_cid - created_at - last_read_at - custom title: ThreadParticipant type: - object - 'null' ReactionGroupResponse: description: ReactionGroupResponse contains all information about a reaction of the same type. properties: count: description: Count is the number of reactions of this type. format: int32 title: Count type: integer x-stream-index: '001' first_reaction_at: description: FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting. format: date-time title: FirstReactionAt type: string x-stream-index: '003' last_reaction_at: description: LastReactionAt is the time of the last reaction of this type. format: date-time title: LastReactionAt type: string x-stream-index: '004' latest_reactions_by: description: The most recent users who reacted with this type, ordered by most recent first. items: $ref: '#/components/schemas/ReactionGroupUserResponse' title: LatestReactionsBy type: array x-stream-index: '005' sum_scores: description: 'SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`.' format: int32 title: SumScores type: integer x-stream-index: '002' required: - count - sum_scores - first_reaction_at - last_reaction_at - latest_reactions_by title: ReactionGroupResponse type: - object - 'null' MessageChangeSet: properties: attachments: type: boolean x-stream-index: '005' custom: type: boolean x-stream-index: '001' html: type: boolean x-stream-index: '004' mentioned_user_ids: type: boolean x-stream-index: '006' mml: type: boolean x-stream-index: '003' pin: type: boolean x-stream-index: 009 quoted_message_id: type: boolean x-stream-index: '007' silent: type: boolean x-stream-index: 008 text: type: boolean x-stream-index: '002' required: - custom - text - mml - html - attachments - mentioned_user_ids - quoted_message_id - silent - pin type: object QueryMessageHistoryRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query maximum: 3 minimum: 1 title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' required: - filter type: - object - 'null' XiaomiConfigFields: properties: enabled: type: boolean x-stream-index: '001' package_name: type: string x-stream-index: '002' secret: type: string x-stream-index: '003' required: - enabled type: object MuteUserRequest: properties: target_ids: description: User IDs to mute (if multiple users) items: type: string maxItems: 1000 title: Target IDs type: array x-stream-index: '002' timeout: description: Duration of mute in minutes minimum: 0 title: Timeout type: integer x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - timeout type: - object - 'null' SharedLocationResponseData_2: properties: channel: $ref: '#/components/schemas/ChannelResponse_2' x-stream-index: '011' channel_cid: type: string x-stream-index: '001' created_at: format: date-time type: number x-stream-index: 008 created_by_device_id: type: string x-stream-index: '006' end_at: format: date-time type: number x-stream-index: '007' latitude: format: float type: number x-stream-index: '004' longitude: format: float type: number x-stream-index: '005' message: $ref: '#/components/schemas/MessageResponse_2' x-stream-index: '010' message_id: type: string x-stream-index: '002' updated_at: format: date-time type: number x-stream-index: 009 user_id: type: string x-stream-index: '003' required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at type: object QuerySegmentTargetsRequest: properties: Filter: additionalProperties: {} type: object writeOnly: true x-stream-index: '005' Sort: items: $ref: '#/components/schemas/SortParamRequest' type: array writeOnly: true x-stream-index: '006' limit: description: Limit format: int32 maximum: 10000 minimum: 0 title: int type: integer x-stream-index: '002' next: description: Next title: string type: string x-stream-index: '003' prev: description: Prev title: string type: string x-stream-index: '004' type: - object - 'null' ChannelTypeConfig: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.029 blocklist: type: string x-stream-index: 003.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: '003.003' connect_events: type: boolean x-stream-index: 003.002.004 count_messages: type: boolean x-stream-index: 003.002.020 created_at: format: date-time type: string x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.013 delivery_events: type: boolean x-stream-index: 003.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: '002' mark_messages_pending: type: boolean x-stream-index: 003.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.022 mutes: type: boolean x-stream-index: 003.002.010 name: type: string x-stream-index: 003.002.001 partition_size: format: int32 type: integer x-stream-index: 003.002.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 003.002.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '001' polls: type: boolean x-stream-index: 003.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.002.033 push_notifications: type: boolean x-stream-index: 003.002.014 quotes: type: boolean x-stream-index: 003.002.009 reactions: type: boolean x-stream-index: 003.002.007 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.015 replies: type: boolean x-stream-index: 003.002.008 search: type: boolean x-stream-index: 003.002.006 shared_locations: type: boolean x-stream-index: 003.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.002.032 typing_events: type: boolean x-stream-index: 003.002.002 updated_at: format: date-time type: string x-stream-index: 003.001.004 uploads: type: boolean x-stream-index: 003.002.011 url_enrichment: type: boolean x-stream-index: 003.002.012 user_message_reminders: type: boolean x-stream-index: 003.002.018 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: - object - 'null' RTMPLocation: properties: name: type: string x-stream-index: '001' stream_key: type: string x-stream-index: '003' stream_url: type: string x-stream-index: '002' required: - name - stream_url - stream_key type: object UpdateReminderRequest_2: properties: remind_at: format: date-time type: number x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' type: - object - 'null' DeleteRetentionPolicyResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' CampaignStatsResponse_2: properties: progress: format: float type: number x-stream-index: '005' stats_channels_created: format: int32 type: integer x-stream-index: '004' stats_completed_at: format: date-time type: number x-stream-index: '002' stats_messages_sent: format: int32 type: integer x-stream-index: '003' stats_started_at: format: date-time type: number x-stream-index: '001' stats_users_read: format: int32 type: integer x-stream-index: '007' stats_users_sent: format: int32 type: integer x-stream-index: '006' required: - stats_started_at - stats_completed_at - stats_messages_sent - stats_channels_created - progress - stats_users_sent - stats_users_read type: object ExportChannelsRequest: properties: channels: description: Export options for channels items: $ref: '#/components/schemas/ChannelExport' maxItems: 100 minItems: 1 title: Channels type: array x-stream-index: '002.001' clear_deleted_message_text: description: Set if deleted message text should be cleared title: Clear deleted message text type: boolean x-stream-index: '002.002' export_users: type: boolean x-stream-index: '002.005' include_soft_deleted_channels: description: Set if you want to include deleted channels title: Include soft deleted channels type: boolean x-stream-index: '002.004' include_truncated_messages: description: Set if you want to include truncated messages title: Include truncated messages type: boolean x-stream-index: '002.003' version: description: Export version title: Version type: string x-stream-index: '001' required: - channels type: - object - 'null' Command_2: description: Represents custom chat command properties: args: description: Arguments help text, shown in commands auto-completion title: Arguments type: string x-stream-index: '006' created_at: description: Date/time of creation format: date-time readOnly: true title: Created at type: number x-stream-index: '001' description: description: Description, shown in commands auto-completion title: Description type: string x-stream-index: '005' name: description: Unique command name title: Name type: string x-stream-index: '004' set: description: Set name used for grouping commands title: Set type: string x-stream-index: '007' updated_at: description: Date/time of the last update format: date-time readOnly: true title: Updated at type: number x-stream-index: '002' required: - name - description - args - set title: Command type: - object - 'null' CastPollVoteRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' vote: $ref: '#/components/schemas/VoteData' description: Vote data title: VoteData x-stream-index: '004' type: - object - 'null' Command: description: Represents custom chat command properties: args: description: Arguments help text, shown in commands auto-completion title: Arguments type: string x-stream-index: '006' created_at: description: Date/time of creation format: date-time readOnly: true title: Created at type: string x-stream-index: '001' description: description: Description, shown in commands auto-completion title: Description type: string x-stream-index: '005' name: description: Unique command name title: Name type: string x-stream-index: '004' set: description: Set name used for grouping commands title: Set type: string x-stream-index: '007' updated_at: description: Date/time of the last update format: date-time readOnly: true title: Updated at type: string x-stream-index: '002' required: - name - description - args - set title: Command type: - object - 'null' CreateChannelTypeResponse_2: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.001.029 blocklist: type: string x-stream-index: 001.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.001.034 commands: items: type: string type: array x-stream-index: '001.003' connect_events: type: boolean x-stream-index: 001.001.004 count_messages: type: boolean x-stream-index: 001.001.020 created_at: format: date-time type: number x-stream-index: 001.002.003 custom_events: type: boolean x-stream-index: 001.001.013 delivery_events: type: boolean x-stream-index: 001.001.005 duration: type: string x-stream-index: '004.001' grants: additionalProperties: items: type: string type: array type: object x-stream-index: '003' mark_messages_pending: type: boolean x-stream-index: 001.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.001.022 mutes: type: boolean x-stream-index: 001.001.010 name: type: string x-stream-index: 001.001.001 partition_size: format: int32 type: integer x-stream-index: 001.001.030 partition_ttl: example: 24h format: duration type: - string - 'null' x-stream-index: 001.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: '002' polls: type: boolean x-stream-index: 001.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.001.033 push_notifications: type: boolean x-stream-index: 001.001.014 quotes: type: boolean x-stream-index: 001.001.009 reactions: type: boolean x-stream-index: 001.001.007 read_events: type: boolean x-stream-index: 001.001.003 reminders: type: boolean x-stream-index: 001.001.015 replies: type: boolean x-stream-index: 001.001.008 search: type: boolean x-stream-index: 001.001.006 shared_locations: type: boolean x-stream-index: 001.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.001.032 typing_events: type: boolean x-stream-index: 001.001.002 updated_at: format: date-time type: number x-stream-index: 001.002.004 uploads: type: boolean x-stream-index: 001.001.011 url_enrichment: type: boolean x-stream-index: 001.001.012 user_message_reminders: type: boolean x-stream-index: 001.001.018 required: - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - permissions - grants - duration type: - object - 'null' UnmuteUserResponse: properties: duration: type: string x-stream-index: '002.001' non_existing_users: description: List of user IDs that don't exist items: type: string title: Non-existing users type: array x-stream-index: '001' required: - duration type: - object - 'null' ImageUploadResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.003.001 file: type: string x-stream-index: '001.001' thumb_url: type: string x-stream-index: '001.002' upload_sizes: description: Array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: '002' required: - duration type: - object - 'null' ListImportV2TasksResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' import_tasks: items: $ref: '#/components/schemas/ImportV2TaskItem' type: array x-stream-index: '001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' required: - import_tasks - duration title: Response type: - object - 'null' BroadcastSettings: properties: enabled: type: boolean x-stream-index: '001' hls: $ref: '#/components/schemas/HLSSettings' x-stream-index: '002' rtmp: $ref: '#/components/schemas/RTMPSettings' x-stream-index: '003' required: - enabled type: object ListPushProvidersResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' push_providers: items: $ref: '#/components/schemas/PushProviderResponse' type: array x-stream-index: '001' required: - push_providers - duration title: Response type: - object - 'null' SpeechSegmentConfig: properties: max_speech_caption_ms: format: int32 type: integer x-stream-index: '001' silence_duration_ms: format: int32 type: integer x-stream-index: '002' type: object CreateRoleRequest: properties: name: description: Role name maxLength: 64 title: Name type: string x-stream-index: '001' required: - name type: - object - 'null' MessageHistoryEntryResponse: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: '007' attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: '006' is_deleted: type: boolean x-stream-index: '004' message_id: type: string x-stream-index: '001' message_updated_at: format: date-time type: string x-stream-index: '003' message_updated_by_id: type: string x-stream-index: '002' text: type: string x-stream-index: '005' required: - message_id - message_updated_by_id - message_updated_at - is_deleted - text - attachments - Custom type: - object - 'null' UndeleteMessageRequest: properties: undeleted_by: description: ID of the user who is undeleting the message title: User ID type: string x-stream-index: '003' required: - undeleted_by type: - object - 'null' FlagDetailsResponse: properties: automod: $ref: '#/components/schemas/AutomodDetailsResponse' x-stream-index: '001' extra: additionalProperties: {} type: object x-stream-index: '002' original_text: type: string x-stream-index: '003' required: - original_text type: object UpdateCampaignRequest: properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' x-stream-index: '001.013' create_channels: type: boolean x-stream-index: '001.008' description: type: string x-stream-index: '001.007' id: maxLength: 255 type: string x-stream-index: '001.001' message_template: $ref: '#/components/schemas/CampaignMessageTemplate' x-stream-index: '001.012' name: type: string x-stream-index: '001.006' segment_ids: items: type: string maxItems: 25 type: array x-stream-index: '001.002' sender_id: type: string x-stream-index: '001.004' sender_mode: enum: - exclude - include type: string x-stream-index: '001.005' sender_visibility: enum: - hidden - archived type: string x-stream-index: '001.014' show_channels: type: boolean x-stream-index: '001.009' skip_push: type: boolean x-stream-index: '001.010' skip_webhook: type: boolean x-stream-index: '001.011' user_ids: items: type: string maxItems: 10000 type: array x-stream-index: '001.003' required: - sender_id - message_template type: - object - 'null' QueryBannedUsersPayload: properties: exclude_expired_bans: description: Whether to exclude expired bans or not title: Exclude expired bans type: boolean x-stream-index: '004' filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string channel_cid: operators: - $eq - $in type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date reason: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: '001' limit: description: Number of records to return format: int32 maximum: 300 minimum: 0 title: Limit type: integer x-stream-index: '003.003' offset: description: Number of records to offset format: int32 maximum: 10000 title: Offset type: integer x-stream-index: '003.004' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' required: - filter_conditions type: object MarkReadRequest: properties: message_id: description: ID of the message that is considered last read by client title: Message ID type: string x-stream-index: '001' thread_id: description: Optional Thread ID to specifically mark a given thread as read title: Thread ID type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' type: - object - 'null' UpdateUserPartialRequest: properties: id: description: User ID to update title: ID type: string x-stream-index: '001' set: additionalProperties: {} type: object x-stream-index: '002.001' unset: items: type: string type: array x-stream-index: '002.002' required: - id type: object PushTemplateResponse: properties: created_at: description: Time when the template was created format: date-time title: Created At type: string x-stream-index: '005' enable_push: description: Whether push notification is enabled for this event title: Enable Push type: boolean x-stream-index: '002' event_type: description: Type of event this template applies to title: Event Type type: string x-stream-index: '003' push_provider_internal_id: description: Internal ID of the push provider title: Push Provider Internal ID type: string x-stream-index: '001' template: description: The push notification template title: Template type: string x-stream-index: '004' updated_at: description: Time when the template was last updated format: date-time title: Updated At type: string x-stream-index: '006' required: - push_provider_internal_id - enable_push - event_type - created_at - updated_at title: PushTemplateResponse type: object TruncateChannelRequest: properties: hard_delete: description: Permanently delete channel data (messages, reactions, etc.) title: Hard delete type: boolean x-stream-index: '002' member_ids: description: List of member IDs to hide message history for. If empty, truncates the channel for all members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: '007' message: $ref: '#/components/schemas/MessageRequest' x-stream-index: '004' skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: '005' truncated_at: description: Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at` format: date-time title: Truncated at type: string x-stream-index: '006' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '008.002' user_id: type: string x-stream-index: '008.001' type: - object - 'null' ImportV2TaskSettingsS3: properties: bucket: type: string x-stream-index: '002' dir: type: string x-stream-index: '003' region: type: string x-stream-index: '001' type: object MessageModerationResult: description: Result of the message moderation properties: action: description: Action taken by automod title: Action type: string x-stream-index: '002' ai_moderation_response: $ref: '#/components/schemas/ModerationResponse' description: Response from AI moderation title: ModerationResponse x-stream-index: '007' blocked_word: description: Word that was blocked title: Blocked word type: string x-stream-index: '004' blocklist_name: description: Name of the blocklist title: Blocklist name type: string x-stream-index: '005' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '010' message_id: description: ID of the message title: Message ID type: string x-stream-index: '001' moderated_by: description: User who moderated the message title: Moderated by type: string x-stream-index: '003' moderation_thresholds: $ref: '#/components/schemas/Thresholds' description: Thresholds for AI moderation title: Thresholds x-stream-index: '006' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '011' user_bad_karma: description: Whether user has bad karma title: User bad karma type: boolean x-stream-index: 009 user_karma: description: Karma of the user format: float title: User karma type: number x-stream-index: 008 required: - message_id - action - user_karma - user_bad_karma - created_at - updated_at title: Message moderation result type: object SearchPayload: properties: filter_conditions: additionalProperties: {} description: Channel filter conditions maximum: 100 minimum: 1 title: Channel filter type: object x-stream-docs-page-id: query_channels x-stream-filter-fields: app_banned: operators: - $eq type: string archived: operators: - $eq type: boolean blocked: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date created_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string disabled: operators: - $eq type: boolean distinct: operators: - $eq type: boolean filter_tags: operators: - $eq - $in type: string frozen: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: boolean has_unread: operators: - $eq type: boolean hidden: operators: - $eq type: boolean id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string joined: operators: - $eq type: boolean last_message_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date last_updated: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date member.user.name: operators: - $autocomplete - $eq - $ne type: string member_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number members: operators: - $eq - $in - $nin type: string message_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number muted: operators: - $eq type: boolean name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string pinned: operators: - $eq type: boolean team: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date x-stream-index: '002' force_default_search: type: boolean x-stream-index: '010' force_sql_v2_backend: type: boolean x-stream-index: '011' limit: description: Number of messages to return format: int32 title: Limit type: integer x-stream-index: '005' message_filter_conditions: additionalProperties: {} description: Message filter conditions title: Message filter type: object x-stream-filter-fields: _channel_filters: operators: - $eq type: object attachments: operators: - $exists type: boolean attachments.type: operators: - $eq - $in type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date custom: operators: - $_custom - $eq - $gt - $gte - $lt - $lte type: object id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string mentioned_users.id: operators: - $contains type: string parent_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string pinned: operators: - $eq type: boolean relevance: operators: [] type: number reply_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number text: operators: - $any - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date user.id: operators: - $eq - $in - $ne - $nin type: string user_id: operators: - $eq - $in - $ne - $nin type: string x-stream-index: '003' message_options: $ref: '#/components/schemas/MessageOptions' x-stream-index: '004' next: description: Pagination parameter. Cannot be used with non-zero offset. title: Next type: string x-stream-index: 008 offset: description: Pagination offset. Cannot be used with sort or next. format: int32 title: Offset type: integer x-stream-index: '006' query: description: Search phrase title: Query type: string x-stream-index: '001' sort: description: Sort parameters. Cannot be used with non-zero offset items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '007' x-stream-sort-fields: - created_at - id - updated_at required: - filter_conditions type: object OverviewDashboardConfig: properties: default_date_range_days: format: int32 type: integer x-stream-index: '003' visible_charts: items: type: string type: array x-stream-index: '002' type: object CampaignMessageTemplate: properties: attachments: items: $ref: '#/components/schemas/Attachment' maxItems: 30 type: array x-stream-index: '002' custom: additionalProperties: {} type: object x-stream-index: '004' poll_id: type: string x-stream-index: '003' searchable: type: boolean x-stream-index: '005' text: type: string x-stream-index: '001' required: - text type: object PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: string x-stream-index: '002' type: object ChannelConfig: description: Channel configuration overrides properties: blocklist: type: string x-stream-index: 008 blocklist_behavior: enum: - flag - block type: string x-stream-index: 009 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: '013' commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: '011' count_messages: description: Enable/disable message counting title: Count messages type: boolean x-stream-index: '016' grants: additionalProperties: items: type: string type: array title: Grants type: object x-stream-index: '010' x-stream-map: description: List of grants modifiers that apply to a role key: role title: Grants max_message_length: description: Overrides max message length format: int32 maximum: 20000 title: Max Message Length type: integer x-stream-index: '007' push_level: description: Overrides the push notification level for this channel enum: - all - all_mentions - mentions - direct_mentions - none title: Push Level type: string x-stream-index: '012' quotes: description: Enables message quotes title: Quotes type: boolean x-stream-index: '004' reactions: description: Enables or disables reactions title: Reactions type: boolean x-stream-index: '002' replies: description: Enables message replies (threads) title: Replies type: boolean x-stream-index: '003' shared_locations: description: Enable/disable shared locations title: Shared locations type: boolean x-stream-index: '015' typing_events: description: Enables or disables typing events title: Typing events type: boolean x-stream-index: '001' uploads: description: Enables or disables file uploads title: Uploads type: boolean x-stream-index: '005' url_enrichment: description: Enables or disables URL enrichment title: URL Enrichment type: boolean x-stream-index: '006' user_message_reminders: description: Enable/disable user message reminders title: User message reminders type: boolean x-stream-index: '014' type: object PollVotesResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' votes: description: Poll votes items: $ref: '#/components/schemas/PollVoteResponseData' title: PollVoteResponseList type: array x-stream-index: '001' required: - votes - duration type: - object - 'null' ThreadStateResponse: properties: active_participant_count: description: Active Participant Count format: int32 title: Active Participant Count type: integer x-stream-index: '001.009' channel: $ref: '#/components/schemas/ChannelResponse' description: Channel title: ChannelResponse x-stream-index: '001.002' channel_cid: description: Channel CID title: Channel CID type: string x-stream-index: '001.001' created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: '001.012' created_by: $ref: '#/components/schemas/UserResponse' description: Created By User title: User x-stream-index: '001.006' created_by_user_id: description: Created By User ID title: Created By User ID type: string x-stream-index: '001.005' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.016' deleted_at: description: Deleted At format: date-time title: Deleted At type: string x-stream-index: '001.014' draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: '004' last_message_at: description: Last Message At format: date-time title: Last Message At type: string x-stream-index: '001.011' latest_replies: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: '002' parent_message: $ref: '#/components/schemas/MessageResponse' description: Parent Message title: Message x-stream-index: '001.004' parent_message_id: description: Parent Message ID title: Parent Message ID type: string x-stream-index: '001.003' participant_count: description: Participant Count format: int32 title: Participant Count type: integer x-stream-index: '001.008' read: items: $ref: '#/components/schemas/ReadStateResponse' type: array x-stream-index: '003' reply_count: description: Reply Count format: int32 title: Reply Count type: integer x-stream-index: '001.007' thread_participants: description: Thread Participants items: $ref: '#/components/schemas/ThreadParticipant' title: ThreadParticipants type: array x-stream-index: '001.010' title: description: Title title: Title type: string x-stream-index: '001.015' updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: '001.013' required: - channel_cid - parent_message_id - created_by_user_id - participant_count - active_participant_count - created_at - updated_at - title - custom - latest_replies type: - object - 'null' PollResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: '001' required: - poll - duration type: - object - 'null' CheckPushResponse: properties: device_errors: additionalProperties: $ref: '#/components/schemas/DeviceErrorInfo' description: Object with device errors title: Device errors type: object x-stream-index: '001' x-stream-map: key: device_id duration: type: string x-stream-index: '008.001' event_type: description: The event type that was tested title: Event type type: string x-stream-index: '004' general_errors: description: List of general errors items: type: string title: General errors type: array x-stream-index: '002' rendered_apn_template: title: Rendered APN template type: string x-stream-index: '005' rendered_firebase_template: title: Rendered Firebase template type: string x-stream-index: '006' rendered_message: additionalProperties: type: string title: Rendered message type: object x-stream-index: '007' skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: '003' required: - duration type: - object - 'null' TranscriptionSettings: properties: closed_caption_mode: description: 'One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '002' language: description: The language used in this call as a two letter code enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - 'no' - uk - bg - et - sl - sk title: Language type: string x-stream-index: '004' mode: enum: - available - disabled - auto-on title: Mode type: string x-stream-index: '001' speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: '006' translation: $ref: '#/components/schemas/TranslationSettings' x-stream-index: '005' required: - mode - closed_caption_mode - languages - language type: object QueryPollVotesRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: '003' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '004' type: - object - 'null' DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object APNConfigFields: properties: auth_key: type: string x-stream-index: 009 auth_type: type: string x-stream-index: '003' bundle_id: type: string x-stream-index: '006' development: type: boolean x-stream-index: '002' enabled: type: boolean x-stream-index: '001' host: type: string x-stream-index: '005' key_id: type: string x-stream-index: 008 notification_template: type: string x-stream-index: '004' p12_cert: type: string x-stream-index: '010' team_id: type: string x-stream-index: '007' required: - enabled - development type: object IngressVideoLayer: properties: bitrate: minimum: 1000 type: integer x-stream-index: '002' codec: enum: - h264 - vp8 type: string x-stream-index: '001' frame_rate: maximum: 60 minimum: 1 type: integer x-stream-index: '003' max_dimension: minimum: 240 type: integer x-stream-index: '005' min_dimension: minimum: 240 type: integer x-stream-index: '004' required: - codec - bitrate - frame_rate - min_dimension - max_dimension type: - object - 'null' UnreadCountsBatchResponse: description: Basic response information properties: counts_by_user: additionalProperties: $ref: '#/components/schemas/UnreadCountsResponse' type: object x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' required: - counts_by_user - duration title: Response type: - object - 'null' UploadChannelFileRequest: properties: file: description: file field title: File type: string x-stream-index: '002' user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: '003' type: - object - 'null' ExportUserResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' messages: description: List of exported messages items: $ref: '#/components/schemas/MessageResponse' title: Messages type: array x-stream-index: '002' reactions: description: List of exported reactions items: $ref: '#/components/schemas/ReactionResponse' title: Reactions type: array x-stream-index: '003' user: $ref: '#/components/schemas/UserResponse' description: Exported user object title: User x-stream-index: '001' required: - duration type: - object - 'null' GetCommandResponse: properties: args: type: string x-stream-index: '001.006' created_at: format: date-time readOnly: true type: string x-stream-index: '001.001' description: type: string x-stream-index: '001.005' duration: type: string x-stream-index: '002.001' name: type: string x-stream-index: '001.004' set: type: string x-stream-index: '001.007' updated_at: format: date-time readOnly: true type: string x-stream-index: '001.002' required: - name - description - args - set - duration title: GetCommandResponse type: - object - 'null' EventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: '003' parent_id: type: string x-stream-index: '002' type: type: string x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' required: - type type: object EventHook: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: 020.001.002 created_at: format: date-time type: string x-stream-index: '021' enabled: type: boolean x-stream-index: '003' event_types: items: type: string type: array x-stream-index: '004' failover_config: $ref: '#/components/schemas/WebhookFailoverConfig' x-stream-index: '020.003' hook_type: type: string x-stream-index: '002' id: type: string x-stream-index: '001' product: type: string x-stream-index: 018 should_send_custom_events: type: boolean x-stream-index: 019 sns_auth_type: type: string x-stream-index: '014' sns_event_based_message_group_id_enabled: type: boolean x-stream-index: '020.002' sns_key: type: string x-stream-index: '015' sns_region: type: string x-stream-index: '013' sns_role_arn: type: string x-stream-index: '017' sns_secret: type: string x-stream-index: '016' sns_topic_arn: type: string x-stream-index: '012' sqs_auth_type: type: string x-stream-index: 008 sqs_key: type: string x-stream-index: 009 sqs_queue_url: type: string x-stream-index: '006' sqs_region: type: string x-stream-index: '007' sqs_role_arn: type: string x-stream-index: '011' sqs_secret: type: string x-stream-index: '010' timeout_ms: format: int32 type: integer x-stream-index: 020.001.001 updated_at: format: date-time type: string x-stream-index: '022' webhook_url: type: string x-stream-index: '005' type: - object - 'null' MessageActionRequest: properties: form_data: additionalProperties: type: string description: ReadOnlyData to execute command with title: Form data type: object x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - form_data type: - object - 'null' CheckSNSResponse: properties: data: additionalProperties: {} description: Error data title: ReadOnlyData type: object x-stream-index: '003' duration: type: string x-stream-index: '004.001' error: description: Error text title: Error type: string x-stream-index: '002' status: description: 'Validation result. One of: ok, error' title: Status type: string x-stream-index: '001' required: - status - duration type: - object - 'null' securitySchemes: JWT: description: 'JWT should be always provided when stream-auth-type=jwt. Using JWT auth request could be authenticated as user or as server-side. When using user authentication permission checking is going to be applied to requests based on the user that is performing a request. The `authorization` header should be a JWT string signed using the secret attached to the API key used to perform requests. **WARNING** all client-side official SDK do not ship with token generation; this is to make sure that the API secret is not shared with an untrusted party such as a browser or a iOS/Android application. Tokens **must** be generated server-side. If you wish, you can configure your application to ignore authentication (see `disable_auth_check`) The JWT string must include only the user_id claim and can include any built-in JWT claim such as iat, exp as well. ' in: header name: Authorization type: apiKey api_key: description: Application API key should be always set in order to authenticate the request. in: query name: api_key type: apiKey stream-auth-type: description: 'Stream-Auth-Type should be always set in order to authenticate the request. Possible values: `jwt` or `anonymous`. `jwt` allows you to authenticate as a user. With this auth type you should also provide valid JWT in Authorization header. `anonymous` allows you to authenticate as anonymous user. Please note that most advanced features are not available to anonymous users.' in: header name: Stream-Auth-Type type: apiKey