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 APNConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: "005" auth_key: type: string x-stream-index: "006.001" auth_type: enum: - certificate - token type: string x-stream-index: "001" bundle_id: type: string x-stream-index: "004" development: type: boolean x-stream-index: "002" host: type: string x-stream-index: "003" key_id: type: string x-stream-index: "006.002" notification_template: type: string x-stream-index: "008" p12_cert: type: string x-stream-index: "007.001" team_id: type: string x-stream-index: "006.003" type: object 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 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 AgoraCall: properties: channel: type: string x-stream-index: "001" required: - channel type: object App: properties: agora_options: $ref: '#/components/schemas/Config' x-stream-index: "001.039" allowed_flag_reasons: items: type: string type: array x-stream-index: "001.018" async_url_enrich_enabled: type: boolean x-stream-index: "001.016" auto_translation_enabled: type: boolean x-stream-index: "001.019" before_message_send_hook_url: type: string x-stream-index: "001.020" call_types: additionalProperties: $ref: '#/components/schemas/CallType' type: object x-stream-index: "001.006" campaign_enabled: type: boolean x-stream-index: "001.033" cdn_expiration_seconds: format: int32 type: integer x-stream-index: "001.037" 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.021" datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: "001.042" 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.022" file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.029" geofences: items: $ref: '#/components/schemas/GeofenceResponse' type: array x-stream-index: "001.041" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "001.032" hms_options: $ref: '#/components/schemas/Config' x-stream-index: "001.040" 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.030" 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" polls_enabled: type: boolean x-stream-index: "001.034" push_notifications: $ref: '#/components/schemas/PushNotificationFields' x-stream-index: "001.003" reminders_interval: format: int32 type: integer x-stream-index: "001.036" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.031" sns_key: type: string x-stream-index: "001.027" sns_secret: type: string x-stream-index: "001.028" sns_topic_arn: type: string x-stream-index: "001.026" sqs_key: type: string x-stream-index: "001.024" sqs_secret: type: string x-stream-index: "001.025" sqs_url: type: string x-stream-index: "001.023" 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.038" webhook_events: items: type: string type: array x-stream-index: "001.035" 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 - sns_topic_arn - sns_key - sns_secret - file_upload_config - image_upload_config - grants - campaign_enabled - polls_enabled - webhook_events - reminders_interval - cdn_expiration_seconds - video_provider type: object AsyncModerationCallbackConfig: properties: mode: enum: - CALLBACK_MODE_NONE - CALLBACK_MODE_REST - CALLBACK_MODE_TWIRP type: string x-stream-index: "002" server_url: type: string x-stream-index: "001" type: object AsyncModerationConfiguration: properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: "002" timeout_ms: format: int32 type: integer x-stream-index: "001" type: object Attachment: nullable: true properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: "015" asset_url: type: string x-stream-index: "017" author_icon: type: string x-stream-index: "007" author_link: type: string x-stream-index: "006" author_name: type: string x-stream-index: "005" color: type: string x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "018" fallback: type: string x-stream-index: "002" fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: "016" footer: type: string x-stream-index: "013" footer_icon: type: string x-stream-index: "014" giphy: $ref: '#/components/schemas/Images' x-stream-index: "019" image_url: type: string x-stream-index: "011" og_scrape_url: type: string x-stream-index: "020" original_height: format: int32 type: integer x-stream-index: "022" original_width: format: int32 type: integer x-stream-index: "021" pretext: type: string x-stream-index: "004" text: type: string x-stream-index: "010" thumb_url: type: string x-stream-index: "012" title: type: string x-stream-index: "008" title_link: type: string x-stream-index: "009" type: description: Attachment type (e.g. image, video, url, poll) title: Type type: string x-stream-index: "001" required: - custom 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" noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: "007" opus_dtx_enabled: type: boolean x-stream-index: "002" redundant_coding_enabled: type: boolean x-stream-index: "003" speaker_default_on: type: boolean x-stream-index: "005" required: - access_request_enabled - opus_dtx_enabled - redundant_coding_enabled - mic_default_on - speaker_default_on - default_device 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/UserRequest' 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/UserRequest' 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 nullable: true 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" type: description: Block list type. title: Type type: string x-stream-index: "007" 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: "008" required: - name - type - words title: Block list type: object x-stream-docs-page-id: block_lists BlockListOptions: properties: behavior: enum: - flag - block - shadow_block type: string x-stream-index: "002" blocklist: type: string x-stream-index: "001" required: - blocklist - behavior 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" ExternalStorage: type: string writeOnly: true x-stream-index: "009" 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 - ExternalStorage type: object CastPollVoteRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" vote: $ref: '#/components/schemas/VoteData' x-stream-index: "003" type: object Channel: 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" custom: additionalProperties: {} type: object x-stream-index: "018" 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 - custom - auto_translation_language type: object ChannelConfig: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: "001.024" automod: enum: - disabled - simple - AI type: string x-stream-index: "001.019" automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: "001.020" automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: "001.025" blocklist: type: string x-stream-index: "001.021" blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: "001.022" blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: "001.023" 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.018" mutes: type: boolean x-stream-index: "001.009" name: type: string x-stream-index: "001.001" polls: type: boolean x-stream-index: "001.016" 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 - polls - message_retention - max_message_length - automod - automod_behavior - created_at - updated_at - commands type: object ChannelConfigWithInfo: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.002.024 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.019 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.020 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.025 blocklist: type: string x-stream-index: 001.002.021 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.022 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.023 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.018 mutes: type: boolean x-stream-index: 001.002.009 name: type: string x-stream-index: 001.002.001 polls: type: boolean x-stream-index: 001.002.016 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 - polls - message_retention - max_message_length - automod - automod_behavior - commands type: object ChannelExport: properties: cid: type: string x-stream-index: "003" id: description: Channel ID title: ID type: string x-stream-index: "002" messages_since: description: Date to export messages since format: date-time title: Messages since type: string x-stream-index: "004" messages_until: description: Date to export messages until format: date-time title: Messages until type: string x-stream-index: "005" type: description: Channel type title: Type type: string x-stream-index: "001" title: Channel Export type: object ChannelGetOrCreateRequest: nullable: true properties: data: $ref: '#/components/schemas/ChannelInput' 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/PaginationParams' x-stream-index: "011" messages: $ref: '#/components/schemas/MessagePaginationParams' x-stream-index: "010" state: description: Refresh channel state title: State type: boolean x-stream-index: "006" thread_unread_counts: type: boolean x-stream-index: "009" watchers: $ref: '#/components/schemas/PaginationParams' x-stream-index: "012" type: object ChannelInput: 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/ChannelConfig' x-stream-index: "026" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "011" created_by_id: type: string x-stream-index: "010" custom: additionalProperties: {} type: object x-stream-index: "017" disabled: type: boolean x-stream-index: "016" frozen: description: Freeze or unfreeze the channel title: Frozen type: boolean x-stream-index: "015" invites: items: $ref: '#/components/schemas/ChannelMember' maximum: 100 type: array x-stream-index: "018" members: items: $ref: '#/components/schemas/ChannelMember' maximum: 100 type: array x-stream-index: "020" team: description: Team the channel belongs to (if multi-tenant mode is enabled) title: Team type: string x-stream-index: "006" truncated_by_id: type: string x-stream-index: "012" type: object ChannelMember: nullable: true properties: ban_expires: description: Expiration date of the ban format: date-time title: Ban expires type: string x-stream-index: "016" banned: description: Whether member is banned this channel or not title: Banned type: boolean x-stream-index: "015" channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: "020" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "011" deleted_at: format: date-time type: string x-stream-index: "013" 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" notifications_muted: type: boolean x-stream-index: "021" shadow_banned: description: Whether member is shadow banned in this channel or not title: Shadow banned type: boolean x-stream-index: "018" status: type: string 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' 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 - notifications_muted title: Channel member 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 ChannelResponse: description: Represents channel in chat properties: auto_translation_enabled: description: Whether auto translation is enabled or not title: Auto translation type: boolean x-stream-index: "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" custom: additionalProperties: {} type: object x-stream-index: "029" 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 - created_at - updated_at - frozen - disabled - custom 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.010" hide_messages_before: format: date-time type: string x-stream-index: "001.011" 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/MessageResponse' type: array x-stream-index: "001.002" pending_messages: items: $ref: '#/components/schemas/PendingMessage' type: array x-stream-index: "001.012" pinned_messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "001.003" read: items: $ref: '#/components/schemas/ReadStateResponse' type: array x-stream-index: "001.006" threads: items: $ref: '#/components/schemas/ThreadState' type: array x-stream-index: "001.009" watcher_count: format: int32 type: integer x-stream-index: "001.004" watchers: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.005" required: - messages - pinned_messages - members - threads - duration type: object 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: "010" 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: "011" 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/MessageResponse' 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: "012" pinned_messages: description: List of pinned messages in the channel items: $ref: '#/components/schemas/MessageResponse' title: Pinned messages type: array x-stream-docs-page-id: pinned_messages x-stream-index: "003" read: description: List of read states items: $ref: '#/components/schemas/ReadStateResponse' title: Read type: array x-stream-index: "006" threads: items: $ref: '#/components/schemas/ThreadState' type: array x-stream-index: "009" watcher_count: description: Number of channel watchers format: int32 title: Watcher count type: integer x-stream-index: "004" watchers: description: List of user who is watching the channel items: $ref: '#/components/schemas/UserResponse' title: Watchers type: array x-stream-index: "005" required: - messages - pinned_messages - members - threads type: object ChannelTypeConfig: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.024 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.019 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.020 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.025 blocklist: type: string x-stream-index: 003.002.021 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.022 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.023 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.018 mutes: type: boolean x-stream-index: 003.002.009 name: type: string x-stream-index: 003.002.001 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "001" polls: type: boolean x-stream-index: 003.002.016 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 - polls - message_retention - max_message_length - automod - automod_behavior - commands type: object 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/UserRequest' 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 Topic ARN type: string x-stream-index: "001" type: object CheckSNSResponse: nullable: true properties: data: additionalProperties: {} description: Error data title: ReadOnlyData type: object x-stream-index: "003" duration: type: string x-stream-index: "004.001" error: description: Error text title: Error type: string x-stream-index: "002" status: description: Validation result 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: ReadOnlyData type: object x-stream-index: "003" duration: type: string x-stream-index: "004.001" error: description: Error text title: Error type: string x-stream-index: "002" status: description: Validation result 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 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 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" type: description: Block list type. enum: - regex - domain - email - word title: Type type: string x-stream-index: "003" words: description: List of words to block items: type: string minimum: 1 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/UserRequest' x-stream-index: "006.002" 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: "017" automod_behavior: description: Sets behavior of automatic moderation enum: - flag - block title: Auto moderation behavior type: string x-stream-index: "018" blocklist: description: Name of the blocklist to use title: Blocklist type: string x-stream-index: "022" blocklist_behavior: description: Sets behavior of blocklist enum: - flag - block - shadow_block title: Blocklist behavior type: string x-stream-index: "023" blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: "024" commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "019" 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: "021" 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: "016" message_retention: type: string x-stream-index: "015" 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: "020" polls: description: Enables polls title: Polls type: boolean x-stream-index: "014" 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 - max_message_length - automod - automod_behavior type: object CreateChannelTypeResponse: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.001.024 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.001.019 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.020 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.001.025 blocklist: type: string x-stream-index: 001.001.021 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.022 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.001.023 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.018 mutes: type: boolean x-stream-index: 001.001.009 name: type: string x-stream-index: 001.001.001 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "002" polls: type: boolean x-stream-index: 001.001.016 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 - polls - 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" required: - id - push_provider type: object CreateGuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: "001" required: - user type: object CreateGuestResponse: nullable: true properties: access_token: description: the access token to authenticate the user title: Access token type: string x-stream-index: "002" duration: type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserResponse' title: User x-stream-index: "001" required: - user - access_token - duration 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 - mode 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 CreatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "004" position: format: int32 type: integer x-stream-index: "003" text: type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" required: - text type: object CreatePollRequest: description: Contains all information needed to create a new poll nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "011" allow_answers: description: Indicates whether users can suggest user defined answers title: Allow answers type: boolean x-stream-index: "009" allow_user_suggested_options: type: boolean x-stream-index: "008" description: description: A description of the poll title: Description type: string x-stream-index: "003" enforce_unique_vote: description: Indicates whether users can cast multiple votes title: Multiple choice type: boolean x-stream-index: "006" id: maxLength: 255 type: string x-stream-index: "001" is_closed: description: Indicates whether the poll is open for voting title: Is closed type: boolean x-stream-index: "010" max_votes_allowed: description: Indicates the maximum amount of votes a user can cast format: int32 maximum: 10 title: Maximum votes allowed type: integer x-stream-index: "007" name: description: The name of the poll title: Name type: string x-stream-index: "002" options: items: $ref: '#/components/schemas/PollOptionInput' maximum: 100 type: array x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "012.002" user_id: type: string x-stream-index: "012.001" voting_visibility: enum: - anonymous - public type: string x-stream-index: "005" required: - name title: Create Poll Request type: object 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 DataDogInfo: properties: api_key: type: string x-stream-index: "001" enabled: type: boolean x-stream-index: "003" site: type: string x-stream-index: "002" type: object DeactivateUserRequest: nullable: true properties: created_by_id: description: ID of the user who deactivated the user title: Created by ID type: string x-stream-index: "003" mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: "002" type: object 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_channels_deleted: type: boolean x-stream-index: "004" mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: "002" user_ids: description: User IDs to deactivate items: type: string 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" required: - cids 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 DeleteMessageResponse: 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/MessageResponse' x-stream-index: "001" required: - message - duration type: object DeleteUsersRequest: nullable: true properties: calls: enum: - soft - hard type: string x-stream-index: 001.002.004 conversations: description: | Conversation channels delete mode. Conversation channel is any channel which only has two members one of which is the user being deleted. * null or empty string - doesn't delete any conversation channels * soft - marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled) * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with 'hard' option enabled) enum: - soft - hard title: Delete Conversations type: string x-stream-index: 001.002.003 messages: description: | Message delete mode. * null or empty string - doesn't delete user messages * soft - marks all user messages as deleted without removing any related message data * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags * hard - deletes messages completely with all related information enum: - soft - pruning - hard title: Delete Messages type: string x-stream-index: 001.002.002 new_call_owner_id: type: string x-stream-index: 001.002.006 new_channel_owner_id: type: string x-stream-index: 001.002.005 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 ErrorResult: properties: 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 EventNotificationSettings: properties: apns: $ref: '#/components/schemas/APNS' x-stream-index: "002" enabled: type: boolean x-stream-index: "001" required: - enabled - apns type: object EventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: "003" parent_id: type: string x-stream-index: "002" type: type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - type type: object 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/WSEvent' x-stream-index: "001" required: - event - duration type: object ExportChannelsRequest: nullable: true properties: channels: description: Export options for channels items: $ref: '#/components/schemas/ChannelExport' 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" required: - channels 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: PathPrefix 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 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" size_limit: format: int32 maximum: 104857600 minimum: 0 type: integer x-stream-index: "005" required: - size_limit type: object FileUploadRequest: nullable: true properties: file: description: file field title: File type: string x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: "003" type: object 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 FirebaseConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: "001" apn_template: type: string x-stream-index: "005" credentials_json: type: string x-stream-index: "006" data_template: type: string x-stream-index: "004" notification_template: type: string x-stream-index: "003" server_key: type: string x-stream-index: "002" type: object 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 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" custom: additionalProperties: {} type: object x-stream-index: "022" details: $ref: '#/components/schemas/FlagDetails' x-stream-index: "021" reason: type: string 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" reviewed_by: type: string x-stream-index: "014" 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: properties: Extra: additionalProperties: {} type: object writeOnly: true x-stream-index: "002" automod: $ref: '#/components/schemas/AutomodDetails' x-stream-index: "001" original_text: type: string x-stream-index: "003" required: - Extra - original_text 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: custom: additionalProperties: {} type: object x-stream-index: "004" reason: maxLength: 255 type: string x-stream-index: "003" target_message_id: description: ID of the message when reporting a message title: Target Message ID type: string x-stream-index: "001" target_user_id: description: ID of the user when reporting a user title: Target User ID type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" type: object 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 FullUserResponse: properties: banned: type: boolean x-stream-index: "001.011" channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "001.008" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.015" deleted_at: format: date-time type: string x-stream-index: "001.010" devices: items: $ref: '#/components/schemas/Device' type: array x-stream-index: "003" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "004" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.013" latest_hidden_channels: items: type: string type: array x-stream-index: "010" mutes: items: $ref: '#/components/schemas/UserMute' type: array x-stream-index: "005" name: type: string x-stream-index: "001.002" online: type: boolean x-stream-index: "001.012" push_notifications: $ref: '#/components/schemas/PushNotificationSettings' x-stream-index: "002" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.014" role: type: string x-stream-index: "001.006" shadow_banned: type: boolean x-stream-index: "011" teams: items: type: string type: array x-stream-index: "001.007" total_unread_count: format: int32 type: integer x-stream-index: "007" unread_channels: format: int32 type: integer x-stream-index: "008" unread_threads: format: int32 type: integer x-stream-index: "009" updated_at: format: date-time type: string x-stream-index: "001.009" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - mutes - channel_mutes - total_unread_count - unread_channels - unread_threads - shadow_banned type: object GeofenceResponse: nullable: true properties: country_codes: items: type: string type: array x-stream-index: "004" description: type: string x-stream-index: "003" name: type: string x-stream-index: "001" type: type: string x-stream-index: "002" required: - name type: object 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/UserRequest' x-stream-index: "002.002" 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 GetMessageResponse: 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/MessageWithChannelResponse' x-stream-index: "001" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - message - duration type: object GetOGResponse: nullable: true properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: "001.015" asset_url: description: URL of detected video or audio title: Image URL type: string x-stream-index: "001.017" author_icon: type: string x-stream-index: "001.007" author_link: description: og:site title: Author Link type: string x-stream-index: "001.006" author_name: description: og:site_name title: Author Name type: string x-stream-index: "001.005" color: type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.018" duration: type: string x-stream-index: "002.001" fallback: type: string x-stream-index: "001.002" fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: "001.016" footer: type: string x-stream-index: "001.013" footer_icon: type: string x-stream-index: "001.014" giphy: $ref: '#/components/schemas/Images' x-stream-index: "001.019" image_url: description: URL of detected image title: Image URL type: string x-stream-index: "001.011" og_scrape_url: description: extracted url from the text title: OG Scrape URL type: string x-stream-index: "001.020" original_height: format: int32 type: integer x-stream-index: "001.022" original_width: format: int32 type: integer x-stream-index: "001.021" pretext: type: string x-stream-index: "001.004" text: description: og:description title: Text type: string x-stream-index: "001.010" thumb_url: description: URL of detected thumb image title: Image URL type: string x-stream-index: "001.012" title: description: og:title title: Title type: string x-stream-index: "001.008" title_link: description: og:url title: Title Link type: string x-stream-index: "001.009" type: description: Attachment type, could be empty, image, audio or video title: Type type: string x-stream-index: "001.001" required: - custom - duration title: Get OG Attachment type: object x-stream-docs-page-id: og 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: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "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 GetThreadResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" thread: $ref: '#/components/schemas/ThreadStateResponse' description: Enriched thread state title: Thread x-stream-index: "001" required: - thread - duration type: object 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 HideChannelRequest: nullable: true properties: clear_history: description: Whether to clear message history of the channel or not title: Clear history type: boolean x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object 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 HuaweiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: "003" id: type: string x-stream-index: "001" secret: type: string x-stream-index: "002" type: object 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 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 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" 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/ImageSize' title: Upload sizes type: array x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserID' 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 ImportTask: properties: created_at: format: date-time type: string x-stream-index: "011" history: items: $ref: '#/components/schemas/ImportTaskHistory' type: array x-stream-index: "010" id: type: string x-stream-index: "003" mode: type: string x-stream-index: "006" path: type: string x-stream-index: "005" size: format: int64 type: integer x-stream-index: "007" state: type: string x-stream-index: "008" updated_at: format: date-time type: string x-stream-index: "012" required: - id - path - mode - state - history - created_at - updated_at type: object 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: harm_labels: items: type: string type: array x-stream-index: "003" name: type: string x-stream-index: "001" phrase_list_ids: items: format: int32 type: integer type: array x-stream-index: "002" required: - name type: object 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 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: read_by_channel: additionalProperties: type: string maximum: 30 type: object x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object MarkReadRequest: nullable: true properties: message_id: description: ID of the message that is considered last read by client title: Message ID type: string x-stream-index: "001" thread_id: description: Optional Thread ID to specifically mark a given thread as read title: Thread ID type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' 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" thread_id: description: Mark a thread unread, specify both the thread and message id title: Thread ID type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object 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: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "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: "044" cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: "027" 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: "029" custom: additionalProperties: {} type: object x-stream-index: "032" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "031" deleted_reply_count: format: int32 type: integer x-stream-index: "022" 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: "042" 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: "038" 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: "041" message_text_updated_at: format: date-time type: string x-stream-index: "050" 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: "018" 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: "049" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "045" 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: "046" 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: "048" poll: $ref: '#/components/schemas/Poll' x-stream-index: "052" poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: "051" quoted_message: $ref: '#/components/schemas/Message' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: "024" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "023" 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_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "016" reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: "015" reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: "021" shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: "034" 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: "020" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "043" 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: "026" 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: "030" 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 - reaction_groups - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - silent - pinned title: Message type: object x-stream-docs-page-id: send_message MessageActionRequest: nullable: true properties: form_data: additionalProperties: type: string description: ReadOnlyData to execute command with title: Form data type: object x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - form_data type: object MessageChangeSet: properties: attachments: type: boolean x-stream-index: "005" custom: type: boolean x-stream-index: "001" html: type: boolean x-stream-index: "004" mentioned_user_ids: type: boolean x-stream-index: "006" mml: type: boolean x-stream-index: "003" pin: type: boolean x-stream-index: "009" quoted_message_id: type: boolean x-stream-index: "007" silent: type: boolean x-stream-index: "008" text: type: boolean x-stream-index: "002" required: - custom - text - mml - html - attachments - mentioned_user_ids - quoted_message_id - silent - pin type: object MessageFlag: nullable: true properties: approved_at: format: date-time type: string x-stream-index: "013" created_at: format: date-time type: string x-stream-index: "009" created_by_automod: type: boolean x-stream-index: "001" custom: additionalProperties: {} type: object x-stream-index: "008" details: $ref: '#/components/schemas/FlagDetails' x-stream-index: "006" 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" reason: type: string x-stream-index: "007" rejected_at: format: date-time type: string x-stream-index: "014" reviewed_at: format: date-time type: string x-stream-index: "011" reviewed_by: $ref: '#/components/schemas/UserObject' x-stream-index: "012" updated_at: format: date-time type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserObject' x-stream-index: "004" required: - created_by_automod - created_at - updated_at type: object 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 MessagePaginationParams: 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: "005.002" last_read_message_id: type: string x-stream-index: "006" team: type: string x-stream-index: "004.001" thread: $ref: '#/components/schemas/Thread' x-stream-index: "003.001" type: type: string x-stream-index: "005.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: VideoEvent MessageRequest: properties: attachments: items: $ref: '#/components/schemas/Attachment' maximum: 30 type: array x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: "007" html: type: string x-stream-index: "010" id: maxLength: 255 type: string x-stream-index: "001" mentioned_users: items: type: string maximum: 25 type: array x-stream-index: "008" mml: type: string x-stream-index: "003" parent_id: type: string x-stream-index: "005" pin_expires: format: date-time type: string x-stream-index: "015" pinned: type: boolean x-stream-index: "013" pinned_at: format: date-time nullable: true type: string x-stream-index: "014" poll_id: type: string x-stream-index: "038" quoted_message_id: type: string x-stream-index: "009" show_in_channel: type: boolean x-stream-index: "006" silent: type: boolean x-stream-index: "012" text: type: string x-stream-index: "002" type: enum: - '''''regular' - system type: string x-stream-index: "011" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "020.002" user_id: type: string x-stream-index: "020.001" type: object MessageResponse: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: "008" cid: type: string x-stream-index: "021" command: type: string x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "022" custom: additionalProperties: {} type: object x-stream-index: "025" deleted_at: format: date-time type: string x-stream-index: "024" deleted_reply_count: format: int32 type: integer x-stream-index: "017" html: type: string x-stream-index: "005" i18n: additionalProperties: type: string type: object x-stream-index: "029" id: type: string x-stream-index: "001" image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: "027" latest_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "009" mentioned_users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "028" message_text_updated_at: format: date-time type: string x-stream-index: "035" mml: type: string x-stream-index: "003" own_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "010" parent_id: type: string x-stream-index: "014" pin_expires: format: date-time type: string x-stream-index: "034" pinned: type: boolean x-stream-index: "031" pinned_at: format: date-time type: string x-stream-index: "032" pinned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "033" poll: $ref: '#/components/schemas/Poll' x-stream-index: "037" poll_id: type: string x-stream-index: "036" quoted_message: $ref: '#/components/schemas/Message' x-stream-index: "019" quoted_message_id: type: string x-stream-index: "018" reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: "011" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "013" reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: "012" reply_count: format: int32 type: integer x-stream-index: "016" shadowed: type: boolean x-stream-index: "026" show_in_channel: type: boolean x-stream-index: "015" silent: type: boolean x-stream-index: "030" text: type: string x-stream-index: "002" thread_participants: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "020" type: type: string x-stream-index: "006" updated_at: format: date-time type: string x-stream-index: "023" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "007" required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - silent - pinned type: object MessageUpdate: properties: change_set: $ref: '#/components/schemas/MessageChangeSet' x-stream-index: "002" old_text: type: string x-stream-index: "001" type: object MessageWithChannelResponse: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: "001.008" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" cid: type: string x-stream-index: "001.021" command: type: string x-stream-index: "001.004" created_at: format: date-time type: string x-stream-index: "001.022" custom: additionalProperties: {} type: object x-stream-index: "001.025" deleted_at: format: date-time type: string x-stream-index: "001.024" deleted_reply_count: format: int32 type: integer x-stream-index: "001.017" html: type: string x-stream-index: "001.005" i18n: additionalProperties: type: string type: object x-stream-index: "001.029" id: type: string x-stream-index: "001.001" image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: "001.027" latest_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001.009" mentioned_users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.028" message_text_updated_at: format: date-time type: string x-stream-index: "001.035" mml: type: string x-stream-index: "001.003" own_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001.010" parent_id: type: string x-stream-index: "001.014" pin_expires: format: date-time type: string x-stream-index: "001.034" pinned: type: boolean x-stream-index: "001.031" pinned_at: format: date-time type: string x-stream-index: "001.032" pinned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "001.033" poll: $ref: '#/components/schemas/Poll' x-stream-index: "001.037" poll_id: type: string x-stream-index: "001.036" quoted_message: $ref: '#/components/schemas/Message' x-stream-index: "001.019" quoted_message_id: type: string x-stream-index: "001.018" reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.011" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "001.013" reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.012" reply_count: format: int32 type: integer x-stream-index: "001.016" shadowed: type: boolean x-stream-index: "001.026" show_in_channel: type: boolean x-stream-index: "001.015" silent: type: boolean x-stream-index: "001.030" text: type: string x-stream-index: "001.002" thread_participants: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.020" type: type: string x-stream-index: "001.006" updated_at: format: date-time type: string x-stream-index: "001.023" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001.007" required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - silent - pinned - channel type: object ModerationResponse: properties: action: type: string x-stream-index: "004" explicit: format: float type: number x-stream-index: "002" spam: format: float type: number x-stream-index: "003" toxic: format: float type: number x-stream-index: "001" required: - toxic - explicit - spam - action - automod_response type: object 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/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" 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/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - timeout type: object MuteUserResponse: nullable: true properties: duration: type: string x-stream-index: "005.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" non_existing_users: items: type: string type: array x-stream-index: "004" 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 NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" required: - mode type: object 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 NullBool: properties: HasValue: type: boolean writeOnly: true x-stream-index: "002" Value: type: boolean writeOnly: true x-stream-index: "001" type: object NullTime: properties: HasValue: type: boolean writeOnly: true x-stream-index: "002" Value: format: date-time type: string writeOnly: true x-stream-index: "001" type: object OnlyUserID: properties: id: type: string x-stream-index: "001" required: - id type: object OwnUser: 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" custom: additionalProperties: {} type: object x-stream-index: "005" 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: "031" last_active: format: date-time type: string x-stream-index: "010" latest_hidden_channels: items: type: string type: array x-stream-index: "033" 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: "032" 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" unread_threads: format: int32 type: integer x-stream-index: "030" updated_at: format: date-time type: string x-stream-index: "008" required: - id - role - custom - created_at - updated_at - banned - online - devices - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads - language type: object PaginationParams: 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: - action - name - resources - roles - owner - priority type: object Poll: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "023" allow_answers: type: boolean x-stream-index: "010" allow_user_suggested_options: type: boolean x-stream-index: "009" answers_count: format: int32 type: integer x-stream-index: "015" created_at: format: date-time type: string x-stream-index: "021" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "020" created_by_id: type: string x-stream-index: "019" description: type: string x-stream-index: "005" enforce_unique_vote: type: boolean x-stream-index: "007" id: type: string x-stream-index: "003" is_closed: type: boolean x-stream-index: "011" latest_answers: items: $ref: '#/components/schemas/PollVote' type: array x-stream-index: "017" latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVote' type: array type: object x-stream-index: "016" max_votes_allowed: format: int32 type: integer x-stream-index: "008" name: type: string x-stream-index: "004" options: items: $ref: '#/components/schemas/PollOption' type: array x-stream-index: "013" own_votes: items: $ref: '#/components/schemas/PollVote' type: array x-stream-index: "018" updated_at: format: date-time type: string x-stream-index: "022" vote_count: format: int32 type: integer x-stream-index: "012" vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: "014" voting_visibility: type: string x-stream-index: "006" required: - id - name - description - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - vote_counts_by_option - answers_count - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - Custom type: object PollOption: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: "003" id: maxLength: 255 type: string x-stream-index: "001" text: type: string x-stream-index: "002" required: - id - text - custom type: object PollOptionInput: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: "003" text: type: string x-stream-index: "002" type: object PollOptionResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" poll_option: $ref: '#/components/schemas/PollOptionResponseData' x-stream-index: "001" required: - poll_option - duration type: object PollOptionResponseData: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: "003" id: type: string x-stream-index: "001" text: type: string x-stream-index: "002" required: - id - text - custom type: object PollResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: "001" required: - poll - duration type: object PollResponseData: properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "020" allow_answers: type: boolean x-stream-index: "008" allow_user_suggested_options: type: boolean x-stream-index: "007" answers_count: format: int32 type: integer x-stream-index: "012" created_at: format: date-time type: string x-stream-index: "018" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "017" created_by_id: type: string x-stream-index: "016" description: type: string x-stream-index: "003" enforce_unique_vote: type: boolean x-stream-index: "005" id: type: string x-stream-index: "001" is_closed: type: boolean x-stream-index: "009" latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData' type: array type: object x-stream-index: "014" max_votes_allowed: format: int32 type: integer x-stream-index: "006" name: type: string x-stream-index: "002" options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: "011" own_votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: "015" updated_at: format: date-time type: string x-stream-index: "019" vote_count: format: int32 type: integer x-stream-index: "010" vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: "013" voting_visibility: type: string x-stream-index: "004" required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - own_votes - created_by_id - created_at - updated_at - Custom type: object PollVote: nullable: true properties: answer_text: type: string x-stream-index: "007" created_at: format: date-time type: string x-stream-index: "010" id: type: string x-stream-index: "004" is_answer: type: boolean x-stream-index: "006" option_id: type: string x-stream-index: "005" poll_id: type: string x-stream-index: "003" updated_at: format: date-time type: string x-stream-index: "011" user: $ref: '#/components/schemas/UserObject' x-stream-index: "009" user_id: type: string x-stream-index: "008" required: - poll_id - id - option_id - created_at - updated_at type: object PollVoteResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" vote: $ref: '#/components/schemas/PollVoteResponseData' x-stream-index: "001" required: - duration type: object PollVoteResponseData: nullable: true properties: answer_text: type: string x-stream-index: "005" created_at: format: date-time type: string x-stream-index: "008" id: type: string x-stream-index: "002" is_answer: type: boolean x-stream-index: "004" option_id: type: string x-stream-index: "003" poll_id: type: string x-stream-index: "001" updated_at: format: date-time type: string x-stream-index: "009" user: $ref: '#/components/schemas/UserObject' x-stream-index: "007" user_id: type: string x-stream-index: "006" required: - poll_id - id - option_id - created_at - updated_at type: object PollVotesResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: "001" required: - votes - duration type: object PushConfig: properties: offline_only: type: boolean x-stream-index: "002" version: enum: - v1 - v2 type: string x-stream-index: "001" required: - version 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 PushNotificationSettingsInput: properties: disabled: $ref: '#/components/schemas/NullBool' x-stream-index: "001" disabled_until: $ref: '#/components/schemas/NullTime' 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 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/UserRequest' x-stream-index: "007.002" 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: 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" sort: description: List of sort parameters items: $ref: '#/components/schemas/SortParam' 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/UserRequest' x-stream-index: "010.002" user_id: type: string x-stream-index: "010.001" title: Query Channels Request type: object x-stream-docs-page-id: query_channels QueryChannelsResponse: 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 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/UserRequest' 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" sort: items: $ref: '#/components/schemas/SortParam' maximum: 5 type: array x-stream-index: "003.005" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object 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 QueryPollVotesRequest: nullable: true properties: filter: additionalProperties: {} type: object x-stream-index: "003" limit: format: int32 maximum: 25 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: items: $ref: '#/components/schemas/SortParam' maximum: 5 type: array x-stream-index: "004" type: object QueryPollsRequest: nullable: true properties: filter: additionalProperties: {} type: object x-stream-index: "002" limit: format: int32 maximum: 25 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: items: $ref: '#/components/schemas/SortParam' maximum: 5 type: array x-stream-index: "003" type: object QueryPollsResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" polls: items: $ref: '#/components/schemas/PollResponseData' type: array x-stream-index: "001" prev: type: string x-stream-index: "002.002" required: - polls - duration type: object QueryReactionsRequest: properties: filter: additionalProperties: {} type: object x-stream-index: "002" limit: format: int32 maximum: 25 minimum: 0 type: integer x-stream-index: "006.001" next: type: string x-stream-index: "006.002" prev: type: string x-stream-index: "006.003" sort: items: $ref: '#/components/schemas/SortParam' maximum: 2 type: array x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object QueryReactionsResponse: properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" next: type: string x-stream-index: "003.001" prev: type: string x-stream-index: "003.002" reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001" required: - reactions - duration type: object QueryThreadsRequest: nullable: true properties: limit: format: int32 maximum: 25 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" participant_limit: description: Limit the number of participants returned per each thread format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer x-stream-index: "004" prev: type: string x-stream-index: "005.003" reply_limit: description: Limit the number of replies returned per each thread format: int32 maximum: 10 minimum: 0 title: Reply limit type: integer x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "007.002" user_id: type: string x-stream-index: "007.001" type: object QueryThreadsResponse: nullable: true properties: duration: type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" threads: description: List of enriched thread states items: $ref: '#/components/schemas/ThreadStateResponse' title: Threads type: array x-stream-index: "001" required: - threads - duration type: object QueryUsersPayload: properties: filter_conditions: additionalProperties: {} type: object x-stream-index: "001" id_gt: type: string x-stream-index: "005.006" id_gte: type: string x-stream-index: "005.005" id_lt: type: string x-stream-index: "005.008" id_lte: type: string x-stream-index: "005.007" include_deactivated_users: type: boolean x-stream-index: "004" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.003" offset: format: int32 maximum: 1000 type: integer x-stream-index: "005.004" presence: type: boolean x-stream-index: "003" sort: items: $ref: '#/components/schemas/SortParam' maximum: 5 type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "006.002" user_id: type: string x-stream-index: "006.001" required: - filter_conditions type: object QueryUsersResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" users: items: $ref: '#/components/schemas/FullUserResponse' type: array x-stream-index: "001" required: - users - duration type: object Reaction: 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" custom: additionalProperties: {} type: object x-stream-index: "010" 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 - custom title: Reaction type: object x-stream-docs-page-id: send_reaction ReactionGroupResponse: nullable: true properties: count: format: int32 type: integer x-stream-index: "001" first_reaction_at: format: date-time type: string x-stream-index: "003" last_reaction_at: format: date-time type: string x-stream-index: "004" sum_scores: format: int32 type: integer x-stream-index: "002" required: - count - sum_scores - first_reaction_at - last_reaction_at type: object 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: properties: created_at: format: date-time type: string x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "005" score: format: int32 type: integer x-stream-index: "002" type: maxLength: 30 type: string x-stream-index: "001" updated_at: format: date-time type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "006.002" user_id: type: string x-stream-index: "006.001" required: - type type: object ReactionResponse: properties: created_at: format: date-time type: string x-stream-index: "006" custom: additionalProperties: {} type: object x-stream-index: "008" message_id: type: string x-stream-index: "001" score: format: int32 type: integer x-stream-index: "005" type: type: string x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "007" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "003" user_id: type: string x-stream-index: "002" required: - message_id - user_id - user - type - score - created_at - updated_at - custom type: object ReactivateUserRequest: nullable: true properties: created_by_id: description: ID of the user who's reactivating the user title: Created by ID type: string x-stream-index: "004" name: description: Set this field to put new name for the user title: Name type: string x-stream-index: "003" restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: "002" type: object 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_channels: type: boolean x-stream-index: "004" restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: "002" user_ids: description: User IDs to reactivate items: type: string 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 ReadStateResponse: 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/UserResponse' x-stream-index: "001" required: - user - 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" target_resolution: $ref: '#/components/schemas/TargetResolution' x-stream-index: "003" 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: properties: message: $ref: '#/components/schemas/SearchResultMessage' description: Found message title: Message x-stream-index: "001" type: object SearchResultMessage: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: "001.011" before_message_send_failed: type: boolean x-stream-index: "001.044" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: "002" cid: type: string x-stream-index: "001.027" command: type: string x-stream-index: "001.006" created_at: format: date-time type: string x-stream-index: "001.029" custom: additionalProperties: {} type: object x-stream-index: "001.032" deleted_at: format: date-time type: string x-stream-index: "001.031" deleted_reply_count: format: int32 type: integer x-stream-index: "001.022" html: type: string x-stream-index: "001.007" i18n: additionalProperties: type: string type: object x-stream-index: "001.042" id: type: string x-stream-index: "001.002" image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: "001.038" 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.041" message_text_updated_at: format: date-time type: string x-stream-index: "001.050" 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.018" pin_expires: format: date-time type: string x-stream-index: "001.049" pinned: type: boolean x-stream-index: "001.045" pinned_at: format: date-time type: string x-stream-index: "001.046" pinned_by: $ref: '#/components/schemas/UserObject' x-stream-index: "001.048" poll: $ref: '#/components/schemas/Poll' x-stream-index: "001.052" poll_id: type: string x-stream-index: "001.051" quoted_message: $ref: '#/components/schemas/Message' x-stream-index: "001.024" quoted_message_id: type: string x-stream-index: "001.023" reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.014" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "001.016" reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.015" reply_count: format: int32 type: integer x-stream-index: "001.021" shadowed: type: boolean x-stream-index: "001.034" show_in_channel: type: boolean x-stream-index: "001.020" silent: type: boolean x-stream-index: "001.043" text: type: string x-stream-index: "001.004" thread_participants: items: $ref: '#/components/schemas/UserObject' type: array x-stream-index: "001.026" type: type: string x-stream-index: "001.008" updated_at: format: date-time type: string x-stream-index: "001.030" user: $ref: '#/components/schemas/UserObject' x-stream-index: "001.010" required: - id - text - html - type - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reaction_groups - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - 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: nullable: true properties: force_moderation: type: boolean x-stream-index: "007" keep_channel_hidden: type: boolean x-stream-index: "008" message: $ref: '#/components/schemas/MessageRequest' x-stream-index: "001" pending: type: boolean x-stream-index: "006" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "005" skip_enrich_url: type: boolean x-stream-index: "003" skip_push: type: boolean x-stream-index: "002" required: - message type: object SendMessageResponse: 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/MessageResponse' x-stream-index: "001" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - message - duration type: object SendReactionRequest: nullable: true properties: enforce_unique: description: Whether to replace all existing user reactions title: Enforce unique type: boolean x-stream-index: "003" reaction: $ref: '#/components/schemas/ReactionRequest' x-stream-index: "002" skip_push: description: Skips any mobile push notifications title: Skip push type: boolean x-stream-index: "004" required: - reaction type: object SendReactionResponse: 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/MessageResponse' x-stream-index: "001" reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: "002" required: - message - reaction - duration type: object SendUserCustomEventRequest: nullable: true properties: event: $ref: '#/components/schemas/UserCustomEventRequest' x-stream-index: "001" required: - event type: object ShowChannelRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object 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 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 Thread: description: Represents a conversation thread linked to a specific message in a channel. properties: channel: $ref: '#/components/schemas/Channel' description: Channel is the channel the thread belongs to title: Channel x-stream-index: "004" channel_cid: description: Channel CID is unique string identifier of the channel title: Channel CID type: string x-stream-index: "003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "013" created_by: $ref: '#/components/schemas/UserObject' description: Created By is the user who created the thread title: Created By x-stream-index: "008" custom: additionalProperties: {} description: Custom is the custom data of the thread title: Custom type: object x-stream-index: "017" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "015" last_message_at: description: Last Message At is the time of the last message in the thread format: date-time title: Last Message At type: string x-stream-index: "012" parent_message: $ref: '#/components/schemas/Message' description: Parent Message is the message the thread is replying to title: Parent Message x-stream-index: "006" parent_message_id: description: Parent Message ID is unique string identifier of the parent message title: Parent Message ID type: string x-stream-index: "005" participant_count: description: The number of participants in the thread format: int32 title: Participant Count type: integer x-stream-index: "010" reply_count: description: The number of replies in the thread format: int32 title: Reply Count type: integer x-stream-index: "009" thread_participants: items: $ref: '#/components/schemas/ThreadParticipant' type: array x-stream-index: "011" title: description: Title is the title of the thread title: Title type: string x-stream-index: "016" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "014" required: - channel_cid - parent_message_id - created_at - updated_at - title - custom title: Thread type: object ThreadParticipant: description: Represents a user that is participating in a thread. nullable: true properties: app_pk: format: int32 readOnly: true type: integer x-stream-index: "002" channel_cid: type: string x-stream-index: "003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "007" custom: additionalProperties: {} type: object x-stream-index: "010" last_read_at: format: date-time type: string x-stream-index: "009" left_thread_at: description: Left Thread At is the time when the user left the thread format: date-time title: Left Thread At type: string x-stream-index: "008" thread_id: description: Thead ID is unique string identifier of the thread title: ID type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserObject' description: User is the user object title: User x-stream-index: "006" user_id: description: User ID is unique string identifier of the user title: User ID type: string x-stream-index: "005" required: - app_pk - channel_cid - created_at - last_read_at - custom title: ThreadParticipant type: object ThreadResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" channel_cid: type: string x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "011" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "006" created_by_user_id: type: string x-stream-index: "005" custom: additionalProperties: {} type: object x-stream-index: "015" deleted_at: format: date-time type: string x-stream-index: "013" last_message_at: format: date-time type: string x-stream-index: "010" parent_message: $ref: '#/components/schemas/Message' x-stream-index: "004" parent_message_id: type: string x-stream-index: "003" participant_count: format: int32 type: integer x-stream-index: "008" reply_count: format: int32 type: integer x-stream-index: "007" thread_participants: items: $ref: '#/components/schemas/ThreadParticipant' type: array x-stream-index: "009" title: type: string x-stream-index: "014" updated_at: format: date-time type: string x-stream-index: "012" required: - channel_cid - parent_message_id - created_by_user_id - created_at - updated_at - title - custom type: object ThreadState: description: Represents a conversation thread linked to a specific message in a channel. nullable: true properties: channel: $ref: '#/components/schemas/Channel' description: Channel is the channel the thread belongs to title: Channel x-stream-index: "001.004" channel_cid: description: Channel CID is unique string identifier of the channel title: Channel CID type: string x-stream-index: "001.003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.013" created_by: $ref: '#/components/schemas/UserObject' description: Created By is the user who created the thread title: Created By x-stream-index: "001.008" custom: additionalProperties: {} description: Custom is the custom data of the thread title: Custom type: object x-stream-index: "001.017" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "001.015" last_message_at: description: Last Message At is the time of the last message in the thread format: date-time title: Last Message At type: string x-stream-index: "001.012" latest_replies: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "002" parent_message: $ref: '#/components/schemas/Message' description: Parent Message is the message the thread is replying to title: Parent Message x-stream-index: "001.006" parent_message_id: description: Parent Message ID is unique string identifier of the parent message title: Parent Message ID type: string x-stream-index: "001.005" participant_count: description: The number of participants in the thread format: int32 title: Participant Count type: integer x-stream-index: "001.010" read: items: $ref: '#/components/schemas/Read' type: array x-stream-index: "003" reply_count: description: The number of replies in the thread format: int32 title: Reply Count type: integer x-stream-index: "001.009" thread_participants: items: $ref: '#/components/schemas/ThreadParticipant' type: array x-stream-index: "001.011" title: description: Title is the title of the thread title: Title type: string x-stream-index: "001.016" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.014" required: - channel_cid - parent_message_id - created_at - updated_at - title - custom - latest_replies title: Thread type: object ThreadStateResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001.002" channel_cid: type: string x-stream-index: "001.001" created_at: format: date-time type: string x-stream-index: "001.011" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "001.006" created_by_user_id: type: string x-stream-index: "001.005" custom: additionalProperties: {} type: object x-stream-index: "001.015" deleted_at: format: date-time type: string x-stream-index: "001.013" last_message_at: format: date-time type: string x-stream-index: "001.010" latest_replies: items: $ref: '#/components/schemas/Message' type: array x-stream-index: "002" parent_message: $ref: '#/components/schemas/Message' x-stream-index: "001.004" parent_message_id: type: string x-stream-index: "001.003" participant_count: format: int32 type: integer x-stream-index: "001.008" read: items: $ref: '#/components/schemas/Read' type: array x-stream-index: "003" reply_count: format: int32 type: integer x-stream-index: "001.007" thread_participants: items: $ref: '#/components/schemas/ThreadParticipant' type: array x-stream-index: "001.009" title: type: string x-stream-index: "001.014" updated_at: format: date-time type: string x-stream-index: "001.012" required: - channel_cid - parent_message_id - created_by_user_id - created_at - updated_at - title - custom - latest_replies 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 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/UserRequest' 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 UnmuteChannelRequest: 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: "001.002" expiration: description: Duration of mute in milliseconds title: Expiration type: integer x-stream-index: "001.003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object UnmuteResponse: nullable: true properties: duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" non_existing_users: items: type: string type: array x-stream-index: "001" required: - duration type: object UnmuteUserRequest: 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: "001.002" timeout: description: Duration of mute in minutes minimum: 0 title: Timeout type: integer x-stream-index: "001.003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" required: - timeout type: object UnreadCountsBatchRequest: nullable: true properties: user_ids: items: type: string maximum: 100 type: array x-stream-index: "001" required: - user_ids type: object UnreadCountsBatchResponse: nullable: true properties: counts_by_user: additionalProperties: $ref: '#/components/schemas/UnreadCountsResponse' type: object x-stream-index: "001" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" required: - counts_by_user - duration type: object UnreadCountsChannel: properties: channel_id: type: string x-stream-index: "001" last_read: format: date-time type: string x-stream-index: "003" unread_count: format: int32 type: integer x-stream-index: "002" required: - channel_id - unread_count - last_read type: object UnreadCountsChannelType: properties: channel_count: format: int32 type: integer x-stream-index: "002" channel_type: type: string x-stream-index: "001" unread_count: format: int32 type: integer x-stream-index: "003" required: - channel_type - channel_count - unread_count type: object UnreadCountsResponse: nullable: true properties: channel_type: items: $ref: '#/components/schemas/UnreadCountsChannelType' type: array x-stream-index: "004" channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: "003" threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: "005" total_unread_count: format: int32 type: integer x-stream-index: "001" total_unread_threads_count: format: int32 type: integer x-stream-index: "002" required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads type: object UnreadCountsThread: properties: last_read: format: date-time type: string x-stream-index: "002" last_read_message_id: type: string x-stream-index: "003" parent_message_id: type: string x-stream-index: "004" unread_count: format: int32 type: integer x-stream-index: "001" required: - unread_count - last_read - last_read_message_id - parent_message_id type: object UpdateAppRequest: nullable: true properties: agora_options: $ref: '#/components/schemas/Config' x-stream-index: "001.038" apn_config: $ref: '#/components/schemas/APNConfig' x-stream-index: "001.003" async_moderation_config: $ref: '#/components/schemas/AsyncModerationConfiguration' x-stream-index: "001.040" async_url_enrich_enabled: type: boolean x-stream-index: "001.017" auto_translation_enabled: type: boolean x-stream-index: "001.016" before_message_send_hook_url: type: string x-stream-index: "001.018" cdn_expiration_seconds: format: int32 maximum: 1209600 minimum: 14400 type: integer x-stream-index: "001.036" channel_hide_members_only: type: boolean x-stream-index: "001.031" custom_action_handler_url: type: string x-stream-index: "001.019" datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: "001.041" disable_auth_checks: type: boolean x-stream-index: "001.001" disable_permissions_checks: type: boolean x-stream-index: "001.002" enforce_unique_usernames: enum: - "no" - app - team type: string x-stream-index: "001.020" file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.028" firebase_config: $ref: '#/components/schemas/FirebaseConfig' x-stream-index: "001.004" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "001.032" hms_options: $ref: '#/components/schemas/Config' x-stream-index: "001.039" huawei_config: $ref: '#/components/schemas/HuaweiConfig' 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/FileUploadConfig' x-stream-index: "001.027" migrate_permissions_to_v2: type: boolean x-stream-index: "001.033" 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/PushConfig' x-stream-index: "001.007" reminders_interval: format: int32 maximum: 86400 minimum: 60 type: integer x-stream-index: "001.034" reminders_max_members: format: int32 minimum: 2 type: integer x-stream-index: "001.035" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.029" sns_key: type: string x-stream-index: "001.025" sns_secret: type: string x-stream-index: "001.026" sns_topic_arn: type: string x-stream-index: "001.024" sqs_key: type: string x-stream-index: "001.022" sqs_secret: type: string x-stream-index: "001.023" sqs_url: type: string x-stream-index: "001.021" 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.037" webhook_events: items: type: string type: array x-stream-index: "001.030" webhook_url: type: string x-stream-index: "001.008" xiaomi_config: $ref: '#/components/schemas/XiaomiConfig' x-stream-index: "001.006" type: object UpdateBlockListRequest: nullable: true properties: words: description: List of words to block items: type: string minimum: 1 title: Words type: array x-stream-index: "002" title: Update block list type: object x-stream-docs-page-id: update_block_list UpdateChannelPartialRequest: nullable: true properties: set: additionalProperties: {} type: object x-stream-index: "002.001" unset: items: type: string type: array x-stream-index: "002.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" 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/ChannelMember' 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/ChannelMember' 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/ChannelInput' 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/ChannelMember' 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/UserRequest' x-stream-index: "014.002" user_id: type: string x-stream-index: "014.001" 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: allowed_flag_reasons: items: type: string type: array x-stream-index: 007.001.024 automod: enum: - disabled - simple - AI type: string x-stream-index: 007.001.019 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 007.001.020 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 007.001.025 blocklist: type: string x-stream-index: 007.001.021 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 007.001.022 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 007.001.023 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.018 mutes: type: boolean x-stream-index: 007.001.009 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "003" polls: type: boolean x-stream-index: 007.001.016 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: - max_message_length - automod - automod_behavior type: object UpdateChannelTypeResponse: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.001.024 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.001.019 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.020 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.001.025 blocklist: type: string x-stream-index: 003.001.021 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.022 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.001.023 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.018 mutes: type: boolean x-stream-index: 003.001.009 name: type: string x-stream-index: 003.001.001 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "001" polls: type: boolean x-stream-index: 003.001.016 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 - polls - 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: 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: "002.001" x-stream-map: description: New value to set key: field title: Value skip_enrich_url: type: boolean x-stream-index: "001" unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: "002.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object UpdateMessagePartialResponse: 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" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - duration type: object UpdateMessageRequest: nullable: true properties: message: $ref: '#/components/schemas/MessageRequest' x-stream-index: "001" skip_enrich_url: type: boolean x-stream-index: "002" required: - message type: object UpdateMessageResponse: 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" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - message - duration type: object UpdatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "004" id: maxLength: 255 type: string x-stream-index: "002" text: type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" required: - id - text type: object UpdatePollPartialRequest: nullable: true properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: "002.001" x-stream-map: description: New value to set key: field title: Value unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: "002.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object UpdatePollRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "011" allow_answers: type: boolean x-stream-index: "009" allow_user_suggested_options: type: boolean x-stream-index: "008" description: type: string x-stream-index: "003" enforce_unique_vote: type: boolean x-stream-index: "005" id: maxLength: 255 type: string x-stream-index: "001" is_closed: type: boolean x-stream-index: "010" max_votes_allowed: format: int32 maximum: 10 type: integer x-stream-index: "007" name: type: string x-stream-index: "002" options: items: $ref: '#/components/schemas/PollOption' maximum: 100 type: array x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "012.002" user_id: type: string x-stream-index: "012.001" voting_visibility: enum: - anonymous - public type: string x-stream-index: "006" required: - id - name type: object UpdateThreadPartialRequest: nullable: true properties: set: additionalProperties: {} type: object x-stream-index: "004.001" unset: items: type: string type: array x-stream-index: "004.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object UpdateThreadPartialResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" thread: $ref: '#/components/schemas/ThreadResponse' description: Updated thread (not enriched) title: Thread x-stream-index: "001" required: - thread - duration type: object UpdateUserPartialRequest: properties: id: description: User ID to update title: ID type: string x-stream-index: "001" set: additionalProperties: {} type: object x-stream-index: "002.001" unset: items: type: string type: array x-stream-index: "002.002" required: - id type: object UpdateUsersPartialRequest: nullable: true properties: users: items: $ref: '#/components/schemas/UpdateUserPartialRequest' maximum: 100 type: array x-stream-index: "001" required: - users type: object UpdateUsersRequest: nullable: true properties: users: additionalProperties: $ref: '#/components/schemas/UserRequest' description: Object containing users title: Users type: object x-stream-index: "001" x-stream-map: key: user_id required: - users type: object UpdateUsersResponse: nullable: true properties: duration: type: string x-stream-index: "003.001" membership_deletion_task_id: type: string x-stream-index: "002" users: additionalProperties: $ref: '#/components/schemas/FullUserResponse' description: Object containing users title: Users type: object x-stream-index: "001" x-stream-map: key: user_id required: - users - membership_deletion_task_id - duration type: object UpsertPushProviderRequest: nullable: true properties: push_provider: $ref: '#/components/schemas/PushProvider' 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 UserCustomEventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: "002" type: type: string x-stream-index: "001" required: - type type: object 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 UserObject: 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" custom: additionalProperties: {} type: object x-stream-index: "005" 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: "031" 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: "038" 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: "032" 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 - custom - banned - online title: User object type: object 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" invisible: type: boolean x-stream-index: "006" language: type: string x-stream-index: "005" name: description: Optional name of user title: Name type: string x-stream-index: "002" push_notifications: $ref: '#/components/schemas/PushNotificationSettingsInput' x-stream-index: "009" role: title: Role type: string x-stream-index: "007" teams: items: type: string title: Teams type: array x-stream-index: "008" required: - id type: object UserResponse: properties: banned: type: boolean x-stream-index: "001.011" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.008" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.015" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "001.010" devices: items: $ref: '#/components/schemas/Device' type: array x-stream-index: "004" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "005" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.013" name: type: string x-stream-index: "001.002" online: type: boolean x-stream-index: "001.012" push_notifications: $ref: '#/components/schemas/PushNotificationSettings' x-stream-index: "003" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.014" role: type: string x-stream-index: "001.006" shadow_banned: type: boolean x-stream-index: "002" teams: items: type: string type: array x-stream-index: "001.007" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.009" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - shadow_banned - devices 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 VoteData: properties: Option: $ref: '#/components/schemas/PollOption' x-stream-index: "003" answer_text: type: string x-stream-index: "002" option_id: maxLength: 255 type: string x-stream-index: "001" type: object WSEvent: description: Represents an BaseEvent that happened in Stream Chat properties: automoderation: type: boolean x-stream-index: "020" automoderation_scores: $ref: '#/components/schemas/ModerationResponse' x-stream-index: "021" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "009" channel_id: type: string x-stream-index: "004" channel_type: type: string x-stream-index: "005" cid: type: string x-stream-index: "003" connection_id: type: string x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "025" created_by: $ref: '#/components/schemas/UserObject' x-stream-index: "019" custom: additionalProperties: {} type: object x-stream-index: "024" me: $ref: '#/components/schemas/OwnUser' x-stream-index: "016" member: $ref: '#/components/schemas/ChannelMember' x-stream-index: "011" message: $ref: '#/components/schemas/Message' x-stream-index: "006" message_update: $ref: '#/components/schemas/MessageUpdate' x-stream-index: "007" parent_id: type: string x-stream-index: "022" poll: $ref: '#/components/schemas/Poll' x-stream-index: "012" poll_vote: $ref: '#/components/schemas/PollVote' x-stream-index: "013" reaction: $ref: '#/components/schemas/Reaction' x-stream-index: "008" reason: type: string x-stream-index: "018" team: type: string x-stream-index: "023" thread: $ref: '#/components/schemas/Thread' x-stream-index: "010" type: type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserObject' x-stream-index: "014" user_id: type: string x-stream-index: "015" watcher_count: format: int32 type: integer x-stream-index: "017" required: - type - custom - created_at title: Event type: object x-stream-docs-page-id: event_object WrappedUnreadCountsResponse: nullable: true properties: channel_type: items: $ref: '#/components/schemas/UnreadCountsChannelType' type: array x-stream-index: "001.004" channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: "001.003" duration: description: Duration of the request in human-readable format title: Duration type: string x-stream-index: "002.001" threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: "001.005" total_unread_count: format: int32 type: integer x-stream-index: "001.001" total_unread_threads_count: format: int32 type: integer x-stream-index: "001.002" required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads - duration type: object XiaomiConfig: properties: Disabled: type: boolean writeOnly: true x-stream-index: "003" package_name: type: string x-stream-index: "001" secret: type: string x-stream-index: "002" type: object 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 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 info: title: Stream API version: v111.0.0 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 summary: Get App Settings tags: - product:chat patch: description: | This Method updates one or more application settings operationId: UpdateApp requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update App Settings tags: - product:chat /blocklists: get: description: | Returns all available block lists operationId: ListBlockLists 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 summary: List block lists tags: - product:chat post: description: | Creates a new application blocklist, once created the blocklist can be used by any channel type operationId: CreateBlockList requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBlockListRequest' description: Block list required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/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 summary: Create block list tags: - product:chat /blocklists/{name}: delete: description: | Deletes previously created application blocklist operationId: DeleteBlockList parameters: - in: path name: name required: true schema: 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 summary: Delete block list tags: - product:chat get: description: | Returns block list by given name operationId: GetBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: "001" 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 summary: Get block list tags: - product:chat put: description: | Updates contents of the block list operationId: UpdateBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListRequest' description: Update block list required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/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 summary: Update block list tags: - product:chat /calls: post: description: | Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel operationId: GetCallToken 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 summary: Get Call Token tags: - product:chat /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 summary: Get Call Token tags: - product:chat /channels: post: description: | Query channels with filter query Required permissions: - ReadChannel operationId: QueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryChannelsRequest' description: Query Channels Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryChannelsResponse' description: Channels list "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query channels tags: - product:chat /channels/{type}/{id}: delete: description: | Deletes channel Sends events: - channel.deleted 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 summary: Delete channel tags: - product:chat 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 summary: Partially update channel tags: - product:chat 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 summary: Update channel tags: - product:chat /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 summary: Create a call tags: - product:chat /channels/{type}/{id}/event: post: description: | Sends event to the channel 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 summary: Send event tags: - product:chat /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 summary: Delete file tags: - product:chat 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 summary: Upload file tags: - product:chat /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 summary: Hide channel tags: - product:chat /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 summary: Delete image tags: - product:chat 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 summary: Upload image tags: - product:chat /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: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "009.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "009.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send new message tags: - product:chat /channels/{type}/{id}/messages: get: description: | Returns list messages found by IDs 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 required: true schema: description: List of comma-separated IDs items: type: string maximum: 50 minimum: 1 title: IDs type: array writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetManyMessagesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get many messages tags: - product:chat /channels/{type}/{id}/query: post: description: | This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start operationId: GetOrCreateChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: "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" requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/{type}/{id}/read: post: description: | Marks channel as read up to the specific message Sends events: - message.read 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 summary: Mark read tags: - product:chat /channels/{type}/{id}/show: post: description: | Shows previously hidden channel Sends events: - channel.visible operationId: ShowChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "001.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/ShowChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ShowChannelResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Show channel tags: - product:chat /channels/{type}/{id}/truncate: post: description: | Truncates 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 summary: Truncate channel tags: - product:chat /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 summary: Mark unread tags: - product:chat /channels/{type}/query: post: description: | This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start operationId: GetOrCreateDistinctChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/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 summary: Deletes channels asynchronously tags: - product:chat /channels/read: post: description: | Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read 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 summary: Mark channels as read tags: - product:chat /channeltypes: get: description: | Lists all available channel types operationId: ListChannelTypes responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListChannelTypesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List channel types tags: - product:chat post: description: | Creates new channel type operationId: CreateChannelType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create channel type tags: - product:chat /channeltypes/{name}: delete: description: | Deletes channel type operationId: DeleteChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel type tags: - product:chat get: description: | Gets channel type operationId: GetChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/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 summary: Get channel type tags: - product:chat put: description: | Updates channel type operationId: UpdateChannelType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel type tags: - product:chat /check_push: post: description: | Sends a test message via push, this is a test endpoint to verify your push settings operationId: CheckPush requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPushRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckPushResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check push tags: - product:chat /check_sns: post: description: | Validates Amazon SNS configuration operationId: CheckSNS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSNSRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckSNSResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SNS tags: - product:chat /check_sqs: post: description: | Validates Amazon SQS credentials operationId: CheckSQS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSQSRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckSQSResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SQS tags: - product:chat /commands: get: description: | Returns all custom commands operationId: ListCommands responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListCommandsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List commands tags: - product:chat post: description: | Creates custom chat command operationId: CreateCommand requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCommandRequest' description: 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 summary: Create command tags: - product:chat /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 summary: Delete command tags: - product:chat 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 summary: Get command tags: - product:chat put: description: | Updates custom chat command operationId: UpdateCommand parameters: - in: path name: name required: true schema: description: Unique command name title: Name type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommandRequest' description: 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 summary: Update command tags: - product:chat /devices: delete: description: | Deletes one device operationId: DeleteDevice parameters: - in: query name: id required: true schema: description: Device ID to delete title: ID type: string writeOnly: true x-stream-index: "001" - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: "002.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete device tags: - product:chat get: description: | Returns all available devices operationId: ListDevices parameters: - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: "001.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List devices tags: - product:chat post: description: | Adds a new device to a user, if the same device already exists the call will have no effect operationId: CreateDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeviceRequest' 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 summary: Create device tags: - product:chat /export/users: post: description: | Exports user profile, reactions and messages for list of given users operationId: ExportUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ExportUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export users tags: - product:chat /export_channels: post: description: | Exports channel data to JSON file operationId: ExportChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportChannelsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ExportChannelsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export channels tags: - product:chat /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 summary: Export channels status tags: - product:chat /guest: post: description: |2+ operationId: CreateGuest requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateGuestRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateGuestResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create Guest tags: - product:chat /import_urls: post: description: | Creates a new import URL operationId: CreateImportURL requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportURLRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateImportURLResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import URL tags: - product:chat /imports: get: description: | Gets an import operationId: ListImports responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListImportsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat post: description: | Creates a new import operationId: CreateImport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateImportResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import tags: - product:chat /imports/{id}: get: description: | Gets an import operationId: GetImport parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetImportResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat /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 summary: Query members tags: - product:chat /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: deleted_by schema: type: string writeOnly: true x-stream-index: "003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete message tags: - product:chat get: description: | Returns message by ID Required permissions: - ReadChannel operationId: GetMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: show_deleted_message schema: type: boolean writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get message tags: - product:chat post: description: | Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage operationId: UpdateMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "003.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update message tags: - product:chat put: description: | Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage operationId: UpdateMessagePartial parameters: - in: path name: id required: true schema: 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/UpdateMessagePartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially message update tags: - product:chat /messages/{id}/action: post: description: | Executes message command action with given parameters Sends events: - message.new 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 summary: Run message command action tags: - product:chat /messages/{id}/commit: post: description: | Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated operationId: CommitMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "201": content: application/json: schema: $ref: '#/components/schemas/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 summary: Commit message tags: - product:chat /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/SendReactionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send reaction tags: - product:chat /messages/{id}/reaction/{type}: delete: description: | Removes user reaction from the message Sends events: - reaction.deleted 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 summary: Delete reaction tags: - product:chat /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 summary: Get reactions tags: - product:chat post: description: | Get reactions on a message Required permissions: - ReadChannel operationId: QueryReactions parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryReactionsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryReactionsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests tags: - product:chat /messages/{id}/translate: post: description: | Translates message to a given language using automated translation software Sends events: - message.updated 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 summary: Translate message tags: - product:chat /messages/{id}/undelete: post: description: | Undelete a message that was previously soft-deleted Sends events: - message.undeleted operationId: UndeleteMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "003.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Undelete message tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote: post: description: | Cast a vote on a poll Sends events: - poll.vote_casted Required permissions: - CastVote operationId: CastPollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/CastPollVoteRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Cast vote tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote/{vote_id}: delete: description: | Delete a vote from a poll Sends events: - poll.vote_removed Required permissions: - CastVote operationId: RemovePollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "002" - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "003" - in: path name: vote_id required: true schema: maxLength: 255 type: string x-stream-index: "004" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete vote tags: - product:chat /messages/{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: type: string writeOnly: true x-stream-index: "001" - in: query name: id_gte schema: type: string x-stream-index: "002.003" - in: query name: id_gt schema: type: string x-stream-index: "002.004" - in: query name: id_lte schema: type: string x-stream-index: "002.005" - in: query name: id_lt schema: type: string x-stream-index: "002.006" - in: query name: created_at_after_or_equal schema: format: date-time type: string x-stream-index: "002.007" - in: query name: created_at_after schema: format: date-time type: string x-stream-index: "002.008" - in: query name: created_at_before_or_equal schema: format: date-time type: string x-stream-index: "002.009" - in: query name: created_at_before schema: format: date-time type: string x-stream-index: "002.010" - in: query name: id_around schema: type: string x-stream-index: "002.011" - in: query name: created_at_around schema: format: date-time type: string x-stream-index: "002.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 summary: Get replies tags: - product:chat /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 required: true 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 summary: Unban user tags: - product:chat 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 summary: Ban user tags: - product:chat /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 summary: Flag tags: - product:chat /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 summary: Query Message Flags tags: - product:chat /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 summary: Mute user tags: - product:chat /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 summary: Mute channel tags: - product:chat /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 summary: Unmute user tags: - product:chat /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 summary: Unmute channel tags: - product:chat /og: get: description: | Get an OpenGraph attachment for a link operationId: GetOG parameters: - in: query name: url required: true schema: description: URL to be scraped title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetOGResponse' description: Get OG Attachment "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get OG tags: - product:chat /permissions: get: description: | Lists all available permissions operationId: ListPermissions responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListPermissionsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List permissions tags: - product:chat /permissions/{id}: get: description: | Gets custom permission operationId: GetPermission parameters: - in: path name: id required: true schema: description: Permission ID title: ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetCustomPermissionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get permission tags: - product:chat /polls: post: description: | Creates a new poll Sends events: - poll.created Required permissions: - CreatePoll operationId: CreatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollRequest' description: Create Poll Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll tags: - product:chat put: description: | Updates a poll Sends events: - poll.updated Required permissions: - UpdatePoll operationId: UpdatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll tags: - product:chat /polls/{poll_id}: delete: description: | Deletes a poll Sends events: - poll.deleted Required permissions: - DeletePoll operationId: DeletePoll parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll tags: - product:chat get: description: | Retrieves a poll operationId: GetPoll parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll tags: - product:chat patch: description: | Updates a poll partially Sends events: - poll.updated Required permissions: - UpdatePoll operationId: UpdatePollPartial parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial update poll tags: - product:chat /polls/{poll_id}/options: post: description: | Creates a poll option Sends events: - poll.updated Required permissions: - CastVote - UpdatePoll operationId: CreatePollOption parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollOptionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll option tags: - product:chat put: description: | Updates a poll option Sends events: - poll.updated Required permissions: - UpdatePoll operationId: UpdatePollOption parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollOptionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll option tags: - product:chat /polls/{poll_id}/options/{option_id}: delete: description: | Deletes a poll option Sends events: - poll.updated Required permissions: - UpdatePoll operationId: DeletePollOption parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" - in: path name: option_id required: true schema: maxLength: 255 type: string x-stream-index: "003" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll option tags: - product:chat get: description: | Retrieves a poll option operationId: GetPollOption parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" - in: path name: option_id required: true schema: maxLength: 255 type: string x-stream-index: "003" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll option tags: - product:chat /polls/{poll_id}/votes: post: description: | Queries votes operationId: QueryPollVotes parameters: - in: path name: poll_id required: true schema: maxLength: 255 type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollVotesRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollVotesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query votes tags: - product:chat /polls/query: post: description: | Queries polls operationId: QueryPolls parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryPollsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query polls tags: - product:chat /push_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 summary: List push providers tags: - product:chat post: description: | Upsert a push provider for v2 with multi bundle/package support operationId: UpsertPushProvider requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push provider tags: - product:chat /push_providers/{type}/{name}: delete: description: | Delete a push provider from v2 with multi bundle/package support. v1 isn't supported in this endpoint operationId: DeletePushProvider parameters: - in: path name: type required: true schema: enum: - apn - firebase - huawei - xiaomi type: string writeOnly: true x-stream-index: "001" - in: path name: name required: true schema: maxLength: 36 minLength: 1 type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a push provider tags: - product:chat /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 summary: Query Banned Users tags: - product:chat /rate_limits: get: description: | Get rate limits usage and quotas operationId: GetRateLimits parameters: - in: query name: server_side schema: description: Whether to include server-side platform limits or not title: Server-side type: boolean writeOnly: true x-stream-index: "001" - in: query name: android schema: description: Whether to include Android platform limits or not title: Android type: boolean writeOnly: true x-stream-index: "002" - in: query name: ios schema: description: Whether to include iOS platform limits or not title: iOS type: boolean writeOnly: true x-stream-index: "003" - in: query name: web schema: description: Whether to include web platform limits or not title: Web type: boolean writeOnly: true x-stream-index: "004" - in: query name: endpoints schema: description: Specific endpoints to show limits for, as a comma-separated list of values title: Endpoints type: string writeOnly: true x-stream-index: "005" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetRateLimitsResponse' description: Get Rate Limits Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get rate limits tags: - product:chat /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 summary: List roles tags: - product:chat post: description: | Creates custom role operationId: CreateRole requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRoleRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateRoleResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create role tags: - product:chat /roles/{name}: delete: description: | Deletes custom role operationId: DeleteRole parameters: - in: path name: name required: true schema: description: Role name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete role tags: - product:chat /search: get: description: | Search messages across channels 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 summary: Search messages tags: - product:chat /tasks/{id}: get: description: | Gets status of a task operationId: GetTask parameters: - in: path name: id required: true schema: description: Task ID title: ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetTaskResponse' description: Get Task Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get status of a task tags: - product:chat /threads: post: description: | Returns the list of threads for specific user Required permissions: - ReadChannel operationId: QueryThreads requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryThreadsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryThreadsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Threads tags: - product:chat /threads/{message_id}: get: description: | Return a specific thread Required permissions: - ReadChannel operationId: GetThread parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: connection_id schema: type: string writeOnly: true x-stream-index: "003" - in: query name: reply_limit schema: description: Limit the number of replies returned format: int32 minimum: 0 title: Reply limit type: integer writeOnly: true x-stream-index: "004" - in: query name: participant_limit schema: description: Limit the number of participants returned format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer writeOnly: true x-stream-index: "005" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetThreadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Thread tags: - product:chat patch: description: | Updates certain fields of the thread Sends events: - thread.updated Required permissions: - ReadChannel - UpdateThread operationId: UpdateThreadPartial parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update thread tags: - product:chat /unread: get: description: | Fetch unread counts for a single user operationId: UnreadCounts responses: "200": content: application/json: schema: $ref: '#/components/schemas/WrappedUnreadCountsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unread counts tags: - product:chat /unread_batch: post: description: | Fetch unread counts in batch for multiple users in one call operationId: UnreadCountsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Batch unread counts tags: - product:chat /users: get: description: | Find and filter users Required permissions: - SearchUser operationId: QueryUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryUsersPayload' x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query users tags: - product:chat patch: description: | Updates certain fields of the user Sends events: - user.presence.changed - user.updated operationId: UpdateUsersPartial requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update user tags: - product:chat post: description: | Update or create users in bulk Sends events: - user.updated operationId: UpdateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert users tags: - product:chat /users/{user_id}/deactivate: post: description: | Deactivates user with possibility to activate it back Sends events: - user.deactivated operationId: DeactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeactivateUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate user tags: - product:chat /users/{user_id}/event: post: description: | Sends a custom event to a user Sends events: - * operationId: SendUserCustomEvent parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendUserCustomEventRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send user event tags: - product:chat /users/{user_id}/export: get: description: | Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions operationId: ExportUser parameters: - in: path name: user_id required: true schema: type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ExportUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export user tags: - product:chat /users/{user_id}/reactivate: post: description: | Activates user who's been deactivated previously Sends events: - user.reactivated operationId: ReactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ReactivateUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate user tags: - product:chat /users/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 summary: Deactivate users tags: - product:chat /users/delete: post: description: | Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted operationId: DeleteUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeleteUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Users tags: - product:chat /users/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 summary: Reactivate users tags: - product:chat /users/restore: post: description: | Restore soft deleted users operationId: RestoreUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore users tags: - product:chat security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] servers: - description: Stream API url: https://stream-io-api.com