components: schemas: 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" required: - code - message - StatusCode - duration - more_info - details title: Error response 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 - notification_template type: object APNConfigRequest: 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 APNS: properties: body: type: string x-stream-index: "002" title: type: string x-stream-index: "001" required: - title - body 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 ActionRequest: 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" type: object AgoraCall: properties: channel: type: string x-stream-index: "001" required: - channel type: object AnyEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.002" type: default: any type: string x-stream-index: "001.001" required: - type - created_at title: AnyEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent App: properties: agora_options: $ref: '#/components/schemas/Config' x-stream-index: "001.035" async_url_enrich_enabled: type: boolean x-stream-index: "001.016" auto_translation_enabled: type: boolean x-stream-index: "001.018" before_message_send_hook_url: type: string x-stream-index: "001.019" call_types: additionalProperties: $ref: '#/components/schemas/CallType' type: object x-stream-index: "001.006" campaign_enabled: type: boolean x-stream-index: "001.029" cdn_expiration_seconds: format: int32 type: integer x-stream-index: "001.033" channel_configs: additionalProperties: $ref: '#/components/schemas/ChannelConfig' description: Object with channel configs title: Channel configs type: object x-stream-index: "001.005" x-stream-map: key: channel_type custom_action_handler_url: type: string x-stream-index: "001.020" disable_auth_checks: type: boolean x-stream-index: "001.010" disable_permissions_checks: type: boolean x-stream-index: "001.011" enforce_unique_usernames: type: string x-stream-index: "001.021" file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.025" geofences: items: $ref: '#/components/schemas/GeofenceResponse' type: array x-stream-index: "001.037" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "001.028" hms_options: $ref: '#/components/schemas/Config' x-stream-index: "001.036" image_moderation_enabled: type: boolean x-stream-index: "001.015" image_moderation_labels: items: type: string type: array x-stream-index: "001.017" image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.026" multi_tenant_enabled: type: boolean x-stream-index: "001.014" name: type: string x-stream-index: "001.001" organization: type: string x-stream-index: "001.002" permission_version: type: string x-stream-index: "001.012" policies: additionalProperties: items: $ref: '#/components/schemas/Policy' type: array type: object x-stream-index: "001.007" push_notifications: $ref: '#/components/schemas/PushNotificationFields' x-stream-index: "001.003" reminders_interval: format: int32 type: integer x-stream-index: "001.032" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.027" search_backend: description: Backend implementation used for search enum: - elasticsearch - postgres - disabled title: Search Backend type: string x-stream-index: "001.030" sqs_key: type: string x-stream-index: "001.023" sqs_secret: type: string x-stream-index: "001.024" sqs_url: type: string x-stream-index: "001.022" suspended: type: boolean x-stream-index: "001.008" suspended_explanation: type: string x-stream-index: "001.009" user_search_disallowed_roles: items: type: string type: array x-stream-index: "001.013" video_provider: type: string x-stream-index: "001.034" webhook_events: items: type: string type: array x-stream-index: "001.031" webhook_url: type: string x-stream-index: "001.004" required: - name - organization - push_notifications - 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 - image_moderation_enabled - async_url_enrich_enabled - custom_action_handler_url - enforce_unique_usernames - sqs_url - sqs_key - sqs_secret - file_upload_config - image_upload_config - grants - campaign_enabled - search_backend - webhook_events - reminders_interval - cdn_expiration_seconds - video_provider type: object AsyncModerationCallbackConfigRequest: 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 AsyncModerationConfigurationRequest: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfigRequest' x-stream-index: "002" timeout_ms: format: int32 type: integer x-stream-index: "001" type: object Attachment: additionalProperties: true 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" 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" title: Attachment type: object x-stream-docs-page-id: file_uploads AttachmentRequest: additionalProperties: true nullable: true properties: actions: items: $ref: '#/components/schemas/ActionRequest' 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" fallback: type: string x-stream-index: "002" fields: items: $ref: '#/components/schemas/FieldRequest' 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/ImagesRequest' 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" title: Attachment type: object x-stream-docs-page-id: file_uploads AudioSettings: properties: access_request_enabled: type: boolean x-stream-index: "001" default_device: enum: - speaker - earpiece type: string x-stream-index: "006" mic_default_on: type: boolean x-stream-index: "004" 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 type: object AutomodDetails: properties: action: type: string x-stream-index: "001" image_labels: items: type: string type: array x-stream-index: "005" message_details: $ref: '#/components/schemas/FlagMessageDetails' x-stream-index: "004" original_message_type: type: string x-stream-index: "002" result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: "003" type: object BackstageSettings: properties: enabled: type: boolean x-stream-index: "001" required: - enabled type: object BanRequest: nullable: true properties: banned_by: $ref: '#/components/schemas/UserObjectRequest' description: User who issued a ban title: Banned by x-stream-index: "009" banned_by_id: description: User ID who issued a ban title: Banned by ID type: string x-stream-index: "008" id: description: Channel ID to ban user in title: ID type: string x-stream-index: "005" ip_ban: description: Whether to perform IP ban or not title: IP ban type: boolean x-stream-index: "007" 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: "006" 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" type: description: Channel type to ban user in title: Type type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "010.002" user_id: type: string x-stream-index: "010.001" required: - target_user_id type: object BanResponse: nullable: true properties: banned_by: $ref: '#/components/schemas/UserObject' 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/UserObject' x-stream-index: "002" required: - created_at type: object BlockList: 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: "004" name: description: Block list name title: Name type: string x-stream-index: "006" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "005" words: description: List of words to block items: type: string title: Words type: array x-stream-index: "007" required: - name - words title: Block list type: object x-stream-docs-page-id: block_lists BlockListOptions: properties: behavior: enum: - flag - block type: string x-stream-index: "002" blocklist: type: string x-stream-index: "001" required: - blocklist - behavior type: object BlockListOptionsRequest: properties: behavior: enum: - flag - block type: string x-stream-index: "002" blocklist: type: string x-stream-index: "001" type: object BroadcastSettings: properties: enabled: type: boolean x-stream-index: "001" hls: $ref: '#/components/schemas/HLSSettings' x-stream-index: "002" required: - enabled - hls type: object Call: properties: agora: $ref: '#/components/schemas/AgoraCall' x-stream-index: "005" hms: $ref: '#/components/schemas/HMSCall' x-stream-index: "004" id: type: string x-stream-index: "002" provider: type: string x-stream-index: "001" type: type: string x-stream-index: "003" required: - provider - id - type 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: "006" geofencing: $ref: '#/components/schemas/GeofenceSettings' x-stream-index: "007" recording: $ref: '#/components/schemas/RecordSettings' x-stream-index: "005" ring: $ref: '#/components/schemas/RingSettings' x-stream-index: "009" screensharing: $ref: '#/components/schemas/ScreensharingSettings' x-stream-index: "004" thumbnails: $ref: '#/components/schemas/ThumbnailsSettings' x-stream-index: "010" transcription: $ref: '#/components/schemas/TranscriptionSettings' x-stream-index: "008" video: $ref: '#/components/schemas/VideoSettings' x-stream-index: "003" type: object CallType: nullable: true properties: AppPK: format: int32 type: integer writeOnly: true x-stream-index: "003" CreatedAt: format: date-time type: string writeOnly: true x-stream-index: "005" Name: type: string writeOnly: true x-stream-index: "004" NotificationSettings: $ref: '#/components/schemas/NotificationSettings' x-stream-index: "008" PK: format: int32 type: integer writeOnly: true x-stream-index: "002" Settings: $ref: '#/components/schemas/CallSettings' x-stream-index: "007" UpdatedAt: format: date-time type: string writeOnly: true x-stream-index: "006" required: - PK - AppPK - Name - CreatedAt - UpdatedAt type: object Channel: additionalProperties: true properties: auto_translation_enabled: type: boolean x-stream-index: "028" auto_translation_language: type: string x-stream-index: "029" cid: type: string x-stream-index: "003" config: $ref: '#/components/schemas/ChannelConfig' x-stream-index: "025" config_overrides: $ref: '#/components/schemas/ChannelConfig' x-stream-index: "026" cooldown: format: int32 type: integer x-stream-index: "030" created_at: format: date-time type: string x-stream-index: "009" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "008" deleted_at: format: date-time type: string x-stream-index: "011" disabled: type: boolean x-stream-index: "017" frozen: type: boolean x-stream-index: "016" id: type: string x-stream-index: "004" invites: items: $ref: '#/components/schemas/ChannelMember' type: array x-stream-index: "021" last_message_at: format: date-time type: string x-stream-index: "006" member_count: format: int32 type: integer x-stream-index: "020" members: items: $ref: '#/components/schemas/ChannelMember' type: array x-stream-index: "019" team: type: string x-stream-index: "027" truncated_by: $ref: '#/components/schemas/UserObject' x-stream-index: "015" type: type: string x-stream-index: "005" updated_at: format: date-time type: string x-stream-index: "010" required: - cid - id - type - created_at - updated_at - frozen - disabled - auto_translation_language type: object ChannelConfig: properties: automod: enum: - disabled - simple - AI type: string x-stream-index: "001.018" automod_behavior: enum: - flag - block type: string x-stream-index: "001.019" automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: "001.023" blocklist: type: string x-stream-index: "001.020" blocklist_behavior: enum: - flag - block type: string x-stream-index: "001.021" blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: "001.022" commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "003" connect_events: type: boolean x-stream-index: "001.004" created_at: format: date-time type: string x-stream-index: "002.003" custom_events: type: boolean x-stream-index: "001.012" mark_messages_pending: type: boolean x-stream-index: "001.015" max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: "001.017" message_retention: type: string x-stream-index: "001.016" mutes: type: boolean x-stream-index: "001.009" name: type: string x-stream-index: "001.001" push_notifications: type: boolean x-stream-index: "001.013" quotes: type: boolean x-stream-index: "001.008" reactions: type: boolean x-stream-index: "001.006" read_events: type: boolean x-stream-index: "001.003" reminders: type: boolean x-stream-index: "001.014" replies: type: boolean x-stream-index: "001.007" search: type: boolean x-stream-index: "001.005" typing_events: type: boolean x-stream-index: "001.002" updated_at: format: date-time type: string x-stream-index: "002.004" uploads: type: boolean x-stream-index: "001.010" url_enrichment: type: boolean x-stream-index: "001.011" required: - name - typing_events - read_events - connect_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - message_retention - max_message_length - automod - automod_behavior - created_at - updated_at - commands type: object ChannelConfigRequest: description: Channel configuration overrides properties: blocklist: type: string x-stream-index: "008" blocklist_behavior: enum: - flag - block type: string x-stream-index: "009" commands: items: type: string type: array x-stream-index: "011" 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" 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" 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" type: object ChannelConfigWithInfo: properties: automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.018 automod_behavior: enum: - flag - block type: string x-stream-index: 001.002.019 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.023 blocklist: type: string x-stream-index: 001.002.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 001.002.021 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.022 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: "001.003" connect_events: type: boolean x-stream-index: 001.002.004 created_at: format: date-time type: string x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.012 grants: additionalProperties: items: type: string type: array title: Grants type: object x-stream-index: "002" x-stream-map: description: List of grants modifiers that apply to a role key: role title: Grants mark_messages_pending: type: boolean x-stream-index: 001.002.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.017 message_retention: type: string x-stream-index: 001.002.016 mutes: type: boolean x-stream-index: 001.002.009 name: type: string x-stream-index: 001.002.001 push_notifications: type: boolean x-stream-index: 001.002.013 quotes: type: boolean x-stream-index: 001.002.008 reactions: type: boolean x-stream-index: 001.002.006 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.014 replies: type: boolean x-stream-index: 001.002.007 search: type: boolean x-stream-index: 001.002.005 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.010 url_enrichment: type: boolean x-stream-index: 001.002.011 required: - created_at - updated_at - name - typing_events - read_events - connect_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - message_retention - max_message_length - automod - automod_behavior - commands type: object ChannelConfigWithInfoRequest: properties: automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.018 automod_behavior: enum: - flag - block type: string x-stream-index: 001.002.019 automod_thresholds: $ref: '#/components/schemas/ThresholdsRequest' x-stream-index: 001.002.023 blocklist: type: string x-stream-index: 001.002.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 001.002.021 blocklists: items: $ref: '#/components/schemas/BlockListOptionsRequest' type: array x-stream-index: 001.002.022 commands: items: $ref: '#/components/schemas/CommandRequest' type: array x-stream-index: "001.003" connect_events: type: boolean x-stream-index: 001.002.004 created_at: format: date-time type: string x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.012 grants: additionalProperties: items: type: string type: array title: Grants type: object x-stream-index: "002" x-stream-map: description: List of grants modifiers that apply to a role key: role title: Grants mark_messages_pending: type: boolean x-stream-index: 001.002.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.017 message_retention: type: string x-stream-index: 001.002.016 mutes: type: boolean x-stream-index: 001.002.009 name: type: string x-stream-index: 001.002.001 push_notifications: type: boolean x-stream-index: 001.002.013 quotes: type: boolean x-stream-index: 001.002.008 reactions: type: boolean x-stream-index: 001.002.006 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.014 replies: type: boolean x-stream-index: 001.002.007 search: type: boolean x-stream-index: 001.002.005 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.010 url_enrichment: type: boolean x-stream-index: 001.002.011 required: - automod type: object ChannelCreatedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.created type: string x-stream-index: "001.001" required: - type - created_at title: ChannelCreatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelDeletedEvent: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" team: type: string x-stream-index: "001.001" type: default: channel.deleted type: string x-stream-index: "002.001" required: - type - created_at - cid - channel_id - channel_type title: ChannelDeletedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelExportRequest: 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 ChannelFrozenEvent: properties: channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.frozen type: string x-stream-index: "001.001" required: - type - created_at - cid - channel_id - channel_type title: ChannelFrozenEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelGetOrCreateRequest: nullable: true properties: client_id: type: string x-stream-index: "001.002" connection_id: type: string x-stream-index: "001.003" data: $ref: '#/components/schemas/ChannelRequest' x-stream-index: "004" 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: "008" members: $ref: '#/components/schemas/PaginationParamsRequest' x-stream-index: "010" messages: $ref: '#/components/schemas/MessagePaginationParamsRequest' x-stream-index: "009" presence: description: Fetch user presence info title: Presence type: boolean x-stream-index: "007" state: description: Refresh channel state title: State type: boolean x-stream-index: "006" watch: description: Start watching the channel title: Watch type: boolean x-stream-index: "005" watchers: $ref: '#/components/schemas/PaginationParamsRequest' x-stream-index: "011" type: object ChannelHiddenEvent: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" clear_history: type: boolean x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "004.002" type: default: channel.hidden type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002.001" required: - clear_history - cid - channel_id - channel_type - type - created_at title: ChannelHiddenEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelKickedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.kicked type: string x-stream-index: "001.001" required: - type - created_at - cid - channel_id - channel_type title: ChannelKickedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelMember: nullable: true properties: ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: string x-stream-index: "015" banned: description: Whether member is banned this channel or not title: Banned type: boolean x-stream-index: "014" channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: "019" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "010" deleted_at: format: date-time type: string x-stream-index: "012" invite_accepted_at: description: Date when invite was accepted format: date-time title: Invited accepted at type: string x-stream-index: "008" invite_rejected_at: description: Date when invite was rejected format: date-time title: Invited rejected at type: string x-stream-index: "009" invited: description: Whether member was invited or not title: Invited type: boolean x-stream-index: "007" is_moderator: description: Whether member is channel moderator or not title: Is moderator type: boolean x-stream-index: "006" role: description: 'Permission level of the member in the channel (DEPRECATED: use channel_role instead)' enum: - member - moderator - admin - owner title: Role type: string x-stream-index: "018" shadow_banned: description: Whether member is shadow banned in this channel or not title: Shadow banned type: boolean x-stream-index: "017" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "011" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005" user_id: title: User ID type: string x-stream-index: "004" required: - created_at - updated_at - banned - shadow_banned - channel_role title: Channel member type: object ChannelMemberRequest: nullable: true properties: ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: string x-stream-index: "015" banned: description: Whether member is banned this channel or not title: Banned type: boolean x-stream-index: "014" channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: "019" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "010" deleted_at: format: date-time type: string x-stream-index: "012" invite_accepted_at: description: Date when invite was accepted format: date-time title: Invited accepted at type: string x-stream-index: "008" invite_rejected_at: description: Date when invite was rejected format: date-time title: Invited rejected at type: string x-stream-index: "009" invited: description: Whether member was invited or not title: Invited type: boolean x-stream-index: "007" is_moderator: description: Whether member is channel moderator or not title: Is moderator type: boolean x-stream-index: "006" role: description: 'Permission level of the member in the channel (DEPRECATED: use channel_role instead)' enum: - member - moderator - admin - owner title: Role type: string x-stream-index: "018" shadow_banned: description: Whether member is shadow banned in this channel or not title: Shadow banned type: boolean x-stream-index: "017" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "011" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "005" user_id: title: User ID type: string x-stream-index: "004" title: Channel member type: object ChannelMessages: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" messages: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "002" required: - messages type: object ChannelMute: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "007" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "009" expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: "008" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserObject' description: Owner of channel mute title: User x-stream-index: "005" required: - created_at - updated_at type: object ChannelMuteRequest: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponseRequest' x-stream-index: "007" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "009" expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: "008" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserObjectRequest' description: Owner of channel mute title: User x-stream-index: "005" type: object ChannelMutedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.muted type: string x-stream-index: "001.001" required: - type - created_at title: ChannelMutedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelRequest: additionalProperties: true properties: auto_translation_enabled: description: Enable or disable auto translation title: Auto translation type: boolean x-stream-index: "007" auto_translation_language: description: Switch auto translation language title: Auto translation language type: string x-stream-index: "008" config_overrides: $ref: '#/components/schemas/ChannelConfigRequest' x-stream-index: "026" disabled: type: boolean x-stream-index: "016" frozen: description: Freeze or unfreeze the channel title: Frozen type: boolean x-stream-index: "015" members: items: $ref: '#/components/schemas/ChannelMemberRequest' maximum: 100 type: array x-stream-index: "020" own_capabilities: items: type: integer type: array x-stream-index: "027" team: description: Team the channel belongs to (if multi-tenant mode is enabled) title: Team type: string x-stream-index: "006" truncated_at: items: type: integer type: array x-stream-index: "014" truncated_by: items: type: integer type: array x-stream-index: "013" truncated_by_id: type: string x-stream-index: "012" type: object ChannelResponse: additionalProperties: true 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: "021" auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: "022" cid: description: Channel CID (:) title: CID type: string x-stream-index: "005" config: $ref: '#/components/schemas/ChannelConfigWithInfo' description: Channel configuration title: Config x-stream-index: "017" cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: "024" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "008" created_by: $ref: '#/components/schemas/UserObject' description: Creator of the channel title: Created by x-stream-index: "011" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "010" disabled: type: boolean x-stream-index: "013" frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: "012" hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: "026" hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: string x-stream-index: "023" id: description: Channel unique ID title: ID type: string x-stream-index: "003" last_message_at: description: Date of the last message sent format: date-time title: Last message at type: string x-stream-index: "006" member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: "015" members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMember' title: Members type: array x-stream-index: "014" mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: string x-stream-index: "019" muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: "018" own_capabilities: description: List of channel capabilities of authenticated user items: type: string title: Own Capabilities type: array x-stream-index: "025" team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: "020" truncated_at: description: Date of the latest truncation of the channel format: date-time title: Truncated At type: string x-stream-index: "027" truncated_by: $ref: '#/components/schemas/UserObject' x-stream-index: "028" type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: "004" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "009" required: - id - type - cid - frozen - disabled title: Channel type: object ChannelResponseRequest: additionalProperties: true 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: "021" auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: "022" cid: description: Channel CID (:) title: CID type: string x-stream-index: "005" config: $ref: '#/components/schemas/ChannelConfigWithInfoRequest' description: Channel configuration title: Config x-stream-index: "017" cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: "024" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "008" created_by: $ref: '#/components/schemas/UserObjectRequest' description: Creator of the channel title: Created by x-stream-index: "011" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "010" disabled: type: boolean x-stream-index: "013" frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: "012" hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: "026" hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: string x-stream-index: "023" id: description: Channel unique ID title: ID type: string x-stream-index: "003" last_message_at: description: Date of the last message sent format: date-time title: Last message at type: string x-stream-index: "006" member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: "015" members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMemberRequest' title: Members type: array x-stream-index: "014" mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: string x-stream-index: "019" muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: "018" own_capabilities: description: List of channel capabilities of authenticated user items: type: string title: Own Capabilities type: array x-stream-index: "025" team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: "020" truncated_at: description: Date of the latest truncation of the channel format: date-time title: Truncated At type: string x-stream-index: "027" truncated_by: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "028" type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: "004" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "009" title: Channel type: object ChannelStateResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001.001" duration: type: string x-stream-index: "002.001" hidden: type: boolean x-stream-index: "001.009" hide_messages_before: format: date-time type: string x-stream-index: "001.010" members: items: $ref: '#/components/schemas/ChannelMember' type: array x-stream-index: "001.007" membership: $ref: '#/components/schemas/ChannelMember' x-stream-index: "001.008" messages: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "001.002" pending_messages: items: $ref: '#/components/schemas/PendingMessage' type: array x-stream-index: "001.011" pinned_messages: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "001.003" read: items: $ref: '#/components/schemas/Read' type: array x-stream-index: "001.006" watcher_count: format: int32 type: integer x-stream-index: "001.004" watchers: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.005" required: - messages - pinned_messages - members - duration type: object ChannelStateResponseFields: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" hidden: description: Whether this channel is hidden or not title: Hidden type: boolean x-stream-index: "009" 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: "010" members: description: List of channel members items: $ref: '#/components/schemas/ChannelMember' title: Members type: array x-stream-index: "007" membership: $ref: '#/components/schemas/ChannelMember' description: Current user membership object title: Membership x-stream-index: "008" messages: description: List of channel messages items: $ref: '#/components/schemas/Message' title: Message type: array x-stream-index: "002" pending_messages: description: Pending messages that this user has sent items: $ref: '#/components/schemas/PendingMessage' title: Pending messages type: array x-stream-index: "011" pinned_messages: description: List of pinned messages in the channel items: $ref: '#/components/schemas/Message' title: Pinned messages type: array x-stream-docs-page-id: pinned_messages x-stream-index: "003" read: description: List of read states items: $ref: '#/components/schemas/Read' title: Read type: array x-stream-index: "006" 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/UserObject' title: Watchers type: array x-stream-index: "005" required: - messages - pinned_messages - members type: object ChannelStopWatchingRequest: nullable: true properties: client_id: type: string x-stream-index: "001.002" connection_id: type: string x-stream-index: "001.003" type: object ChannelTruncatedEvent: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001.004" channel_id: type: string x-stream-index: "001.002" channel_type: type: string x-stream-index: "001.003" cid: type: string x-stream-index: "001.001" created_at: format: date-time type: string x-stream-index: "002.002" type: default: channel.truncated type: string x-stream-index: "002.001" required: - cid - channel_id - channel_type - type - created_at title: ChannelTruncatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelTypeConfig: nullable: true properties: automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.018 automod_behavior: enum: - flag - block type: string x-stream-index: 003.002.019 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.023 blocklist: type: string x-stream-index: 003.002.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 003.002.021 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.022 commands: description: List of commands that channel supports items: $ref: '#/components/schemas/Command' title: Commands type: array x-stream-index: "003.003" connect_events: type: boolean x-stream-index: 003.002.004 created_at: format: date-time type: string x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.012 grants: additionalProperties: items: type: string type: array type: object x-stream-index: "002" mark_messages_pending: type: boolean x-stream-index: 003.002.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.017 message_retention: type: string x-stream-index: 003.002.016 mutes: type: boolean x-stream-index: 003.002.009 name: type: string x-stream-index: 003.002.001 permissions: items: $ref: '#/components/schemas/PolicyRequest_1' type: array x-stream-index: "001" push_notifications: type: boolean x-stream-index: 003.002.013 quotes: type: boolean x-stream-index: 003.002.008 reactions: type: boolean x-stream-index: 003.002.006 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.014 replies: type: boolean x-stream-index: 003.002.007 search: type: boolean x-stream-index: 003.002.005 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.010 url_enrichment: type: boolean x-stream-index: 003.002.011 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - message_retention - max_message_length - automod - automod_behavior - commands type: object ChannelUnFrozenEvent: properties: channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.unfrozen type: string x-stream-index: "001.001" required: - type - created_at - cid - channel_id - channel_type title: ChannelUnFrozenEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelUnmutedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.002" type: default: channel.unmuted type: string x-stream-index: "001.001" required: - type - created_at title: ChannelUnmutedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelUpdatedEvent: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "004.004" channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "003.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001" team: type: string x-stream-index: "002.001" type: default: channel.updated type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005.001" required: - type - created_at - cid - channel_id - channel_type title: ChannelUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelVisibleEvent: nullable: true properties: channel_id: type: string x-stream-index: "001.002" channel_type: type: string x-stream-index: "001.003" cid: type: string x-stream-index: "001.001" created_at: format: date-time type: string x-stream-index: "003.002" type: default: channel.visible type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002.001" required: - cid - channel_id - channel_type - type - created_at title: ChannelVisibleEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ChannelsResponse: nullable: true properties: channels: description: List of channels items: $ref: '#/components/schemas/ChannelStateResponseFields' title: Channels type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - channels - duration title: Channels list type: object ChatEvent: description: The discriminator object for all websocket events, you should use this to map event payloads to their own type discriminator: mapping: any: '#/components/schemas/AnyEvent' channel.created: '#/components/schemas/ChannelCreatedEvent' channel.deleted: '#/components/schemas/ChannelDeletedEvent' channel.frozen: '#/components/schemas/ChannelFrozenEvent' channel.hidden: '#/components/schemas/ChannelHiddenEvent' channel.kicked: '#/components/schemas/ChannelKickedEvent' channel.muted: '#/components/schemas/ChannelMutedEvent' channel.truncated: '#/components/schemas/ChannelTruncatedEvent' channel.unfrozen: '#/components/schemas/ChannelUnFrozenEvent' channel.unmuted: '#/components/schemas/ChannelUnmutedEvent' channel.updated: '#/components/schemas/ChannelUpdatedEvent' channel.visible: '#/components/schemas/ChannelVisibleEvent' custom: '#/components/schemas/AnyEvent' flag.updated: '#/components/schemas/FlagUpdatedEvent' health.check: '#/components/schemas/HealthCheckEvent' member.added: '#/components/schemas/MemberAddedEvent' member.removed: '#/components/schemas/MemberRemovedEvent' member.updated: '#/components/schemas/MemberUpdatedEvent' message.deleted: '#/components/schemas/MessageDeletedEvent' message.flagged: '#/components/schemas/MessageFlaggedEvent' message.new: '#/components/schemas/MessageNewEvent' message.read: '#/components/schemas/MessageReadEvent' message.unblocked: '#/components/schemas/MessageUnblockedEvent' message.updated: '#/components/schemas/MessageUpdatedEvent' notification.added_to_channel: '#/components/schemas/NotificationAddedToChannelEvent' notification.channel_deleted: '#/components/schemas/NotificationChannelDeletedEvent' notification.channel_mutes_updated: '#/components/schemas/NotificationChannelMutesUpdatedEvent' notification.channel_truncated: '#/components/schemas/NotificationChannelTruncatedEvent' notification.invite_accepted: '#/components/schemas/NotificationInviteAcceptedEvent' notification.invite_rejected: '#/components/schemas/NotificationInviteRejectedEvent' notification.invited: '#/components/schemas/NotificationInvitedEvent' notification.mark_read: '#/components/schemas/NotificationMarkReadEvent' notification.mark_unread: '#/components/schemas/NotificationMarkUnreadEvent' notification.message_new: '#/components/schemas/NotificationNewMessageEvent' notification.mutes_updated: '#/components/schemas/NotificationMutesUpdatedEvent' notification.removed_from_channel: '#/components/schemas/NotificationRemovedFromChannelEvent' reaction.deleted: '#/components/schemas/ReactionDeletedEvent' reaction.new: '#/components/schemas/ReactionNewEvent' reaction.updated: '#/components/schemas/ReactionUpdatedEvent' typing.start: '#/components/schemas/TypingStartEvent' typing.stop: '#/components/schemas/TypingStopEvent' user.banned: '#/components/schemas/UserBannedEvent' user.deactivated: '#/components/schemas/UserDeactivatedEvent' user.deleted: '#/components/schemas/UserDeletedEvent' user.flagged: '#/components/schemas/UserFlaggedEvent' user.muted: '#/components/schemas/UserMutedEvent' user.presence.changed: '#/components/schemas/UserPresenceChangedEvent' user.reactivated: '#/components/schemas/UserReactivatedEvent' user.unbanned: '#/components/schemas/UserUnbannedEvent' user.unmuted: '#/components/schemas/UserUnmutedEvent' user.unread_message_reminder: '#/components/schemas/UserUnreadReminderEvent' user.updated: '#/components/schemas/UserUpdatedEvent' user.watching.start: '#/components/schemas/UserWatchingStartEvent' user.watching.stop: '#/components/schemas/UserWatchingStopEvent' propertyName: type oneOf: - $ref: '#/components/schemas/AnyEvent' - $ref: '#/components/schemas/AnyEvent' - $ref: '#/components/schemas/ChannelCreatedEvent' - $ref: '#/components/schemas/ChannelDeletedEvent' - $ref: '#/components/schemas/ChannelFrozenEvent' - $ref: '#/components/schemas/ChannelHiddenEvent' - $ref: '#/components/schemas/ChannelKickedEvent' - $ref: '#/components/schemas/ChannelMutedEvent' - $ref: '#/components/schemas/ChannelTruncatedEvent' - $ref: '#/components/schemas/ChannelUnFrozenEvent' - $ref: '#/components/schemas/ChannelUnmutedEvent' - $ref: '#/components/schemas/ChannelUpdatedEvent' - $ref: '#/components/schemas/ChannelVisibleEvent' - $ref: '#/components/schemas/FlagUpdatedEvent' - $ref: '#/components/schemas/HealthCheckEvent' - $ref: '#/components/schemas/MemberAddedEvent' - $ref: '#/components/schemas/MemberRemovedEvent' - $ref: '#/components/schemas/MemberUpdatedEvent' - $ref: '#/components/schemas/MessageDeletedEvent' - $ref: '#/components/schemas/MessageFlaggedEvent' - $ref: '#/components/schemas/MessageNewEvent' - $ref: '#/components/schemas/MessageReadEvent' - $ref: '#/components/schemas/MessageUnblockedEvent' - $ref: '#/components/schemas/MessageUpdatedEvent' - $ref: '#/components/schemas/NotificationAddedToChannelEvent' - $ref: '#/components/schemas/NotificationChannelDeletedEvent' - $ref: '#/components/schemas/NotificationChannelMutesUpdatedEvent' - $ref: '#/components/schemas/NotificationChannelTruncatedEvent' - $ref: '#/components/schemas/NotificationInviteAcceptedEvent' - $ref: '#/components/schemas/NotificationInviteRejectedEvent' - $ref: '#/components/schemas/NotificationInvitedEvent' - $ref: '#/components/schemas/NotificationMarkReadEvent' - $ref: '#/components/schemas/NotificationMarkUnreadEvent' - $ref: '#/components/schemas/NotificationMutesUpdatedEvent' - $ref: '#/components/schemas/NotificationNewMessageEvent' - $ref: '#/components/schemas/NotificationRemovedFromChannelEvent' - $ref: '#/components/schemas/ReactionDeletedEvent' - $ref: '#/components/schemas/ReactionNewEvent' - $ref: '#/components/schemas/ReactionUpdatedEvent' - $ref: '#/components/schemas/TypingStartEvent' - $ref: '#/components/schemas/TypingStopEvent' - $ref: '#/components/schemas/UserBannedEvent' - $ref: '#/components/schemas/UserDeactivatedEvent' - $ref: '#/components/schemas/UserDeletedEvent' - $ref: '#/components/schemas/UserFlaggedEvent' - $ref: '#/components/schemas/UserMutedEvent' - $ref: '#/components/schemas/UserPresenceChangedEvent' - $ref: '#/components/schemas/UserReactivatedEvent' - $ref: '#/components/schemas/UserUnbannedEvent' - $ref: '#/components/schemas/UserUnmutedEvent' - $ref: '#/components/schemas/UserUnreadReminderEvent' - $ref: '#/components/schemas/UserUpdatedEvent' - $ref: '#/components/schemas/UserWatchingStartEvent' - $ref: '#/components/schemas/UserWatchingStopEvent' CheckPushRequest: 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" 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 enum: - 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/UserObjectRequest' x-stream-index: "008.002" user_id: type: string x-stream-index: "008.001" 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: "007.001" 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: "004" rendered_firebase_template: title: Rendered Firebase template type: string x-stream-index: "005" rendered_message: additionalProperties: type: string title: Rendered message type: object x-stream-index: "006" skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: "003" required: - duration 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 URL type: string x-stream-index: "001" type: object CheckSNSResponse: nullable: true properties: data: additionalProperties: {} description: Error data title: Data 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 enum: - ok - error title: Status type: string x-stream-index: "001" required: - status - duration 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 CheckSQSResponse: nullable: true properties: data: additionalProperties: {} description: Error data title: Data 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 enum: - ok - error title: Status type: string x-stream-index: "001" required: - status - duration 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 CommandRequest: 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" 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" title: Command type: object CommitMessageRequest: nullable: true type: object Config: properties: app_certificate: type: string x-stream-index: "002" app_id: type: string x-stream-index: "001" default_role: enum: - attendee - publisher - subscriber - admin type: string x-stream-index: "003" role_map: additionalProperties: type: string type: object x-stream-index: "004" required: - app_id - app_certificate type: object ConfigRequest: properties: app_certificate: type: string x-stream-index: "002" app_id: type: string x-stream-index: "001" default_role: enum: - attendee - publisher - subscriber - admin type: string x-stream-index: "003" role_map: additionalProperties: type: string type: object x-stream-index: "004" required: - app_id - app_certificate type: object ConnectRequest: properties: device: $ref: '#/components/schemas/DeviceFields' x-stream-index: "001.002" user_details: $ref: '#/components/schemas/UserObject' x-stream-index: "001.001" required: - user_details type: object CreateBlockListRequest: description: Block list contains restricted words nullable: true properties: name: description: Block list name maxLength: 255 title: Name type: string x-stream-index: "001" words: description: List of words to block items: type: string title: Words type: array x-stream-index: "002" required: - name - words title: Block list type: object x-stream-docs-page-id: block_lists CreateCallRequest: nullable: true properties: id: type: string x-stream-index: "004" options: additionalProperties: {} type: object x-stream-index: "005" type: enum: - audio - video type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserObjectRequest' description: '**Server-side only**. User object which server acts upon' title: User x-stream-index: "006.002" user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: "006.001" required: - type - id type: object CreateCallResponse: nullable: true properties: agora_app_id: type: string x-stream-index: "002.003" agora_uid: format: int32 type: integer x-stream-index: "002.002" call: $ref: '#/components/schemas/Call' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" token: type: string x-stream-index: "002.001" required: - token - duration type: object CreateChannelTypeRequest: nullable: true properties: automod: description: Enables automatic message moderation enum: - disabled - simple - AI title: Auto moderation type: string x-stream-index: "016" automod_behavior: description: Sets behavior of automatic moderation enum: - flag - block title: Auto moderation behavior type: string x-stream-index: "017" blocklist: description: Name of the blocklist to use title: Blocklist type: string x-stream-index: "021" blocklist_behavior: description: Sets behavior of blocklist enum: - flag - block title: Blocklist behavior type: string x-stream-index: "022" blocklists: additionalProperties: $ref: '#/components/schemas/BlockListOptionsRequest' type: object x-stream-index: "023" commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "018" connect_events: description: Connect events support title: Connect events type: boolean x-stream-index: "004" custom_events: description: Enables custom events title: Custom events type: boolean x-stream-index: "011" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "020" mark_messages_pending: description: Marks messages as pending by default title: Mark messages pending type: boolean x-stream-index: "013" max_message_length: description: Number of maximum message characters format: int32 title: Maximum message length type: integer x-stream-index: "015" message_retention: description: Number of days to keep messages. 'infinite' disables retention title: Message retention type: string x-stream-index: "014" mutes: description: Enables mutes title: Mutes type: boolean x-stream-index: "008" name: description: Channel type name title: Name type: string x-stream-index: "001" permissions: description: List of permissions for the channel type items: $ref: '#/components/schemas/PolicyRequest' title: Permissions type: array x-stream-index: "019" push_notifications: description: Enables push notifications title: Push notifications type: boolean x-stream-index: "012" reactions: description: Enables message reactions title: Reactions type: boolean x-stream-index: "005" read_events: description: Read events support title: Read events type: boolean x-stream-index: "003" replies: description: Enables message replies (threads) title: Replies type: boolean x-stream-index: "006" search: description: Enables message search title: Search type: boolean x-stream-index: "007" typing_events: description: Typing events support title: Typing events type: boolean x-stream-index: "002" uploads: description: Enables file uploads title: Uploads type: boolean x-stream-index: "009" url_enrichment: description: Enables URL enrichment title: URL enrichment type: boolean x-stream-index: "010" required: - name - automod type: object CreateChannelTypeResponse: nullable: true properties: automod: enum: - disabled - simple - AI type: string x-stream-index: 001.001.018 automod_behavior: enum: - flag - block type: string x-stream-index: 001.001.019 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.001.023 blocklist: type: string x-stream-index: 001.001.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 001.001.021 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.001.022 commands: items: type: string type: array x-stream-index: "001.003" connect_events: type: boolean x-stream-index: 001.001.004 created_at: format: date-time type: string x-stream-index: 001.002.003 custom_events: type: boolean x-stream-index: 001.001.012 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.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.001.017 message_retention: type: string x-stream-index: 001.001.016 mutes: type: boolean x-stream-index: 001.001.009 name: type: string x-stream-index: 001.001.001 permissions: items: $ref: '#/components/schemas/PolicyRequest_1' type: array x-stream-index: "002" push_notifications: type: boolean x-stream-index: 001.001.013 quotes: type: boolean x-stream-index: 001.001.008 reactions: type: boolean x-stream-index: 001.001.006 read_events: type: boolean x-stream-index: 001.001.003 reminders: type: boolean x-stream-index: 001.001.014 replies: type: boolean x-stream-index: 001.001.007 search: type: boolean x-stream-index: 001.001.005 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.010 url_enrichment: type: boolean x-stream-index: 001.001.011 required: - name - typing_events - read_events - connect_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - message_retention - max_message_length - automod - automod_behavior - created_at - updated_at - commands - permissions - grants - duration type: object CreateCommandRequest: description: Represents custom chat 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: Command type: object CreateCommandResponse: nullable: true properties: command: $ref: '#/components/schemas/Command' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - duration type: object CreateDeviceRequest: nullable: true properties: id: maxLength: 255 minLength: 1 type: string x-stream-index: "001" push_provider: enum: - firebase - apn - huawei - xiaomi type: string x-stream-index: "002" push_provider_name: 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" voip_token: type: boolean x-stream-index: "004" type: object CreateImportRequest: nullable: true properties: mode: enum: - insert - upsert type: string x-stream-index: "002" path: type: string x-stream-index: "001" required: - path type: object CreateImportResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: "001" required: - duration type: object CreateImportURLRequest: nullable: true properties: filename: type: string x-stream-index: "001" type: object CreateImportURLResponse: nullable: true properties: duration: description: Duration of the request in human-readable format 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 type: object CreateRoleRequest: nullable: true properties: name: description: Role name maxLength: 64 title: Name type: string x-stream-index: "001" required: - name type: object CreateRoleResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" role: $ref: '#/components/schemas/Role' x-stream-index: "002" required: - duration - role 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" user_id: title: User ID type: string x-stream-index: "001" required: - user_id type: object DeactivateUserResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - duration type: object DeactivateUsersRequest: 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_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 maximum: 100 minimum: 1 title: User IDs type: array x-stream-index: "001" required: - user_ids type: object DeactivateUsersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration type: object DeleteChannelResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration type: object DeleteChannelsRequest: nullable: true properties: cids: description: All channels that should be deleted items: type: string maximum: 100 minimum: 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" type: object DeleteChannelsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" result: additionalProperties: $ref: '#/components/schemas/DeleteChannelsResult' type: object x-stream-index: "001" task_id: type: string x-stream-index: "002" required: - duration type: object DeleteChannelsResult: nullable: true properties: error: type: string x-stream-index: "003" status: type: string x-stream-index: "002" required: - status type: object DeleteCommandResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" name: type: string x-stream-index: "001" required: - name - duration type: object DeleteUserResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" task_id: type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - task_id - duration type: object DeleteUsersRequest: nullable: true properties: 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 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_channel_owner_id: type: string x-stream-index: 001.002.004 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 maximum: 100 minimum: 1 title: User IDs type: array x-stream-index: "001.001" required: - user_ids type: object DeleteUsersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration type: object Device: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" disabled: type: boolean x-stream-index: "002.003" disabled_reason: type: string x-stream-index: "002.004" id: description: Device ID title: ID type: string x-stream-index: 002.001.004 push_provider: enum: - firebase - apn - huawei - xiaomi title: Push provider type: string x-stream-index: 002.001.001 push_provider_name: description: Name of the push provider configuration title: Push provider name type: string x-stream-index: 002.001.003 user_id: type: string x-stream-index: "004" voip: type: boolean x-stream-index: 002.001.005 required: - push_provider - id - created_at - user_id 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 DeviceFields: properties: id: description: Device ID title: ID type: string x-stream-index: "004" push_provider: enum: - firebase - apn - huawei - xiaomi title: Push provider type: string x-stream-index: "001" push_provider_name: description: Name of the push provider configuration title: Push provider name type: string x-stream-index: "003" voip: type: boolean x-stream-index: "005" required: - push_provider - id type: object DeviceRequest: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" disabled: type: boolean x-stream-index: "002.003" disabled_reason: type: string x-stream-index: "002.004" id: description: Device ID title: ID type: string x-stream-index: 002.001.004 push_provider: enum: - firebase - apn - huawei - xiaomi title: Push provider type: string x-stream-index: 002.001.001 push_provider_name: description: Name of the push provider configuration title: Push provider name type: string x-stream-index: 002.001.003 user_id: type: string x-stream-index: "004" voip: type: boolean x-stream-index: 002.001.005 required: - push_provider - id type: object ErrorResult: properties: description: 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 Event: additionalProperties: true description: Represents an BaseEvent that happened in Stream Chat properties: automoderation: description: Only applicable to `message.flagged` BaseEvent. title: Auto moderation type: boolean x-stream-index: "016" automoderation_scores: $ref: '#/components/schemas/ModerationResponse' description: Only applicable to `message.flagged` BaseEvent. title: Auto moderation scores x-stream-index: "017" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "008" channel_id: title: Channel ID type: string x-stream-index: "004" channel_type: title: Channel type type: string x-stream-index: "005" cid: description: Channel CID (:) title: CID type: string x-stream-index: "003" connection_id: description: Only applicable to `health.check` BaseEvent title: Connection ID type: string x-stream-index: "002" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "021" created_by: $ref: '#/components/schemas/UserObject' description: User who issued moderation action. Only applicable to moderation-related events title: Created by x-stream-index: "015" me: $ref: '#/components/schemas/OwnUser' x-stream-index: "012" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "009" message: $ref: '#/components/schemas/Message' x-stream-index: "006" parent_id: description: ID of thread. Used in typing events title: Parent ID type: string x-stream-index: "018" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "007" reason: description: Ban reason. Only applicable to `user.banned` BaseEvent title: Reason type: string x-stream-index: "014" team: type: string x-stream-index: "019" type: description: Event type. To use custom BaseEvent types see Custom Events documentation title: Type type: string x-stream-docs-page-id: custom_events x-stream-index: "001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "010" user_id: title: User ID type: string x-stream-index: "011" watcher_count: description: Number of watchers who received this BaseEvent format: int32 title: Watcher count type: integer x-stream-index: "013" required: - type - created_at title: Event type: object x-stream-docs-page-id: event_object EventNotificationSettings: properties: apns: $ref: '#/components/schemas/APNS' x-stream-index: "002" enabled: type: boolean x-stream-index: "001" required: - enabled - apns type: object EventRequest: additionalProperties: true description: Represents an BaseEvent that happened in Stream Chat properties: automoderation: description: Only applicable to `message.flagged` BaseEvent. title: Auto moderation type: boolean x-stream-index: "016" automoderation_scores: $ref: '#/components/schemas/ModerationResponseRequest' description: Only applicable to `message.flagged` BaseEvent. title: Auto moderation scores x-stream-index: "017" channel: $ref: '#/components/schemas/ChannelResponseRequest' x-stream-index: "008" channel_id: title: Channel ID type: string x-stream-index: "004" channel_type: title: Channel type type: string x-stream-index: "005" cid: description: Channel CID (:) title: CID type: string x-stream-index: "003" connection_id: description: Only applicable to `health.check` BaseEvent title: Connection ID type: string x-stream-index: "002" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "021" created_by: $ref: '#/components/schemas/UserObjectRequest' description: User who issued moderation action. Only applicable to moderation-related events title: Created by x-stream-index: "015" me: $ref: '#/components/schemas/OwnUserRequest' x-stream-index: "012" member: $ref: '#/components/schemas/ChannelMemberRequest' x-stream-index: "009" message: $ref: '#/components/schemas/MessageRequest_1' x-stream-index: "006" parent_id: description: ID of thread. Used in typing events title: Parent ID type: string x-stream-index: "018" reaction: $ref: '#/components/schemas/ReactionRequest' x-stream-index: "007" reason: description: Ban reason. Only applicable to `user.banned` BaseEvent title: Reason type: string x-stream-index: "014" team: type: string x-stream-index: "019" type: description: Event type. To use custom BaseEvent types see Custom Events documentation title: Type type: string x-stream-docs-page-id: custom_events x-stream-index: "001" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "010" user_id: title: User ID type: string x-stream-index: "011" watcher_count: description: Number of watchers who received this BaseEvent format: int32 title: Watcher count type: integer x-stream-index: "013" required: - type title: Event type: object x-stream-docs-page-id: event_object EventResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" event: $ref: '#/components/schemas/Event' x-stream-index: "001" required: - duration type: object ExportChannelsRequest: nullable: true properties: channels: description: Export options for channels items: $ref: '#/components/schemas/ChannelExportRequest' maximum: 25 minimum: 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.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: type: string x-stream-index: "001" type: object ExportChannelsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration type: object ExportChannelsResult: properties: path: description: S3 path of result title: Path type: string x-stream-index: "002" s3_bucket_name: description: S3 bucket name result title: S3 bucket name type: string x-stream-index: "003" url: description: URL of result title: URL type: string x-stream-index: "001" required: - url type: object ExportUserResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "004.001" messages: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "002" reactions: items: $ref: '#/components/schemas/Reaction' type: array x-stream-index: "003" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - duration type: object ExportUsersRequest: nullable: true properties: user_ids: items: type: string maximum: 25 minimum: 1 type: array x-stream-index: "001" required: - user_ids type: object ExportUsersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration type: object 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 FieldRequest: nullable: true properties: short: type: boolean x-stream-index: "003" title: type: string x-stream-index: "001" value: type: string x-stream-index: "002" type: object FileDeleteResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration 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" required: - allowed_file_extensions - blocked_file_extensions - allowed_mime_types - blocked_mime_types type: object FileUploadConfigRequest: 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" type: object FileUploadRequest: nullable: true properties: file: description: file field title: File type: string x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserIDRequest' description: user for the request **server side only** title: User x-stream-index: "003" type: object FileUploadResponse: nullable: true properties: duration: type: string x-stream-index: "001.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: "002" 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: "003" 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 - notification_template - data_template - apn_template type: object FirebaseConfigRequest: 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 Flag: description: Contains information about flagged user or message properties: approved_at: description: Date of the approval format: date-time title: Approved at type: string x-stream-index: "015" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "011" created_by_automod: type: boolean x-stream-index: "004" details: $ref: '#/components/schemas/FlagDetails' x-stream-index: "020" rejected_at: description: Date of the rejection format: date-time title: Rejected at type: string x-stream-index: "016" reviewed_at: description: Date of the review format: date-time title: Reviewed at type: string x-stream-index: "013" target_message: $ref: '#/components/schemas/Message' x-stream-index: "008" target_message_id: description: ID of flagged message title: Target Message ID type: string x-stream-index: "007" target_user: $ref: '#/components/schemas/UserObject' description: Flagged user title: User x-stream-index: "010" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "012" user: $ref: '#/components/schemas/UserObject' description: User who flagged a message or a user title: User x-stream-index: "006" required: - created_by_automod - created_at - updated_at title: Flag type: object FlagDetails: additionalProperties: true properties: automod: $ref: '#/components/schemas/AutomodDetails' x-stream-index: "001" type: object FlagFeedback: properties: created_at: format: date-time type: string x-stream-index: "005" labels: items: $ref: '#/components/schemas/Label' type: array x-stream-index: "006" message_id: type: string x-stream-index: "004" required: - message_id - created_at - labels type: object FlagMessageDetails: 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 FlagRequest: nullable: true properties: target_message_id: description: ID of the message when reporting a message title: Target Message ID type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object FlagResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" flag: $ref: '#/components/schemas/Flag' x-stream-index: "001" required: - duration type: object FlagUpdatedEvent: properties: CreatedBy: $ref: '#/components/schemas/UserObject' x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "003.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: flag.updated type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002.001" required: - type - created_at title: FlagUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent 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 GeofenceSettings: properties: names: items: type: string type: array x-stream-index: "001" required: - names type: object GetApplicationResponse: nullable: true properties: app: $ref: '#/components/schemas/App' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - app - duration type: object GetBlockListResponse: nullable: true properties: blocklist: $ref: '#/components/schemas/BlockList' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - duration type: object GetCallTokenRequest: nullable: true properties: user: $ref: '#/components/schemas/UserObjectRequest' description: '**Server-side only**. User object which server acts upon' title: User x-stream-index: "002.002" user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: "002.001" type: object GetCallTokenResponse: nullable: true properties: agora_app_id: type: string x-stream-index: "001.003" agora_uid: format: int32 type: integer x-stream-index: "001.002" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" token: type: string x-stream-index: "001.001" required: - token - duration 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 type: object GetCustomPermissionResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" permission: $ref: '#/components/schemas/Permission' x-stream-index: "001" required: - permission - duration type: object GetExportChannelsStatusResponse: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.003" duration: type: string x-stream-index: 001.007.001 error: $ref: '#/components/schemas/ErrorResult' description: Contains task error in case of failure title: Error x-stream-index: "003" result: $ref: '#/components/schemas/ExportChannelsResult' description: Contains task result in case of success title: Result x-stream-index: "002" status: type: string x-stream-index: "001.002" 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 type: object GetImportResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: "001" required: - duration type: object GetManyMessagesResponse: nullable: true properties: duration: type: string x-stream-index: 001.002.001 messages: description: List of messages items: $ref: '#/components/schemas/Message' title: Messages type: array x-stream-index: "001.001" required: - messages - duration type: object GetOGResponse: additionalProperties: true 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" 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: - duration title: Get OG Attachment type: object x-stream-docs-page-id: og GetRateLimitsResponse: nullable: true properties: android: additionalProperties: $ref: '#/components/schemas/LimitInfo' 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/LimitInfo' 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/LimitInfo' 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/LimitInfo' 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 GetReactionsResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" reactions: description: List of reactions items: $ref: '#/components/schemas/Reaction' title: Reactions type: array x-stream-index: "001" required: - reactions - duration type: object GetRepliesResponse: nullable: true properties: duration: type: string x-stream-index: 001.002.001 messages: description: List of messages items: $ref: '#/components/schemas/Message' title: Messages type: array x-stream-index: "001.001" required: - messages - duration 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 GuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "001" required: - user type: object GuestResponse: nullable: true properties: access_token: description: Authentication token to use for guest user title: Access token type: string x-stream-index: "002" duration: type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' description: Created user object title: User x-stream-index: "001" required: - access_token - duration 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 HMSCall: properties: room_id: type: string x-stream-index: "001" room_name: type: string x-stream-index: "002" required: - room_id - room_name type: object HealthCheckEvent: properties: cid: type: string x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "003.002" me: $ref: '#/components/schemas/OwnUser' x-stream-index: "002" type: default: health.check type: string x-stream-index: "003.001" required: - cid - type - created_at title: HealthCheckEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent 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/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object HideChannelResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration 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 HuaweiConfigRequest: 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 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 ImageDataRequest: 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" type: object ImageSize: properties: crop: description: Crop mode enum: - 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 enum: - 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" required: - crop - resize - height - width title: Image size configuration type: object ImageSizeRequest: properties: crop: description: Crop mode enum: - 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 enum: - 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 ImageUploadRequest: 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/ImageSizeRequest' title: Upload sizes type: array x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserIDRequest' x-stream-index: "001.003" type: object ImageUploadResponse: nullable: true properties: duration: type: string x-stream-index: 001.001.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.002" 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: "001.003" upload_sizes: items: $ref: '#/components/schemas/ImageSize' type: array x-stream-index: "002" required: - duration 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 ImagesRequest: properties: fixed_height: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "002" fixed_height_downsampled: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "004" fixed_height_still: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "003" fixed_width: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "005" fixed_width_downsampled: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "007" fixed_width_still: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "006" original: $ref: '#/components/schemas/ImageDataRequest' x-stream-index: "001" 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" result: x-stream-index: "009" 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 ImportTaskHistory: nullable: true properties: created_at: format: date-time type: string x-stream-index: "007" next_state: type: string x-stream-index: "006" prev_state: type: string x-stream-index: "005" required: - prev_state - next_state - created_at type: object Label: properties: 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 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 LabelThresholdsRequest: 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 LayoutSettings: properties: 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 LimitInfo: properties: limit: description: The maximum number of calls allowed for the time window format: int32 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 of the next window format: int64 title: Reset type: integer x-stream-index: "003" required: - limit - remaining - reset title: Rate Limit info type: object x-stream-docs-page-id: rate_limits ListBlockListResponse: nullable: true properties: blocklists: items: $ref: '#/components/schemas/BlockList' type: array x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - blocklists - duration 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 type: object ListCommandsResponse: nullable: true properties: commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - commands - duration type: object ListDevicesResponse: nullable: true properties: devices: description: List of devices items: $ref: '#/components/schemas/Device' title: Devices type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - devices - duration type: object ListImportsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format 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 type: object ListPermissionsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" permissions: items: $ref: '#/components/schemas/Permission' type: array x-stream-index: "001" required: - permissions - duration type: object ListPushProvidersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format 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 type: object ListRolesResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" roles: items: $ref: '#/components/schemas/Role' type: array x-stream-index: "001" required: - roles - duration type: object MarkChannelsReadRequest: nullable: true properties: user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" 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" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object MarkReadResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" event: $ref: '#/components/schemas/MessageReadEvent' description: Mark read event title: Event x-stream-index: "001" required: - duration 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" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - message_id type: object MemberAddedEvent: nullable: true properties: channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "003.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "001.001" team: type: string x-stream-index: "002.001" type: default: member.added type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005.001" required: - type - created_at - cid - channel_id - channel_type title: MemberAddedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MemberRemovedEvent: nullable: true properties: channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "001.001" type: default: member.removed type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - type - created_at - cid - channel_id - channel_type title: MemberRemovedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MemberUpdatedEvent: nullable: true properties: channel_id: type: string x-stream-index: "005.002" channel_type: type: string x-stream-index: "005.003" cid: type: string x-stream-index: "005.001" created_at: format: date-time type: string x-stream-index: "003.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "001.001" team: type: string x-stream-index: "002.001" type: default: member.updated type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - type - created_at - cid - channel_id - channel_type title: MemberUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MembersResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" members: description: List of found members items: $ref: '#/components/schemas/ChannelMember' title: Members type: array x-stream-index: "001" required: - members - duration type: object Message: additionalProperties: true description: Represents any chat message nullable: true 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: "011" before_message_send_failed: description: Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook title: Before Message Send Failed type: boolean x-stream-docs-page-id: before_message_send_webhook x-stream-index: "043" cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: "026" command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: "006" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "028" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "030" deleted_reply_count: format: int32 type: integer x-stream-index: "021" 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: "007" 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: "041" id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: "002" image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: "037" latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/Reaction' title: Latest reactions type: array x-stream-index: "012" mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserObject' title: Mentioned Users type: array x-stream-index: "040" 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: "005" own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/Reaction' title: Own reactions type: array x-stream-index: "013" 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: "048" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "044" 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: "045" pinned_by: $ref: '#/components/schemas/UserObject' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: "047" quoted_message: $ref: '#/components/schemas/Message' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: "023" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "022" 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: "014" 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: "015" reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: "020" shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: "033" 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: "019" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "042" text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: "004" thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserObject' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: "025" type: description: Contains type of the message enum: - regular - ephemeral - error - reply - system - deleted title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "008" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "029" user: $ref: '#/components/schemas/UserObject' description: Sender of the message. Required when using server-side API title: User object x-stream-index: "010" required: - id - text - html - type - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - shadowed - mentioned_users - silent - pinned title: Message type: object x-stream-docs-page-id: send_message MessageActionRequest: nullable: true properties: ID: type: string writeOnly: true x-stream-index: "001" form_data: additionalProperties: type: string description: Data to execute command with title: Form data type: object x-stream-index: "002" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - form_data type: object MessageDeletedEvent: nullable: true properties: channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "006.002" hard_delete: type: boolean x-stream-index: "002.001" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" team: type: string x-stream-index: "005.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: message.deleted type: string x-stream-index: "006.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - hard_delete - cid - channel_id - channel_type - type - created_at title: MessageDeletedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessageFlag: nullable: true 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" message: $ref: '#/components/schemas/Message' x-stream-index: "005" moderation_feedback: $ref: '#/components/schemas/FlagFeedback' x-stream-index: "003" moderation_result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: "002" rejected_at: format: date-time type: string x-stream-index: "011" reviewed_at: format: date-time type: string x-stream-index: "008" reviewed_by: $ref: '#/components/schemas/UserObject' x-stream-index: "009" updated_at: format: date-time type: string x-stream-index: "007" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004" required: - created_by_automod - created_at - updated_at type: object MessageFlaggedEvent: nullable: true properties: cid: type: string x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "005.002" flag: $ref: '#/components/schemas/Flag' x-stream-index: "003.001" message: $ref: '#/components/schemas/Message' x-stream-index: "002.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "002.002" type: default: message.flagged type: string x-stream-index: "005.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004" required: - cid - type - created_at title: MessageFlaggedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessageModerationResult: properties: action: type: string x-stream-index: "004" ai_moderation_response: $ref: '#/components/schemas/ModerationResponse' x-stream-index: "009" blocked_word: type: string x-stream-index: "006" blocklist_name: type: string x-stream-index: "007" created_at: format: date-time type: string x-stream-index: "012" message_id: type: string x-stream-index: "003" moderated_by: type: string x-stream-index: "005" moderation_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: "008" updated_at: format: date-time type: string x-stream-index: "013" user_bad_karma: type: boolean x-stream-index: "011" user_karma: format: float type: number x-stream-index: "010" required: - message_id - action - user_karma - user_bad_karma - created_at - updated_at type: object MessageNewEvent: nullable: true properties: channel_id: type: string x-stream-index: "005.002" channel_type: type: string x-stream-index: "005.003" cid: type: string x-stream-index: "005.001" created_at: format: date-time type: string x-stream-index: "004.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" team: type: string x-stream-index: "006.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: message.new type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" watcher_count: format: int32 type: integer x-stream-index: "002.001" required: - watcher_count - type - created_at - cid - channel_id - channel_type title: MessageNewEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessagePaginationParamsRequest: properties: created_at_after: format: date-time type: string x-stream-index: "008" created_at_after_or_equal: format: date-time type: string x-stream-index: "007" created_at_around: format: date-time type: string x-stream-index: "012" created_at_before: format: date-time type: string x-stream-index: "010" created_at_before_or_equal: format: date-time type: string x-stream-index: "009" id_around: type: string x-stream-index: "011" id_gt: type: string x-stream-index: "004" id_gte: type: string x-stream-index: "003" id_lt: type: string x-stream-index: "006" id_lte: type: string x-stream-index: "005" limit: format: int32 minimum: 0 type: integer x-stream-index: "001" offset: format: int32 type: integer x-stream-index: "002" type: object MessageReadEvent: properties: channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "004.002" last_read_message_id: type: string x-stream-index: "005" team: type: string x-stream-index: "003.001" type: default: message.read type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.001" required: - cid - channel_id - channel_type - type - created_at title: MessageReadEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessageRequest: additionalProperties: true description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/AttachmentRequest' maximum: 30 title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "005" cid: description: Channel unique identifier in : format items: type: integer title: Channel CID type: array x-stream-index: "027" 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: "016" id: description: Message ID is unique string identifier of the message maxLength: 255 title: ID type: string x-stream-index: "001" mentioned_users: description: List of mentioned users items: type: string maximum: 25 title: Mentioned Users type: array x-stream-index: "009" 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: items: type: integer type: array x-stream-index: "007" parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: "006" 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: "035" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "034" 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: "037" pinned_by: description: Contains user who pinned the message items: type: integer title: Pinned by type: array x-stream-docs-page-id: pinned_messages x-stream-index: "036" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "024" reaction_scores: description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' items: type: integer title: Reaction scores type: array x-stream-index: "022" 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: "008" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "032" 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 enum: - regular - ephemeral - error - reply - system - deleted title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "017" user: $ref: '#/components/schemas/UserObjectRequest' description: Sender of the message. Required when using server-side API title: User object x-stream-index: "004" user_id: title: User ID type: string x-stream-index: "012" required: - attachments title: Message type: object x-stream-docs-page-id: send_message MessageRequest_1: additionalProperties: true description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/AttachmentRequest' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "011" before_message_send_failed: description: Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook title: Before Message Send Failed type: boolean x-stream-docs-page-id: before_message_send_webhook x-stream-index: "043" cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: "026" command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: "006" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "028" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "030" deleted_reply_count: format: int32 type: integer x-stream-index: "021" 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: "007" 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: "041" id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: "002" image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: "037" latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionRequest' title: Latest reactions type: array x-stream-index: "012" mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserObjectRequest' title: Mentioned Users type: array x-stream-index: "040" 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: "005" own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionRequest' title: Own reactions type: array x-stream-index: "013" 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: "048" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "044" 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: "045" pinned_by: $ref: '#/components/schemas/UserObjectRequest' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: "047" quoted_message: $ref: '#/components/schemas/MessageRequest_1' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: "023" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "022" 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: "014" 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: "015" reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: "020" shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: "033" 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: "019" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "042" text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: "004" thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserObjectRequest' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: "025" type: description: Contains type of the message enum: - regular - ephemeral - error - reply - system - deleted title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "008" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "029" user: $ref: '#/components/schemas/UserObjectRequest' description: Sender of the message. Required when using server-side API title: User object x-stream-index: "010" required: - text - mml title: Message type: object x-stream-docs-page-id: send_message MessageResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" message: $ref: '#/components/schemas/Message' x-stream-index: "001" required: - duration type: object MessageUnblockedEvent: properties: cid: type: string x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "004.002" message: $ref: '#/components/schemas/Message' x-stream-index: "002.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "002.002" type: default: message.unblocked type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - cid - type - created_at title: MessageUnblockedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessageUpdatedEvent: nullable: true properties: channel_id: type: string x-stream-index: "005.002" channel_type: type: string x-stream-index: "005.003" cid: type: string x-stream-index: "005.001" created_at: format: date-time type: string x-stream-index: "004.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" team: type: string x-stream-index: "002.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: message.updated type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at - cid - channel_id - channel_type title: MessageUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent MessageWithPendingMetadataResponse: nullable: true properties: duration: type: string x-stream-index: 001.002.001 message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" pending_message_metadata: additionalProperties: type: string description: Metadata attached to a message while it is pending title: Pending message metadata type: object x-stream-index: "002" required: - duration type: object ModerationResponse: properties: action: type: string x-stream-index: "004" automod_response: x-stream-index: "005" 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 ModerationResponseRequest: properties: action: type: string x-stream-index: "004" automod_response: x-stream-index: "005" 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" type: object MuteChannelRequest: nullable: true properties: channel_cids: description: Channel CIDs to mute (if multiple channels) items: type: string maximum: 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/UserObjectRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - channel_cids 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/OwnUser' description: Authorized user object with fresh mutes information title: Own user x-stream-index: "003" required: - duration type: object MuteUserRequest: nullable: true properties: target_ids: description: User IDs to mute (if multiple users) items: type: string maximum: 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/UserObjectRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - target_ids type: object MuteUserResponse: nullable: true properties: duration: type: string x-stream-index: "004.001" mute: $ref: '#/components/schemas/UserMute' 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/UserMute' title: Mutes type: array x-stream-index: "002" own_user: $ref: '#/components/schemas/OwnUser' description: Authorized user object with fresh mutes information title: Own user x-stream-index: "003" required: - duration type: object NotificationAddedToChannelEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "001.001" type: default: notification.added_to_channel type: string x-stream-index: "002.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationAddedToChannelEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationChannelDeletedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "002.002" team: type: string x-stream-index: "001.001" type: default: notification.channel_deleted type: string x-stream-index: "002.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationChannelDeletedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationChannelMutesUpdatedEvent: properties: created_at: format: date-time type: string x-stream-index: "002.002" me: $ref: '#/components/schemas/OwnUser' x-stream-index: "001" type: default: notification.channel_mutes_updated type: string x-stream-index: "002.001" required: - me - type - created_at title: NotificationChannelMutesUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationChannelTruncatedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" type: default: notification.channel_truncated type: string x-stream-index: "001.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationChannelTruncatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationInviteAcceptedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "004.001" type: default: notification.invite_accepted type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationInviteAcceptedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationInviteRejectedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "004.001" type: default: notification.invite_rejected type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationInviteRejectedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationInvitedEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "004.001" type: default: notification.invited type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationInvitedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationMarkReadEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "001.002" team: type: string x-stream-index: "002.001" total_unread_count: format: int32 type: integer x-stream-index: "006" type: default: notification.mark_read type: string x-stream-index: "001.001" unread_channels: format: int32 type: integer x-stream-index: "007" unread_count: format: int32 type: integer x-stream-index: "005" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - type - created_at - cid - channel_id - channel_type - unread_count - total_unread_count - unread_channels title: NotificationMarkReadEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationMarkUnreadEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.004" channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "001.002" first_unread_message_id: type: string x-stream-index: "005" last_read_at: format: date-time type: string x-stream-index: "006" last_read_message_id: type: string x-stream-index: "011" team: type: string x-stream-index: "002.001" total_unread_count: format: int32 type: integer x-stream-index: "009" type: default: notification.mark_unread type: string x-stream-index: "001.001" unread_channels: format: int32 type: integer x-stream-index: "010" unread_count: format: int32 type: integer x-stream-index: "008" unread_messages: format: int32 type: integer x-stream-index: "007" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - type - created_at - cid - channel_id - channel_type - first_unread_message_id - last_read_at - unread_messages - unread_count - total_unread_count - unread_channels title: NotificationMarkUnreadEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationMutesUpdatedEvent: properties: created_at: format: date-time type: string x-stream-index: "002.002" me: $ref: '#/components/schemas/OwnUser' x-stream-index: "001" type: default: notification.mutes_updated type: string x-stream-index: "002.001" required: - me - type - created_at title: NotificationMutesUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationNewMessageEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "004.004" channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "003.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001" team: type: string x-stream-index: "002.001" type: default: notification.message_new type: string x-stream-index: "003.001" required: - message - type - created_at - cid - channel_id - channel_type title: NotificationNewMessageEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationRemovedFromChannelEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002.004" channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "001.002" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "004.001" type: default: notification.removed_from_channel type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at - cid - channel_id - channel_type title: NotificationRemovedFromChannelEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent NotificationSettings: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "002" 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 type: object OnlyUserIDRequest: properties: id: type: string x-stream-index: "001" required: - id type: object OwnUser: additionalProperties: true properties: banned: type: boolean x-stream-index: "014" channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: "026" created_at: format: date-time type: string x-stream-index: "007" deactivated_at: format: date-time type: string x-stream-index: "012" deleted_at: format: date-time type: string x-stream-index: "011" devices: items: $ref: '#/components/schemas/Device' type: array x-stream-index: "024" id: type: string x-stream-index: "003" invisible: type: boolean x-stream-index: "021" language: type: string x-stream-index: "030" last_active: format: date-time type: string x-stream-index: "010" latest_hidden_channels: items: type: string type: array x-stream-index: "032" mutes: items: $ref: '#/components/schemas/UserMute' type: array x-stream-index: "025" online: type: boolean x-stream-index: "020" push_notifications: $ref: '#/components/schemas/PushNotificationSettings' x-stream-index: "023" role: type: string x-stream-index: "004" teams: items: type: string type: array x-stream-index: "031" total_unread_count: format: int32 type: integer x-stream-index: "028" unread_channels: format: int32 type: integer x-stream-index: "029" unread_count: format: int32 type: integer x-stream-index: "027" updated_at: format: date-time type: string x-stream-index: "008" required: - id - role - created_at - updated_at - banned - online - devices - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - language type: object OwnUserRequest: additionalProperties: true properties: banned: type: boolean x-stream-index: "014" channel_mutes: items: $ref: '#/components/schemas/ChannelMuteRequest' type: array x-stream-index: "026" created_at: format: date-time type: string x-stream-index: "007" deactivated_at: format: date-time type: string x-stream-index: "012" deleted_at: format: date-time type: string x-stream-index: "011" devices: items: $ref: '#/components/schemas/DeviceRequest' type: array x-stream-index: "024" id: type: string x-stream-index: "003" invisible: type: boolean x-stream-index: "021" language: type: string x-stream-index: "030" last_active: format: date-time type: string x-stream-index: "010" latest_hidden_channels: items: type: string type: array x-stream-index: "032" mutes: items: $ref: '#/components/schemas/UserMuteRequest' type: array x-stream-index: "025" online: type: boolean x-stream-index: "020" push_notifications: $ref: '#/components/schemas/PushNotificationSettingsRequest' x-stream-index: "023" role: type: string x-stream-index: "004" teams: items: type: string type: array x-stream-index: "031" total_unread_count: format: int32 type: integer x-stream-index: "028" unread_channels: format: int32 type: integer x-stream-index: "029" unread_count: format: int32 type: integer x-stream-index: "027" updated_at: format: date-time type: string x-stream-index: "008" type: object PaginationParamsRequest: properties: id_gt: format: int32 type: integer x-stream-index: "004" id_gte: format: int32 type: integer x-stream-index: "003" id_lt: format: int32 type: integer x-stream-index: "006" id_lte: format: int32 type: integer x-stream-index: "005" limit: format: int32 minimum: 0 type: integer x-stream-index: "001" offset: format: int32 type: integer x-stream-index: "002" type: object PendingMessage: nullable: true properties: channel: $ref: '#/components/schemas/Channel' x-stream-index: "007" message: $ref: '#/components/schemas/Message' description: The message title: Message x-stream-index: "009" metadata: additionalProperties: type: string description: Additional data attached to the pending message. This data is discarded once the pending message is committed. title: Metadata type: object x-stream-index: "010" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002" 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) enum: - 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 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 PolicyRequest: 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 minimum: 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: - name - priority type: object PolicyRequest_1: 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 minimum: 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 type: object PushConfigRequest: properties: offline_only: type: boolean x-stream-index: "002" version: enum: - v1 - v2 type: string x-stream-index: "001" type: object PushNotificationFields: properties: apn: $ref: '#/components/schemas/APNConfigFields' x-stream-index: "002" firebase: $ref: '#/components/schemas/FirebaseConfigFields' x-stream-index: "003" huawei: $ref: '#/components/schemas/HuaweiConfigFields' x-stream-index: "004" offline_only: type: boolean x-stream-index: "001.002" providers: items: $ref: '#/components/schemas/PushProvider' type: array x-stream-index: "006" version: type: string x-stream-index: "001.001" xiaomi: $ref: '#/components/schemas/XiaomiConfigFields' x-stream-index: "005" required: - version - offline_only - apn - firebase - huawei - xiaomi type: object PushNotificationSettings: properties: disabled: type: boolean x-stream-index: "001" disabled_until: format: date-time type: string x-stream-index: "002" type: object PushNotificationSettingsRequest: properties: disabled: type: boolean x-stream-index: "001" disabled_until: format: date-time type: string x-stream-index: "002" 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" name: maxLength: 36 minLength: 1 type: string x-stream-index: "005" type: type: integer 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 PushProviderRequest: 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" name: maxLength: 36 minLength: 1 type: string x-stream-index: "005" type: type: integer 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: 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 QueryBannedUsersRequest: properties: created_at_after: format: date-time type: string x-stream-index: "003.006" created_at_after_or_equal: format: date-time type: string x-stream-index: "003.005" created_at_before: format: date-time type: string x-stream-index: "003.008" created_at_before_or_equal: format: date-time type: string x-stream-index: "003.007" exclude_expired_bans: type: boolean x-stream-index: "006" filter_conditions: additionalProperties: {} type: object x-stream-index: "001" limit: format: int32 maximum: 300 type: integer x-stream-index: "004" offset: format: int32 maximum: 10000 type: integer x-stream-index: "005" sort: items: $ref: '#/components/schemas/SortParam' maximum: 1 type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserObject' description: '**Server-side only**. User object which server acts upon' title: User x-stream-index: "007.002" user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: "007.001" required: - filter_conditions type: object QueryBannedUsersResponse: nullable: true properties: bans: items: $ref: '#/components/schemas/BanResponse' type: array x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - bans - duration type: object QueryChannelsRequest: nullable: true properties: client_id: type: string x-stream-index: "011.002" connection_id: type: string x-stream-index: "011.003" filter_conditions: additionalProperties: {} type: object x-stream-index: "001" 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" presence: title: Presence type: boolean x-stream-index: "005" sort: description: List of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maximum: 5 title: Sort type: array x-stream-index: "002" state: description: Whether to update channel state or not title: State type: boolean x-stream-index: "004" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "010.002" user_id: type: string x-stream-index: "010.001" watch: description: Whether to start watching found channels or not title: Watch type: boolean x-stream-index: "003" title: Query Channels Request type: object x-stream-docs-page-id: query_channels QueryMembersRequest: properties: created_at_after: format: date-time type: string x-stream-index: "006.010" created_at_after_or_equal: format: date-time type: string x-stream-index: "006.009" created_at_before: format: date-time type: string x-stream-index: "006.012" created_at_before_or_equal: format: date-time type: string x-stream-index: "006.011" filter_conditions: additionalProperties: {} description: Filter to apply to members title: Filter conditions type: object x-stream-index: "004" id: description: Channel ID to interact with title: Channel ID type: string x-stream-index: "002" limit: description: Number of records to return format: int32 maximum: 300 minimum: 0 title: Limit type: integer x-stream-index: "006.003" members: description: List of members to search in distinct channels items: $ref: '#/components/schemas/ChannelMember' maximum: 100 title: Members type: array x-stream-index: "003" offset: description: Number of records to offset format: int32 maximum: 10000 title: Offset type: integer x-stream-index: "006.004" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParam' maximum: 1 title: Sort type: array x-stream-index: "005" type: description: Channel type to interact with maxLength: 64 title: Channel type type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "007.002" user_id: type: string x-stream-index: "007.001" user_id_gt: type: string x-stream-index: "006.006" user_id_gte: type: string x-stream-index: "006.005" user_id_lt: type: string x-stream-index: "006.008" user_id_lte: type: string x-stream-index: "006.007" required: - type - filter_conditions type: object QueryMessageFlagsRequest: properties: filter_conditions: additionalProperties: {} type: object 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: type: boolean x-stream-index: "002" user: $ref: '#/components/schemas/UserObject' description: '**Server-side only**. User object which server acts upon' title: User x-stream-index: "004.002" user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: "004.001" type: object QueryMessageFlagsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" flags: items: $ref: '#/components/schemas/MessageFlag' type: array x-stream-index: "001" required: - flags - duration type: object QueryUsersRequest: properties: client_id: type: string x-stream-index: "006.002" connection_id: type: string x-stream-index: "006.003" filter_conditions: additionalProperties: {} description: User filters title: Filter conditions type: object x-stream-docs-page-id: query_users x-stream-index: "001" id_gt: type: string x-stream-index: "004.006" id_gte: type: string x-stream-index: "004.005" id_lt: type: string x-stream-index: "004.008" id_lte: type: string x-stream-index: "004.007" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "004.003" offset: format: int32 maximum: 1000 type: integer x-stream-index: "004.004" presence: description: Request user presence status title: Presence type: boolean x-stream-index: "003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParam' maximum: 5 title: Sort type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" required: - filter_conditions type: object Reaction: additionalProperties: true description: Represents user reaction to a message nullable: true properties: created_at: description: Date/time of creation format: date-time readOnly: true title: Created at type: string x-stream-index: "008" message_id: description: ID of a message user reacted to title: Message ID type: string x-stream-index: "003" score: description: Reaction score. If not specified reaction has score of 1 format: int32 title: Score type: integer x-stream-index: "007" type: description: The type of reaction (e.g. 'like', 'laugh', 'wow') maxLength: 30 title: Type type: string x-stream-index: "006" updated_at: description: Date/time of the last update format: date-time readOnly: true title: Updated at type: string x-stream-index: "009" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005" user_id: description: ID of a user who reacted to a message title: User ID type: string x-stream-index: "004" required: - message_id - type - score - created_at - updated_at title: Reaction type: object x-stream-docs-page-id: send_reaction ReactionDeletedEvent: nullable: true properties: channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "006.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "002" team: type: string x-stream-index: "005.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: reaction.deleted type: string x-stream-index: "006.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004.001" required: - cid - channel_id - channel_type - type - created_at title: ReactionDeletedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ReactionNewEvent: nullable: true properties: channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "006.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001.001" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "002" team: type: string x-stream-index: "005.001" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.002" type: default: reaction.new type: string x-stream-index: "006.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - cid - channel_id - channel_type - type - created_at title: ReactionNewEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent ReactionRemovalResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/Message' x-stream-index: "001" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "002" required: - duration type: object ReactionRequest: additionalProperties: true description: Represents user reaction to a message nullable: true properties: message_id: description: ID of a message user reacted to title: Message ID type: string x-stream-index: "003" score: description: Reaction score. If not specified reaction has score of 1 format: int32 title: Score type: integer x-stream-index: "007" type: description: The type of reaction (e.g. 'like', 'laugh', 'wow') maxLength: 30 title: Type type: string x-stream-index: "006" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "005" user_id: description: ID of a user who reacted to a message title: User ID type: string x-stream-index: "004" required: - type title: Reaction type: object x-stream-docs-page-id: send_reaction ReactionResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/Message' x-stream-index: "001" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "002" required: - duration type: object ReactionUpdatedEvent: nullable: true properties: channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "006.002" message: $ref: '#/components/schemas/Message' x-stream-index: "001" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "002" team: type: string x-stream-index: "005.001" type: default: reaction.updated type: string x-stream-index: "006.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - message - reaction - cid - channel_id - channel_type - type - created_at title: ReactionUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent 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" user_id: title: User ID type: string x-stream-index: "001" required: - user_id type: object ReactivateUserResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: 001.002.001 user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.001" required: - duration type: object ReactivateUsersRequest: 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_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 maximum: 100 minimum: 1 title: User IDs type: array x-stream-index: "001" required: - user_ids type: object ReactivateUsersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: 001.002.001 task_id: type: string x-stream-index: "001.001" required: - task_id - duration type: object Read: nullable: true properties: 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/UserObject' x-stream-index: "001" required: - last_read - unread_messages 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: - audio_only - mode - quality type: object Response: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001" required: - duration type: object RestoreUsersRequest: nullable: true properties: user_ids: items: type: string maximum: 100 minimum: 1 type: array x-stream-index: "001" required: - user_ids 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" required: - incoming_call_timeout_ms - auto_cancel_timeout_ms 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 ScreensharingSettings: properties: access_request_enabled: type: boolean x-stream-index: "002" enabled: type: boolean x-stream-index: "001" required: - enabled - access_request_enabled type: object SearchRequest: 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-index: "002" limit: description: Number of messages to return format: int32 title: Limit type: integer x-stream-index: "004" message_filter_conditions: additionalProperties: {} description: Message filter conditions title: Message filter type: object x-stream-index: "003" next: description: Pagination parameter. Cannot be used with non-zero offset. title: Next type: string x-stream-index: "007" offset: description: Pagination offset. Cannot be used with sort or next. format: int32 title: Offset type: integer x-stream-index: "005" 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/SortParam' title: Sort type: array x-stream-index: "006" required: - filter_conditions type: object SearchResponse: nullable: true properties: 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 SearchResult: nullable: true properties: message: $ref: '#/components/schemas/SearchResultMessage' description: Found message title: Message x-stream-index: "001" type: object SearchResultMessage: additionalProperties: true properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: "001.011" before_message_send_failed: type: boolean x-stream-index: "001.043" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: "002" cid: type: string x-stream-index: "001.026" command: type: string x-stream-index: "001.006" created_at: format: date-time type: string x-stream-index: "001.028" deleted_at: format: date-time type: string x-stream-index: "001.030" deleted_reply_count: format: int32 type: integer x-stream-index: "001.021" html: type: string x-stream-index: "001.007" i18n: additionalProperties: type: string type: object x-stream-index: "001.041" id: type: string x-stream-index: "001.002" image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: "001.037" latest_reactions: items: $ref: '#/components/schemas/Reaction' type: array x-stream-index: "001.012" mentioned_users: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.040" mml: type: string x-stream-index: "001.005" own_reactions: items: $ref: '#/components/schemas/Reaction' type: array x-stream-index: "001.013" parent_id: type: string x-stream-index: "001.017" pin_expires: format: date-time type: string x-stream-index: "001.048" pinned: type: boolean x-stream-index: "001.044" pinned_at: format: date-time type: string x-stream-index: "001.045" pinned_by: $ref: '#/components/schemas/UserObject' x-stream-index: "001.047" quoted_message: $ref: '#/components/schemas/Message' x-stream-index: "001.023" quoted_message_id: type: string x-stream-index: "001.022" reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.014" reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.015" reply_count: format: int32 type: integer x-stream-index: "001.020" shadowed: type: boolean x-stream-index: "001.033" show_in_channel: type: boolean x-stream-index: "001.019" silent: type: boolean x-stream-index: "001.042" text: type: string x-stream-index: "001.004" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.025" type: type: string x-stream-index: "001.008" updated_at: format: date-time type: string x-stream-index: "001.029" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.010" required: - id - text - html - type - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - shadowed - mentioned_users - silent - pinned 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 SendEventRequest: nullable: true properties: event: $ref: '#/components/schemas/EventRequest' x-stream-index: "001" required: - event type: object SendMessageRequest: description: Contains all information needed to send new message nullable: true properties: force_moderation: description: Enable moderation on server-side requests title: Force moderation type: boolean x-stream-index: "006" is_pending_message: type: boolean x-stream-index: "004" keep_channel_hidden: description: Keeps the channel hidden for the sender title: Keep channel hidden type: boolean x-stream-index: "007" message: $ref: '#/components/schemas/MessageRequest' x-stream-index: "001.001" pending: description: Make the message a pending message. This message will not be viewable to others until it is committed. title: Pending type: boolean x-stream-index: "005" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "001.002" skip_enrich_url: description: Do not try to enrich the links within message title: Skip Enrich URL type: boolean x-stream-index: "003" skip_push: description: Disables all push notifications for this message title: Skip push notifications type: boolean x-stream-index: "002" required: - message title: Send Message Request type: object SendReactionRequest: nullable: true properties: ID: type: string writeOnly: true x-stream-index: "001" 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 SendUserCustomEventRequest: nullable: true properties: event: $ref: '#/components/schemas/UserCustomEventRequest' x-stream-index: "002" required: - event type: object ShowChannelRequest: nullable: true properties: user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object ShowChannelResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration type: object SortParam: nullable: true properties: direction: description: Direction of sorting, -1 for descending, 1 for ascending format: int32 title: Direction type: integer x-stream-index: "002" field: description: Name of field to sort by title: Field type: string x-stream-index: "001" type: object SortParamRequest: nullable: true properties: direction: description: Direction of sorting, -1 for descending, 1 for ascending format: int32 title: Direction type: integer x-stream-index: "002" field: description: Name of field to sort by title: Field type: string x-stream-index: "001" type: object StopWatchingResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration type: object SyncRequest: nullable: true properties: channel_cids: description: List of channel CIDs to sync items: type: string maximum: 255 minimum: 1 title: Channel CIDs type: array x-stream-index: "001" client_id: type: string x-stream-index: "006.002" connection_id: type: string x-stream-index: "006.003" last_sync_at: description: Date from which synchronization should happen format: date-time title: Last sync at type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" watch: description: If set to true this will start watching requested and newly added channels that user has access to. If error occurred with this option enabled and it is not an input error - channels will still be watched. title: Watch synced channels type: boolean x-stream-index: "004" with_inaccessible_cids: description: If set to true this will add 'inaccessible_cids' to response type title: With inaccessible CIDs type: boolean x-stream-index: "003" required: - last_sync_at type: object SyncResponse: nullable: true properties: duration: type: string x-stream-index: "003.001" events: description: List of events items: $ref: '#/components/schemas/Event' title: Events type: array x-stream-index: "001" inaccessible_cids: description: List of CIDs that user can't access items: type: string title: Inaccessible CIDs type: array x-stream-index: "002" required: - events - duration type: object TargetResolution: properties: bitrate: format: int32 maximum: 6000000 type: integer x-stream-index: "003" height: format: int32 maximum: 2560 minimum: 240 type: integer x-stream-index: "002" width: format: int32 maximum: 2560 minimum: 240 type: integer x-stream-index: "001" required: - width - height - bitrate type: object Thresholds: description: Sets thresholds for AI moderation properties: explicit: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for explicit messages title: Explicit x-stream-index: "001" spam: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for spam title: Spam x-stream-index: "002" toxic: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for toxic messages title: Toxic x-stream-index: "003" title: Auto moderation thresholds type: object ThresholdsRequest: description: Sets thresholds for AI moderation properties: explicit: $ref: '#/components/schemas/LabelThresholdsRequest' description: Thresholds for explicit messages title: Explicit x-stream-index: "001" spam: $ref: '#/components/schemas/LabelThresholdsRequest' description: Thresholds for spam title: Spam x-stream-index: "002" toxic: $ref: '#/components/schemas/LabelThresholdsRequest' description: Thresholds for toxic messages title: Toxic x-stream-index: "003" title: Auto moderation thresholds type: object ThumbnailsSettings: properties: enabled: type: boolean x-stream-index: "001" required: - enabled type: object TranscriptionSettings: properties: closed_caption_mode: type: string x-stream-index: "002" mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" required: - mode - closed_caption_mode 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 title: Language type: string x-stream-index: "002" required: - language 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" 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/UserObjectRequest' x-stream-index: "007.002" user_id: type: string x-stream-index: "007.001" type: object TruncateChannelResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" message: $ref: '#/components/schemas/Message' x-stream-index: "003" required: - duration type: object TypingStartEvent: properties: channel_id: type: string x-stream-index: "003.002" channel_type: type: string x-stream-index: "003.003" cid: type: string x-stream-index: "003.001" created_at: format: date-time type: string x-stream-index: "004.002" parent_id: type: string x-stream-index: "001" type: default: typing.start type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002.001" required: - cid - channel_id - channel_type - type - created_at title: TypingStartEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent TypingStopEvent: properties: channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "004.002" parent_id: type: string x-stream-index: "001" type: default: typing.stop type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - cid - channel_id - channel_type - type - created_at title: TypingStopEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UnmuteChannelRequest: nullable: true properties: channel_cid: type: string x-stream-index: "001.001" channel_cids: items: type: string maximum: 25 type: array x-stream-index: "001.002" expiration: type: integer x-stream-index: "001.003" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" required: - channel_cid - channel_cids type: object UnmuteResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "001.001" required: - duration type: object UnmuteUserRequest: nullable: true properties: target_id: type: string x-stream-index: "001.001" target_ids: items: type: string maximum: 1000 type: array x-stream-index: "001.002" timeout: minimum: 0 type: integer x-stream-index: "001.003" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" required: - target_id - target_ids type: object UpdateAppRequest: nullable: true properties: agora_options: $ref: '#/components/schemas/ConfigRequest' x-stream-index: "001.036" apn_config: $ref: '#/components/schemas/APNConfigRequest' x-stream-index: "001.003" async_moderation_config: $ref: '#/components/schemas/AsyncModerationConfigurationRequest' x-stream-index: "001.038" async_url_enrich_enabled: type: boolean x-stream-index: "001.016" auto_translation_enabled: type: boolean x-stream-index: "001.015" before_message_send_hook_url: type: string x-stream-index: "001.017" cdn_expiration_seconds: format: int32 maximum: 1209600 minimum: 14400 type: integer x-stream-index: "001.034" channel_hide_members_only: type: boolean x-stream-index: "001.030" custom_action_handler_url: type: string x-stream-index: "001.018" disable_auth_checks: type: boolean x-stream-index: "001.001" disable_permissions_checks: type: boolean x-stream-index: "001.002" enforce_unique_usernames: enum: - "no" - app - team type: string x-stream-index: "001.019" file_upload_config: $ref: '#/components/schemas/FileUploadConfigRequest' x-stream-index: "001.027" firebase_config: $ref: '#/components/schemas/FirebaseConfigRequest' x-stream-index: "001.004" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "001.031" hms_options: $ref: '#/components/schemas/ConfigRequest' x-stream-index: "001.037" huawei_config: $ref: '#/components/schemas/HuaweiConfigRequest' x-stream-index: "001.005" image_moderation_block_labels: items: type: string type: array x-stream-index: "001.013" image_moderation_enabled: type: boolean x-stream-index: "001.014" image_moderation_labels: items: type: string type: array x-stream-index: "001.012" image_upload_config: $ref: '#/components/schemas/FileUploadConfigRequest' x-stream-index: "001.026" migrate_permissions_to_v2: type: boolean x-stream-index: "001.032" multi_tenant_enabled: type: boolean x-stream-index: "001.011" permission_version: enum: - v1 - v2 type: string x-stream-index: "001.009" push_config: $ref: '#/components/schemas/PushConfigRequest' x-stream-index: "001.007" reminders_interval: format: int32 maximum: 86400 minimum: 60 type: integer x-stream-index: "001.033" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.028" sns_key: type: string x-stream-index: "001.024" sns_secret: type: string x-stream-index: "001.025" sns_topic_arn: type: string x-stream-index: "001.023" sqs_key: type: string x-stream-index: "001.021" sqs_secret: type: string x-stream-index: "001.022" sqs_url: type: string x-stream-index: "001.020" user_search_disallowed_roles: items: type: string type: array x-stream-index: "001.010" video_provider: enum: - agora - hms type: string x-stream-index: "001.035" webhook_events: items: type: string type: array x-stream-index: "001.029" webhook_url: type: string x-stream-index: "001.008" xiaomi_config: $ref: '#/components/schemas/XiaomiConfigRequest' x-stream-index: "001.006" type: object UpdateBlockListRequest: nullable: true properties: Name: type: string writeOnly: true x-stream-index: "001" words: items: type: string type: array x-stream-index: "002" 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/UserObjectRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - set - unset type: object UpdateChannelPartialResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" members: items: $ref: '#/components/schemas/ChannelMember' type: array x-stream-index: "002" required: - members - duration 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_members: description: List of user IDs to add to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maximum: 100 title: Add members type: array x-stream-index: "001" add_moderators: description: List of user IDs to make channel moderators items: type: string maximum: 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' maximum: 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/ChannelRequest' x-stream-index: "013.001" demote_moderators: description: List of user IDs to take away moderators status from items: type: string maximum: 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" invites: description: List of user IDs to invite to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maximum: 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_members: description: List of user IDs to remove from the channel items: type: string maximum: 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/UserObjectRequest' x-stream-index: "014.002" user_id: type: string x-stream-index: "014.001" required: - remove_members - add_moderators - demote_moderators title: Channel update request type: object x-stream-docs-page-id: channel_update UpdateChannelResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "004.001" members: items: $ref: '#/components/schemas/ChannelMember' type: array x-stream-index: "003" message: $ref: '#/components/schemas/Message' x-stream-index: "002" required: - members - duration type: object UpdateChannelTypeRequest: nullable: true properties: NameFromPath: type: string writeOnly: true x-stream-index: "001" automod: enum: - disabled - simple - AI type: string x-stream-index: 007.001.018 automod_behavior: enum: - flag - block type: string x-stream-index: 007.001.019 automod_thresholds: $ref: '#/components/schemas/ThresholdsRequest' x-stream-index: 007.001.023 blocklist: type: string x-stream-index: 007.001.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 007.001.021 blocklists: items: $ref: '#/components/schemas/BlockListOptionsRequest' type: array x-stream-index: 007.001.022 commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "007.003" connect_events: type: boolean x-stream-index: 007.001.004 custom_events: type: boolean x-stream-index: 007.001.012 grants: additionalProperties: items: type: string type: array type: object x-stream-index: "004" mark_messages_pending: type: boolean x-stream-index: 007.001.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 007.001.017 message_retention: type: string x-stream-index: 007.001.016 mutes: type: boolean x-stream-index: 007.001.009 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "003" push_notifications: type: boolean x-stream-index: 007.001.013 quotes: type: boolean x-stream-index: 007.001.008 reactions: type: boolean x-stream-index: 007.001.006 read_events: type: boolean x-stream-index: 007.001.003 reminders: type: boolean x-stream-index: 007.001.014 replies: type: boolean x-stream-index: 007.001.007 search: type: boolean x-stream-index: 007.001.005 typing_events: type: boolean x-stream-index: 007.001.002 uploads: type: boolean x-stream-index: 007.001.010 url_enrichment: type: boolean x-stream-index: 007.001.011 required: - automod type: object UpdateChannelTypeResponse: nullable: true properties: automod: enum: - disabled - simple - AI type: string x-stream-index: 003.001.018 automod_behavior: enum: - flag - block type: string x-stream-index: 003.001.019 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.001.023 blocklist: type: string x-stream-index: 003.001.020 blocklist_behavior: enum: - flag - block type: string x-stream-index: 003.001.021 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.001.022 commands: items: type: string type: array x-stream-index: "003.003" connect_events: type: boolean x-stream-index: 003.001.004 created_at: format: date-time type: string x-stream-index: 003.002.003 custom_events: type: boolean x-stream-index: 003.001.012 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.015 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.001.017 message_retention: type: string x-stream-index: 003.001.016 mutes: type: boolean x-stream-index: 003.001.009 name: type: string x-stream-index: 003.001.001 permissions: items: $ref: '#/components/schemas/PolicyRequest_1' type: array x-stream-index: "001" push_notifications: type: boolean x-stream-index: 003.001.013 quotes: type: boolean x-stream-index: 003.001.008 reactions: type: boolean x-stream-index: 003.001.006 read_events: type: boolean x-stream-index: 003.001.003 reminders: type: boolean x-stream-index: 003.001.014 replies: type: boolean x-stream-index: 003.001.007 search: type: boolean x-stream-index: 003.001.005 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.010 url_enrichment: type: boolean x-stream-index: 003.001.011 required: - permissions - grants - name - typing_events - read_events - connect_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - message_retention - max_message_length - automod - automod_behavior - created_at - updated_at - commands - duration type: object UpdateCommandRequest: description: Represents custom chat command nullable: true properties: Name: type: string writeOnly: true x-stream-index: "001" 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: Command type: object UpdateCommandResponse: nullable: true properties: command: $ref: '#/components/schemas/Command' x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - duration type: object UpdateMessagePartialRequest: nullable: true properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: "001.001" x-stream-map: description: New value to set key: field title: Value skip_enrich_url: description: Do not try to enrich the links within message title: Skip Enrich URL type: boolean x-stream-index: "005" unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: "001.002" user: $ref: '#/components/schemas/UserObjectRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" required: - set - unset type: object UpdateMessageRequest: description: Contains all information needed to update a message nullable: true properties: message: $ref: '#/components/schemas/MessageRequest' x-stream-index: "001.001" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "001.002" skip_enrich_url: description: Do not try to enrich the links within message title: Skip Enrich URL type: boolean x-stream-index: "003" required: - message title: Update Message Request type: object UpdateUserPartialRequest: nullable: true 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 - set - unset type: object UpdateUsersRequest: nullable: true properties: users: additionalProperties: $ref: '#/components/schemas/UserObjectRequest' description: Object containing users title: Users type: object x-stream-index: "001" x-stream-map: key: user_id required: - users type: object UpdateUsersResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" users: additionalProperties: $ref: '#/components/schemas/UserObject' description: Object containing users title: Users type: object x-stream-index: "001" x-stream-map: key: user_id required: - users - duration type: object UpsertPushProviderRequest: nullable: true properties: push_provider: $ref: '#/components/schemas/PushProviderRequest' x-stream-index: "001" type: object UpsertPushProviderResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" push_provider: $ref: '#/components/schemas/PushProviderResponse' x-stream-index: "001" required: - push_provider - duration type: object UserBannedEvent: nullable: true properties: channel_id: type: string x-stream-index: "006.002" channel_type: type: string x-stream-index: "006.003" cid: type: string x-stream-index: "006.001" created_at: format: date-time type: string x-stream-index: "008.002" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "001" expiration: format: date-time type: string x-stream-index: "003" reason: type: string x-stream-index: "004" shadow: type: boolean x-stream-index: "002" team: type: string x-stream-index: "005.001" type: default: user.banned type: string x-stream-index: "008.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "007.001" required: - created_by - shadow - cid - channel_id - channel_type - type - created_at title: UserBannedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserCustomEventRequest: additionalProperties: true properties: created_at: format: date-time type: string x-stream-index: "005" type: type: string x-stream-index: "001" required: - type type: object UserDeactivatedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.002" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "001" type: default: user.deactivated type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002.001" required: - created_by - type - created_at title: UserDeactivatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserDeletedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" delete_conversation_channels: type: boolean x-stream-index: "005" hard_delete: type: boolean x-stream-index: "003.001" mark_messages_deleted: type: boolean x-stream-index: "004" type: default: user.deleted type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.001" required: - type - created_at - hard_delete - mark_messages_deleted - delete_conversation_channels title: UserDeletedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserFlaggedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "004.002" target_user: type: string x-stream-index: "002" target_users: items: type: string type: array x-stream-index: "003" type: default: user.flagged type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - type - created_at title: UserFlaggedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserMute: nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "009" expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: "008" target: $ref: '#/components/schemas/UserObject' description: User who's muted title: Target x-stream-index: "007" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserObject' description: Owner of channel mute title: User x-stream-index: "005" required: - created_at - updated_at type: object UserMuteRequest: nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "009" expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: "008" target: $ref: '#/components/schemas/UserObjectRequest' description: User who's muted title: Target x-stream-index: "007" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserObjectRequest' description: Owner of channel mute title: User x-stream-index: "005" type: object UserMutedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "004.002" target_user: type: string x-stream-index: "001" target_users: items: type: string type: array x-stream-index: "002" type: default: user.muted type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - type - created_at title: UserMutedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserObject: additionalProperties: true description: Represents chat user properties: ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: string x-stream-index: "015" banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: "014" created_at: description: Date/time of creation format: date-time readOnly: true title: Created at type: string x-stream-index: "007" deactivated_at: description: Date of deactivation format: date-time readOnly: true title: Deactivated at type: string x-stream-index: "012" deleted_at: description: Date/time of deletion format: date-time readOnly: true title: Deleted at type: string x-stream-index: "011" id: description: Unique user identifier title: ID type: string x-stream-index: "003" invisible: type: boolean x-stream-index: "021" language: description: Preferred language of a user title: Language type: string x-stream-index: "030" last_active: description: Date of last activity format: date-time readOnly: true title: Last active type: string x-stream-index: "010" online: description: Whether a user online or not readOnly: true title: Online type: boolean x-stream-index: "020" push_notifications: $ref: '#/components/schemas/PushNotificationSettings' x-stream-index: "023" revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: string x-stream-index: "037" role: description: Determines the set of user permissions title: Role type: string x-stream-index: "004" teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: "031" updated_at: description: Date/time of the last update format: date-time readOnly: true title: Updated at type: string x-stream-index: "008" required: - id - role - banned - online title: User object type: object UserObjectRequest: additionalProperties: true description: Represents chat user properties: ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: string x-stream-index: "015" banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: "014" id: description: Unique user identifier title: ID type: string x-stream-index: "003" invisible: type: boolean x-stream-index: "021" language: description: Preferred language of a user title: Language type: string x-stream-index: "030" push_notifications: $ref: '#/components/schemas/PushNotificationSettingsRequest' x-stream-index: "023" revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: string x-stream-index: "037" role: description: Determines the set of user permissions title: Role type: string x-stream-index: "004" teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: "031" required: - id title: User object type: object UserPresenceChangedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" type: default: user.presence.changed type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.001" required: - type - created_at title: UserPresenceChangedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserReactivatedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" type: default: user.reactivated type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - type - created_at title: UserReactivatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserRequest: properties: custom: additionalProperties: {} title: Custom type: object x-stream-index: "004" id: description: User ID title: ID type: string x-stream-index: "001" image: title: Image type: string x-stream-index: "003" name: description: Optional name of user title: Name type: string x-stream-index: "002" role: title: Role type: string x-backend-only: true x-stream-index: "005" teams: items: type: string title: Teams type: array x-backend-only: true x-stream-index: "006" required: - id type: object UserResponse: additionalProperties: true nullable: true properties: ban_expires: format: date-time type: string x-stream-index: "001.015" banned: type: boolean x-stream-index: "001.014" created_at: format: date-time readOnly: true type: string x-stream-index: "001.007" deactivated_at: format: date-time readOnly: true type: string x-stream-index: "001.012" deleted_at: format: date-time readOnly: true type: string x-stream-index: "001.011" id: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "001.021" language: type: string x-stream-index: "001.030" last_active: format: date-time readOnly: true type: string x-stream-index: "001.010" online: readOnly: true type: boolean x-stream-index: "001.020" push_notifications: $ref: '#/components/schemas/PushNotificationSettings' x-stream-index: "001.023" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.037" role: type: string x-stream-index: "001.004" shadow_banned: description: Whether user is shadow banned or not title: Shadow banned type: boolean x-stream-index: "002" teams: items: type: string type: array x-stream-index: "001.031" updated_at: format: date-time readOnly: true type: string x-stream-index: "001.008" required: - id - role - banned - online - shadow_banned type: object UserUnbannedEvent: nullable: true properties: channel_id: type: string x-stream-index: "002.002" channel_type: type: string x-stream-index: "002.003" cid: type: string x-stream-index: "002.001" created_at: format: date-time type: string x-stream-index: "005.002" shadow: type: boolean x-stream-index: "001" team: type: string x-stream-index: "004.001" type: default: user.unbanned type: string x-stream-index: "005.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" required: - shadow - cid - channel_id - channel_type - type - created_at title: UserUnbannedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserUnmutedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "004.002" target_user: type: string x-stream-index: "002" target_users: items: type: string type: array x-stream-index: "003" type: default: user.unmuted type: string x-stream-index: "004.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - type - created_at title: UserUnmutedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserUnreadReminderEvent: properties: channels: additionalProperties: $ref: '#/components/schemas/ChannelMessages' type: object x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "001.002" type: default: user.unread_message_reminder type: string x-stream-index: "001.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "002" required: - type - created_at - channels title: UserUnreadReminderEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserUpdatedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "002.002" type: default: user.updated type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001" required: - type - created_at title: UserUpdatedEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserWatchingStartEvent: nullable: true properties: channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "003.002" team: type: string x-stream-index: "002.001" type: default: user.watching.start type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "005.001" watcher_count: format: int32 type: integer x-stream-index: "001.001" required: - watcher_count - type - created_at - cid - channel_id - channel_type title: UserWatchingStartEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UserWatchingStopEvent: nullable: true properties: channel_id: type: string x-stream-index: "004.002" channel_type: type: string x-stream-index: "004.003" cid: type: string x-stream-index: "004.001" created_at: format: date-time type: string x-stream-index: "002.002" type: default: user.watching.stop type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "003.001" watcher_count: format: int32 type: integer x-stream-index: "001.001" required: - watcher_count - type - created_at - cid - channel_id - channel_type title: UserWatchingStopEvent type: object x-stream-event-client-type: true x-stream-is-event: true x-stream-ws-base-event-name: ChatEvent UsersResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" users: description: List of found users items: $ref: '#/components/schemas/UserResponse' title: Users type: array x-stream-index: "001" required: - users - duration 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 WSClientEvent: description: This is just a placeholder for all client events properties: connection_id: type: string type: object x-stream-is-ws-client-event: true 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 XiaomiConfigRequest: 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 connectRequestQueryRequest: nullable: true 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 externalDocs: description: Stream Chat Documentation url: https://getstream.io/chat/docs/ info: title: Stream Chat API version: v89.9.2 openapi: 3.0.3 paths: /app: get: description: | This method returns the application settings operationId: GetApp responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetApplicationResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get App Settings tags: - Settings x-stream-docs-page-id: app_setting_overview 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update App Settings tags: - Settings x-stream-docs-page-id: app_setting_overview x-stream-server-side: true /blocklists: get: description: | Returns all available block lists operationId: ListBlockLists responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListBlockListResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List block lists tags: - Settings - Moderation x-stream-docs-page-id: block_lists x-stream-server-side: true 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/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create block list tags: - Settings - Moderation x-stream-docs-page-id: block_lists x-stream-server-side: true /blocklists/{name}: delete: description: | Deletes previously created application blocklist operationId: DeleteBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete block list tags: - Settings - Moderation x-stream-docs-page-id: block_lists x-stream-server-side: true 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" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetBlockListResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get block list tags: - Settings - Moderation x-stream-docs-page-id: block_lists x-stream-server-side: true put: description: | Updates contents of the block list operationId: UpdateBlockList parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update block list tags: - Settings - Moderation x-stream-docs-page-id: block_lists x-stream-server-side: true /calls/{call_id}: post: description: | Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel operationId: GetCallToken parameters: - in: path name: call_id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/GetCallTokenRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/GetCallTokenResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get Call Token x-stream-docs-page-id: video x-stream-permissions: JoinCall: To request the call token ReadChannel: To read the channel /channels: post: description: | Query channels with filter query Required permissions: - ReadChannel operationId: QueryChannels parameters: - in: query name: client_id schema: type: string x-stream-index: "011.002" - in: query name: connection_id schema: type: string x-stream-index: "011.003" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryChannelsRequest' description: Query Channels Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelsResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Query channels tags: - Channels x-stream-docs-page-id: query_channels x-stream-permissions: ReadChannel: To access channels that were requested /channels/{type}/{id}: delete: description: | Deletes channel Sends events: - channel.deleted Required permissions: - DeleteChannel 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete channel tags: - Channels x-stream-docs-page-id: channel_delete x-stream-events: channel.deleted: When channel is deleted x-stream-events-v2: channel.deleted: description: When channel is deleted schema: ref: '#/components/schemas/ChannelDeletedEvent' x-stream-permissions: DeleteChannel: To delete a channel patch: description: | Updates certain fields of the channel Sends events: - channel.updated Required permissions: - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen operationId: UpdateChannelPartial 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/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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Partially update channel tags: - Channels x-stream-docs-page-id: channel_update#partial-update x-stream-events: channel.updated: When channel is updated x-stream-events-v2: channel.updated: description: When channel is updated schema: ref: '#/components/schemas/ChannelUpdatedEvent' x-stream-permissions: UpdateChannel: To update channel data UpdateChannelCooldown: To update channel cooldown (slowmode) UpdateChannelFrozen: To freeze or unfreeze a channel post: description: | Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new Required permissions: - AddOwnChannelMembership - RemoveOwnChannelMembership - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen - UpdateChannelMembers operationId: UpdateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 013.002.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 013.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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update channel tags: - Channels x-stream-docs-page-id: channel_update x-stream-events: channel.updated: When channel is successfully updated member.added: When new channel member is added member.removed: When new channel member is removed member.updated: When new channel member is updated message.new: When system `message` is set x-stream-events-v2: channel.updated: description: When channel is successfully updated schema: ref: '#/components/schemas/ChannelUpdatedEvent' member.added: description: When new channel member is added schema: ref: '#/components/schemas/MemberAddedEvent' member.removed: description: When new channel member is removed schema: ref: '#/components/schemas/MemberRemovedEvent' member.updated: description: When new channel member is updated schema: ref: '#/components/schemas/MemberUpdatedEvent' message.new: description: When system `message` is set schema: ref: '#/components/schemas/MessageNewEvent' x-stream-permissions: AddOwnChannelMembership: To add own channel membership (join a channel) RemoveOwnChannelMembership: To remove own channel membership (leave a channel) UpdateChannel: To update channel data UpdateChannelCooldown: To update channel cooldown (slowmode) UpdateChannelFrozen: To freeze or unfreeze a channel UpdateChannelMembers: To add, remove or modify channel members /channels/{type}/{id}/call: post: description: | Creates a call Required permissions: - CreateCall - ReadChannel operationId: CreateCall parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCallRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateCallResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create a call x-stream-docs-page-id: video x-stream-permissions: CreateCall: To create a call ReadChannel: To read the channel /channels/{type}/{id}/event: post: description: | Sends event to the channel Sends events: - any Required permissions: - SendCustomEvent 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Send event tags: - Events x-stream-docs-page-id: event_object x-stream-events: any: Any event could be sent through this endpoint x-stream-events-v2: any: description: Any event could be sent through this endpoint schema: ref: '#/components/schemas/AnyEvent' x-stream-permissions: SendCustomEvent: To send custom events /channels/{type}/{id}/file: delete: description: | Deletes previously uploaded file Required permissions: - DeleteAttachment operationId: DeleteFile 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/FileDeleteResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete file tags: - Messages - Files x-stream-docs-page-id: file_uploads x-stream-permissions: DeleteAttachment: To delete a file post: description: | Uploads file Required permissions: - UploadAttachment operationId: UploadFile 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/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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Upload file tags: - Messages - Files x-stream-docs-page-id: file_uploads x-stream-permissions: UploadAttachment: To upload a file /channels/{type}/{id}/hide: post: description: | Marks channel as hidden for current user Sends events: - channel.hidden Required permissions: - ReadChannel 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Hide channel tags: - Channels x-stream-docs-page-id: channel_delete#hiding-a-channel x-stream-events: channel.hidden: When channel is hidden x-stream-events-v2: channel.hidden: description: When channel is hidden schema: ref: '#/components/schemas/ChannelHiddenEvent' x-stream-permissions: ReadChannel: To hide specified channel /channels/{type}/{id}/image: delete: description: | Deletes previously uploaded image Required permissions: - DeleteAttachment operationId: DeleteImage 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/FileDeleteResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete image tags: - Messages - Files x-stream-docs-page-id: file_uploads x-stream-permissions: DeleteAttachment: To delete an image post: description: | Uploads image Required permissions: - UploadAttachment operationId: UploadImage 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/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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Upload image tags: - Messages - Files x-stream-docs-page-id: file_uploads x-stream-permissions: UploadAttachment: To upload an image /channels/{type}/{id}/message: post: description: | Sends new message to the specified channel Sends events: - message.new - message.updated Required permissions: - AddLinks - CreateMessage - PinMessage - SkipChannelCooldown - SkipMessageModeration - UseFrozenChannel operationId: SendMessage parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "008.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "008.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' description: Send Message Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageWithPendingMetadataResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Send new message tags: - Messages x-stream-docs-page-id: send_message x-stream-events: message.new: When the message was successfully sent message.updated: Parent message gets this event in case the message had been sent to a thread x-stream-events-v2: message.new: description: When the message was successfully sent schema: ref: '#/components/schemas/MessageNewEvent' message.updated: description: Parent message gets this event in case the message had been sent to a thread schema: ref: '#/components/schemas/MessageUpdatedEvent' x-stream-permissions: AddLinks: To send message with URLs CreateMessage: To send a message PinMessage: To send pinned message SkipChannelCooldown: To bypass channel slow mode SkipMessageModeration: To bypass automatic message moderation UseFrozenChannel: To send a message to frozen channel /channels/{type}/{id}/messages: get: description: | Returns list messages found by IDs Required permissions: - ReadChannel 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 schema: description: List of comma-separated IDs items: type: string maximum: 50 minimum: 1 title: IDs type: array 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get many messages tags: - Messages x-stream-permissions: ReadChannel: To read specified messages /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: "002" - in: path name: id required: true schema: description: Channel ID (maximum length of 64 characters) title: ID type: string writeOnly: true x-stream-index: "003" - in: query name: client_id schema: type: string x-stream-index: "001.002" - in: query name: connection_id schema: type: string x-stream-index: "001.003" 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get or create channel tags: - Channels x-stream-docs-page-id: watch_channel x-stream-events: channel.created: If channel is created member.added: If member is added member.removed: If member is removed member.updated: If member is updated user.watching.start: 'If `watch: true`' x-stream-events-v2: channel.created: description: If channel is created schema: ref: '#/components/schemas/ChannelCreatedEvent' member.added: description: If member is added schema: ref: '#/components/schemas/MemberAddedEvent' member.removed: description: If member is removed schema: ref: '#/components/schemas/MemberRemovedEvent' member.updated: description: If member is updated schema: ref: '#/components/schemas/MemberUpdatedEvent' user.watching.start: description: 'If `watch: true`' schema: ref: '#/components/schemas/UserWatchingStartEvent' /channels/{type}/{id}/read: post: description: | Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel operationId: MarkRead 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/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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Mark read tags: - Channels - Messages x-stream-events: message.read: When the channel is marked as read x-stream-events-v2: message.read: description: When the channel is marked as read schema: ref: '#/components/schemas/MessageReadEvent' x-stream-permissions: ReadChannel: To mark message read /channels/{type}/{id}/show: post: description: | Shows previously hidden channel Sends events: - channel.visible operationId: ShowChannel 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/ShowChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ShowChannelResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Show channel tags: - Channels x-stream-docs-page-id: channel_delete#hiding-a-channel x-stream-events: channel.visible: When channel is shown x-stream-events-v2: channel.visible: description: When channel is shown schema: ref: '#/components/schemas/ChannelVisibleEvent' /channels/{type}/{id}/stop-watching: post: description: | Call this method to stop receiving channel events Sends events: - user.watching.stop operationId: StopWatchingChannel 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: client_id schema: type: string x-stream-index: "001.002" - in: query name: connection_id schema: type: string x-stream-index: "001.003" requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelStopWatchingRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/StopWatchingResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Stop watching channel tags: - Channels x-stream-events: user.watching.stop: When successfully stopped watching x-stream-events-v2: user.watching.stop: description: When successfully stopped watching schema: ref: '#/components/schemas/UserWatchingStopEvent' /channels/{type}/{id}/truncate: post: description: | Truncates channel Sends events: - channel.truncated Required permissions: - DeleteChannel - TruncateChannel 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Truncate channel tags: - Channels x-stream-docs-page-id: truncate_channel x-stream-events: channel.truncated: When channel is truncated x-stream-events-v2: channel.truncated: description: When channel is truncated schema: ref: '#/components/schemas/ChannelTruncatedEvent' x-stream-permissions: DeleteChannel: To truncate a channel if TruncateChannel is not allowed or hard_delete is requested TruncateChannel: To truncate a channel if DeleteChannel is not allowed /channels/{type}/{id}/unread: post: description: | Marks channel as unread from a specific message Required permissions: - ReadChannel 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Mark unread tags: - Channels - Messages x-stream-permissions: ReadChannel: To mark messages unread /channels/delete: post: description: | Allows to delete several channels at once asynchronously Sends events: - channel.deleted Required permissions: - DeleteChannel 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Deletes channels asynchronously tags: - Channels - GDPR x-stream-docs-page-id: gdpr x-stream-events: channel.deleted: When a channel is deleted x-stream-events-v2: channel.deleted: description: When a channel is deleted schema: ref: '#/components/schemas/ChannelDeletedEvent' x-stream-permissions: DeleteChannel: To delete a channel /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 Required permissions: - ReadChannel 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Mark channels as read tags: - Channels - Messages x-stream-events: message.read: When the channel is marked as read x-stream-events-v2: message.read: description: When the channel is marked as read schema: ref: '#/components/schemas/MessageReadEvent' x-stream-permissions: ReadChannel: To mark message read /channeltypes: get: description: | Lists all available channel types operationId: ListChannelTypes responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListChannelTypesResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List channel types tags: - Settings - Channel types x-stream-docs-page-id: channel_features x-stream-server-side: true post: description: | Creates new channel type operationId: CreateChannelType requestBody: content: application/json: schema: $ref: '#/components/schemas/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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create channel type tags: - Settings - Channel types x-stream-docs-page-id: channel_features x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete channel type tags: - Settings - Channel types x-stream-docs-page-id: channel_features x-stream-server-side: true 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/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get channel type tags: - Settings - Channel types x-stream-docs-page-id: channel_features x-stream-server-side: true 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update channel type tags: - Settings - Channel types x-stream-docs-page-id: channel_features x-stream-server-side: true /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' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Check push tags: - Settings - Testing x-stream-docs-page-id: push_test x-stream-server-side: true /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Check SNS tags: - Settings - Testing x-stream-docs-page-id: sns x-stream-server-side: true /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Check SQS tags: - Settings - Testing x-stream-docs-page-id: sqs x-stream-server-side: true /commands: get: description: | Returns all custom commands operationId: ListCommands responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListCommandsResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List commands tags: - Custom commands x-stream-docs-page-id: custom_commands_webhook x-stream-server-side: true post: description: | Creates custom chat command operationId: CreateCommand requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCommandRequest' description: Command required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateCommandResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create command tags: - Custom commands x-stream-docs-page-id: custom_commands_webhook x-stream-server-side: true /commands/{name}: delete: description: | Deletes custom chat command operationId: DeleteCommand parameters: - in: path name: name required: true schema: type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteCommandResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete command tags: - Custom commands x-stream-docs-page-id: custom_commands_webhook x-stream-server-side: true get: description: | Returns custom command by its name operationId: GetCommand parameters: - in: path name: name required: true schema: type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetCommandResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get command tags: - Custom commands x-stream-docs-page-id: custom_commands_webhook x-stream-server-side: true 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: Command required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateCommandResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update command tags: - Custom commands x-stream-docs-page-id: custom_commands_webhook x-stream-server-side: true /connect: get: description: | Establishes WebSocket connection for user Sends events: - user.updated operationId: Connect parameters: - content: application/json: schema: $ref: '#/components/schemas/ConnectRequest' x-stream-index: "001" in: query name: json responses: "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Connect (WebSocket) tags: - Users x-stream-docs-page-id: init_and_users x-stream-events: user.updated: When user is created or updated x-stream-events-v2: user.updated: description: When user is created or updated schema: ref: '#/components/schemas/UserUpdatedEvent' /devices: delete: description: | Deletes one device operationId: DeleteDevice parameters: - in: query name: id 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete device tags: - Devices x-stream-docs-page-id: push_devices 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List devices tags: - Devices x-stream-docs-page-id: push_devices 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' required: true responses: "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create device tags: - Devices - Push x-stream-docs-page-id: push_devices /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Export users tags: - Users x-stream-beta: true x-stream-docs-page-id: gdpr x-stream-server-side: true /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Export channels tags: - Channels x-stream-docs-page-id: exporting_channels x-stream-server-side: true /export_channels/{id}: get: description: |2+ operationId: GetExportChannelsStatus 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/GetExportChannelsStatusResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Export channels status tags: - Channels x-stream-docs-page-id: exporting_channels x-stream-server-side: true /guest: post: description: | Creates guest user operationId: CreateGuest requestBody: content: application/json: schema: $ref: '#/components/schemas/GuestRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/GuestResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create guest tags: - Users x-stream-docs-page-id: guest_users /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create import URL tags: - Imports x-stream-beta: true x-stream-docs-page-id: imports x-stream-server-side: true /imports: get: description: | Gets an import operationId: ListImports responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListImportsResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get import tags: - Imports x-stream-beta: true x-stream-docs-page-id: imports x-stream-server-side: true 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create import tags: - Imports x-stream-beta: true x-stream-docs-page-id: imports x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get import tags: - Imports x-stream-beta: true x-stream-docs-page-id: imports x-stream-server-side: true /longpoll: get: description: | WebSocket fallback transport endpoint Sends events: - user.updated operationId: LongPoll parameters: - content: application/json: schema: $ref: '#/components/schemas/ConnectRequest' x-stream-index: "001" in: query name: json - in: query name: connection_id schema: maxLength: 36 type: string writeOnly: true x-stream-index: "002" responses: "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Long Poll (Transport) tags: - Users x-stream-docs-page-id: init_and_users x-stream-events: user.updated: When user is created or updated x-stream-events-v2: user.updated: description: When user is created or updated schema: ref: '#/components/schemas/UserUpdatedEvent' /members: get: description: | Find and filter channel members Required permissions: - ReadChannel operationId: QueryMembers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMembersRequest' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Query members tags: - Channels x-stream-docs-page-id: query_members x-stream-permissions: ReadChannel: To read members of specified channel /messages/{id}: delete: description: | Deletes message Sends events: - message.deleted Required permissions: - DeleteMessage 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: created_by schema: type: string writeOnly: true x-stream-index: "003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete message tags: - Messages x-stream-docs-page-id: send_message#delete-a-message x-stream-events: message.deleted: When message is deleted x-stream-events-v2: message.deleted: description: When message is deleted schema: ref: '#/components/schemas/MessageDeletedEvent' x-stream-permissions: DeleteMessage: To delete a message get: description: | Returns message by ID Required permissions: - ReadChannel operationId: GetMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/MessageWithPendingMetadataResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get message tags: - Messages x-stream-docs-page-id: send_message#get-a-message x-stream-permissions: ReadChannel: To read specified message post: description: | Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage operationId: UpdateMessage 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/UpdateMessageRequest' description: Update Message Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Update message tags: - Messages x-stream-docs-page-id: send_message#update-a-message x-stream-events: message.updated: When message is updated x-stream-events-v2: message.updated: description: When message is updated schema: ref: '#/components/schemas/MessageUpdatedEvent' x-stream-permissions: AddLinks: To add URLs to a message PinMessage: To pin a message SkipMessageModeration: To bypass automatic message moderation UpdateMessage: To update message text or other data put: description: | Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage operationId: UpdateMessagePartial parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "003.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Partially message update tags: - Messages x-stream-docs-page-id: send_message#partial-update x-stream-events: message.updated: When message is updated x-stream-events-v2: message.updated: description: When message is updated schema: ref: '#/components/schemas/MessageUpdatedEvent' x-stream-permissions: AddLinks: To add URLs to a message PinMessage: To pin a message SkipMessageModeration: To bypass automatic message moderation UpdateMessage: To update message text or other data /messages/{id}/action: post: description: | Executes message command action with given parameters Sends events: - message.new Required permissions: - RunMessageAction 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/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Run message command action tags: - Messages x-stream-events: message.new: When messages became visible after command execution x-stream-events-v2: message.new: description: When messages became visible after command execution schema: ref: '#/components/schemas/MessageNewEvent' x-stream-permissions: RunMessageAction: To execute action on specified message /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/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Commit message x-stream-events: message.new: When the message was successfully sent message.updated: Parent message gets this event in case the message had been sent to a thread x-stream-events-v2: message.new: description: When the message was successfully sent schema: ref: '#/components/schemas/MessageNewEvent' message.updated: description: Parent message gets this event in case the message had been sent to a thread schema: ref: '#/components/schemas/MessageUpdatedEvent' x-stream-server-side: true /messages/{id}/reaction: post: description: | Sends reaction to specified message Sends events: - reaction.new - reaction.updated Required permissions: - CreateReaction - UseFrozenChannel 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/ReactionResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Send reaction tags: - Messages - Reactions x-stream-docs-page-id: send_reaction x-stream-events: reaction.new: When new reaction is created reaction.updated: When reaction is updated x-stream-events-v2: reaction.new: description: When new reaction is created schema: ref: '#/components/schemas/ReactionNewEvent' reaction.updated: description: When reaction is updated schema: ref: '#/components/schemas/ReactionUpdatedEvent' x-stream-permissions: CreateReaction: To send a reaction UseFrozenChannel: To send a message to frozen channel /messages/{id}/reaction/{type}: delete: description: | Removes user reaction from the message Sends events: - reaction.deleted Required permissions: - DeleteReaction 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/ReactionRemovalResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete reaction tags: - Messages - Reactions x-stream-docs-page-id: send_reaction x-stream-events: reaction.deleted: When reaction is deleted x-stream-events-v2: reaction.deleted: description: When reaction is deleted schema: ref: '#/components/schemas/ReactionDeletedEvent' x-stream-permissions: DeleteReaction: To delete a reaction /messages/{id}/reactions: get: description: | Returns list of reactions of specific message Required permissions: - ReadChannel 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get reactions tags: - Messages - Reactions x-stream-docs-page-id: send_reaction x-stream-permissions: ReadChannel: To read specified reactions /messages/{id}/translate: post: description: | Translates message to a given language using automated translation software Sends events: - message.updated Required permissions: - ReadChannel operationId: TranslateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "001.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslateMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Translate message tags: - Messages x-stream-docs-page-id: translation x-stream-events: message.updated: When event is updated with translation data x-stream-events-v2: message.updated: description: When event is updated with translation data schema: ref: '#/components/schemas/MessageUpdatedEvent' x-stream-permissions: ReadChannel: To access channel of specified message /messages/{parent_id}/replies: get: description: | Returns replies (thread) of the message Required permissions: - ReadChannel operationId: GetReplies parameters: - in: path name: parent_id required: true schema: description: ID of a message which replies to return title: Parent ID type: string writeOnly: true x-stream-index: "001" - in: query name: id_gte schema: type: string x-stream-index: 002.001.003 - in: query name: id_gt schema: type: string x-stream-index: 002.001.004 - in: query name: id_lte schema: type: string x-stream-index: 002.001.005 - in: query name: id_lt schema: type: string x-stream-index: 002.001.006 - in: query name: created_at_after_or_equal schema: format: date-time type: string x-stream-index: 002.001.007 - in: query name: created_at_after schema: format: date-time type: string x-stream-index: 002.001.008 - in: query name: created_at_before_or_equal schema: format: date-time type: string x-stream-index: 002.001.009 - in: query name: created_at_before schema: format: date-time type: string x-stream-index: 002.001.010 - in: query name: id_around schema: type: string x-stream-index: 002.001.011 - in: query name: created_at_around schema: format: date-time type: string x-stream-index: 002.001.012 responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetRepliesResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get replies tags: - Messages x-stream-docs-page-id: threads x-stream-permissions: ReadChannel: To read replies of specified message /moderation/ban: delete: description: | Removes previously applied ban Sends events: - user.unbanned Required permissions: - BanChannelMember - BanUser operationId: Unban parameters: - in: query name: target_user_id schema: type: string x-stream-index: "001" - in: query name: type schema: type: string x-stream-index: "002" - in: query name: id schema: type: string x-stream-index: "003" - in: query name: created_by schema: type: string x-stream-index: "004" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Unban user tags: - Users - Moderation x-stream-docs-page-id: moderation#ban x-stream-events: user.unbanned: When user is unbanned x-stream-events-v2: user.unbanned: description: When user is unbanned schema: ref: '#/components/schemas/UserUnbannedEvent' x-stream-permissions: BanChannelMember: To unban channel member BanUser: To unban a user post: description: | Restricts user activity either in specific channel or globally Sends events: - user.banned Required permissions: - BanChannelMember - BanUser operationId: Ban requestBody: content: application/json: schema: $ref: '#/components/schemas/BanRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Ban user tags: - Users - Moderation x-stream-docs-page-id: moderation#ban x-stream-events: user.banned: When user is banned x-stream-events-v2: user.banned: description: When user is banned schema: ref: '#/components/schemas/UserBannedEvent' x-stream-permissions: BanChannelMember: To ban channel member BanUser: To ban a user /moderation/flag: post: description: | Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser operationId: Flag requestBody: content: application/json: schema: $ref: '#/components/schemas/FlagRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/FlagResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Flag tags: - Moderation - Messages - Users x-stream-docs-page-id: moderation#flag x-stream-events: message.flagged: When message is flagged user.flagged: When user is flagged x-stream-events-v2: message.flagged: description: When message is flagged schema: ref: '#/components/schemas/MessageFlaggedEvent' user.flagged: description: When user is flagged schema: ref: '#/components/schemas/UserFlaggedEvent' x-stream-permissions: FlagMessage: To flag a message FlagUser: To flag a user /moderation/flags/message: get: description: | Find and filter message flags Required permissions: - ReadMessageFlags operationId: QueryMessageFlags parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsRequest' x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Query Message Flags tags: - Messages - Moderation x-stream-docs-page-id: moderation#query-message-flags x-stream-permissions: ReadMessageFlags: To read flagged messages /moderation/mute: post: description: | Mutes one or several users Sends events: - user.muted Required permissions: - MuteUser 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Mute user tags: - Users - Moderation x-stream-docs-page-id: moderation#mutes x-stream-events: user.muted: When user is muted x-stream-events-v2: user.muted: description: When user is muted schema: ref: '#/components/schemas/UserMutedEvent' x-stream-permissions: MuteUser: To mute a user /moderation/mute/channel: post: description: | Mutes channel for user Sends events: - channel.muted Required permissions: - MuteChannel 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Mute channel tags: - Channels x-stream-docs-page-id: muting_channels x-stream-events: channel.muted: When channel is muted x-stream-events-v2: channel.muted: description: When channel is muted schema: ref: '#/components/schemas/ChannelMutedEvent' x-stream-permissions: MuteChannel: To mute a channel /moderation/unflag: post: description: | Removes previously created user or message flag Required permissions: - FlagMessage - FlagUser operationId: Unflag requestBody: content: application/json: schema: $ref: '#/components/schemas/FlagRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/FlagResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Unflag tags: - Moderation - Messages - Users x-stream-deprecated: true x-stream-docs-page-id: moderation#flag x-stream-permissions: FlagMessage: To remove message flag FlagUser: To remove user flag /moderation/unmute: post: description: | Unmutes previously muted user Sends events: - user.unmuted Required permissions: - MuteUser operationId: UnmuteUser requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnmuteResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Unmute user tags: - Users - Moderation x-stream-docs-page-id: moderation#mutes x-stream-events: user.unmuted: When user is unmuted x-stream-events-v2: user.unmuted: description: When user is unmuted schema: ref: '#/components/schemas/UserUnmutedEvent' x-stream-permissions: MuteUser: To unmute a user /moderation/unmute/channel: post: description: | Unmutes channel for user Sends events: - channel.unmuted Required permissions: - MuteChannel operationId: UnmuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnmuteResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Unmute channel tags: - Channels x-stream-docs-page-id: muting_channels x-stream-events: channel.unmuted: When channel is unmuted x-stream-events-v2: channel.unmuted: description: When channel is unmuted schema: ref: '#/components/schemas/ChannelUnmutedEvent' x-stream-permissions: MuteChannel: To unmute a channel /og: get: description: | Get an OpenGraph attachment for a link operationId: GetOG parameters: - in: query name: url 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get OG tags: - Messages x-stream-docs-page-id: og /permissions: get: description: | Lists all available permissions operationId: ListPermissions responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListPermissionsResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List permissions tags: - Permissions V2 x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get permission tags: - Permissions V2 x-stream-server-side: true /push_providers: get: description: | List details of all push providers. operationId: ListPushProviders responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListPushProvidersResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List push providers tags: - Push - Settings x-stream-docs-page-id: push x-stream-server-side: true 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Upsert a push provider tags: - Server-side x-stream-docs-page-id: push x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete a push provider tags: - Push - Settings x-stream-docs-page-id: push x-stream-server-side: true /query_banned_users: get: description: | Find and filter channel scoped or global user bans Required permissions: - ReadChannel operationId: QueryBannedUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersRequest' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Query Banned Users tags: - Users - Moderation x-stream-docs-page-id: moderation#query-banned-users x-stream-permissions: ReadChannel: To read banned users of specified channels /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get rate limits tags: - Settings x-stream-docs-page-id: rate_limits x-stream-server-side: true /roles: get: description: | Lists all available roles operationId: ListRoles responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListRolesResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: List roles tags: - Permissions V2 x-stream-server-side: true 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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Create role tags: - Permissions V2 x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete role tags: - Permissions V2 x-stream-server-side: true /search: get: description: | Search messages across channels Required permissions: - ReadChannel operationId: Search parameters: - content: application/json: schema: $ref: '#/components/schemas/SearchRequest' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Search messages tags: - Channels - Messages x-stream-docs-page-id: search x-stream-permissions: ReadChannel: To read channels that were found by search /sync: post: description: | Returns all events happened since client disconnect in specified channels Required permissions: - ReadChannel operationId: Sync parameters: - in: query name: with_inaccessible_cids schema: description: If set to true this will add 'inaccessible_cids' to response type title: With inaccessible CIDs type: boolean x-stream-index: "003" - in: query name: watch schema: description: If set to true this will start watching requested and newly added channels that user has access to. If error occurred with this option enabled and it is not an input error - channels will still be watched. title: Watch synced channels type: boolean x-stream-index: "004" - in: query name: client_id schema: type: string x-stream-index: "006.002" - in: query name: connection_id schema: type: string x-stream-index: "006.003" requestBody: content: application/json: schema: $ref: '#/components/schemas/SyncRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SyncResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Sync tags: - Channels - Events x-stream-permissions: ReadChannel: To access channels that were requested /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Get status of a task tags: - Tasks x-stream-docs-page-id: tasks x-stream-server-side: true /users: get: description: | Find and filter users Required permissions: - SearchUser operationId: QueryUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryUsersRequest' x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/UsersResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Query users tags: - Users x-stream-docs-page-id: query_users x-stream-permissions: SearchUser: To search users 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/UpdateUserPartialRequest' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Partially update user tags: - Users x-stream-docs-page-id: update_users x-stream-events: user.presence.changed: When user visibility changes user.updated: When user is updated x-stream-events-v2: user.presence.changed: description: When user visibility changes schema: ref: '#/components/schemas/UserPresenceChangedEvent' user.updated: description: When user is updated schema: ref: '#/components/schemas/UserUpdatedEvent' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Upsert users tags: - Users x-stream-docs-page-id: update_users x-stream-events: user.updated: When user is updated x-stream-events-v2: user.updated: description: When user is updated schema: ref: '#/components/schemas/UserUpdatedEvent' /users/{user_id}: delete: description: | Deletes user and optionally all their belongings. The Endpoint is deprecated, please use 'Delete Users' endpoint instead Sends events: - channel.deleted - message.deleted - user.deleted operationId: DeleteUser parameters: - in: path name: user_id required: true schema: description: ID of user to delete title: User ID type: string x-stream-index: "001" - in: query name: mark_messages_deleted schema: description: Delete user messages title: Mark messages deleted type: boolean x-stream-index: "002" - in: query name: hard_delete schema: description: Delete all user data (messages, reactions, etc.) title: Hard delete type: boolean x-stream-index: "003" - in: query name: delete_conversation_channels schema: description: Delete all one-to-one channels of the user title: Delete conversations type: boolean x-stream-index: "004" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteUserResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete user tags: - Users - GDPR - Moderation x-stream-deprecated: true x-stream-docs-page-id: gdpr x-stream-events: channel.deleted: When channel is deleted message.deleted: When message is deleted user.deleted: When user is deleted x-stream-events-v2: channel.deleted: description: When channel is deleted schema: ref: '#/components/schemas/ChannelDeletedEvent' message.deleted: description: When message is deleted schema: ref: '#/components/schemas/MessageDeletedEvent' user.deleted: description: When user is deleted schema: ref: '#/components/schemas/UserDeletedEvent' x-stream-server-side: true /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 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Deactivate user tags: - Users - GDPR - Moderation x-stream-docs-page-id: gdpr x-stream-events: user.deactivated: When user is deactivated x-stream-events-v2: user.deactivated: description: When user is deactivated schema: ref: '#/components/schemas/UserDeactivatedEvent' x-stream-server-side: true /users/{user_id}/event: post: description: | Sends a custom event to a user Sends events: - custom operationId: SendUserCustomEvent parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendUserCustomEventRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Send user event tags: - Events x-stream-docs-page-id: event_object x-stream-events: custom: Only custom event could be sent through this endpoint x-stream-events-v2: custom: description: Only custom event could be sent through this endpoint schema: ref: '#/components/schemas/AnyEvent' x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Export user tags: - Users x-stream-docs-page-id: gdpr x-stream-server-side: true /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Reactivate user tags: - Users - GDPR - Moderation x-stream-docs-page-id: gdpr x-stream-events: user.reactivated: When user is reactivated x-stream-events-v2: user.reactivated: description: When user is reactivated schema: ref: '#/components/schemas/UserReactivatedEvent' x-stream-server-side: true /users/deactivate: post: description: | Deactivate users in batches Sends events: - user.deactivated operationId: DeactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Deactivate users tags: - Users - GDPR - Moderation x-stream-docs-page-id: gdpr x-stream-events: user.deactivated: When user is deactivated x-stream-events-v2: user.deactivated: description: When user is deactivated schema: ref: '#/components/schemas/UserDeactivatedEvent' x-stream-server-side: true /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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Delete Users tags: - Users - GDPR - Moderation x-stream-docs-page-id: gdpr x-stream-events: channel.deleted: When channel is deleted user.deleted: When user is deleted x-stream-events-v2: channel.deleted: description: When channel is deleted schema: ref: '#/components/schemas/ChannelDeletedEvent' user.deleted: description: When user is deleted schema: ref: '#/components/schemas/UserDeletedEvent' x-stream-server-side: true /users/reactivate: post: description: | Reactivate users in batches Sends events: - user.reactivated operationId: ReactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersResponse' 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Reactivate users tags: - Users - GDPR - Moderation x-stream-docs-page-id: gdpr x-stream-events: user.reactivated: When user is reactivated x-stream-events-v2: user.reactivated: description: When user is reactivated schema: ref: '#/components/schemas/UserReactivatedEvent' x-stream-server-side: true /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: 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 headers: X-RateLimit-Limit: description: The number of allowed requests in the current period schema: type: integer X-RateLimit-Remaining: description: The number of remaining requests in the current period schema: type: integer X-RateLimit-Reset: description: Timestamp when number of requests will be reset schema: type: integer summary: Restore users tags: - Users x-stream-docs-page-id: restore_users x-stream-server-side: true security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] servers: - description: Chat Production API url: https://chat.stream-io-api.com