openapi: 3.0.3 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: description: 'Delete campaign ' 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 /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: description: 'Get segment ' 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: description: 'Delete targets from a segment ' 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: description: 'Query segment targets ' 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: description: 'Query segments ' 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: description: 'Get list of blocked Users ' 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: description: 'Delete campaign ' 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 /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: description: 'Get segment ' 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: description: 'Delete targets from a segment ' 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: description: 'Query segment targets ' 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: description: 'Query segments ' 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: CreateGuestResponse: nullable: true 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 MarkDeliveredRequest: nullable: true properties: latest_delivered_messages: items: $ref: '#/components/schemas/DeliveredMessagePayload' type: array x-stream-index: '001' type: object 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 WrappedUnreadCountsResponse: description: Basic response information nullable: true 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 UnmuteChannelRequest: nullable: true 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 DeleteChannelsResultResponse: nullable: true properties: error: type: string x-stream-index: '002' status: type: string x-stream-index: '001' required: - status type: object UnreadCountsResponse: nullable: true 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 UpdateReminderRequest_2: nullable: true 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 PollVoteResponseData_2: nullable: true 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 GetBlockListResponse: description: Response for get block list nullable: true 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 x-stream-docs-page-id: get_block_list 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 PolicyConfig: properties: max_age_hours: format: int32 type: integer x-stream-index: '001' required: - max_age_hours type: object ThreadParticipant_2: description: Represents a user that is participating in a thread. nullable: true 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 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 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 CreateUserGroupRequest: description: Request body for creating a user group nullable: true 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 UpdateCampaignRequest: nullable: true 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 CreateChannelTypeRequest: nullable: true 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 nullable: true title: Partition TTL type: string 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 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 ListExternalStorageResponse: description: Basic response information nullable: true 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 GroupedQueryChannelsResponse: nullable: true 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 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 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 DeactivateUserResponse: nullable: true 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 CastPollVoteRequest: nullable: true 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 UndeleteMessageResponse: description: Basic response information nullable: true 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 TruncateChannelResponse: nullable: true 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 CheckSQSResponse: nullable: true 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 DeviceResponse_2: description: Response for Device nullable: true 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 DeleteMessageResponse: description: Basic response information nullable: true 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 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 GetRateLimitsResponse: nullable: true 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 x-stream-docs-page-id: rate_limits UpsertPushTemplateRequest: nullable: true 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 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 ListDevicesResponse: description: List devices response nullable: true 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 UpsertPushPreferencesResponse: nullable: true 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 PollOptionResponse: nullable: true 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 UpdateUserGroupRequest: description: Request body for updating a user group nullable: true 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 DeactivateUserRequest: nullable: true 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 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 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 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 nullable: true title: Pinned at type: string 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 GetExternalStorageResponse: description: Basic response information nullable: true 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 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 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 ListPushProvidersResponse: description: Basic response information nullable: true 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 GetSegmentResponse: nullable: true 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 QueryThreadsRequest: nullable: true 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 ListImportV2TasksResponse: description: Basic response information nullable: true 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 DeleteUsersRequest: nullable: true 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 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 MarkDeliveredResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object ThreadStateResponse_2: nullable: true 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 UpdateChannelPartialResponse: nullable: true 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 FCM: properties: data: additionalProperties: {} type: object x-stream-index: '001' type: object 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 ThreadParticipant: description: Represents a user that is participating in a thread. nullable: true 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 StopCampaignRequest: nullable: true type: object HideChannelRequest: nullable: true 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 EventHook: nullable: true 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 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 FutureChannelBanResponse: nullable: true 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 CheckSNSRequest: nullable: true 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 BanRequest: nullable: true 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 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 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 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: nullable: true 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 QuerySegmentTargetsResponse: nullable: true 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 FlagMessageResponse: nullable: true 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 Segment: nullable: true 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 ReactivateUsersResponse: description: Basic response information nullable: true 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 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 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 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 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 DeleteRetentionPolicyRequest: nullable: true properties: policy: enum: - old-messages - inactive-channels type: string x-stream-index: '001' required: - policy type: object TranslateMessageRequest: nullable: true 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 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 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 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 PollVoteResponse: nullable: true 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 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 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 UnreadCountsBatchResponse: description: Basic response information nullable: true 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 UnreadCountsBatchRequest: nullable: true properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: object 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 QueryRemindersResponse: nullable: true 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 PushTemplate: nullable: true 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 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 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 ListCommandsResponse: nullable: true 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 QueryChannelsResponse: nullable: true 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 TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled 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 ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled 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 SendUserCustomEventRequest: nullable: true properties: event: $ref: '#/components/schemas/UserCustomEventRequest' x-stream-index: '001' required: - event type: object ListChannelTypesResponse: nullable: true 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 PushProvider: nullable: true 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 PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: string x-stream-index: '002' type: object 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 nullable: true title: Pinned at type: string 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 GetCustomPermissionResponse: description: Basic response information nullable: true 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 DeleteImportV2TaskResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response 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 UpdateUserGroupResponse: description: Response for updating a user group nullable: true 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 GetThreadResponse: nullable: true 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 SetRetentionPolicyRequest: nullable: true 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 ChannelStateResponse: nullable: true 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 QueryUsersResponse: nullable: true 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 ReactivateUserRequest: nullable: true 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 UpdateChannelRequest_2: nullable: true 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 x-stream-docs-page-id: channel_update SendMessageRequest: nullable: true 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 BlockUsersResponse: nullable: true 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 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 GetCommandResponse: nullable: true 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 ChannelMute: nullable: true 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 ListUserGroupsResponse: description: Response for listing user groups nullable: true 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 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 ChannelGetOrCreateRequest: nullable: true 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 DeactivateUsersRequest: description: Deactivate users request nullable: true 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 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 Attachment: description: An attachment is a message object that represents a file uploaded by a user. nullable: true 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 x-stream-docs-page-id: file_uploads GetCommandResponse_2: nullable: true 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 ExportChannelsResponse: nullable: true 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 QueryDraftsRequest: nullable: true 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 DeleteExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object 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 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 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 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 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 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 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 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 ThreadStateResponse: nullable: true 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 GetRepliesResponse: description: Basic response information nullable: true 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 CreateBlockListRequest: description: Block list contains restricted words nullable: true 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 x-stream-docs-page-id: block_lists BanResponse: nullable: true 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 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 CreateCampaignRequest: nullable: true 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 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 nullable: true type: string 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 GetDraftResponse: description: Basic response information nullable: true 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 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 IngressVideoLayer: nullable: true 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 EventResponse: description: Basic response information nullable: true 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 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 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 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 CheckSQSRequest: nullable: true 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 PollVoteResponseData: nullable: true 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 GetOGResponse: nullable: true 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 x-stream-docs-page-id: og ReactionGroupResponse_2: description: ReactionGroupResponse contains all information about a reaction of the same type. nullable: true 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 QueryBannedUsersResponse: nullable: true 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 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 StartCampaignResponse: description: Basic response information nullable: true 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 UpdateReminderResponse: description: Basic response information nullable: true 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 UpdateMessageRequest: nullable: true 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 SendReactionRequest: nullable: true 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 DeleteCommandResponse: nullable: true 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 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 ReactionGroupResponse: description: ReactionGroupResponse contains all information about a reaction of the same type. nullable: true 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 ThumbnailsSettings: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object 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 CheckSNSResponse: nullable: true 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 CreateCommandRequest: description: Create a new command nullable: true 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 CreateDeviceRequest: description: Create device request nullable: true 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 UpdateCommandResponse: nullable: true 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 UpdateExternalStorageResponse: description: Basic response information nullable: true 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 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 GetTaskResponse: nullable: true 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 x-stream-docs-page-id: tasks QueryPollsRequest: nullable: true 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 MuteUserRequest: nullable: true 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 SegmentTargetResponse: nullable: true 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 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 SendMessageResponse: nullable: true 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 SearchUserGroupsResponse: description: Response for searching user groups nullable: true 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 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 UpdateThreadPartialRequest: nullable: true 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 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 FileUploadRequest: nullable: true 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 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 UpdateMessagePartialResponse: nullable: true 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 UploadChannelFileRequest: nullable: true 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 Command: description: Represents custom chat command nullable: true 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 CreateUserGroupResponse: description: Response for creating a user group nullable: true 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 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 QueryFutureChannelBansResponse: nullable: true 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 CheckExternalStorageResponse: description: Basic response information nullable: true 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 CreateExternalStorageRequest: description: Create external storage nullable: true 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 DeleteCampaignResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object CreateImportResponse: description: Basic response information nullable: true 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 UploadChannelFileResponse: nullable: true 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 DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' required: - enabled type: object ImportTaskHistory: nullable: true 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 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 FlagRequest: nullable: true 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 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 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 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 GetRetentionPolicyResponse: description: Basic response information nullable: true 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 QuerySegmentsRequest: nullable: true 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 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 CreateRoleResponse: description: Basic response information nullable: true 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 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 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 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 SendEventRequest: nullable: true properties: event: $ref: '#/components/schemas/EventRequest' x-stream-index: '001' required: - event type: object QuerySegmentsResponse: nullable: true 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 UpdateChannelResponse: nullable: true 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 GetPushTemplatesResponse: description: Basic response information nullable: true 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 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 UnmuteResponse: nullable: true 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 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 GetImportResponse: description: Basic response information nullable: true 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 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 SessionSettings: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: '001' required: - inactivity_timeout_seconds type: object UpdateMemberPartialRequest: nullable: true properties: set: additionalProperties: {} type: object x-stream-index: '002.001' unset: items: type: string type: array x-stream-index: '002.002' type: object MessageFlagResponse: nullable: true 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 QueryCampaignsRequest: nullable: true 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 QueryMessageFlagsResponse: description: Query message flags response nullable: true 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 ChannelBatchMemberRequest: nullable: true properties: channel_role: type: string x-stream-index: '002' user_id: type: string x-stream-index: '001' required: - user_id type: object MessageOptions: properties: include_thread_participants: type: boolean x-stream-index: '001' type: object GetRetentionPolicyRunsRequest: nullable: true 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 RestoreUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: object 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 SendReactionResponse: description: Basic response information nullable: true 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 FileUploadResponse: nullable: true 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 UpdatePollOptionRequest: nullable: true 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 MuteChannelResponse: nullable: true 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 ChannelTypeConfig: nullable: true 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 nullable: true type: string 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 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 PollOptionRequest: nullable: true 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 SharedLocationsResponse: nullable: true 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 QueryPollsResponse: nullable: true 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 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 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 GetMessageResponse: description: Basic response information nullable: true 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 PendingMessageResponse: nullable: true 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 StartCampaignRequest_2: nullable: true 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 CreateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object GetRetentionPolicyRunsResponse: description: Basic response information nullable: true 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 MessageActionRequest: nullable: true 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 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 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 MarkChannelsReadRequest: nullable: true 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 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 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 APIError: nullable: true 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 MarkUnreadRequest: nullable: true 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 GetReactionsResponse: nullable: true 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 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 QueryMessageHistoryResponse: nullable: true 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 UpdateReminderRequest: nullable: true 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 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 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 PaginationParams: properties: limit: format: int32 minimum: 0 type: integer x-stream-index: '001' offset: format: int32 type: integer x-stream-index: '002' type: object CreateImportRequest: nullable: true 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 PollResponse: nullable: true 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 VoteData: properties: answer_text: type: string x-stream-index: '002' option_id: maxLength: 255 type: string x-stream-index: '001' type: object UploadChannelRequest: nullable: true 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 UpsertPushTemplateResponse: description: Basic response information nullable: true 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 UpdateLiveLocationRequest: nullable: true 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 DeleteRetentionPolicyResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object ReactivateUsersRequest: description: Reactivate users in batches nullable: true 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 CreateBlockListResponse: description: Basic response information nullable: true 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 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 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 CreateRoleRequest: nullable: true properties: name: description: Role name maxLength: 64 title: Name type: string x-stream-index: '001' required: - name type: object PollVotesResponse: nullable: true 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 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 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 ExportUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 25 minItems: 1 type: array x-stream-index: '001' required: - user_ids type: object 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 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 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 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 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 UpsertPushPreferencesRequest: nullable: true 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 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 QueryDraftsResponse: nullable: true 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 PollOptionResponseData: nullable: true 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 UserMuteResponse: nullable: true 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 ListRolesResponse: description: Basic response information nullable: true 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 MarkReadRequest: nullable: true 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 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 ChannelPushPreferencesResponse_2: nullable: true 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 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 MessageHistoryEntryResponse: nullable: true 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 AddUserGroupMembersResponse: description: Response for adding members to a user group nullable: true 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 QueryTeamUsageStatsResponse: description: Response containing team-level usage statistics nullable: true 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 CreateImportURLResponse: description: Basic response information nullable: true 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 CreateChannelTypeResponse_2: nullable: true 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 nullable: true type: string 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 ImageUploadResponse: nullable: true 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 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 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 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 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 RemoveUserGroupMembersResponse: description: Response for removing members from a user group nullable: true 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 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 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 UnblockUsersRequest: nullable: true 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 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 DeviceResponse: description: Response for Device nullable: true 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 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 UpdateMessageResponse: description: Basic response information nullable: true 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 Response: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001' required: - duration title: Response type: object QueryCampaignsResponse: description: Basic response information nullable: true 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 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 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 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 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 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 CreatePollRequest: description: Contains all information needed to create a new poll nullable: true 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 MuteUserResponse: nullable: true 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 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 MarkReadResponse: nullable: true 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 ChannelStateResponse_2: nullable: true 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 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 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 QueryRemindersRequest: nullable: true 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 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 UndeleteMessageRequest: nullable: true 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 Segment_2: nullable: true 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 ReactivateUserResponse: nullable: true 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 QueryMessageHistoryRequest: nullable: true 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 UpdateChannelRequest: nullable: true 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 x-stream-docs-page-id: channel_update Field: nullable: true 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 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 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 DeleteChannelsRequest: nullable: true 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 BlockedUserResponse: nullable: true 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 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 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 GetChannelTypeResponse_2: description: Basic response information nullable: true 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 nullable: true type: string 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 AddUserGroupMembersRequest: description: Request body for adding members to a user group nullable: true 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 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 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 UpdateChannelTypeResponse: nullable: true 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 nullable: true type: string 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 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 CommitMessageRequest: nullable: true 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 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 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 DeleteChannelsResponse: nullable: true 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 UpsertPushProviderRequest: nullable: true properties: push_provider: $ref: '#/components/schemas/PushProviderRequest' x-stream-index: '001' type: object CheckPushRequest: description: Check push request nullable: true 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 ShowChannelResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object UpdateCommandRequest: nullable: true 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 ChannelBatchUpdateRequest: nullable: true 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 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 ExportChannelsRequest: nullable: true 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 CreateGuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' description: User object which server acts upon title: User x-stream-index: '001' required: - user type: object UpdateBlockListRequest: nullable: true 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 x-stream-docs-page-id: update_block_list ValidateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object ListImportsResponse: description: Basic response information nullable: true 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 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 DeleteSegmentTargetsRequest: nullable: true 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 ChannelPushPreferencesResponse: properties: chat_level: type: string x-stream-index: '001' disabled_until: format: date-time type: string x-stream-index: '002' type: object 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 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 UpdateThreadPartialResponse: nullable: true 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 SearchResult: properties: message: $ref: '#/components/schemas/SearchResultMessage' description: Found message title: Message x-stream-index: '001' 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 CreatePollOptionRequest: nullable: true 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 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 UpdateUsersPartialRequest: nullable: true properties: users: items: $ref: '#/components/schemas/UpdateUserPartialRequest' type: array x-stream-index: '001' required: - users type: object StartCampaignRequest: nullable: true 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 DeliveredMessagePayload: properties: cid: type: string x-stream-index: '001' id: type: string x-stream-index: '002' type: object 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 BlockUsersRequest: nullable: true 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 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 CreateCampaignResponse: description: Basic response information nullable: true 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 GetBlockedUsersResponse: nullable: true 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 QuerySegmentTargetsRequest: nullable: true 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 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 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 nullable: true type: string 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 UpdateChannelTypeRequest: nullable: true 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 nullable: true type: string 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 GeofenceResponse: nullable: true 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 DeleteReminderResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object UserCustomEventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: '002' type: type: string x-stream-index: '001' required: - type type: object UpdatePollPartialRequest: nullable: true 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 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 GetApplicationResponse: description: Basic response information nullable: true 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 DeleteUsersResponse: nullable: true 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 DeleteReactionResponse: description: Basic response information nullable: true 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 SearchResponse: nullable: true 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 ChannelMemberRequest: nullable: true 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 ShowChannelRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' type: object Command_2: description: Represents custom chat command nullable: true 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 UnmuteUserRequest: nullable: true 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 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 UserGroupMember: nullable: true 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 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 NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: '001' required: - mode type: object QueryThreadsResponse: nullable: true 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 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 QueryTeamUsageStatsRequest: description: Request payload for querying team-level usage statistics from the warehouse database nullable: true 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 GetImportV2TaskResponse: description: Basic response information nullable: true 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 ListPermissionsResponse: description: Basic response information nullable: true 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 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 DeleteChannelResponse: description: Basic response information nullable: true 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 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 CheckPushResponse: nullable: true 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 CreateImportV2TaskRequest: description: Client request nullable: true 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 CreateImportV2TaskResponse: description: Basic response information nullable: true 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 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 RemoveUserGroupMembersRequest: description: Request body for removing members from a user group nullable: true 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 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 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 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 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 CreateImportURLRequest: nullable: true properties: filename: type: string x-stream-index: '001' type: object UnblockUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration type: object CampaignChannelMember: nullable: true 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 MembersResponse: nullable: true 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 UpdateMemberPartialResponse: nullable: true 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 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 UpdatePollRequest: nullable: true 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 PushNotificationSettingsResponse_2: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: number x-stream-index: '002' type: object Action: nullable: true 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 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 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 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 DeactivateUsersResponse: description: Basic response information nullable: true 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 ExportUsersResponse: description: Basic response information nullable: true 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 ImageUploadRequest: nullable: true 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 ExportUserResponse: nullable: true 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 CallType: nullable: true 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 GetManyMessagesResponse: nullable: true 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 UpdateExternalStorageRequest: description: External storage nullable: true 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 UpdateUsersResponse: nullable: true 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 UpsertExternalStorageRequest: nullable: true 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 GetChannelTypeResponse: description: Basic response information nullable: true 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 nullable: true type: string 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 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 HideChannelResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response 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 UpsertPushProviderResponse: description: Basic response information nullable: true 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 MuteChannelRequest: nullable: true 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 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 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 UpdateChannelPartialRequest: nullable: true 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 CreateCommandResponse: nullable: true 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 MessageActionResponse: description: Basic response information nullable: true 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 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 GeofenceSettings: properties: names: items: type: string type: array x-stream-index: '001' required: - names type: object UpdateBlockListResponse: description: Basic response information nullable: true 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 OnlyUserID: properties: id: type: string x-stream-index: '001' required: - id type: object SetRetentionPolicyResponse: description: Basic response information nullable: true 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 ListBlockListResponse: description: Basic response information nullable: true 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 UploadChannelResponse: nullable: true 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 TruncateChannelRequest: nullable: true 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 PagerResponse: properties: next: type: string x-stream-index: '001' prev: type: string x-stream-index: '002' type: object 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 AsyncModerationConfiguration: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: '002' timeout_ms: format: int32 type: integer x-stream-index: '001' type: object ChannelBatchUpdateResponse: description: Basic response information nullable: true 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 TruncateChannelRequest_2: nullable: true 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 GroupedQueryChannelsRequest: nullable: true 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 x-stream-docs-page-id: grouped_query_channels 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 GetCampaignResponse: description: Basic response information nullable: true 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 FlagDetails: properties: automod: $ref: '#/components/schemas/AutomodDetailsResponse' x-stream-index: '001' original_text: type: string x-stream-index: '002' required: - original_text 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 SortParamRequest: nullable: true 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 PushPreferenceInput: nullable: true 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 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 UpdateUsersRequest: nullable: true 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 RunStats: properties: channels_deleted: format: int64 type: integer x-stream-index: '001' messages_deleted: format: int64 type: integer x-stream-index: '002' type: object QueryChannelsRequest: nullable: true 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 x-stream-docs-page-id: query_channels MarkUnreadRequest_2: nullable: true 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 CreateReminderRequest: nullable: true 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 QueryPollVotesRequest: nullable: true 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 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 UpsertExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: object 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 MessageUpdate: properties: change_set: $ref: '#/components/schemas/MessageChangeSet' x-stream-index: '002' old_text: type: string x-stream-index: '001' type: object 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 ChannelMemberResponse_2: nullable: true 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 UpdateAppRequest: nullable: true 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 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 CreateReminderRequest_2: nullable: true 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 CreateChannelTypeResponse: nullable: true 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 nullable: true type: string 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 PollOptionInput: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: '003' text: type: string x-stream-index: '002' type: object GetUserGroupResponse: description: Response for getting a user group nullable: true 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 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 UpdateMessagePartialRequest: nullable: true 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 UnmuteUserResponse: nullable: true 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 UpdateChannelTypeResponse_2: nullable: true 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 nullable: true type: string 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 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 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