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" unrecoverable: description: Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it title: Unrecoverable type: boolean x-stream-index: "008" required: - code - message - StatusCode - duration - more_info - details title: Error response type: object 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 type: object APNS: properties: body: type: string x-stream-index: "002" content-available: format: int32 type: integer x-stream-index: "004" data: additionalProperties: {} type: object x-stream-index: "006" mutable-content: format: int32 type: integer x-stream-index: "005" sound: type: string x-stream-index: "003" title: type: string x-stream-index: "001" required: - title - body type: object 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 AddUserGroupMembersRequest: description: Request body for adding members to a user group nullable: true properties: as_admin: description: Whether to add the members as group admins. Defaults to false title: As Admin type: boolean x-stream-index: "003" member_ids: description: List of user IDs to add as members items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: "002" team_id: maxLength: 255 type: string x-stream-index: "004" required: - member_ids title: AddUserGroupMembersRequest type: object AddUserGroupMembersResponse: description: Response for adding members to a user group nullable: true properties: duration: type: string x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: "001" required: - duration title: AddUserGroupMembersResponse type: object AppResponseFields: properties: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: "057" allow_multi_user_devices: type: boolean x-stream-index: "018" allowed_flag_reasons: items: type: string type: array x-stream-index: "022" async_url_enrich_enabled: type: boolean x-stream-index: "020" auto_translation_enabled: type: boolean x-stream-index: "023" before_message_send_hook_url: type: string x-stream-index: "024" call_types: additionalProperties: $ref: '#/components/schemas/CallType' type: object x-stream-index: "009" campaign_enabled: type: boolean x-stream-index: "037" cdn_expiration_seconds: format: int32 type: integer x-stream-index: "040" channel_configs: additionalProperties: $ref: '#/components/schemas/ChannelConfig' type: object x-stream-index: "008" custom_action_handler_url: type: string x-stream-index: "025" datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: "043" disable_auth_checks: type: boolean x-stream-index: "013" disable_permissions_checks: type: boolean x-stream-index: "014" enforce_unique_usernames: type: string x-stream-index: "026" event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: "048" feed_audit_logs_enabled: type: boolean x-stream-index: "053" file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "033" geofences: items: $ref: '#/components/schemas/GeofenceResponse' type: array x-stream-index: "042" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "036" guest_user_creation_disabled: type: boolean x-stream-index: "046" id: format: int32 type: integer x-stream-index: "001" image_moderation_enabled: type: boolean x-stream-index: "019" image_moderation_labels: items: type: string type: array x-stream-index: "021" image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "034" max_aggregated_activities_length: format: int32 type: integer x-stream-index: "052" moderation_audio_call_moderation_enabled: type: boolean x-stream-index: "055" moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: "047" moderation_enabled: type: boolean x-stream-index: "044" moderation_llm_configurability_enabled: type: boolean x-stream-index: "051" moderation_multitenant_blocklist_enabled: type: boolean x-stream-index: "045" moderation_s3_image_access_role_arn: type: string x-stream-index: "056" moderation_video_call_moderation_enabled: type: boolean x-stream-index: "054" moderation_webhook_url: type: string x-stream-index: "007" multi_tenant_enabled: type: boolean x-stream-index: "017" name: type: string x-stream-index: "002" organization: type: string x-stream-index: "003" permission_version: type: string x-stream-index: "015" placement: type: string x-stream-index: "004" policies: additionalProperties: items: $ref: '#/components/schemas/Policy' type: array type: object x-stream-index: "010" push_notifications: $ref: '#/components/schemas/PushNotificationFields' x-stream-index: "005" reminders_interval: format: int32 type: integer x-stream-index: "039" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "035" sns_key: type: string x-stream-index: "031" sns_secret: type: string x-stream-index: "032" sns_topic_arn: type: string x-stream-index: "030" sqs_key: type: string x-stream-index: "028" sqs_secret: type: string x-stream-index: "029" sqs_url: type: string x-stream-index: "027" suspended: type: boolean x-stream-index: "011" suspended_explanation: type: string x-stream-index: "012" use_hook_v2: type: boolean x-stream-index: "049" user_response_time_enabled: type: boolean x-stream-index: "050" user_search_disallowed_roles: items: type: string type: array x-stream-index: "016" webhook_events: items: type: string type: array x-stream-index: "038" webhook_url: type: string x-stream-index: "006" required: - id - name - organization - placement - push_notifications - webhook_url - moderation_webhook_url - channel_configs - call_types - policies - suspended - suspended_explanation - disable_auth_checks - disable_permissions_checks - permission_version - user_search_disallowed_roles - multi_tenant_enabled - allow_multi_user_devices - image_moderation_enabled - async_url_enrich_enabled - auto_translation_enabled - custom_action_handler_url - enforce_unique_usernames - sqs_url - sqs_key - sqs_secret - sns_topic_arn - sns_key - sns_secret - file_upload_config - image_upload_config - grants - campaign_enabled - webhook_events - reminders_interval - cdn_expiration_seconds - video_provider - moderation_enabled - moderation_multitenant_blocklist_enabled - guest_user_creation_disabled - event_hooks - use_hook_v2 - user_response_time_enabled - moderation_llm_configurability_enabled - max_aggregated_activities_length - feed_audit_logs_enabled - moderation_video_call_moderation_enabled - moderation_audio_call_moderation_enabled type: object AsyncBulkImageModerationEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.bulk_image_moderation.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncBulkImageModerationEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportChannelsEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.channels.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportChannelsEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportErrorEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" error: type: string x-stream-index: "001" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.moderation_logs.error type: string x-stream-index: "003.002" required: - error - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportErrorEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportModerationLogsEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.moderation_logs.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportModerationLogsEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent AsyncExportUsersEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "003.003" custom: additionalProperties: {} type: object x-stream-index: "003.007" finished_at: format: date-time type: string x-stream-index: "002.003" received_at: format: date-time type: string x-stream-index: "003.004" started_at: format: date-time type: string x-stream-index: "002.002" task_id: type: string x-stream-index: "002.001" type: default: export.users.success type: string x-stream-index: "003.002" url: type: string x-stream-index: "001" required: - url - task_id - started_at - finished_at - type - created_at - custom title: AsyncExportUsersEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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: description: An attachment is a message object that represents a file uploaded by a user. nullable: true properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: "015" asset_url: type: string x-stream-index: "017" author_icon: type: string x-stream-index: "007" author_link: type: string x-stream-index: "006" author_name: type: string x-stream-index: "005" color: type: string x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "018" fallback: type: string x-stream-index: "002" fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: "016" footer: type: string x-stream-index: "013" footer_icon: type: string x-stream-index: "014" giphy: $ref: '#/components/schemas/Images' x-stream-index: "019" image_url: type: string x-stream-index: "011" og_scrape_url: type: string x-stream-index: "020" original_height: format: int32 type: integer x-stream-index: "022" original_width: format: int32 type: integer x-stream-index: "021" pretext: type: string x-stream-index: "004" text: type: string x-stream-index: "010" thumb_url: type: string x-stream-index: "012" title: type: string x-stream-index: "008" title_link: type: string x-stream-index: "009" type: description: Attachment type (e.g. image, video, url) title: Type type: string x-stream-index: "001" required: - custom title: Attachment type: object x-stream-docs-page-id: file_uploads AudioSettings: properties: access_request_enabled: type: boolean x-stream-index: "001" default_device: enum: - speaker - earpiece type: string x-stream-index: "006" hifi_audio_enabled: type: boolean x-stream-index: "008" mic_default_on: type: boolean x-stream-index: "004" noise_cancellation: $ref: '#/components/schemas/NoiseCancellationSettings' x-stream-index: "007" opus_dtx_enabled: type: boolean x-stream-index: "002" redundant_coding_enabled: type: boolean x-stream-index: "003" speaker_default_on: type: boolean x-stream-index: "005" required: - access_request_enabled - opus_dtx_enabled - redundant_coding_enabled - mic_default_on - speaker_default_on - default_device - hifi_audio_enabled type: object AutomodDetailsResponse: properties: action: type: string x-stream-index: "001" image_labels: items: type: string type: array x-stream-index: "005" message_details: $ref: '#/components/schemas/FlagMessageDetailsResponse' x-stream-index: "004" original_message_type: type: string x-stream-index: "002" result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: "003" type: object AzureRequest: description: Config for creating Azure Blob Storage storage properties: abs_account_name: description: The account name title: AccountName type: string x-stream-index: "001" abs_client_id: description: The client id title: ClientID type: string x-stream-index: "003" abs_client_secret: description: The client secret title: ClientSecret type: string x-stream-index: "004" abs_tenant_id: description: The tenant id title: TenantID type: string x-stream-index: "002" required: - abs_account_name - abs_tenant_id - abs_client_id - abs_client_secret title: AzureRequest type: object BackstageSettings: properties: enabled: type: boolean x-stream-index: "001" join_ahead_time_seconds: format: int32 type: integer x-stream-index: "002" required: - enabled type: object BanRequest: nullable: true properties: ban_from_future_channels: description: Whether to also ban the user from all future channels created by the banner title: Ban from future channels type: boolean x-stream-index: "013" banned_by: $ref: '#/components/schemas/UserRequest' description: User who issued a ban title: Banned by x-stream-index: "010" banned_by_id: description: User ID who issued a ban title: Banned by ID type: string x-stream-index: "009" channel_cid: description: Channel CID to ban user in eg. messaging:123 title: Channel CID type: string x-stream-index: "006" delete_messages: enum: - soft - pruning - hard type: string x-stream-index: "011" delete_reactions: description: Whether to delete reactions by the banned user on other users' messages title: Delete reactions type: boolean x-stream-index: "012" ip_ban: description: Whether to perform IP ban or not title: IP ban type: boolean x-stream-index: "008" reason: description: Ban reason title: Reason type: string x-stream-index: "003" shadow: description: Whether to perform shadow ban or not title: Shadow type: boolean x-stream-index: "007" target_user_id: description: ID of user to ban title: Target user ID type: string x-stream-index: "001" timeout: description: Timeout of ban in minutes. User will be unbanned after this period of time title: Timeout type: integer x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "014.002" user_id: type: string x-stream-index: "014.001" required: - target_user_id type: object BanResponse: nullable: true properties: banned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "006" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "007" expires: format: date-time type: string x-stream-index: "003" reason: type: string x-stream-index: "004" shadow: type: boolean x-stream-index: "005" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "002" required: - created_at type: object BlockListOptions: properties: behavior: description: 'Blocklist behavior. One of: flag, block, shadow_block' enum: - flag - block - shadow_block title: Behavior type: string x-stream-index: "002" blocklist: description: Blocklist name title: Blocklist type: string x-stream-index: "001" required: - blocklist - behavior type: object BlockListResponse: description: Block list contains restricted words properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001" id: type: string x-stream-index: "003" is_leet_check_enabled: type: boolean x-stream-index: "008" is_plural_check_enabled: type: boolean x-stream-index: "009" name: description: Block list name title: Name type: string x-stream-index: "004" team: type: string x-stream-index: "007" type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' title: Type type: string x-stream-index: "005" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "002" words: description: List of words to block items: type: string title: Words type: array x-stream-index: "006" required: - name - type - words - is_leet_check_enabled - is_plural_check_enabled title: Block list type: object x-stream-docs-page-id: block_lists BlockUsersRequest: nullable: true properties: blocked_user_id: description: User id to block title: BlockedUserID type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - blocked_user_id type: object BlockUsersResponse: nullable: true properties: blocked_by_user_id: description: User id who blocked another user title: BlockedByUserID type: string x-stream-index: "002" blocked_user_id: description: User id who got blocked title: BlockedUserID type: string x-stream-index: "003" created_at: description: Timestamp when the user was blocked format: date-time title: CreatedAt type: string x-stream-index: "004" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration - blocked_by_user_id - blocked_user_id - created_at type: object BlockedUserResponse: nullable: true properties: blocked_user: $ref: '#/components/schemas/UserResponse' description: User who got blocked title: User x-stream-index: "003" blocked_user_id: description: ID of the user who got blocked title: UserID type: string x-stream-index: "004" created_at: format: date-time type: string x-stream-index: "005" user: $ref: '#/components/schemas/UserResponse' description: User who blocked another user title: User x-stream-index: "001" user_id: description: ID of the user who blocked another user title: UserID type: string x-stream-index: "002" required: - user - user_id - blocked_user - blocked_user_id - created_at type: object BroadcastSettings: properties: enabled: type: boolean x-stream-index: "001" hls: $ref: '#/components/schemas/HLSSettings' x-stream-index: "002" rtmp: $ref: '#/components/schemas/RTMPSettings' x-stream-index: "003" required: - enabled type: object CallSettings: properties: audio: $ref: '#/components/schemas/AudioSettings' x-stream-index: "001" backstage: $ref: '#/components/schemas/BackstageSettings' x-stream-index: "002" broadcasting: $ref: '#/components/schemas/BroadcastSettings' x-stream-index: "009" frame_recording: $ref: '#/components/schemas/FrameRecordSettings' x-stream-index: "006" geofencing: $ref: '#/components/schemas/GeofenceSettings' x-stream-index: "010" individual_recording: $ref: '#/components/schemas/IndividualRecordSettings' x-stream-index: "007" ingress: $ref: '#/components/schemas/IngressSettings' x-stream-index: "016" limits: $ref: '#/components/schemas/LimitsSettings' x-stream-index: "014" raw_recording: $ref: '#/components/schemas/RawRecordSettings' x-stream-index: "008" recording: $ref: '#/components/schemas/RecordSettings' x-stream-index: "005" ring: $ref: '#/components/schemas/RingSettings' x-stream-index: "012" screensharing: $ref: '#/components/schemas/ScreensharingSettings' x-stream-index: "004" session: $ref: '#/components/schemas/SessionSettings' x-stream-index: "015" thumbnails: $ref: '#/components/schemas/ThumbnailsSettings' x-stream-index: "013" transcription: $ref: '#/components/schemas/TranscriptionSettings' x-stream-index: "011" video: $ref: '#/components/schemas/VideoSettings' x-stream-index: "003" type: object CallType: nullable: true properties: app: format: int32 type: integer x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "005" id: format: int32 type: integer x-stream-index: "002" name: type: string x-stream-index: "004" notification_settings: $ref: '#/components/schemas/NotificationSettings' x-stream-index: "008" recording_external_storage: type: string x-stream-index: "009" settings: $ref: '#/components/schemas/CallSettings' x-stream-index: "007" updated_at: format: date-time type: string x-stream-index: "006" required: - id - app - name - created_at - updated_at - recording_external_storage type: object CampaignChannelMember: nullable: true properties: channel_role: type: string x-stream-index: "002" custom: additionalProperties: {} type: object x-stream-index: "003" user_id: type: string x-stream-index: "001" required: - user_id type: object CampaignChannelTemplate: properties: custom: additionalProperties: {} type: object x-stream-index: "006" id: type: string x-stream-index: "002" members: items: type: string maxItems: 1000 type: array x-stream-index: "003" members_template: items: $ref: '#/components/schemas/CampaignChannelMember' maxItems: 1000 type: array x-stream-index: "004" team: maxLength: 1000 type: string x-stream-index: "005" type: maxLength: 64 type: string x-stream-index: "001" required: - type type: object CampaignCompletedEvent: nullable: true properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: campaign.completed type: string x-stream-index: "001.002" required: - type - created_at - custom title: CampaignCompletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CampaignMessageTemplate: properties: attachments: items: $ref: '#/components/schemas/Attachment' maxItems: 30 type: array x-stream-index: "002" custom: additionalProperties: {} type: object x-stream-index: "004" poll_id: type: string x-stream-index: "003" searchable: type: boolean x-stream-index: "005" text: type: string x-stream-index: "001" required: - text type: object CampaignResponse: properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' x-stream-index: "017" create_channels: type: boolean x-stream-index: "009" created_at: format: date-time type: string x-stream-index: "021" description: type: string x-stream-index: "011" id: type: string x-stream-index: "001" message_template: $ref: '#/components/schemas/CampaignMessageTemplate' x-stream-index: "016" name: type: string x-stream-index: "008" scheduled_for: format: date-time type: string x-stream-index: "014" segment_ids: items: type: string type: array x-stream-index: "002" segments: items: $ref: '#/components/schemas/Segment' type: array x-stream-index: "003" sender: $ref: '#/components/schemas/UserResponse' x-stream-index: "005" sender_id: type: string x-stream-index: "004" sender_mode: type: string x-stream-index: "006" sender_visibility: type: string x-stream-index: "007" show_channels: type: boolean x-stream-index: "010" skip_push: type: boolean x-stream-index: "012" skip_webhook: type: boolean x-stream-index: "013" stats: $ref: '#/components/schemas/CampaignStatsResponse' x-stream-index: "023" status: type: string x-stream-index: "020" stop_at: format: date-time type: string x-stream-index: "015" updated_at: format: date-time type: string x-stream-index: "022" user_ids: items: type: string type: array x-stream-index: "018" users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "019" required: - id - segment_ids - segments - sender_id - sender_mode - sender_visibility - name - create_channels - show_channels - description - skip_push - skip_webhook - user_ids - users - status - created_at - updated_at - stats type: object CampaignStartedEvent: nullable: true properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: campaign.started type: string x-stream-index: "001.002" required: - type - created_at - custom title: CampaignStartedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent CampaignStatsResponse: properties: progress: format: float type: number x-stream-index: "005" stats_channels_created: format: int32 type: integer x-stream-index: "004" stats_completed_at: format: date-time type: string x-stream-index: "002" stats_messages_sent: format: int32 type: integer x-stream-index: "003" stats_started_at: format: date-time type: string x-stream-index: "001" stats_users_read: format: int32 type: integer x-stream-index: "007" stats_users_sent: format: int32 type: integer x-stream-index: "006" required: - stats_started_at - stats_completed_at - stats_messages_sent - stats_channels_created - progress - stats_users_sent - stats_users_read type: object CastPollVoteRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" vote: $ref: '#/components/schemas/VoteData' description: Vote data title: VoteData x-stream-index: "004" type: object ChannelBatchCompletedEvent: nullable: true properties: batch_created_at: format: date-time type: string x-stream-index: "002.006" created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" failed_channels: items: $ref: '#/components/schemas/FailedChannelUpdates' type: array x-stream-index: "002.004" finished_at: format: date-time type: string x-stream-index: "002.007" operation: type: string x-stream-index: "002.001" received_at: format: date-time type: string x-stream-index: "001.004" status: type: string x-stream-index: "002.002" success_channels_count: format: int32 type: integer x-stream-index: "002.005" task_id: type: string x-stream-index: "002.003" type: default: channel_batch_update.completed type: string x-stream-index: "001.002" required: - type - created_at - custom - operation - status - task_id - failed_channels - success_channels_count - batch_created_at - finished_at title: ChannelBatchCompletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelBatchMemberRequest: nullable: true properties: channel_role: type: string x-stream-index: "002" user_id: type: string x-stream-index: "001" required: - user_id type: object ChannelBatchStartedEvent: nullable: true properties: batch_created_at: format: date-time type: string x-stream-index: "002.006" created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" failed_channels: items: $ref: '#/components/schemas/FailedChannelUpdates' type: array x-stream-index: "002.004" finished_at: format: date-time type: string x-stream-index: "002.007" operation: type: string x-stream-index: "002.001" received_at: format: date-time type: string x-stream-index: "001.004" status: type: string x-stream-index: "002.002" success_channels_count: format: int32 type: integer x-stream-index: "002.005" task_id: type: string x-stream-index: "002.003" type: default: channel_batch_update.started type: string x-stream-index: "001.002" required: - type - created_at - custom - operation - status - task_id - failed_channels - success_channels_count - batch_created_at - finished_at title: ChannelBatchStartedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelBatchUpdateRequest: nullable: true properties: data: $ref: '#/components/schemas/ChannelDataUpdate' x-stream-index: "004" filter: additionalProperties: {} type: object x-stream-index: "002" members: items: $ref: '#/components/schemas/ChannelBatchMemberRequest' maxItems: 100 type: array x-stream-index: "003" operation: enum: - addMembers - removeMembers - inviteMembers - invites - assignRoles - addModerators - demoteModerators - hide - show - archive - unarchive - updateData type: string x-stream-index: "001" required: - operation - filter type: object ChannelBatchUpdateResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - duration title: Response type: object ChannelConfig: description: Channel configuration overrides properties: blocklist: type: string x-stream-index: "008" blocklist_behavior: enum: - flag - block type: string x-stream-index: "009" chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: "013" commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "011" count_messages: description: Enable/disable message counting title: Count messages type: boolean x-stream-index: "016" grants: additionalProperties: items: type: string type: array title: Grants type: object x-stream-index: "010" x-stream-map: description: List of grants modifiers that apply to a role key: role title: Grants max_message_length: description: Overrides max message length format: int32 maximum: 20000 title: Max Message Length type: integer x-stream-index: "007" push_level: description: Overrides the push notification level for this channel enum: - all - all_mentions - mentions - direct_mentions - none title: Push Level type: string x-stream-index: "012" quotes: description: Enables message quotes title: Quotes type: boolean x-stream-index: "004" reactions: description: Enables or disables reactions title: Reactions type: boolean x-stream-index: "002" replies: description: Enables message replies (threads) title: Replies type: boolean x-stream-index: "003" shared_locations: description: Enable/disable shared locations title: Shared locations type: boolean x-stream-index: "015" typing_events: description: Enables or disables typing events title: Typing events type: boolean x-stream-index: "001" uploads: description: Enables or disables file uploads title: Uploads type: boolean x-stream-index: "005" url_enrichment: description: Enables or disables URL enrichment title: URL Enrichment type: boolean x-stream-index: "006" user_message_reminders: description: Enable/disable user message reminders title: User message reminders type: boolean x-stream-index: "014" type: object ChannelConfigWithInfo: properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.002.029 blocklist: type: string x-stream-index: 001.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: "001.003" connect_events: type: boolean x-stream-index: 001.002.004 count_messages: type: boolean x-stream-index: 001.002.020 created_at: format: date-time type: string x-stream-index: 001.001.003 custom_events: type: boolean x-stream-index: 001.002.013 delivery_events: type: boolean x-stream-index: 001.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: "002" mark_messages_pending: type: boolean x-stream-index: 001.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.002.022 mutes: type: boolean x-stream-index: 001.002.010 name: type: string x-stream-index: 001.002.001 partition_size: format: int32 type: integer x-stream-index: 001.002.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 001.002.031 polls: type: boolean x-stream-index: 001.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.002.033 push_notifications: type: boolean x-stream-index: 001.002.014 quotes: type: boolean x-stream-index: 001.002.009 reactions: type: boolean x-stream-index: 001.002.007 read_events: type: boolean x-stream-index: 001.002.003 reminders: type: boolean x-stream-index: 001.002.015 replies: type: boolean x-stream-index: 001.002.008 search: type: boolean x-stream-index: 001.002.006 shared_locations: type: boolean x-stream-index: 001.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.002.032 typing_events: type: boolean x-stream-index: 001.002.002 updated_at: format: date-time type: string x-stream-index: 001.001.004 uploads: type: boolean x-stream-index: 001.002.011 url_enrichment: type: boolean x-stream-index: 001.002.012 user_message_reminders: type: boolean x-stream-index: 001.002.018 required: - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: object ChannelCreatedEvent: description: Emitted when a channel is successfully created. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was created title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was created title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was created title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was created title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.created description: 'The type of event: "channel.created" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who created the channel title: User x-stream-index: "002.001" required: - type - created_at - custom - channel title: ChannelCreatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelDataUpdate: properties: auto_translation_enabled: type: boolean x-stream-index: "006" auto_translation_language: type: string x-stream-index: "007" config_overrides: $ref: '#/components/schemas/ChannelConfig' x-stream-index: "005" custom: additionalProperties: {} type: object x-stream-index: "003" disabled: type: boolean x-stream-index: "002" frozen: type: boolean x-stream-index: "001" team: type: string x-stream-index: "004" type: object ChannelDeletedEvent: description: Emitted when a channel is successfully deleted. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was deleted title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was deleted title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was deleted title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was deleted title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.deleted description: 'The type of event: "channel.deleted" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who deleted the channel title: User x-stream-index: "002.001" required: - type - created_at - custom - channel title: ChannelDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 ChannelFrozenEvent: description: Emitted when a channel is successfully frozen. nullable: true properties: channel_id: description: The ID of the channel which was frozen title: Channel ID type: string x-stream-index: 001.002.002 channel_type: description: The type of the channel which was frozen title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel which was frozen title: Channel CID type: string x-stream-index: 001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.004 type: default: channel.frozen description: 'The type of event: "channel.frozen" in this case' title: Event Type type: string x-stream-index: 001.001.001.002 required: - type - created_at - custom title: ChannelFrozenEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelGetOrCreateRequest: nullable: true properties: data: $ref: '#/components/schemas/ChannelInput' x-stream-index: "003" hide_for_creator: description: Whether this channel will be hidden for the user who created the channel or not title: Hide for creator type: boolean x-stream-index: "007" members: $ref: '#/components/schemas/PaginationParams' x-stream-index: "010" messages: $ref: '#/components/schemas/MessagePaginationParams' x-stream-index: "009" state: description: Refresh channel state title: State type: boolean x-stream-index: "005" thread_unread_counts: type: boolean x-stream-index: "008" watchers: $ref: '#/components/schemas/PaginationParams' x-stream-index: "011" type: object ChannelHiddenEvent: description: Emitted when a channel is successfully hidden. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was hidden title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was hidden title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was hidden title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was hidden title: Channel CID type: string x-stream-index: 001.001.001.001.002 clear_history: description: Whether the history was cleared title: Clear History type: boolean x-stream-index: "003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.hidden description: 'The type of event: "channel.hidden" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who hid the channel title: User x-stream-index: "002.001" required: - type - created_at - custom - channel - clear_history title: ChannelHiddenEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelInput: properties: auto_translation_enabled: description: Enable or disable auto translation title: Auto translation type: boolean x-stream-index: "005" auto_translation_language: description: Switch auto translation language title: Auto translation language type: string x-stream-index: "006" config_overrides: $ref: '#/components/schemas/ChannelConfig' x-stream-index: "024" created_by: $ref: '#/components/schemas/UserRequest' x-stream-index: "009" created_by_id: type: string x-stream-index: "008" custom: additionalProperties: {} type: object x-stream-index: "015" disabled: type: boolean x-stream-index: "014" filter_tags: items: type: string maxItems: 10 type: array x-stream-index: "026" frozen: description: Freeze or unfreeze the channel title: Frozen type: boolean x-stream-index: "013" invites: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: "016" members: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: "018" team: description: Team the channel belongs to (if multi-tenant mode is enabled) title: Team type: string x-stream-index: "004" truncated_by_id: type: string x-stream-index: "010" type: object ChannelInputRequest: properties: auto_translation_enabled: type: boolean x-stream-index: "002" auto_translation_language: type: string x-stream-index: "003" config_overrides: $ref: '#/components/schemas/ConfigOverridesRequest' x-stream-index: "009" created_by: $ref: '#/components/schemas/UserRequest' x-stream-index: "010" custom: additionalProperties: {} type: object x-stream-index: "006" disabled: type: boolean x-stream-index: "005" frozen: type: boolean x-stream-index: "004" invites: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: "007" members: items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 type: array x-stream-index: "008" team: type: string x-stream-index: "001" type: object ChannelMemberRequest: nullable: true properties: channel_role: description: Role of the member in the channel title: Channel Role type: string x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: "003" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "002" user_id: title: User ID type: string x-stream-index: "001" required: - user_id title: Channel member type: object ChannelMemberResponse: properties: channel_role: type: string x-stream-index: "001" notifications_muted: type: boolean x-stream-index: "002" required: - channel_role - notifications_muted type: object ChannelMessagesResponse: description: Response containing channel and its messages nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Channel title: ChannelResponse x-stream-index: "001" messages: description: List of messages items: $ref: '#/components/schemas/MessageResponse' title: MessageResponse type: array x-stream-index: "002" required: - channel - messages title: ChannelMessagesResponse type: object ChannelMute: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Channel that is muted title: Channel x-stream-index: "002" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "004" expires: description: Date/time of mute expiration format: date-time title: Expires type: string x-stream-index: "003" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "005" user: $ref: '#/components/schemas/UserResponse' description: Owner of channel mute title: User x-stream-index: "001" required: - created_at - updated_at type: object ChannelMutedEvent: description: Emitted when a channel is successfully muted. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" mute: $ref: '#/components/schemas/ChannelMute' description: The mute object title: Mute x-stream-index: "003" mutes: description: The mute objects items: $ref: '#/components/schemas/ChannelMute' title: Mutes type: array x-stream-index: "004" received_at: format: date-time type: string x-stream-index: "001.004" type: default: channel.muted description: 'The type of event: "channel.muted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who muted the channel title: User x-stream-index: "002.001" required: - type - created_at - custom title: ChannelMutedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelOwnCapability: description: All possibility of string to use enum: - ban-channel-members - cast-poll-vote - connect-events - create-attachment - delete-any-message - delete-channel - delete-own-message - delivery-events - flag-message - freeze-channel - join-channel - leave-channel - mute-channel - pin-message - query-poll-votes - quote-message - read-events - search-messages - send-custom-events - send-links - send-message - send-poll - send-reaction - send-reply - send-restricted-visibility-message - send-typing-events - set-channel-cooldown - share-location - skip-slow-mode - slow-mode - typing-events - update-any-message - update-channel - update-channel-members - update-own-message - update-thread - upload-file title: ChannelOwnCapability type: string ChannelPushPreferencesResponse: properties: chat_level: type: string x-stream-index: "001" disabled_until: format: date-time type: string x-stream-index: "002" type: object ChannelResponse: description: Represents channel in chat properties: auto_translation_enabled: description: Whether auto translation is enabled or not title: Auto translation type: boolean x-stream-index: "017" auto_translation_language: description: Language to translate to when auto translation is active title: Auto translation language type: string x-stream-index: "018" blocked: description: Whether this channel is blocked by current user or not title: Blocked type: boolean x-stream-index: "023" cid: description: Channel CID (:) title: CID type: string x-stream-index: "003" config: $ref: '#/components/schemas/ChannelConfigWithInfo' description: Channel configuration title: ChannelConfigWithInfo x-stream-index: "013" cooldown: description: Cooldown period after sending each message format: int32 title: Cooldown type: integer x-stream-index: "020" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "005" created_by: $ref: '#/components/schemas/UserResponse' description: Creator of the channel title: UserResponse x-stream-index: "008" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "026" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "007" disabled: type: boolean x-stream-index: "010" filter_tags: description: List of filter tags associated with the channel items: type: string title: Filter tags type: array x-stream-index: "028" frozen: description: Whether channel is frozen or not title: Frozen type: boolean x-stream-index: "009" hidden: description: Whether this channel is hidden by current user or not title: Hidden type: boolean x-stream-index: "022" hide_messages_before: description: Date since when the message history is accessible format: date-time title: Hide messages before type: string x-stream-index: "019" id: description: Channel unique ID title: ID type: string x-stream-index: "001" last_message_at: description: Date of the last message sent format: date-time title: Last message at type: string x-stream-index: "004" member_count: description: Number of members in the channel format: int32 title: Member count type: integer x-stream-index: "012" members: description: List of channel members (max 100) items: $ref: '#/components/schemas/ChannelMemberResponse' title: Channel members type: array x-stream-index: "011" message_count: description: Number of messages in the channel format: int64 title: Message count type: integer x-stream-index: "027" mute_expires_at: description: Date of mute expiration format: date-time title: Mute expires at type: string x-stream-index: "015" muted: description: Whether this channel is muted or not title: Muted type: boolean x-stream-index: "014" own_capabilities: description: List of channel capabilities of authenticated user items: $ref: '#/components/schemas/ChannelOwnCapability' title: ChannelOwnCapability type: array x-stream-index: "021" team: description: Team the channel belongs to (multi-tenant only) title: Team type: string x-stream-index: "016" truncated_at: description: Date of the latest truncation of the channel format: date-time title: UserResponse type: string x-stream-index: "024" truncated_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "025" type: description: Type of the channel title: Type type: string x-stream-docs-page-id: channel_features x-stream-index: "002" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "006" required: - id - type - cid - created_at - updated_at - frozen - disabled - custom title: Channel type: object ChannelStateResponse: nullable: true properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData' type: array x-stream-index: "001.015" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001.001" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "001.014" duration: type: string x-stream-index: "002.001" hidden: type: boolean x-stream-index: "001.011" hide_messages_before: format: date-time type: string x-stream-index: "001.012" members: items: $ref: '#/components/schemas/ChannelMemberResponse' type: array x-stream-index: "001.007" membership: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: "001.008" messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "001.002" pending_messages: items: $ref: '#/components/schemas/PendingMessageResponse' type: array x-stream-index: "001.013" pinned_messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "001.003" push_preferences: $ref: '#/components/schemas/ChannelPushPreferencesResponse' x-stream-index: "001.009" read: items: $ref: '#/components/schemas/ReadStateResponse' type: array x-stream-index: "001.006" threads: items: $ref: '#/components/schemas/ThreadStateResponse' type: array x-stream-index: "001.010" watcher_count: format: int32 type: integer x-stream-index: "001.004" watchers: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.005" required: - messages - pinned_messages - members - threads - duration type: object ChannelStateResponseFields: properties: active_live_locations: description: Active live locations in the channel items: $ref: '#/components/schemas/SharedLocationResponseData' title: Active Live Locations type: array x-stream-index: "015" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "014" hidden: description: Whether this channel is hidden or not title: Hidden type: boolean x-stream-index: "011" hide_messages_before: description: Messages before this date are hidden from the user format: date-time title: Hide messages before type: string x-stream-index: "012" members: description: List of channel members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: "007" membership: $ref: '#/components/schemas/ChannelMemberResponse' description: Current user membership object title: Membership x-stream-index: "008" messages: description: List of channel messages items: $ref: '#/components/schemas/MessageResponse' title: Message type: array x-stream-index: "002" pending_messages: description: Pending messages that this user has sent items: $ref: '#/components/schemas/PendingMessageResponse' title: Pending messages type: array x-stream-index: "013" pinned_messages: description: List of pinned messages in the channel items: $ref: '#/components/schemas/MessageResponse' title: Pinned messages type: array x-stream-docs-page-id: pinned_messages x-stream-index: "003" push_preferences: $ref: '#/components/schemas/ChannelPushPreferencesResponse' x-stream-index: "009" read: description: List of read states items: $ref: '#/components/schemas/ReadStateResponse' title: Read type: array x-stream-index: "006" threads: items: $ref: '#/components/schemas/ThreadStateResponse' type: array x-stream-index: "010" watcher_count: description: Number of channel watchers format: int32 title: Watcher count type: integer x-stream-index: "004" watchers: description: List of user who is watching the channel items: $ref: '#/components/schemas/UserResponse' title: Watchers type: array x-stream-index: "005" required: - messages - pinned_messages - members - threads type: object ChannelTruncatedEvent: description: Emitted when a channel is successfully truncated. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was truncated title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was truncated title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was truncated title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was truncated title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The message regarding the update title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.truncated description: 'The type of event: "channel.truncated" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who truncated the channel title: User x-stream-index: "003.001" required: - type - created_at - custom - channel title: ChannelTruncatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelTypeConfig: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.029 blocklist: type: string x-stream-index: 003.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: "003.003" connect_events: type: boolean x-stream-index: 003.002.004 count_messages: type: boolean x-stream-index: 003.002.020 created_at: format: date-time type: string x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.013 delivery_events: type: boolean x-stream-index: 003.002.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: "002" mark_messages_pending: type: boolean x-stream-index: 003.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.022 mutes: type: boolean x-stream-index: 003.002.010 name: type: string x-stream-index: 003.002.001 partition_size: format: int32 type: integer x-stream-index: 003.002.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 003.002.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "001" polls: type: boolean x-stream-index: 003.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.002.033 push_notifications: type: boolean x-stream-index: 003.002.014 quotes: type: boolean x-stream-index: 003.002.009 reactions: type: boolean x-stream-index: 003.002.007 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.015 replies: type: boolean x-stream-index: 003.002.008 search: type: boolean x-stream-index: 003.002.006 shared_locations: type: boolean x-stream-index: 003.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.002.032 typing_events: type: boolean x-stream-index: 003.002.002 updated_at: format: date-time type: string x-stream-index: 003.001.004 uploads: type: boolean x-stream-index: 003.002.011 url_enrichment: type: boolean x-stream-index: 003.002.012 user_message_reminders: type: boolean x-stream-index: 003.002.018 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands type: object ChannelUnFrozenEvent: description: Emitted when a channel is successfully unfrozen. nullable: true properties: channel_id: description: The ID of the channel which was unfrozen title: Channel ID type: string x-stream-index: 001.002.002 channel_type: description: The type of the channel which was unfrozen title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel which was unfrozen title: Channel CID type: string x-stream-index: 001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.004 type: default: channel.unfrozen description: 'The type of event: "channel.unfrozen" in this case' title: Event Type type: string x-stream-index: 001.001.001.002 required: - type - created_at - custom title: ChannelUnFrozenEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelUnmutedEvent: description: Emitted when a channel is successfully unmuted. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" mute: $ref: '#/components/schemas/ChannelMute' description: The mute object title: Mute x-stream-index: "003" mutes: description: The mute objects items: $ref: '#/components/schemas/ChannelMute' title: Mutes type: array x-stream-index: "004" received_at: format: date-time type: string x-stream-index: "001.004" type: default: channel.unmuted description: 'The type of event: "channel.unmuted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who unmuted the channel title: User x-stream-index: "002.001" required: - type - created_at - custom title: ChannelUnmutedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelUpdatedEvent: description: Emitted when a channel is successfully updated. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was updated title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was updated title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was updated title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was updated title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The message regarding the update title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.updated description: 'The type of event: "channel.updated" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who triggered the update title: User x-stream-index: "003.001" required: - type - created_at - custom - channel title: ChannelUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChannelVisibleEvent: description: Emitted when a channel is successfully shown. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel which was shown title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel which was shown title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel which was shown title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: channel.visible description: 'The type of event: "channel.visible" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who showed the channel title: User x-stream-index: "002.001" required: - type - created_at - custom - channel title: ChannelVisibleEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ChatPreferences: properties: channel_mentions: type: string x-stream-index: "007" default_preference: type: string x-stream-index: "001" direct_mentions: type: string x-stream-index: "002" distinct_channel_messages: type: string x-stream-index: "008" group_mentions: type: string x-stream-index: "004" here_mentions: type: string x-stream-index: "006" role_mentions: type: string x-stream-index: "003" thread_replies: type: string x-stream-index: "005" type: object ChatPreferencesInput: properties: channel_mentions: enum: - all - none type: string x-stream-index: "007" default_preference: enum: - all - none type: string x-stream-index: "001" direct_mentions: enum: - all - none type: string x-stream-index: "002" group_mentions: enum: - all - none type: string x-stream-index: "004" here_mentions: enum: - all - none type: string x-stream-index: "006" role_mentions: enum: - all - none type: string x-stream-index: "003" thread_replies: enum: - all - none type: string x-stream-index: "005" type: object ChatPreferencesResponse: properties: channel_mentions: type: string x-stream-index: "007" default_preference: type: string x-stream-index: "001" direct_mentions: type: string x-stream-index: "002" group_mentions: type: string x-stream-index: "004" here_mentions: type: string x-stream-index: "006" role_mentions: type: string x-stream-index: "003" thread_replies: type: string x-stream-index: "005" type: object CheckExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" file_url: type: string x-stream-index: "002" required: - duration - file_url title: Response type: object CheckPushRequest: description: Check push request nullable: true properties: apn_template: description: Push message template for APN title: APN template type: string x-stream-docs-page-id: push_template x-stream-index: "002" event_type: description: 'Type of event for push templates (default: message.new). One of: message.new, message.updated, reaction.new, reaction.updated, notification.reminder_due' enum: - message.new - message.updated - reaction.new - reaction.updated - notification.reminder_due title: Event type type: string x-stream-index: "008" firebase_data_template: description: Push message data template for Firebase title: Firebase data template type: string x-stream-docs-page-id: push_template x-stream-index: "004" firebase_template: description: Push message template for Firebase title: Firebase template type: string x-stream-docs-page-id: push_template x-stream-index: "003" message_id: description: Message ID to send push notification for title: Message ID type: string x-stream-index: "001" push_provider_name: description: Name of push provider title: Name of push provider type: string x-stream-index: "007" push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' title: Type of push provider type: string x-stream-index: "006" skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: "005" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "009.002" user_id: type: string x-stream-index: "009.001" title: CheckPushRequest type: object CheckPushResponse: nullable: true properties: device_errors: additionalProperties: $ref: '#/components/schemas/DeviceErrorInfo' description: Object with device errors title: Device errors type: object x-stream-index: "001" x-stream-map: key: device_id duration: type: string x-stream-index: "008.001" event_type: description: The event type that was tested title: Event type type: string x-stream-index: "004" general_errors: description: List of general errors items: type: string title: General errors type: array x-stream-index: "002" rendered_apn_template: title: Rendered APN template type: string x-stream-index: "005" rendered_firebase_template: title: Rendered Firebase template type: string x-stream-index: "006" rendered_message: additionalProperties: type: string title: Rendered message type: object x-stream-index: "007" skip_devices: description: Don't require existing devices to render templates title: Skip devices type: boolean x-stream-index: "003" required: - duration type: object 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. One of: 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. One of: 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 ConfigOverridesRequest: description: Channel configuration overrides properties: blocklist: description: Blocklist name title: Blocklist type: string x-stream-index: "008" blocklist_behavior: description: 'Blocklist behavior. One of: flag, block' enum: - flag - block title: Blocklist behavior type: string x-stream-index: "009" chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: "016" commands: description: List of available commands items: type: string title: Commands type: array x-stream-index: "011" count_messages: description: Enable/disable message counting title: Count messages type: boolean x-stream-index: "014" grants: additionalProperties: items: type: string type: array description: Permission grants modifiers title: Grants type: object x-stream-index: "010" max_message_length: description: Maximum message length format: int32 maximum: 20000 title: Max message length type: integer x-stream-index: "007" push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: "015" quotes: description: Enable/disable quotes title: Quotes type: boolean x-stream-index: "004" reactions: description: Enable/disable reactions title: Reactions type: boolean x-stream-index: "002" replies: description: Enable/disable replies title: Replies type: boolean x-stream-index: "003" shared_locations: description: Enable/disable shared locations title: Shared locations type: boolean x-stream-index: "013" typing_events: description: Enable/disable typing events title: Typing events type: boolean x-stream-index: "001" uploads: description: Enable/disable uploads title: Uploads type: boolean x-stream-index: "005" url_enrichment: description: Enable/disable URL enrichment title: URL enrichment type: boolean x-stream-index: "006" user_message_reminders: description: Enable/disable user message reminders title: User message reminders type: boolean x-stream-index: "012" title: ConfigOverridesRequest type: object CreateBlockListRequest: description: Block list contains restricted words nullable: true properties: is_leet_check_enabled: type: boolean x-stream-index: "001" is_plural_check_enabled: type: boolean x-stream-index: "002" name: description: Block list name maxLength: 255 title: Name type: string x-stream-index: "003" team: type: string x-stream-index: "006" type: description: 'Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word' enum: - regex - domain - domain_allowlist - email - email_allowlist - word title: Type type: string x-stream-index: "005" words: description: List of words to block items: type: string title: Words type: array x-stream-index: "004" required: - name - words title: Block list type: object x-stream-docs-page-id: block_lists CreateBlockListResponse: description: Basic response information nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - duration title: Response type: object CreateCampaignRequest: nullable: true properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' description: The channel template for the campaign title: Channel Template x-stream-index: "001.013" create_channels: description: Whether to create channels for the campaign, if they don't exist title: Create Channels type: boolean x-stream-index: "001.008" description: description: The description of the campaign title: Description type: string x-stream-index: "001.007" id: maxLength: 255 type: string x-stream-index: "001.001" message_template: $ref: '#/components/schemas/CampaignMessageTemplate' description: The message template for the campaign title: Message Template x-stream-index: "001.012" name: description: The name of the campaign title: Name type: string x-stream-index: "001.006" segment_ids: description: The IDs of the segments to send the campaign to. Duplicate user IDs are removed. Use either user_ids or segment_ids, not both items: type: string maxItems: 25 title: Segment IDs type: array x-stream-index: "001.002" sender_id: description: The user ID of the sender title: Sender ID type: string x-stream-index: "001.004" sender_mode: description: The sender mode of the campaign enum: - exclude - include title: Sender Mode type: string x-stream-index: "001.005" sender_visibility: description: The visibility of the created channels for the sender enum: - hidden - archived title: Sender Visibility type: string x-stream-index: "001.014" show_channels: description: Whether the campaign should show channels, if they are hidden title: Show Channels type: boolean x-stream-index: "001.009" skip_push: description: Whether to skip push notifications title: Skip Push type: boolean x-stream-index: "001.010" skip_webhook: description: Whether to skip webhooks title: Skip Webhook type: boolean x-stream-index: "001.011" user_ids: description: The userIDs to send the campaign to. Use either segment ids or user ids not both items: type: string maxItems: 10000 title: User IDs type: array x-stream-index: "001.003" required: - sender_id - message_template type: object CreateCampaignResponse: description: Basic response information nullable: true properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" users: $ref: '#/components/schemas/PagerResponse' x-stream-index: "002" required: - duration title: Response type: object CreateChannelTypeRequest: nullable: true properties: automod: description: 'Automod. One of: disabled, simple, AI' enum: - disabled - simple - AI title: Automod type: string x-stream-index: "021" automod_behavior: description: 'Automod behavior. One of: flag, block' enum: - flag - block title: Automod behavior type: string x-stream-index: "022" blocklist: description: Blocklist title: Blocklist type: string x-stream-index: "026" blocklist_behavior: description: 'Blocklist behavior. One of: flag, block, shadow_block' enum: - flag - block - shadow_block title: Blocklist behavior type: string x-stream-index: "027" blocklists: description: Blocklists items: $ref: '#/components/schemas/BlockListOptions' title: Blocklists type: array x-stream-index: "028" chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: "033" commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "023" connect_events: description: Connect events title: Connect events type: boolean x-stream-index: "004" count_messages: description: Count messages in channel. title: Count messages type: boolean x-stream-index: "018" custom_events: description: Custom events title: Custom events type: boolean x-stream-index: "012" delivery_events: type: boolean x-stream-index: "005" grants: additionalProperties: items: type: string type: array description: List of grants for the channel type title: Grants type: object x-stream-index: "025" mark_messages_pending: description: Mark messages pending title: Mark messages pending type: boolean x-stream-index: "014" max_message_length: description: Max message length format: int32 title: Max message length type: integer x-stream-index: "020" message_retention: description: 'Message retention. One of: infinite, numeric' title: Message retention type: string x-stream-index: "019" mutes: description: Mutes title: Mutes type: boolean x-stream-index: "009" name: description: Channel type name title: Name type: string x-stream-index: "001" partition_size: description: Partition size format: int32 minimum: 10 title: Partition size type: integer x-stream-index: "029" partition_ttl: description: Partition TTL example: 24h format: duration nullable: true title: Partition TTL type: string x-stream-index: "030" permissions: description: List of permissions for the channel type items: $ref: '#/components/schemas/PolicyRequest' title: Permissions type: array x-stream-index: "024" polls: description: Polls title: Polls type: boolean x-stream-index: "015" push_level: description: 'Default push notification level for the channel type. One of: all, all_mentions, mentions, direct_mentions, none' enum: - all - all_mentions - mentions - direct_mentions - none title: Push level type: string x-stream-index: "032" push_notifications: description: Push notifications title: Push notifications type: boolean x-stream-index: "013" reactions: description: Reactions title: Reactions type: boolean x-stream-index: "006" read_events: description: Read events title: Read events type: boolean x-stream-index: "003" replies: description: Replies title: Replies type: boolean x-stream-index: "007" search: description: Search title: Search type: boolean x-stream-index: "008" shared_locations: description: Enables shared location messages title: Shared locations type: boolean x-stream-index: "017" skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: "031" typing_events: description: Typing events title: Typing events type: boolean x-stream-index: "002" uploads: description: Uploads title: Uploads type: boolean x-stream-index: "010" url_enrichment: description: URL enrichment title: URL enrichment type: boolean x-stream-index: "011" user_message_reminders: type: boolean x-stream-index: "016" required: - name - max_message_length - automod - automod_behavior title: CreateChannelTypeRequest type: object CreateChannelTypeResponse: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 001.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 001.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 001.001.029 blocklist: type: string x-stream-index: 001.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 001.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 001.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 001.001.034 commands: items: type: string type: array x-stream-index: "001.003" connect_events: type: boolean x-stream-index: 001.001.004 count_messages: type: boolean x-stream-index: 001.001.020 created_at: format: date-time type: string x-stream-index: 001.002.003 custom_events: type: boolean x-stream-index: 001.001.013 delivery_events: type: boolean x-stream-index: 001.001.005 duration: type: string x-stream-index: "004.001" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "003" mark_messages_pending: type: boolean x-stream-index: 001.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 001.001.022 mutes: type: boolean x-stream-index: 001.001.010 name: type: string x-stream-index: 001.001.001 partition_size: format: int32 type: integer x-stream-index: 001.001.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 001.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "002" polls: type: boolean x-stream-index: 001.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 001.001.033 push_notifications: type: boolean x-stream-index: 001.001.014 quotes: type: boolean x-stream-index: 001.001.009 reactions: type: boolean x-stream-index: 001.001.007 read_events: type: boolean x-stream-index: 001.001.003 reminders: type: boolean x-stream-index: 001.001.015 replies: type: boolean x-stream-index: 001.001.008 search: type: boolean x-stream-index: 001.001.006 shared_locations: type: boolean x-stream-index: 001.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 001.001.032 typing_events: type: boolean x-stream-index: 001.001.002 updated_at: format: date-time type: string x-stream-index: 001.002.004 uploads: type: boolean x-stream-index: 001.001.011 url_enrichment: type: boolean x-stream-index: 001.001.012 user_message_reminders: type: boolean x-stream-index: 001.001.018 required: - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - permissions - grants - duration type: object CreateCommandRequest: description: Create a new command nullable: true properties: args: description: Arguments help text, shown in commands auto-completion maxLength: 255 title: Arguments type: string x-stream-index: "003" description: description: Description, shown in commands auto-completion maxLength: 255 title: Description type: string x-stream-index: "002" name: description: Unique command name maxLength: 255 minLength: 1 title: Name type: string x-stream-index: "001" set: description: Set name used for grouping commands maxLength: 255 title: Set type: string x-stream-index: "004" required: - name - description title: CreateCommandRequest type: object CreateCommandResponse: nullable: true properties: command: $ref: '#/components/schemas/Command' description: Command object title: Command x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - duration title: CreateCommandResponse type: object CreateDeviceRequest: description: Create device request nullable: true properties: id: description: Device ID maxLength: 255 minLength: 1 title: ID type: string x-stream-index: "001" push_provider: description: Push provider enum: - firebase - apn - huawei - xiaomi title: PushProvider type: string x-stream-index: "002" push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string x-stream-index: "005.001" voip_token: description: When true the token is for Apple VoIP push notifications title: VoipToken type: boolean x-stream-index: "004" required: - id - push_provider title: CreateDeviceRequest type: object CreateExternalStorageRequest: description: Create external storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: "003.004" azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: "003.006" bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: "003.002" gcs_credentials: type: string x-stream-index: "003.005" name: description: The name of the provider, this must be unique title: Name type: string x-stream-index: "001" path: description: The path prefix to use for storing files title: Path type: string x-stream-index: "003.003" storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: "003.001" required: - name - storage_type - bucket title: CreateExternalStorageRequest type: object CreateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object CreateGuestRequest: nullable: true properties: user: $ref: '#/components/schemas/UserRequest' description: User object which server acts upon title: User x-stream-index: "001" required: - user type: object CreateGuestResponse: nullable: true properties: access_token: description: the access token to authenticate the user title: Access token type: string x-stream-index: "002" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" user: $ref: '#/components/schemas/UserResponse' description: User object which server acts upon title: User x-stream-index: "001" required: - user - access_token - duration type: object CreateImportRequest: nullable: true properties: merge_custom: type: boolean x-stream-index: "003" mode: enum: - insert - upsert type: string x-stream-index: "002" path: type: string x-stream-index: "001" required: - path - mode type: object CreateImportResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: "001" required: - duration title: Response type: object CreateImportURLRequest: nullable: true properties: filename: type: string x-stream-index: "001" type: object CreateImportURLResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" path: type: string x-stream-index: "001" upload_url: type: string x-stream-index: "002" required: - path - upload_url - duration title: Response type: object CreateImportV2TaskRequest: description: Client request nullable: true properties: product: enum: - chat - feeds type: string x-stream-index: "001" settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - product - settings title: ClientRequest type: object CreateImportV2TaskResponse: description: Basic response information nullable: true properties: app_pk: format: int32 type: integer x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "006" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "008.001" id: type: string x-stream-index: "001" product: type: string x-stream-index: "003" settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: "005" state: type: integer x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "007" required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: object CreatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "003" text: description: Option text title: string type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - text type: object CreatePollRequest: description: Contains all information needed to create a new poll nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "011" allow_answers: description: Indicates whether users can suggest user defined answers title: Allow answers type: boolean x-stream-index: "009" allow_user_suggested_options: type: boolean x-stream-index: "008" description: description: A description of the poll title: Description type: string x-stream-index: "003" enforce_unique_vote: description: Indicates whether users can cast multiple votes title: Multiple choice type: boolean x-stream-index: "006" id: maxLength: 255 type: string x-stream-index: "001" is_closed: description: Indicates whether the poll is open for voting title: Is closed type: boolean x-stream-index: "010" max_votes_allowed: description: Indicates the maximum amount of votes a user can cast format: int32 maximum: 10 title: Maximum votes allowed type: integer x-stream-index: "007" name: description: The name of the poll title: Name type: string x-stream-index: "002" options: items: $ref: '#/components/schemas/PollOptionInput' maxItems: 100 type: array x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "012.002" user_id: type: string x-stream-index: "012.001" voting_visibility: enum: - anonymous - public type: string x-stream-index: "005" required: - name title: Create Poll Request type: object CreateReminderRequest: nullable: true properties: remind_at: format: date-time type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object CreateRoleRequest: nullable: true properties: name: description: Role name maxLength: 64 title: Name type: string x-stream-index: "001" required: - name type: object CreateRoleResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" role: $ref: '#/components/schemas/Role' x-stream-index: "002" required: - duration - role title: Response type: object CreateUserGroupRequest: description: Request body for creating a user group nullable: true properties: description: description: An optional description for the group maxLength: 1024 title: Description type: string x-stream-index: "003" id: description: Optional user group ID. If not provided, a UUID v7 will be generated maxLength: 255 title: ID type: string x-stream-index: "001" member_ids: description: Optional initial list of user IDs to add as members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: "005" name: description: The user friendly name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: "002" team_id: description: Optional team ID to scope the group to a team maxLength: 255 title: Team ID type: string x-stream-index: "004" required: - name title: CreateUserGroupRequest type: object CreateUserGroupResponse: description: Response for creating a user group nullable: true properties: duration: type: string x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroupResponse' description: The created user group title: UserGroup x-stream-index: "001" required: - duration title: CreateUserGroupResponse type: object CustomEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: '*' type: string x-stream-index: "001.002" required: - type - created_at - custom title: CustomEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent DailyValue: description: Metric value for a specific date properties: date: description: Date in YYYY-MM-DD format title: string type: string x-stream-index: "001" value: description: Metric value for this date format: int64 title: integer type: integer x-stream-index: "002" required: - date - value title: Daily Value type: object 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 milliseconds title: Duration type: string x-stream-index: "002.001" user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: "001" required: - duration type: object DeactivateUsersRequest: description: Deactivate users request nullable: true properties: created_by_id: description: ID of the user who deactivated the users title: Created by ID type: string x-stream-index: "003" mark_channels_deleted: type: boolean x-stream-index: "004" mark_messages_deleted: description: Makes messages appear to be deleted title: Mark messages deleted type: boolean x-stream-index: "002" user_ids: description: User IDs to deactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: "001" required: - user_ids title: DeactivateUsersRequest type: object DeactivateUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration title: Response type: object DeleteCampaignResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteChannelResponse: description: Basic response information nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteChannelsRequest: nullable: true properties: cids: description: All channels that should be deleted items: type: string maxItems: 100 minItems: 1 title: Channels CID type: array x-stream-index: "001" hard_delete: description: Specify if channels and all ressources should be hard deleted title: Hard delete type: boolean x-stream-index: "002" required: - cids type: object DeleteChannelsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" result: additionalProperties: $ref: '#/components/schemas/DeleteChannelsResultResponse' description: Map of channel IDs and their deletion results title: Result type: object x-stream-index: "001" task_id: type: string x-stream-index: "002" required: - duration type: object DeleteChannelsResultResponse: nullable: true properties: error: type: string x-stream-index: "002" status: type: string x-stream-index: "001" required: - status type: object DeleteCommandResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" name: description: Command name title: Name type: string x-stream-index: "001" required: - name - duration title: DeleteCommandResponse type: object DeleteExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteImportV2TaskResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteMessageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" required: - message - duration title: Response type: object DeleteReactionResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: "002" required: - message - reaction - duration title: Response type: object DeleteReminderResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteRetentionPolicyRequest: nullable: true properties: policy: enum: - old-messages - inactive-channels type: string x-stream-index: "001" required: - policy type: object DeleteRetentionPolicyResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object DeleteSegmentTargetsRequest: nullable: true properties: target_ids: description: Target IDs items: type: string maxItems: 100 minItems: 1 title: '[]string' type: array x-stream-index: "002" required: - target_ids type: object DeleteUsersRequest: nullable: true properties: calls: description: | Calls delete mode. Affected calls are those that include exactly two members, one of whom is the user being deleted. * null or empty string - doesn't delete any calls * soft - marks user's calls and their related data as deleted (soft-delete) * hard - deletes user's calls and their data completely (hard-delete) enum: - soft - hard title: Delete User's calls type: string x-stream-index: 001.002.004 conversations: description: | Conversation channels delete mode. Conversation channel is any channel which only has two members one of which is the user being deleted. * null or empty string - doesn't delete any conversation channels * soft - marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled) * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with 'hard' option enabled) enum: - soft - hard title: Delete Conversations type: string x-stream-index: 001.002.003 files: description: | Delete user files. * false or empty string - doesn't delete any files * true - deletes all files uploaded by the user, including images and attachments. title: Delete User's files type: boolean x-stream-index: 001.002.005 messages: description: | Message delete mode. * null or empty string - doesn't delete user messages * soft - marks all user messages as deleted without removing any related message data * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags * hard - deletes messages completely with all related information enum: - soft - pruning - hard title: Delete Messages type: string x-stream-index: 001.002.002 new_call_owner_id: type: string x-stream-index: 001.002.007 new_channel_owner_id: type: string x-stream-index: 001.002.006 user: description: | User delete mode. * soft - marks user as deleted and retains all user data * pruning - marks user as deleted and nullifies user information * hard - deletes user completely. Requires 'hard' option for messages and conversations as well enum: - soft - pruning - hard title: Delete User type: string x-stream-index: 001.002.001 user_ids: description: IDs of users to delete items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: "001.001" required: - user_ids type: object DeleteUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" task_id: description: ID of the task to delete users title: Task ID type: string x-stream-index: "001" required: - task_id - duration type: object DeliveredMessagePayload: properties: cid: type: string x-stream-index: "001" id: type: string x-stream-index: "002" type: object DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: "001" required: - enabled 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 DeviceResponse: description: Response for Device nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "004" disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: "005" disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: "006" id: description: Device ID title: ID type: string x-stream-index: "003" push_provider: description: Push provider title: PushProvider type: string x-stream-index: "001" push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: "002" user_id: description: User ID title: UserID type: string x-stream-index: "008" voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: "007" required: - push_provider - id - created_at - user_id title: DeviceResponse type: object DraftPayloadResponse: description: Contains the draft message content properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: "007" html: description: Contains HTML markup of the message title: HTML content type: string x-stream-index: "010" id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: "001" mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: "008" mml: description: MML content of the message title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: "003" parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: "005" poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: "013" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "009" show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: "006" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "012" text: description: Text of the message title: Text type: string x-stream-index: "002" type: description: 'Contains type of the message. One of: regular, system' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "011" required: - id - text - custom title: Draft Message Payload type: object DraftResponse: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003" channel_cid: type: string x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "007" message: $ref: '#/components/schemas/DraftPayloadResponse' x-stream-index: "001" parent_id: type: string x-stream-index: "004" parent_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "005" quoted_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "006" required: - message - channel_cid - created_at type: object ErrorResult: properties: description: type: string x-stream-index: "002" stacktrace: type: string x-stream-index: "003" type: type: string x-stream-index: "001" version: type: string x-stream-index: "004" required: - type - description type: object EventHook: nullable: true properties: callback: $ref: '#/components/schemas/AsyncModerationCallbackConfig' x-stream-index: 020.001.002 created_at: format: date-time type: string x-stream-index: "021" enabled: type: boolean x-stream-index: "003" event_types: items: type: string type: array x-stream-index: "004" failover_config: $ref: '#/components/schemas/WebhookFailoverConfig' x-stream-index: "020.003" hook_type: type: string x-stream-index: "002" id: type: string x-stream-index: "001" product: type: string x-stream-index: "018" should_send_custom_events: type: boolean x-stream-index: "019" sns_auth_type: type: string x-stream-index: "014" sns_event_based_message_group_id_enabled: type: boolean x-stream-index: "020.002" sns_key: type: string x-stream-index: "015" sns_region: type: string x-stream-index: "013" sns_role_arn: type: string x-stream-index: "017" sns_secret: type: string x-stream-index: "016" sns_topic_arn: type: string x-stream-index: "012" sqs_auth_type: type: string x-stream-index: "008" sqs_key: type: string x-stream-index: "009" sqs_queue_url: type: string x-stream-index: "006" sqs_region: type: string x-stream-index: "007" sqs_role_arn: type: string x-stream-index: "011" sqs_secret: type: string x-stream-index: "010" timeout_ms: format: int32 type: integer x-stream-index: 020.001.001 updated_at: format: date-time type: string x-stream-index: "022" webhook_url: type: string x-stream-index: "005" type: object EventNotificationSettings: properties: apns: $ref: '#/components/schemas/APNS' x-stream-index: "002" enabled: type: boolean x-stream-index: "001" fcm: $ref: '#/components/schemas/FCM' x-stream-index: "003" required: - enabled - apns - fcm type: object 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: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" event: $ref: '#/components/schemas/WSEvent' x-stream-index: "001" required: - event - duration title: Response type: object ExportChannelsRequest: nullable: true properties: channels: description: Export options for channels items: $ref: '#/components/schemas/ChannelExport' maxItems: 100 minItems: 1 title: Channels type: array x-stream-index: "002.001" clear_deleted_message_text: description: Set if deleted message text should be cleared title: Clear deleted message text type: boolean x-stream-index: "002.002" export_users: type: boolean x-stream-index: "002.005" include_soft_deleted_channels: description: Set if you want to include deleted channels title: Include soft deleted channels type: boolean x-stream-index: "002.004" include_truncated_messages: description: Set if you want to include truncated messages title: Include truncated messages type: boolean x-stream-index: "002.003" version: description: Export version title: Version type: string x-stream-index: "001" required: - channels type: object ExportChannelsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" task_id: description: ID of the task to export channels title: Task ID type: string x-stream-index: "001" required: - task_id - duration type: object ExportUserResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "004.001" messages: description: List of exported messages items: $ref: '#/components/schemas/MessageResponse' title: Messages type: array x-stream-index: "002" reactions: description: List of exported reactions items: $ref: '#/components/schemas/ReactionResponse' title: Reactions type: array x-stream-index: "003" user: $ref: '#/components/schemas/UserResponse' description: Exported user object title: User x-stream-index: "001" required: - duration type: object ExportUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 25 minItems: 1 type: array x-stream-index: "001" required: - user_ids type: object ExportUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" task_id: type: string x-stream-index: "001" required: - task_id - duration title: Response type: object ExternalStorageResponse: properties: bucket: type: string x-stream-index: "003" name: type: string x-stream-index: "001" path: type: string x-stream-index: "004" type: enum: - s3 - gcs - abs type: string x-stream-index: "002" required: - name - type - bucket - path type: object FCM: properties: data: additionalProperties: {} type: object x-stream-index: "001" type: object FailedChannelUpdates: properties: cids: items: type: string type: array x-stream-index: "002" reason: type: string x-stream-index: "001" required: - reason - cids type: object FeedsPreferences: properties: comment: description: 'Push notification preference for comments on user''s activities. One of: all, none' enum: - all - none title: Comment type: string x-stream-index: "002" comment_mention: description: 'Push notification preference for mentions in comments. One of: all, none' enum: - all - none title: Comment Mention type: string x-stream-index: "006" comment_reaction: description: 'Push notification preference for reactions on comments. One of: all, none' enum: - all - none title: Comment Reaction type: string x-stream-index: "004" comment_reply: description: 'Push notification preference for replies to comments. One of: all, none' enum: - all - none title: Comment Reply type: string x-stream-index: "005" custom_activity_types: additionalProperties: type: string description: Push notification preferences for custom activity types. Map of activity type to preference (all or none) title: Custom Activity Types type: object x-stream-index: "008" follow: description: 'Push notification preference for new followers. One of: all, none' enum: - all - none title: Follow type: string x-stream-index: "001" mention: description: 'Push notification preference for mentions in activities. One of: all, none' enum: - all - none title: Mention type: string x-stream-index: "007" reaction: description: 'Push notification preference for reactions on user''s activities or comments. One of: all, none' enum: - all - none title: Reaction type: string x-stream-index: "003" title: Feeds Preferences type: object FeedsPreferencesResponse: properties: comment: type: string x-stream-index: "002" comment_mention: type: string x-stream-index: "006" comment_reaction: type: string x-stream-index: "004" comment_reply: type: string x-stream-index: "005" custom_activity_types: additionalProperties: type: string type: object x-stream-index: "008" follow: type: string x-stream-index: "001" mention: type: string x-stream-index: "007" reaction: type: string x-stream-index: "003" type: object 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 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: "001" user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: "002" type: object FileUploadResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" file: description: URL to the uploaded asset. Should be used to put to `asset_url` attachment field title: File type: string x-stream-index: "001" thumb_url: description: URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field title: Thumbnail URL type: string x-stream-index: "002" required: - duration type: object 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 type: object FlagDetails: properties: automod: $ref: '#/components/schemas/AutomodDetailsResponse' x-stream-index: "001" original_text: type: string x-stream-index: "002" required: - original_text type: object FlagDetailsResponse: properties: automod: $ref: '#/components/schemas/AutomodDetailsResponse' x-stream-index: "001" extra: additionalProperties: {} type: object x-stream-index: "002" original_text: type: string x-stream-index: "003" required: - original_text type: object FlagFeedbackResponse: properties: created_at: format: date-time type: string x-stream-index: "002" labels: items: $ref: '#/components/schemas/LabelResponse' type: array x-stream-index: "003" message_id: type: string x-stream-index: "001" required: - message_id - created_at - labels type: object FlagMessageDetailsResponse: properties: pin_changed: type: boolean x-stream-index: "002" should_enrich: type: boolean x-stream-index: "003" skip_push: type: boolean x-stream-index: "004" updated_by_id: type: string x-stream-index: "001" type: object FlagMessageResponse: nullable: true properties: duration: type: string x-stream-index: "003.001" flag: $ref: '#/components/schemas/FlagResponse' description: Flag object title: Flag x-stream-index: "001" review_queue_item_id: description: ID of review queue item if moderation v2 is enabled title: Review Queue Item ID type: string x-stream-index: "002" required: - review_queue_item_id - duration type: object 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: properties: approved_at: format: date-time type: string x-stream-index: "010" created_at: format: date-time type: string x-stream-index: "006" created_by_automod: type: boolean x-stream-index: "001" custom: additionalProperties: {} type: object x-stream-index: "014" details: $ref: '#/components/schemas/FlagDetails' x-stream-index: "013" reason: type: string x-stream-index: "012" rejected_at: format: date-time type: string x-stream-index: "011" reviewed_at: format: date-time type: string x-stream-index: "008" reviewed_by: type: string x-stream-index: "009" target_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "004" target_message_id: type: string x-stream-index: "003" target_user: $ref: '#/components/schemas/UserResponse' x-stream-index: "005" updated_at: format: date-time type: string x-stream-index: "007" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "002" required: - created_by_automod - created_at - updated_at type: object FlagUpdatedEvent: nullable: true properties: CreatedBy: $ref: '#/components/schemas/UserResponse' x-stream-index: "004" Message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "002" User: $ref: '#/components/schemas/UserResponse' x-stream-index: "003" created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: flag.updated type: string x-stream-index: "001.002" required: - type - created_at - custom title: FlagUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent FrameRecordSettings: properties: capture_interval_in_seconds: format: int32 maximum: 60 minimum: 2 type: integer x-stream-index: "003" mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" quality: type: string x-stream-index: "002" required: - mode - capture_interval_in_seconds type: object FullUserResponse: properties: avg_response_time: format: int32 type: integer x-stream-index: "001.018" ban_expires: format: date-time type: string x-stream-index: "016" banned: type: boolean x-stream-index: "001.012" blocked_user_ids: items: type: string type: array x-stream-index: "015" bypass_moderation: type: boolean x-stream-index: "014" channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: "007" created_at: format: date-time type: string x-stream-index: "001.009" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.016" deleted_at: format: date-time type: string x-stream-index: "001.011" devices: items: $ref: '#/components/schemas/DeviceResponse' type: array x-stream-index: "004" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "005" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.014" latest_hidden_channels: items: type: string type: array x-stream-index: "012" mutes: items: $ref: '#/components/schemas/UserMuteResponse' type: array x-stream-index: "006" name: type: string x-stream-index: "001.002" online: type: boolean x-stream-index: "001.013" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: "003" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.015" role: type: string x-stream-index: "001.006" shadow_banned: type: boolean x-stream-index: "013" teams: items: type: string type: array x-stream-index: "001.007" teams_role: additionalProperties: type: string type: object x-stream-index: "001.008" total_unread_count: format: int32 type: integer x-stream-index: "009" unread_channels: format: int32 type: integer x-stream-index: "010" unread_count: format: int32 type: integer x-stream-index: "008" unread_threads: format: int32 type: integer x-stream-index: "011" updated_at: format: date-time type: string x-stream-index: "001.010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - invisible - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads - shadow_banned - blocked_user_ids type: object FutureChannelBanResponse: nullable: true properties: banned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "006" expires: format: date-time type: string x-stream-index: "003" reason: type: string x-stream-index: "004" shadow: type: boolean x-stream-index: "005" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001" required: - created_at type: object 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: description: Basic response information nullable: true properties: app: $ref: '#/components/schemas/AppResponseFields' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - app - duration title: Response type: object GetBlockListResponse: description: Response for get block list nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' description: Block list object title: BlockListResponse x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - duration title: GetBlockListResponse type: object x-stream-docs-page-id: get_block_list GetBlockedUsersResponse: nullable: true properties: blocks: description: Array of blocked user object items: $ref: '#/components/schemas/BlockedUserResponse' title: Blocks type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - blocks - duration type: object GetCampaignResponse: description: Basic response information nullable: true properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" users: $ref: '#/components/schemas/PagerResponse' x-stream-index: "002" required: - duration title: Response type: object GetChannelTypeResponse: description: Basic response information nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.002.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.002.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.002.029 blocklist: type: string x-stream-index: 003.002.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.002.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.002.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.002.034 commands: items: $ref: '#/components/schemas/Command' type: array x-stream-index: "003.003" connect_events: type: boolean x-stream-index: 003.002.004 count_messages: type: boolean x-stream-index: 003.002.020 created_at: format: date-time type: string x-stream-index: 003.001.003 custom_events: type: boolean x-stream-index: 003.002.013 delivery_events: type: boolean x-stream-index: 003.002.005 duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "004.001" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "002" mark_messages_pending: type: boolean x-stream-index: 003.002.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.002.022 mutes: type: boolean x-stream-index: 003.002.010 name: type: string x-stream-index: 003.002.001 partition_size: format: int32 type: integer x-stream-index: 003.002.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 003.002.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "001" polls: type: boolean x-stream-index: 003.002.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.002.033 push_notifications: type: boolean x-stream-index: 003.002.014 quotes: type: boolean x-stream-index: 003.002.009 reactions: type: boolean x-stream-index: 003.002.007 read_events: type: boolean x-stream-index: 003.002.003 reminders: type: boolean x-stream-index: 003.002.015 replies: type: boolean x-stream-index: 003.002.008 search: type: boolean x-stream-index: 003.002.006 shared_locations: type: boolean x-stream-index: 003.002.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.002.032 typing_events: type: boolean x-stream-index: 003.002.002 updated_at: format: date-time type: string x-stream-index: 003.001.004 uploads: type: boolean x-stream-index: 003.002.011 url_enrichment: type: boolean x-stream-index: 003.002.012 user_message_reminders: type: boolean x-stream-index: 003.002.018 required: - permissions - grants - created_at - updated_at - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - commands - duration title: Response type: object GetCommandResponse: nullable: true properties: args: type: string x-stream-index: "001.006" created_at: format: date-time readOnly: true type: string x-stream-index: "001.001" description: type: string x-stream-index: "001.005" duration: type: string x-stream-index: "002.001" name: type: string x-stream-index: "001.004" set: type: string x-stream-index: "001.007" updated_at: format: date-time readOnly: true type: string x-stream-index: "001.002" required: - name - description - args - set - duration title: GetCommandResponse type: object GetCustomPermissionResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" permission: $ref: '#/components/schemas/Permission' x-stream-index: "001" required: - permission - duration title: Response type: object GetDraftResponse: description: Basic response information nullable: true properties: draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - draft - duration title: Response type: object GetExternalStorageAWSS3Response: properties: bucket: type: string x-stream-index: "002" path_prefix: type: string x-stream-index: "004" region: type: string x-stream-index: "003" role_arn: type: string x-stream-index: "001" required: - role_arn - bucket - region type: object GetExternalStorageResponse: description: Basic response information nullable: true properties: aws_s3: $ref: '#/components/schemas/GetExternalStorageAWSS3Response' x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "003" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "005.001" type: type: string x-stream-index: "001" updated_at: format: date-time type: string x-stream-index: "004" required: - type - created_at - updated_at - duration title: Response type: object GetImportResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" import_task: $ref: '#/components/schemas/ImportTask' x-stream-index: "001" required: - duration title: Response type: object GetImportV2TaskResponse: description: Basic response information nullable: true properties: app_pk: format: int32 type: integer x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "007" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "009.001" id: type: string x-stream-index: "001" product: type: string x-stream-index: "003" result: readOnly: true type: object x-stream-index: "006" settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: "005" state: type: integer x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "008" required: - id - app_pk - product - state - settings - created_at - updated_at - duration title: Response type: object GetManyMessagesResponse: nullable: true properties: duration: type: string x-stream-index: 001.002.001 messages: description: List of messages items: $ref: '#/components/schemas/MessageResponse' title: Messages type: array x-stream-index: "001.001" required: - messages - duration type: object GetMessageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageWithChannelResponse' x-stream-index: "001" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - message - duration title: Response type: object 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 GetPushTemplatesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" templates: items: $ref: '#/components/schemas/PushTemplateResponse' type: array x-stream-index: "002" required: - duration - templates title: Response type: object GetRateLimitsResponse: nullable: true properties: android: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the Android platform title: Android type: object x-stream-index: "002" x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name duration: type: string x-stream-index: "005.001" ios: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the iOS platform title: iOS type: object x-stream-index: "003" x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name server_side: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the server-side platform title: Server-side type: object x-stream-index: "001" x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name web: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Map of endpoint rate limits for the web platform title: Web type: object x-stream-index: "004" x-stream-map: description: The name of the endpoint for which the limits apply key: endpoint title: Endpoint name required: - duration title: Get Rate Limits Response type: object x-stream-docs-page-id: rate_limits GetReactionsResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" reactions: description: List of reactions items: $ref: '#/components/schemas/ReactionResponse' title: Reactions type: array x-stream-index: "001" required: - reactions - duration type: object GetRepliesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" messages: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "001" required: - messages - duration title: Response type: object GetRetentionPolicyResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" policies: items: $ref: '#/components/schemas/RetentionPolicy' type: array x-stream-index: "001" required: - policies - duration title: Response type: object GetRetentionPolicyRunsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: date: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date policy: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "003.001" next: type: string x-stream-index: "003.002" prev: type: string x-stream-index: "003.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: "002" x-stream-sort-combinations: - - policy - - date type: object GetRetentionPolicyRunsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" runs: items: $ref: '#/components/schemas/RetentionRunResponse' type: array x-stream-index: "001" required: - runs - duration title: Response type: object GetSegmentResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" segment: $ref: '#/components/schemas/SegmentResponse' description: Segment title: SegmentResponse x-stream-index: "001" required: - duration type: object 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 GetUserGroupResponse: description: Response for getting a user group nullable: true properties: duration: type: string x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroupResponse' description: The user group title: UserGroup x-stream-index: "001" required: - duration title: GetUserGroupResponse type: object GroupedChannelsBucket: properties: channels: description: Channels returned for this bucket items: $ref: '#/components/schemas/ChannelStateResponseFields' title: Channels type: array x-stream-index: "001" unread_channels: description: Unread channels currently classified into this bucket format: int32 title: Unread Channels type: integer x-stream-index: "002" required: - channels title: Grouped Channels Bucket type: object GroupedQueryChannelsRequest: nullable: true properties: limit: description: Max channels per bucket (default 10) format: int32 maximum: 10 title: Limit type: integer x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "006.002" user_id: type: string x-stream-index: "006.001" title: Grouped Query Channels Request type: object x-stream-docs-page-id: grouped_query_channels GroupedQueryChannelsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" groups: additionalProperties: $ref: '#/components/schemas/GroupedChannelsBucket' description: Predefined channel groups keyed by group name title: Groups type: object x-stream-index: "001" x-stream-map: description: Channels and unread counts for one group key: group_name title: Grouped Channels Bucket required: - groups - duration title: Grouped Query Channels Response type: object 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 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: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object 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. One of: top, bottom, left, right, center' title: Crop type: string x-stream-index: "001" height: description: Target image height format: int32 title: Height type: integer x-stream-index: "003" resize: description: 'Resize method. One of: clip, crop, scale, fill' title: Resize type: string x-stream-index: "002" width: description: Target image width format: int32 title: Width type: integer x-stream-index: "004" title: Image size configuration type: object ImageUploadRequest: nullable: true properties: file: type: string x-stream-index: "001.001" upload_sizes: description: field with JSON-encoded array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserID' x-stream-index: "001.002" type: object ImageUploadResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.003.001 file: type: string x-stream-index: "001.001" thumb_url: type: string x-stream-index: "001.002" upload_sizes: description: Array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: "002" required: - duration type: object 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: "005" next_state: type: string x-stream-index: "007" prev_state: type: string x-stream-index: "006" required: - created_at - prev_state - next_state type: object ImportV2TaskItem: properties: app_pk: format: int32 type: integer x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "007" id: type: string x-stream-index: "001" product: type: string x-stream-index: "003" result: readOnly: true type: object x-stream-index: "006" settings: $ref: '#/components/schemas/ImportV2TaskSettings' x-stream-index: "005" state: type: integer x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "008" required: - id - app_pk - product - state - settings - created_at - updated_at type: object ImportV2TaskSettings: properties: merge_custom: type: boolean x-stream-index: "006" mode: type: string x-stream-index: "003" path: type: string x-stream-index: "004" s3: $ref: '#/components/schemas/ImportV2TaskSettingsS3' x-stream-index: "001" skip_references_check: type: boolean x-stream-index: "005" source: type: string x-stream-index: "002" type: object ImportV2TaskSettingsS3: properties: bucket: type: string x-stream-index: "002" dir: type: string x-stream-index: "003" region: type: string x-stream-index: "001" type: object IndividualRecordSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" output_types: items: type: string type: array x-stream-index: "002" required: - mode type: object IngressAudioEncodingOptions: properties: bitrate: maximum: 128000 minimum: 16000 type: integer x-stream-index: "003" channels: enum: - "1" - "2" format: int32 type: integer x-stream-index: "001" enable_dtx: type: boolean x-stream-index: "002" required: - channels - enable_dtx - bitrate type: object IngressSettings: properties: audio_encoding_options: $ref: '#/components/schemas/IngressAudioEncodingOptions' x-stream-index: "002" enabled: type: boolean x-stream-index: "001" video_encoding_options: additionalProperties: $ref: '#/components/schemas/IngressVideoEncodingOptions' type: object x-stream-index: "003" required: - enabled type: object IngressSource: properties: fps: maximum: 60 minimum: 1 type: integer x-stream-index: "003" height: minimum: 2 type: integer x-stream-index: "002" width: minimum: 2 type: integer x-stream-index: "001" required: - width - height - fps type: object IngressVideoEncodingOptions: properties: layers: items: $ref: '#/components/schemas/IngressVideoLayer' minItems: 1 type: array x-stream-index: "002" source: $ref: '#/components/schemas/IngressSource' x-stream-index: "001" required: - layers type: object IngressVideoLayer: nullable: true properties: bitrate: minimum: 1000 type: integer x-stream-index: "002" codec: enum: - h264 - vp8 type: string x-stream-index: "001" frame_rate: maximum: 60 minimum: 1 type: integer x-stream-index: "003" max_dimension: minimum: 240 type: integer x-stream-index: "005" min_dimension: minimum: 240 type: integer x-stream-index: "004" required: - codec - bitrate - frame_rate - min_dimension - max_dimension type: object LabelResponse: properties: harm_labels: items: type: string type: array x-stream-index: "003" name: type: string x-stream-index: "001" phrase_list_ids: items: format: int32 type: integer type: array x-stream-index: "002" required: - name type: object 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: detect_orientation: type: boolean x-stream-index: "005" external_app_url: type: string x-stream-index: "003" external_css_url: type: string x-stream-index: "004" name: enum: - spotlight - grid - single-participant - mobile - custom type: string x-stream-index: "001" options: additionalProperties: {} type: object x-stream-index: "002" required: - name - external_app_url - external_css_url type: object LimitInfoResponse: properties: limit: description: The maximum number of API calls allowed per time window format: int64 title: Limit type: integer x-stream-index: "001" remaining: description: The number of remaining calls in the current window format: int64 title: Remaining type: integer x-stream-index: "002" reset: description: The Unix timestamp when the rate limit resets format: int64 title: Reset type: integer x-stream-index: "003" required: - limit - remaining - reset title: LimitInfo type: object x-stream-docs-page-id: rate_limits LimitsSettings: properties: max_duration_seconds: format: int32 type: integer x-stream-index: "004" max_participants: format: int32 type: integer x-stream-index: "001" max_participants_exclude_owner: type: boolean x-stream-index: "003" max_participants_exclude_roles: items: type: string type: array x-stream-index: "002" required: - max_participants_exclude_roles type: object ListBlockListResponse: description: Basic response information nullable: true properties: blocklists: items: $ref: '#/components/schemas/BlockListResponse' type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - blocklists - duration title: Response type: object ListChannelTypesResponse: nullable: true properties: channel_types: additionalProperties: $ref: '#/components/schemas/ChannelTypeConfig' description: Object with all channel types title: Channel types type: object x-stream-index: "001" x-stream-map: description: Channel type config object key: channel_type title: Channel type duration: type: string x-stream-index: "002.001" required: - channel_types - duration title: ListChannelTypesResponse type: object ListCommandsResponse: nullable: true properties: commands: description: List of commands items: $ref: '#/components/schemas/Command' title: Commands type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - commands - duration title: ListCommandsResponse type: object ListDevicesResponse: description: List devices response nullable: true properties: devices: description: List of devices items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - devices - duration title: ListDevicesResponse type: object ListExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" external_storages: additionalProperties: $ref: '#/components/schemas/ExternalStorageResponse' type: object x-stream-index: "002" required: - duration - external_storages title: Response type: object ListImportV2TasksResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" import_tasks: items: $ref: '#/components/schemas/ImportV2TaskItem' type: array x-stream-index: "001" next: type: string x-stream-index: "003.001" prev: type: string x-stream-index: "003.002" required: - import_tasks - duration title: Response type: object ListImportsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" import_tasks: items: $ref: '#/components/schemas/ImportTask' type: array x-stream-index: "001" required: - import_tasks - duration title: Response type: object ListPermissionsResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" permissions: items: $ref: '#/components/schemas/Permission' type: array x-stream-index: "001" required: - permissions - duration title: Response type: object ListPushProvidersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" push_providers: items: $ref: '#/components/schemas/PushProviderResponse' type: array x-stream-index: "001" required: - push_providers - duration title: Response type: object ListRolesResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" roles: items: $ref: '#/components/schemas/Role' type: array x-stream-index: "001" required: - roles - duration title: Response type: object ListUserGroupsResponse: description: Response for listing user groups nullable: true properties: duration: type: string x-stream-index: "002.001" user_groups: description: List of user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: "001" required: - user_groups - duration title: ListUserGroupsResponse type: object MarkChannelsReadRequest: nullable: true properties: read_by_channel: additionalProperties: type: string description: Map of channel ID to last read message ID maximum: 30 title: Read by channel type: object x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object MarkDeliveredRequest: nullable: true properties: latest_delivered_messages: items: $ref: '#/components/schemas/DeliveredMessagePayload' type: array x-stream-index: "001" type: object MarkDeliveredResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object MarkReadRequest: nullable: true properties: message_id: description: ID of the message that is considered last read by client title: Message ID type: string x-stream-index: "001" thread_id: description: Optional Thread ID to specifically mark a given thread as read title: Thread ID type: string x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object MarkReadResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" event: $ref: '#/components/schemas/MarkReadResponseEvent' description: Mark read event title: Event x-stream-index: "001" required: - duration type: object MarkReadResponseEvent: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "011" channel_id: type: string x-stream-index: "003" channel_last_message_at: format: date-time type: string x-stream-index: "005" channel_type: type: string x-stream-index: "004" cid: type: string x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "009" last_read_message_id: type: string x-stream-index: "010" team: type: string x-stream-index: "006" thread: $ref: '#/components/schemas/ThreadResponse' x-stream-index: "008" type: type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserResponseCommonFields' x-stream-index: "007" required: - type - cid - channel_id - channel_type - created_at type: object MarkUnreadRequest: nullable: true properties: message_id: description: ID of the message from where the channel is marked unread title: Message ID type: string x-stream-index: "001" message_timestamp: description: Timestamp of the message from where the channel is marked unread format: date-time title: Message Timestamp type: string x-stream-index: "004" thread_id: description: Mark a thread unread, specify one of the thread, message timestamp, or message id title: Thread ID type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" type: object MaxStreakChangedEvent: nullable: true properties: created_at: format: date-time type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: channel.max_streak_changed type: string x-stream-index: "001.002" required: - type - created_at - custom title: MaxStreakChangedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MemberAddedEvent: description: Emitted when a member is added to a channel. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object to which the member was added title: Channel x-stream-index: 003.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 003.001.001.006 channel_id: description: The ID of the channel to which the member was added title: Channel ID type: string x-stream-index: 003.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 003.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 003.001.001.005 channel_type: description: The type of the channel to which the member was added title: Channel Type type: string x-stream-index: 003.001.002.001 cid: description: The CID of the channel to which the member was added title: Channel CID type: string x-stream-index: 003.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 003.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 003.001.001.001.001.007 member: $ref: '#/components/schemas/ChannelMemberResponse' description: The member that was added title: Member x-stream-index: "001.001" received_at: format: date-time type: string x-stream-index: 003.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 003.001.001.003 type: default: member.added description: 'The type of event: "member.added" in this case' title: Event Type type: string x-stream-index: 003.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who added the member title: User x-stream-index: "002.001" required: - member - type - created_at - custom - channel title: MemberAddedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MemberRemovedEvent: description: Emitted when a member is removed from a channel. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object from which the member was removed title: Channel x-stream-index: 003.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 003.001.001.006 channel_id: description: The ID of the channel from which the member was removed title: Channel ID type: string x-stream-index: 003.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 003.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 003.001.001.005 channel_type: description: The type of the channel from which the member was removed title: Channel Type type: string x-stream-index: 003.001.002.001 cid: description: The CID of the channel from which the member was removed title: Channel CID type: string x-stream-index: 003.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 003.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 003.001.001.001.001.007 member: $ref: '#/components/schemas/ChannelMemberResponse' description: The member that was removed title: Member x-stream-index: "001.001" received_at: format: date-time type: string x-stream-index: 003.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 003.001.001.003 type: default: member.removed description: 'The type of event: "member.removed" in this case' title: Event Type type: string x-stream-index: 003.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who removed the member title: User x-stream-index: "002.001" required: - member - type - created_at - custom - channel title: MemberRemovedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MemberUpdatedEvent: description: Emitted when a member is updated in a channel. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object in which the member was updated title: Channel x-stream-index: 003.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 003.001.001.006 channel_id: description: The ID of the channel in which the member was updated title: Channel ID type: string x-stream-index: 003.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 003.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 003.001.001.005 channel_type: description: The type of the channel in which the member was updated title: Channel Type type: string x-stream-index: 003.001.002.001 cid: description: The CID of the channel in which the member was updated title: Channel CID type: string x-stream-index: 003.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 003.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 003.001.001.001.001.007 member: $ref: '#/components/schemas/ChannelMemberResponse' description: The member that was updated title: Member x-stream-index: "001.001" received_at: format: date-time type: string x-stream-index: 003.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 003.001.001.003 type: default: member.updated description: 'The type of event: "member.updated" in this case' title: Event Type type: string x-stream-index: 003.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who updated the member title: User x-stream-index: "002.001" required: - member - type - created_at - custom - channel title: MemberUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MembersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" members: description: List of found members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: "001" required: - members - duration type: object 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 MessageActionResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" required: - duration title: Response type: object 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 MessageDeletedEvent: description: Emitted when a message is deleted. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 deleted_for_me: description: Whether the message was deleted only for the current user title: Deleted For Me type: boolean x-stream-index: "004" hard_delete: description: Whether the message was hard deleted title: Hard Delete type: boolean x-stream-index: "003" message: $ref: '#/components/schemas/MessageResponse' description: The deleted message title: Message x-stream-index: 001.002.002 message_id: type: string x-stream-index: 001.002.001 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: message.deleted description: 'The type of event: "message.deleted" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that deleted the message title: User x-stream-index: "002.001" required: - type - created_at - custom - message_id - message - hard_delete title: MessageDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageFlagResponse: nullable: true properties: approved_at: format: date-time type: string x-stream-index: "013" created_at: format: date-time type: string x-stream-index: "009" created_by_automod: type: boolean x-stream-index: "001" custom: additionalProperties: {} type: object x-stream-index: "008" details: $ref: '#/components/schemas/FlagDetailsResponse' x-stream-index: "006" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "005" moderation_feedback: $ref: '#/components/schemas/FlagFeedbackResponse' x-stream-index: "003" moderation_result: $ref: '#/components/schemas/MessageModerationResult' x-stream-index: "002" reason: type: string x-stream-index: "007" rejected_at: format: date-time type: string x-stream-index: "014" reviewed_at: format: date-time type: string x-stream-index: "011" reviewed_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "012" updated_at: format: date-time type: string x-stream-index: "010" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "004" required: - created_by_automod - created_at - updated_at type: object MessageFlaggedEvent: description: This event is sent when a message gets flagged. The event contains information about the message that was flagged. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} description: Custom data title: Custom type: object x-stream-index: "007" details: $ref: '#/components/schemas/MessageModerationResult' description: Moderation details title: Details x-stream-index: "006" flag: $ref: '#/components/schemas/FlagResponse' description: The flag that was created title: Flag x-stream-index: "003" message: $ref: '#/components/schemas/MessageResponse' description: The flagged message title: Message x-stream-index: 001.002.002 message_id: type: string x-stream-index: 001.002.001 reason: description: The reason for the flag title: Reason type: string x-stream-index: "004" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 total_flags: description: The total number of flags for the user format: int32 title: Total flags type: integer x-stream-index: "005" type: default: message.flagged description: 'The type of event: "message.flagged" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that flagged the message title: User x-stream-index: "002.001" required: - type - created_at - message_id - message title: MessageFlaggedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageHistoryEntryResponse: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "007" attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: "006" is_deleted: type: boolean x-stream-index: "004" message_id: type: string x-stream-index: "001" message_updated_at: format: date-time type: string x-stream-index: "003" message_updated_by_id: type: string x-stream-index: "002" text: type: string x-stream-index: "005" required: - message_id - message_updated_by_id - message_updated_at - is_deleted - text - attachments - Custom type: object MessageModerationResult: description: Result of the message moderation properties: action: description: Action taken by automod title: Action type: string x-stream-index: "002" ai_moderation_response: $ref: '#/components/schemas/ModerationResponse' description: Response from AI moderation title: ModerationResponse x-stream-index: "007" blocked_word: description: Word that was blocked title: Blocked word type: string x-stream-index: "004" blocklist_name: description: Name of the blocklist title: Blocklist name type: string x-stream-index: "005" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "010" message_id: description: ID of the message title: Message ID type: string x-stream-index: "001" moderated_by: description: User who moderated the message title: Moderated by type: string x-stream-index: "003" moderation_thresholds: $ref: '#/components/schemas/Thresholds' description: Thresholds for AI moderation title: Thresholds x-stream-index: "006" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "011" user_bad_karma: description: Whether user has bad karma title: User bad karma type: boolean x-stream-index: "009" user_karma: description: Karma of the user format: float title: User karma type: number x-stream-index: "008" required: - message_id - action - user_karma - user_bad_karma - created_at - updated_at title: Message moderation result type: object MessageNewEvent: description: Emitted when a message was successfully sent or when a message became visible after command execution. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "006.001" channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 grouped_unread_channels: additionalProperties: format: int32 type: integer type: object x-stream-index: "010" message: $ref: '#/components/schemas/MessageResponse' description: The new message title: Message x-stream-index: 001.002.002 message_id: type: string x-stream-index: 001.002.001 parent_author: description: The author of the parent message title: Parent author type: string x-stream-index: "005" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 thread_participants: description: The participants of the thread items: $ref: '#/components/schemas/UserResponseCommonFields' title: Thread participants type: array x-stream-index: "004.001" total_unread_count: format: int32 type: integer x-stream-index: "008" type: default: message.new description: 'The type of event: "message.new" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 unread_channels: format: int32 type: integer x-stream-index: "009" unread_count: description: The number of unread messages format: int32 title: Unread count type: integer x-stream-index: "007" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that sent the message title: User x-stream-index: "002.001" watcher_count: description: The number of watchers format: int32 title: Watcher count type: integer x-stream-index: "003" required: - type - created_at - custom - message_id - message - watcher_count title: MessageNewEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageOptions: properties: include_thread_participants: type: boolean x-stream-index: "001" type: object MessagePaginationParams: properties: created_at_after: description: The timestamp to get messages with a created_at timestamp greater than format: date-time title: Created_at after type: string x-stream-index: "008" created_at_after_or_equal: description: The timestamp to get messages with a created_at timestamp greater than or equal to format: date-time title: Created_at after or equal type: string x-stream-index: "007" created_at_around: description: The result will be a set of messages, that are both older and newer than the created_at timestamp provided, distributed evenly around the timestamp format: date-time title: Created_at around type: string x-stream-index: "012" created_at_before: description: The timestamp to get messages with a created_at timestamp smaller than format: date-time title: Created_at after before type: string x-stream-index: "010" created_at_before_or_equal: description: The timestamp to get messages with a created_at timestamp smaller than or equal to format: date-time title: Created_at after before or equal type: string x-stream-index: "009" id_around: description: The result will be a set of messages, that are both older and newer than the message with the provided ID, and the message with the ID provided will be in the middle of the set title: Id around type: string x-stream-index: "011" id_gt: description: The ID of the message to get messages with a timestamp greater than title: IDGT type: string x-stream-index: "004" id_gte: description: The ID of the message to get messages with a timestamp greater than or equal to title: IDGTE type: string x-stream-index: "003" id_lt: description: The ID of the message to get messages with a timestamp smaller than title: IDLT type: string x-stream-index: "006" id_lte: description: The ID of the message to get messages with a timestamp smaller than or equal to title: IDLTE type: string x-stream-index: "005" limit: description: 'The maximum number of messages to return (max limit ' format: int32 minimum: 0 title: Limit type: integer x-stream-index: "001" type: object MessageReadEvent: description: Emitted when a channel or thread is marked as read. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003.001" channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the message was read title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the message was read title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the message was read title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 last_read_message_id: description: The ID of the last read message title: Last Read Message ID type: string x-stream-index: "005" received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.003 thread: $ref: '#/components/schemas/ThreadResponse' description: The thread where the message was read title: Thread x-stream-index: "004" type: default: message.read description: 'The type of event: "message.read" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that read the message title: User x-stream-index: "002.001" required: - type - created_at - custom title: MessageReadEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageRequest: description: Message data for creating or updating a message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' maxItems: 30 title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: "007" html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: "014" id: description: Message ID is unique string identifier of the message maxLength: 255 title: ID type: string x-stream-index: "001" mentioned_channel: type: boolean x-stream-index: "011" mentioned_group_ids: description: List of user group IDs to mention. Group members who are also channel members will receive push notifications. Max 10 groups items: type: string maxItems: 10 title: Mentioned Groups type: array x-stream-index: "010" mentioned_here: type: boolean x-stream-index: "012" mentioned_roles: items: type: string maxItems: 10 type: array x-stream-index: "009" mentioned_users: description: Array of user IDs to mention items: type: string maxItems: 100 title: Mentioned User IDs type: array x-stream-index: "008" mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: "003" parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: "005" pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: "019" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "017" pinned_at: description: Date when message got pinned format: date-time nullable: true title: Pinned at type: string x-stream-docs-page-id: pinned_messages x-stream-index: "018" poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: "043" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "013" restricted_visibility: description: A list of user ids that have restricted visibility to the message items: type: string maxItems: 10 title: Restricted visibility type: array x-stream-index: "020" shared_location: $ref: '#/components/schemas/SharedLocation' description: Contains shared location data title: Shared Location x-stream-index: "044" show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: "006" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "016" text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: "002" type: description: 'Contains type of the message. One of: regular, system' enum: - '''''' - regular - system title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "015" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "025.002" user_id: type: string x-stream-index: "025.001" title: Message Request type: object MessageResponse: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "009" cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: "024" command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: "004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "025" custom: additionalProperties: {} type: object x-stream-index: "028" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "027" deleted_for_me: type: boolean x-stream-index: "050" deleted_reply_count: format: int32 type: integer x-stream-index: "020" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "047" html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: "005" i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: "036" id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: "001" image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: "030" latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse' title: Latest reactions type: array x-stream-index: "010" member: $ref: '#/components/schemas/ChannelMemberResponse' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: "008" mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: "034" mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: "033" mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: "035" mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: "032" mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: "031" message_text_updated_at: format: date-time type: string x-stream-index: "042" mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: "003" moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: "045" own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse' title: Own reactions type: array x-stream-index: "011" parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: "017" pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: "041" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "038" pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: string x-stream-docs-page-id: pinned_messages x-stream-index: "039" pinned_by: $ref: '#/components/schemas/UserResponse' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: "040" poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: "044" poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: "043" quoted_message: $ref: '#/components/schemas/MessageResponse' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: "022" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "021" reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: "012" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "016" reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: "013" reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: "048" reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: "019" restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: "046" shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: "029" shared_location: $ref: '#/components/schemas/SharedLocationResponseData' description: Contains shared location data title: Shared Location x-stream-index: "049" show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: "018" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "037" text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: "002" thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: "023" type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "006" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "026" user: $ref: '#/components/schemas/UserResponse' description: Sender of the message. Required when using server-side API title: User object x-stream-index: "007" required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility title: Message type: object x-stream-docs-page-id: send_message MessageUnblockedEvent: description: Emitted when a message is unblocked. nullable: true properties: cid: description: The CID of the channel where the message was unblocked title: Channel CID type: string x-stream-index: "001.002" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The unblocked message title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" received_at: format: date-time type: string x-stream-index: 001.001.004 type: default: message.unblocked description: 'The type of event: "message.unblocked" in this case' title: Event Type type: string x-stream-index: 001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that unblocked the message title: User x-stream-index: "003.001" required: - type - created_at - custom - message_id - message title: MessageUnblockedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageUndeletedEvent: description: Emitted when a message is undeleted. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The undeleted message title: Message x-stream-index: 001.002.002 message_id: type: string x-stream-index: 001.002.001 received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: message.undeleted description: 'The type of event: "message.undeleted" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 required: - type - created_at - custom - message_id - message title: MessageUndeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageUpdate: properties: change_set: $ref: '#/components/schemas/MessageChangeSet' x-stream-index: "002" old_text: type: string x-stream-index: "001" type: object MessageUpdatedEvent: description: Emitted when a BaseEvent is updated with translation data or when a message is updated. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel Member Count type: integer x-stream-index: 001.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel Message Count type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The updated message title: Message x-stream-index: 001.002.002 message_id: type: string x-stream-index: 001.002.001 message_update: $ref: '#/components/schemas/MessageUpdate' description: Identifies the changes in the message title: Message Update x-stream-index: "003" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.001.003 type: default: message.updated description: 'The type of event: "message.updated" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that updated the message title: User x-stream-index: "002.001" required: - type - created_at - custom - message_id - message title: MessageUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent MessageWithChannelResponse: description: Represents any chat message properties: attachments: description: Array of message attachments items: $ref: '#/components/schemas/Attachment' title: Message attachments type: array x-stream-docs-page-id: message_format#attachment-format x-stream-index: "001.009" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: "002" cid: description: Channel unique identifier in : format title: Channel CID type: string x-stream-index: "001.024" command: description: Contains provided slash command title: Command type: string x-stream-docs-page-id: custom_commands_webhook x-stream-index: "001.004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.025" custom: additionalProperties: {} type: object x-stream-index: "001.028" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "001.027" deleted_for_me: type: boolean x-stream-index: "001.050" deleted_reply_count: format: int32 type: integer x-stream-index: "001.020" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "001.047" html: description: Contains HTML markup of the message. Can only be set when using server-side API title: HTML content type: string x-stream-index: "001.005" i18n: additionalProperties: type: string description: Object with translations. Key `language` contains the original language key. Other keys contain translations title: Internationalization info type: object x-stream-docs-page-id: translation x-stream-index: "001.036" id: description: Message ID is unique string identifier of the message title: ID type: string x-stream-index: "001.001" image_labels: additionalProperties: items: type: string type: array description: Contains image moderation information title: Image moderation labels type: object x-stream-index: "001.030" latest_reactions: description: List of 10 latest reactions to this message items: $ref: '#/components/schemas/ReactionResponse' title: Latest reactions type: array x-stream-index: "001.010" member: $ref: '#/components/schemas/ChannelMemberResponse' description: Channel member data for the message sender including only the `channel_role` title: Member object x-stream-index: "001.008" mentioned_channel: description: Whether the message mentioned the channel tag title: Mentioned Channel type: boolean x-stream-index: "001.034" mentioned_group_ids: description: List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups items: type: string title: Mentioned Groups type: array x-stream-index: "001.033" mentioned_here: description: Whether the message mentioned online users with @here tag title: Mentioned Here type: boolean x-stream-index: "001.035" mentioned_roles: description: List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles items: type: string title: Mentioned Roles type: array x-stream-index: "001.032" mentioned_users: description: List of mentioned users items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: "001.031" message_text_updated_at: format: date-time type: string x-stream-index: "001.042" mml: description: Should be empty if `text` is provided. Can only be set when using server-side API title: Messaging Markup Language type: string x-stream-docs-page-id: mml_overview x-stream-index: "001.003" moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: "001.045" own_reactions: description: List of 10 latest reactions of authenticated user to this message items: $ref: '#/components/schemas/ReactionResponse' title: Own reactions type: array x-stream-index: "001.011" parent_id: description: ID of parent message (thread) title: Parent message ID type: string x-stream-docs-page-id: threads x-stream-index: "001.017" pin_expires: description: Date when pinned message expires format: date-time title: Pin expiration date type: string x-stream-docs-page-id: pinned_messages x-stream-index: "001.041" pinned: description: Whether message is pinned or not title: Pinned type: boolean x-stream-docs-page-id: pinned_messages x-stream-index: "001.038" pinned_at: description: Date when message got pinned format: date-time title: Pinned at type: string x-stream-docs-page-id: pinned_messages x-stream-index: "001.039" pinned_by: $ref: '#/components/schemas/UserResponse' description: Contains user who pinned the message title: Pinned by x-stream-docs-page-id: pinned_messages x-stream-index: "001.040" poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: "001.044" poll_id: description: Identifier of the poll to include in the message title: Poll ID type: string x-stream-index: "001.043" quoted_message: $ref: '#/components/schemas/MessageResponse' description: Contains quoted message title: Quoted message x-stream-docs-page-id: threads#quote-message x-stream-index: "001.022" quoted_message_id: title: ID of quoted message type: string x-stream-docs-page-id: threads#quote-message x-stream-index: "001.021" reaction_counts: additionalProperties: format: int32 type: integer description: 'An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)' title: Reaction counts type: object x-stream-index: "001.012" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "001.016" reaction_scores: additionalProperties: format: int32 type: integer description: 'An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)' title: Reaction scores type: object x-stream-index: "001.013" reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: "001.048" reply_count: description: Number of replies to this message format: int32 title: Reply count type: integer x-stream-index: "001.019" restricted_visibility: description: A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list items: type: string title: Restricted visibility type: array x-stream-index: "001.046" shadowed: description: Whether the message was shadowed or not title: Shadowed type: boolean x-stream-docs-page-id: moderation#shadow-ban x-stream-index: "001.029" shared_location: $ref: '#/components/schemas/SharedLocationResponseData' description: Contains shared location data title: Shared Location x-stream-index: "001.049" show_in_channel: description: Whether thread reply should be shown in the channel as well title: Show in channel type: boolean x-stream-docs-page-id: threads x-stream-index: "001.018" silent: description: Whether message is silent or not title: Silent type: boolean x-stream-index: "001.037" text: description: Text of the message. Should be empty if `mml` is provided title: Text type: string x-stream-index: "001.002" thread_participants: description: List of users who participate in thread items: $ref: '#/components/schemas/UserResponse' title: Thread participants type: array x-stream-docs-page-id: threads#quote-message x-stream-index: "001.023" type: description: 'Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted' title: Message Type type: string x-stream-docs-page-id: message_format#message-types x-stream-index: "001.006" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.026" user: $ref: '#/components/schemas/UserResponse' description: Sender of the message. Required when using server-side API title: User object x-stream-index: "001.007" required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility - channel title: Message type: object x-stream-docs-page-id: send_message MetricStats: description: Statistics for a single metric with optional daily breakdown properties: daily: description: Per-day values (only present in daily mode) items: $ref: '#/components/schemas/DailyValue' title: '[]DailyValue' type: array x-stream-index: "001" total: description: Aggregated total value format: int64 title: integer type: integer x-stream-index: "002" required: - total title: Metric Stats type: object ModerationDashboardPreferences: properties: allowed_moderation_action_reasons: items: type: string type: array x-stream-index: "004" async_review_queue_upsert: type: boolean x-stream-index: "006" disable_audit_logs: type: boolean x-stream-index: "007" disable_flagging_reviewed_entity: type: boolean x-stream-index: "003" escalation_queue_enabled: type: boolean x-stream-index: "010" escalation_reasons: items: type: string type: array x-stream-index: "009" flag_user_on_flagged_content: type: boolean x-stream-index: "002" include_attachment_payload: type: boolean x-stream-index: "011" keyframe_classifications_map: additionalProperties: additionalProperties: type: boolean type: object type: object x-stream-index: "008" media_queue_blur_enabled: type: boolean x-stream-index: "001" overview_dashboard: $ref: '#/components/schemas/OverviewDashboardConfig' x-stream-index: "005" type: object 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 ModerationV2Response: properties: action: type: string x-stream-index: "001" blocklist_matched: type: string x-stream-index: "005" blocklists_matched: items: type: string type: array x-stream-index: "006" image_harms: items: type: string type: array x-stream-index: "004" original_text: type: string x-stream-index: "002" platform_circumvented: type: boolean x-stream-index: "008" semantic_filter_matched: type: string x-stream-index: "007" text_harms: items: type: string type: array x-stream-index: "003" required: - action - original_text type: object MuteChannelRequest: nullable: true properties: channel_cids: description: Channel CIDs to mute (if multiple channels) items: type: string maxItems: 25 title: Channel CIDs type: array x-stream-index: "002" expiration: description: Duration of mute in milliseconds title: Expiration type: integer x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object MuteChannelResponse: nullable: true properties: channel_mute: $ref: '#/components/schemas/ChannelMute' description: Object with channel mute (if one channel was muted) title: Channel mute x-stream-index: "001" channel_mutes: description: Object with mutes (if multiple channels were muted) items: $ref: '#/components/schemas/ChannelMute' title: Channel mutes type: array x-stream-index: "002" duration: type: string x-stream-index: "004.001" own_user: $ref: '#/components/schemas/OwnUserResponse' description: Authorized user object with fresh mutes information title: Own user x-stream-index: "003" required: - duration type: object MuteUserRequest: nullable: true properties: target_ids: description: User IDs to mute (if multiple users) items: type: string maxItems: 1000 title: Target IDs type: array x-stream-index: "002" timeout: description: Duration of mute in minutes minimum: 0 title: Timeout type: integer x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" required: - timeout type: object MuteUserResponse: nullable: true properties: duration: type: string x-stream-index: "005.001" mute: $ref: '#/components/schemas/UserMuteResponse' description: Object with user mute (if one user was muted) title: Mute x-stream-index: "001" mutes: description: Object with mutes (if multiple users were muted) items: $ref: '#/components/schemas/UserMuteResponse' title: Mutes type: array x-stream-index: "002" non_existing_users: items: type: string type: array x-stream-index: "004" own_user: $ref: '#/components/schemas/OwnUserResponse' description: Authorized user object with fresh mutes information title: Own user x-stream-index: "003" required: - duration type: object NoiseCancellationSettings: properties: mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" required: - mode type: object NotificationMarkUnreadEvent: description: Emitted when a channel/thread is marked as unread. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object which was marked as read title: Channel x-stream-index: "002" channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel which was marked as unread title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel which was marked as unread title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel which was marked as unread title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 first_unread_message_id: description: The ID of the first unread message title: First Unread Message ID type: string x-stream-index: "005" grouped_unread_channels: additionalProperties: format: int32 type: integer type: object x-stream-index: "012" last_read_at: description: The time when the channel/thread was marked as unread format: date-time title: Last Read At type: string x-stream-index: "006" last_read_message_id: description: The ID of the last read message title: Last Read Message ID type: string x-stream-index: "007" received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 001.001.003 thread_id: description: The ID of the thread which was marked as unread title: Thread ID type: string x-stream-index: "003" total_unread_count: description: The total number of unread messages format: int32 title: Total Unread Count type: integer x-stream-index: "010" type: default: notification.mark_unread description: 'The type of event: "notification.mark_unread" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 unread_channels: description: The number of channels with unread messages format: int32 title: Unread Channels type: integer x-stream-index: "011" unread_count: description: The total number of unread messages format: int32 title: Unread Count type: integer x-stream-index: "009" unread_messages: description: The number of unread messages in the channel/thread after first_unread_message_id format: int32 title: Unread Messages type: integer x-stream-index: "008" unread_thread_messages: description: The total number of unread messages in the threads format: int32 title: Unread Thread Messages type: integer x-stream-index: "014" unread_threads: description: The number of unread threads format: int32 title: Unread Threads type: integer x-stream-index: "013" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who marked the channel as unread title: User x-stream-index: "004.001" required: - type - created_at - custom title: NotificationMarkUnreadEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent NotificationSettings: properties: call_live_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "002" call_missed: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "006" call_notification: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "004" call_ring: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "005" enabled: type: boolean x-stream-index: "001" session_started: $ref: '#/components/schemas/EventNotificationSettings' x-stream-index: "003" required: - enabled - call_live_started - session_started - call_notification - call_ring - call_missed type: object NotificationThreadMessageNewEvent: description: Emitted when a new message was sent to a thread. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object where the message was sent title: Channel x-stream-index: 001.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.001.006 channel_id: description: The ID of the channel where the message was sent title: Channel ID type: string x-stream-index: 001.001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.001.005 channel_type: description: The type of the channel where the message was sent title: Channel Type type: string x-stream-index: 001.001.002.001 cid: description: The CID of the channel where the message was sent title: Channel CID type: string x-stream-index: 001.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The new message title: Message x-stream-index: "003.002" message_id: type: string x-stream-index: "003.001" parent_author: type: string x-stream-index: "007" received_at: format: date-time type: string x-stream-index: 001.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: "006" thread_id: description: The ID of the thread title: Thread ID type: string x-stream-index: "002" thread_participants: description: The participants of the thread items: $ref: '#/components/schemas/UserResponseCommonFields' title: Thread participants type: array x-stream-index: "005.001" type: default: notification.thread_message_new description: 'The type of event: "notification.message_new" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.001.002 unread_thread_messages: format: int32 type: integer x-stream-index: "009" unread_threads: format: int32 type: integer x-stream-index: "008" watcher_count: description: The number of watchers format: int32 title: Watcher count type: integer x-stream-index: "004" required: - type - created_at - custom - channel - thread_id - message_id - message - watcher_count title: NotificationThreadMessageNewEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent OnlyUserID: properties: id: type: string x-stream-index: "001" required: - id type: object OverviewDashboardConfig: properties: default_date_range_days: format: int32 type: integer x-stream-index: "003" visible_charts: items: type: string type: array x-stream-index: "002" type: object OwnUserResponse: properties: avg_response_time: format: int32 type: integer x-stream-index: "001.018" banned: type: boolean x-stream-index: "001.012" blocked_user_ids: items: type: string type: array x-stream-index: "016" channel_mutes: items: $ref: '#/components/schemas/ChannelMute' type: array x-stream-index: "007" created_at: format: date-time type: string x-stream-index: "001.009" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.016" deleted_at: format: date-time type: string x-stream-index: "001.011" devices: items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: "004" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "005" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.014" latest_hidden_channels: items: type: string type: array x-stream-index: "013" mutes: items: $ref: '#/components/schemas/UserMuteResponse' type: array x-stream-index: "006" name: type: string x-stream-index: "001.002" online: type: boolean x-stream-index: "001.013" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: "003" push_preferences: $ref: '#/components/schemas/PushPreferencesResponse' x-stream-index: "002" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.015" role: type: string x-stream-index: "001.006" teams: items: type: string type: array x-stream-index: "001.007" teams_role: additionalProperties: type: string type: object x-stream-index: "001.008" total_unread_count: format: int32 type: integer x-stream-index: "009" total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: "010" unread_channels: format: int32 type: integer x-stream-index: "011" unread_count: format: int32 type: integer x-stream-index: "008" unread_threads: format: int32 type: integer x-stream-index: "012" updated_at: format: date-time type: string x-stream-index: "001.010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - devices - invisible - mutes - channel_mutes - unread_count - total_unread_count - unread_channels - unread_threads type: object PagerResponse: properties: next: type: string x-stream-index: "001" prev: type: string x-stream-index: "002" type: object PaginationParams: properties: limit: format: int32 minimum: 0 type: integer x-stream-index: "001" offset: format: int32 type: integer x-stream-index: "002" type: object ParsedPredefinedFilterResponse: properties: filter: additionalProperties: {} type: object x-stream-index: "002" name: type: string x-stream-index: "001" sort: items: $ref: '#/components/schemas/SortParamRequest' type: array x-stream-index: "003" required: - name - filter type: object PendingMessageEvent: description: Pending message event for async moderation nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel where the message is pending title: Channel 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: "001.007" message: $ref: '#/components/schemas/MessageResponse' description: The pending message title: Message x-stream-index: "004" metadata: additionalProperties: type: string description: Metadata attached to the pending message title: Metadata type: object x-stream-index: "005" method: description: The method used for the pending message title: Method type: string x-stream-index: "006" received_at: format: date-time type: string x-stream-index: "001.004" type: default: message.pending description: 'The type of event: "message.pending" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponse' description: The user who created the pending message title: User x-stream-index: "002" required: - type - custom - method - created_at title: PendingMessageEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent PendingMessageResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "002" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "003" metadata: additionalProperties: type: string type: object x-stream-index: "004" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001" type: object Permission: properties: action: description: Action name this permission is for (e.g. SendMessage) title: Action type: string x-stream-index: "004" condition: additionalProperties: {} description: MongoDB style condition which decides whether or not the permission is granted title: Condition type: object x-stream-index: "007" custom: description: Whether this is a custom permission or built-in title: Custom type: boolean x-stream-index: "009" description: description: Description of the permission title: Description type: string x-stream-index: "003" id: description: Unique permission ID title: ID type: string x-stream-index: "001" level: description: 'Level at which permission could be applied (app or channel). One of: app, channel' title: Level type: string x-stream-index: "010" name: description: Name of the permission title: Name type: string x-stream-index: "002" owner: description: Whether this permission applies to resource owner or not title: Owner type: boolean x-stream-index: "005" same_team: description: Whether this permission applies to teammates (multi-tenancy mode only) title: Same team type: boolean x-stream-index: "006" tags: description: List of tags of the permission items: type: string title: Tags type: array x-stream-index: "011" required: - id - name - description - action - owner - same_team - custom - level - tags type: object 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 PolicyConfig: properties: max_age_hours: format: int32 type: integer x-stream-index: "001" required: - max_age_hours type: object PolicyRequest: description: Policy request properties: action: enum: - Deny - Allow title: Action type: string x-stream-index: "001" name: description: User-friendly policy name title: Name type: string x-stream-index: "002" owner: description: Whether policy applies to resource owner or not title: Owner type: boolean x-stream-index: "005" priority: description: Policy priority format: int32 maximum: 999 minimum: 1 title: Priority type: integer x-stream-index: "006" resources: description: List of resources to apply policy to items: type: string minItems: 1 title: Resources type: array x-stream-index: "003" roles: description: List of roles to apply policy to items: type: string title: Roles type: array x-stream-index: "004" required: - action - name - resources - roles - owner - priority title: PolicyRequest type: object PollOptionInput: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: "003" text: type: string x-stream-index: "002" type: object PollOptionRequest: nullable: true properties: custom: additionalProperties: {} type: object x-stream-index: "003" id: maxLength: 255 type: string x-stream-index: "001" text: type: string x-stream-index: "002" required: - id type: object PollOptionResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" poll_option: $ref: '#/components/schemas/PollOptionResponseData' description: Poll option title: PollOptionResponseData x-stream-index: "001" required: - poll_option - duration type: object 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 milliseconds title: Duration type: string x-stream-index: "002.001" poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: "001" required: - poll - duration type: object PollResponseData: properties: allow_answers: type: boolean x-stream-index: "008" allow_user_suggested_options: type: boolean x-stream-index: "007" answers_count: format: int32 type: integer x-stream-index: "012" created_at: format: date-time type: string x-stream-index: "019" created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "018" created_by_id: type: string x-stream-index: "017" custom: additionalProperties: {} type: object x-stream-index: "021" description: type: string x-stream-index: "003" enforce_unique_vote: type: boolean x-stream-index: "005" id: type: string x-stream-index: "001" is_closed: type: boolean x-stream-index: "009" latest_answers: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: "015" latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData' type: array type: object x-stream-index: "014" max_votes_allowed: format: int32 type: integer x-stream-index: "006" name: type: string x-stream-index: "002" options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: "011" own_votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: "016" updated_at: format: date-time type: string x-stream-index: "020" vote_count: format: int32 type: integer x-stream-index: "010" vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: "013" voting_visibility: type: string x-stream-index: "004" required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - custom type: object PollVoteResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: "002" vote: $ref: '#/components/schemas/PollVoteResponseData' description: Poll vote title: PollVoteResponseData x-stream-index: "001" required: - duration type: object PollVoteResponseData: nullable: true properties: answer_text: type: string x-stream-index: "005" created_at: format: date-time type: string x-stream-index: "008" id: type: string x-stream-index: "002" is_answer: type: boolean x-stream-index: "004" option_id: type: string x-stream-index: "003" poll_id: type: string x-stream-index: "001" updated_at: format: date-time type: string x-stream-index: "009" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "007" user_id: type: string x-stream-index: "006" required: - poll_id - id - option_id - created_at - updated_at type: object PollVotesResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" votes: description: Poll votes items: $ref: '#/components/schemas/PollVoteResponseData' title: PollVoteResponseList type: array x-stream-index: "001" required: - votes - duration type: object PrivacySettingsResponse: properties: delivery_receipts: $ref: '#/components/schemas/DeliveryReceiptsResponse' x-stream-index: "003" read_receipts: $ref: '#/components/schemas/ReadReceiptsResponse' x-stream-index: "002" typing_indicators: $ref: '#/components/schemas/TypingIndicatorsResponse' x-stream-index: "001" type: object PushConfig: properties: offline_only: type: boolean x-stream-index: "002" version: enum: - v1 - v2 - v3 type: string x-stream-index: "001" required: - version type: object 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 PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: "001" disabled_until: format: date-time type: string x-stream-index: "002" type: object PushPreferenceInput: nullable: true properties: call_level: description: 'Set the level of call push notifications for the user. One of: all, none, default' enum: - all - none - default title: Call Level type: string x-stream-index: "005" channel_cid: description: Set the push preferences for a specific channel. If empty it sets the default for the user title: Channel CID type: string x-stream-index: "002" chat_level: description: 'Set the level of chat push notifications for the user. Note: "mentions" is deprecated in favor of "direct_mentions". One of: all, mentions, direct_mentions, all_mentions, none, default' enum: - all - mentions - direct_mentions - all_mentions - none - default title: Chat Level type: string x-stream-index: "003" chat_preferences: $ref: '#/components/schemas/ChatPreferencesInput' x-stream-index: "004" disabled_until: description: Disable push notifications till a certain time format: date-time title: Disabled Until type: string x-stream-index: "008" feeds_level: description: 'Set the level of feeds push notifications for the user. One of: all, none, default' enum: - all - none - default title: Feeds Level type: string x-stream-index: "006" feeds_preferences: $ref: '#/components/schemas/FeedsPreferences' description: Set granular feeds preferences for reactions, comments, new followers, mentions, and custom activity types title: Feeds Preferences x-stream-index: "007" remove_disable: description: Remove the disabled until time. (IE stop snoozing notifications) title: Remove Disable type: boolean x-stream-index: "009" user_id: description: The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth. title: User ID type: string x-stream-index: "001" type: object PushPreferencesResponse: properties: call_level: type: string x-stream-index: "003" chat_level: type: string x-stream-index: "001" chat_preferences: $ref: '#/components/schemas/ChatPreferencesResponse' x-stream-index: "002" disabled_until: format: date-time type: string x-stream-index: "006" feeds_level: type: string x-stream-index: "004" feeds_preferences: $ref: '#/components/schemas/FeedsPreferencesResponse' x-stream-index: "005" type: object PushProvider: nullable: true properties: apn_auth_key: type: string x-stream-index: "012" apn_auth_type: type: string x-stream-index: "017" apn_development: type: boolean x-stream-index: "018" apn_host: type: string x-stream-index: "019" apn_key_id: type: string x-stream-index: "013" apn_notification_template: type: string x-stream-index: "020" apn_p12_cert: type: string x-stream-index: "014" apn_team_id: type: string x-stream-index: "015" apn_topic: type: string x-stream-index: "016" created_at: format: date-time type: string x-stream-index: "008" description: maxLength: 128 type: string x-stream-index: "007" disabled_at: format: date-time type: string x-stream-index: "010" disabled_reason: maxLength: 255 type: string x-stream-index: "011" firebase_apn_template: type: string x-stream-index: "025" firebase_credentials: type: string x-stream-index: "022" firebase_data_template: type: string x-stream-index: "023" firebase_host: type: string x-stream-index: "026" firebase_notification_template: type: string x-stream-index: "024" firebase_server_key: type: string x-stream-index: "021" huawei_app_id: type: string x-stream-index: "027" huawei_app_secret: type: string x-stream-index: "028" huawei_host: type: string x-stream-index: "032" name: maxLength: 36 minLength: 1 type: string x-stream-index: "005" push_templates: items: $ref: '#/components/schemas/PushTemplate' type: array x-stream-index: "031" type: type: string x-stream-index: "006" updated_at: format: date-time type: string x-stream-index: "009" xiaomi_app_secret: type: string x-stream-index: "030" xiaomi_package_name: type: string x-stream-index: "029" required: - name - type - created_at - updated_at type: object PushProviderRequest: properties: apn_auth_key: type: string x-stream-index: "006" apn_auth_type: type: string x-stream-index: "011" apn_development: type: boolean x-stream-index: "012" apn_host: type: string x-stream-index: "013" apn_key_id: type: string x-stream-index: "007" apn_notification_template: type: string x-stream-index: "014" apn_p12_cert: type: string x-stream-index: "008" apn_team_id: type: string x-stream-index: "009" apn_topic: type: string x-stream-index: "010" description: maxLength: 128 type: string x-stream-index: "003" disabled_at: format: date-time type: string x-stream-index: "004" disabled_reason: maxLength: 255 type: string x-stream-index: "005" firebase_apn_template: type: string x-stream-index: "019" firebase_credentials: type: string x-stream-index: "016" firebase_data_template: type: string x-stream-index: "017" firebase_host: type: string x-stream-index: "020" firebase_notification_template: type: string x-stream-index: "018" firebase_server_key: type: string x-stream-index: "015" huawei_app_id: type: string x-stream-index: "021" huawei_app_secret: type: string x-stream-index: "022" name: maxLength: 36 minLength: 1 type: string x-stream-index: "001" type: type: string x-stream-index: "002" xiaomi_app_secret: type: string x-stream-index: "024" xiaomi_package_name: type: string x-stream-index: "023" required: - name type: object 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 PushTemplate: nullable: true properties: created_at: format: date-time type: string x-stream-index: "007" enable_push: type: boolean x-stream-index: "003" event_type: enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated type: string x-stream-index: "005" template: type: string x-stream-index: "006" updated_at: format: date-time type: string x-stream-index: "008" required: - enable_push - event_type - created_at - updated_at type: object PushTemplateResponse: properties: created_at: description: Time when the template was created format: date-time title: Created At type: string x-stream-index: "005" enable_push: description: Whether push notification is enabled for this event title: Enable Push type: boolean x-stream-index: "002" event_type: description: Type of event this template applies to title: Event Type type: string x-stream-index: "003" push_provider_internal_id: description: Internal ID of the push provider title: Push Provider Internal ID type: string x-stream-index: "001" template: description: The push notification template title: Template type: string x-stream-index: "004" updated_at: description: Time when the template was last updated format: date-time title: Updated At type: string x-stream-index: "006" required: - push_provider_internal_id - enable_push - event_type - created_at - updated_at title: PushTemplateResponse type: object QueryBannedUsersPayload: properties: exclude_expired_bans: description: Whether to exclude expired bans or not title: Exclude expired bans type: boolean x-stream-index: "004" filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string channel_cid: operators: - $eq - $in type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date reason: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: "001" limit: description: Number of records to return format: int32 maximum: 300 minimum: 0 title: Limit type: integer x-stream-index: "003.003" offset: description: Number of records to offset format: int32 maximum: 10000 title: Offset type: integer x-stream-index: "003.004" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" required: - filter_conditions type: object QueryBannedUsersResponse: nullable: true properties: bans: description: List of found bans items: $ref: '#/components/schemas/BanResponse' title: BanResponse type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - bans - duration type: object QueryCampaignsRequest: nullable: true properties: filter: additionalProperties: {} type: object x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "004.001" next: type: string x-stream-index: "004.002" prev: type: string x-stream-index: "004.003" sort: items: $ref: '#/components/schemas/SortParamRequest' type: array x-stream-index: "002" user_limit: format: int32 maximum: 1000 minimum: 0 type: integer x-stream-index: "003" type: object QueryCampaignsResponse: description: Basic response information nullable: true properties: campaigns: items: $ref: '#/components/schemas/CampaignResponse' type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" required: - campaigns - duration title: Response type: object QueryChannelsRequest: nullable: true properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: app_banned: operators: - $eq type: string archived: operators: - $eq type: boolean blocked: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date created_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string disabled: operators: - $eq type: boolean distinct: operators: - $eq type: boolean filter_tags: operators: - $eq - $in type: string frozen: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: boolean has_unread: operators: - $eq type: boolean hidden: operators: - $eq type: boolean id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string joined: operators: - $eq type: boolean last_message_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date last_updated: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date member.user.name: operators: - $autocomplete - $eq - $ne type: string member_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number members: operators: - $eq - $in - $nin type: string message_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number muted: operators: - $eq type: boolean name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string pinned: operators: - $eq type: boolean team: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date x-stream-index: "001" filter_values: additionalProperties: {} description: Values to interpolate into the predefined filter template title: Filter Values type: object x-stream-index: "011" limit: description: Number of channels to limit format: int32 title: Limit type: integer x-stream-index: "008" member_limit: description: Number of members to limit format: int32 maximum: 100 minimum: 0 title: Member limit type: integer x-stream-index: "007" message_limit: description: Number of messages to limit format: int32 minimum: 0 title: Message limit type: integer x-stream-index: "006" offset: description: Channel pagination offset format: int32 title: Offset type: integer x-stream-index: "009" predefined_filter: description: ID of a predefined filter to use instead of filter_conditions maxLength: 255 title: Predefined Filter type: string x-stream-index: "010" sort: description: List of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "002" sort_values: additionalProperties: {} type: object x-stream-index: "012" state: description: Whether to update channel state or not title: State type: boolean x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "013.002" user_id: type: string x-stream-index: "013.001" title: Query Channels Request type: object x-stream-docs-page-id: query_channels QueryChannelsResponse: nullable: true properties: channels: description: List of channels items: $ref: '#/components/schemas/ChannelStateResponseFields' title: Channels type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" predefined_filter: $ref: '#/components/schemas/ParsedPredefinedFilterResponse' description: The parsed predefined filter with interpolated values, only present when using a predefined filter title: Predefined Filter x-stream-index: "002" required: - channels - duration title: Channels list type: object QueryDraftsRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query maximum: 3 title: Filter type: object x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object QueryDraftsResponse: nullable: true properties: drafts: description: Drafts items: $ref: '#/components/schemas/DraftResponse' title: DraftsResponseList type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" required: - drafts - duration type: object QueryFutureChannelBansPayload: properties: exclude_expired_bans: description: Whether to exclude expired bans or not title: Exclude expired bans type: boolean x-stream-index: "002" limit: description: Number of records to return format: int32 maximum: 300 minimum: 0 title: Limit type: integer x-stream-index: "001.003" offset: description: Number of records to offset format: int32 maximum: 10000 title: Offset type: integer x-stream-index: "001.004" target_user_id: description: Filter by the target user ID. For server-side requests only. title: Target user ID type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object QueryFutureChannelBansResponse: nullable: true properties: bans: description: List of found future channel bans items: $ref: '#/components/schemas/FutureChannelBanResponse' title: FutureChannelBanResponse type: array x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - bans - duration type: object QueryMembersPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string is_moderator: operators: - $eq - $ne type: boolean joined: operators: - $eq type: boolean last_active: operators: - $eq - $gt - $gte - $lt - $lte - $ne type: date name: operators: - $autocomplete - $eq - $in - $ne - $nin - $q type: string notifications_muted: operators: - $eq type: boolean updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date user.email: operators: - $autocomplete - $eq - $in - $ne - $nin - $q type: string user.nd_deactivated: operators: - $eq type: boolean user_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string x-stream-index: "004" id: type: string x-stream-index: "002" limit: format: int32 maximum: 300 minimum: 0 type: integer x-stream-index: "006.001" members: items: $ref: '#/components/schemas/ChannelMemberRequest' type: array x-stream-index: "003" offset: format: int32 maximum: 10000 minimum: 0 type: integer x-stream-index: "006.002" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 title: Sort type: array x-stream-index: "005" x-stream-sort-fields: - created_at type: maxLength: 64 type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "007.002" user_id: type: string x-stream-index: "007.001" required: - type - filter_conditions type: object QueryMessageFlagsPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: action: operators: - $eq type: string blocklist_name: operators: - $eq type: string channel_cid: operators: - $eq - $in type: string date_range: operators: - $eq type: string harm_label: operators: - $eq type: string harm_type: operators: - $eq type: string image_labels: operators: - $eq type: string is_reviewed: operators: - $eq type: boolean keyword: operators: - $eq type: string matched_phrase: operators: - $eq type: string message_id: operators: - $eq - $in type: string phrase_list_ids: operators: - $eq type: number reason: operators: - $eq - $in type: string reporter_id: operators: - $eq type: string reporter_type: operators: - $eq type: string team: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: "001" limit: format: int32 maximum: 300 minimum: 0 type: integer x-stream-index: "003.003" offset: format: int32 maximum: 10000 type: integer x-stream-index: "003.004" show_deleted_messages: description: Whether to include deleted messages in the results title: ShowDeletedMessages type: boolean x-stream-index: "002" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "003.005" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object QueryMessageFlagsResponse: description: Query message flags response nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" flags: description: The flags that match the query items: $ref: '#/components/schemas/MessageFlagResponse' title: MessageFlagResponseList type: array x-stream-index: "001" required: - flags - duration title: QueryMessageFlagsResponse type: object QueryMessageHistoryRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query maximum: 3 minimum: 1 title: Filter type: object x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "004.001" next: type: string x-stream-index: "004.002" prev: type: string x-stream-index: "004.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "002" required: - filter type: object QueryMessageHistoryResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message_history: description: Message history entries items: $ref: '#/components/schemas/MessageHistoryEntryResponse' title: MessageHistoryEntryResponseList type: array x-stream-index: "001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" required: - message_history - duration type: object QueryPollVotesRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: "003" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "004" type: object QueryPollsRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: "002" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "003" type: object QueryPollsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" polls: description: Polls data returned by the query items: $ref: '#/components/schemas/PollResponseData' title: PollsResponseData type: array x-stream-index: "001" prev: type: string x-stream-index: "002.002" required: - polls - duration type: object QueryReactionsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-filter-fields: created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date type: operators: - $eq - $in type: string user_id: operators: - $eq - $in type: string x-stream-index: "002" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "006.001" next: type: string x-stream-index: "006.002" prev: type: string x-stream-index: "006.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 2 title: Sort type: array x-stream-index: "003" x-stream-sort-combinations: - - created_at x-stream-sort-fields: - created_at user: $ref: '#/components/schemas/UserRequest' x-stream-index: "004.002" user_id: type: string x-stream-index: "004.001" type: object QueryReactionsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" next: type: string x-stream-index: "003.001" prev: type: string x-stream-index: "003.002" reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001" required: - reactions - duration title: Response type: object QueryRemindersRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.001" next: type: string x-stream-index: "005.002" prev: type: string x-stream-index: "005.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object QueryRemindersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" reminders: description: MessageReminders data returned by the query items: $ref: '#/components/schemas/ReminderResponseData' title: RemindersResponseData type: array x-stream-index: "001" required: - reminders - duration type: object QuerySegmentTargetsRequest: nullable: true properties: Filter: additionalProperties: {} type: object writeOnly: true x-stream-index: "005" Sort: items: $ref: '#/components/schemas/SortParamRequest' type: array writeOnly: true x-stream-index: "006" limit: description: Limit format: int32 maximum: 10000 minimum: 0 title: int type: integer x-stream-index: "002" next: description: Next title: string type: string x-stream-index: "003" prev: description: Prev title: string type: string x-stream-index: "004" type: object QuerySegmentTargetsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" targets: description: Targets items: $ref: '#/components/schemas/SegmentTargetResponse' title: SegmentTargetResponseList type: array x-stream-index: "001" required: - targets - duration type: object QuerySegmentsRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-index: "001" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "003.001" next: type: string x-stream-index: "003.002" prev: type: string x-stream-index: "003.003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: "002" required: - filter type: object QuerySegmentsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" segments: description: Segments items: $ref: '#/components/schemas/SegmentResponse' title: SegmentResponses type: array x-stream-index: "001" required: - segments - duration type: object QueryTeamUsageStatsRequest: description: Request payload for querying team-level usage statistics from the warehouse database nullable: true properties: end_date: description: End date in YYYY-MM-DD format. Used with start_date for custom date range. Returns daily breakdown. title: string type: string x-stream-index: "003" limit: description: 'Maximum number of teams to return per page (default: 30, max: 30)' format: int32 maximum: 30 minimum: 1 title: integer type: integer x-stream-index: "004" month: description: Month in YYYY-MM format (e.g., '2026-01'). Mutually exclusive with start_date/end_date. Returns aggregated monthly values. title: string type: string x-stream-index: "001" next: description: Cursor for pagination to fetch next page of teams title: string type: string x-stream-index: "005" start_date: description: Start date in YYYY-MM-DD format. Used with end_date for custom date range. Returns daily breakdown. title: string type: string x-stream-index: "002" title: Query Team Usage Stats Request type: object QueryTeamUsageStatsResponse: description: Response containing team-level usage statistics nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: description: Cursor for pagination to fetch next page title: string type: string x-stream-index: "002" teams: description: Array of team usage statistics items: $ref: '#/components/schemas/TeamUsageStats' title: '[]TeamUsageStats' type: array x-stream-index: "001" required: - teams - duration title: Query Team Usage Stats Response type: object QueryThreadsRequest: nullable: true properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-filter-fields: active_participant_count: operators: - $eq - $gt - $gte - $lt - $lte type: number channel.disabled: operators: - $eq type: boolean channel.team: operators: - $eq - $in type: string channel_cid: operators: - $eq - $in type: string created_at: operators: - $eq - $gt - $gte - $lt - $lte type: date created_by_user_id: operators: - $eq - $in type: string has_unread: operators: - $eq type: boolean last_message_at: operators: - $eq - $gt - $gte - $lt - $lte type: date parent_message_id: operators: - $eq - $in type: string participant_count: operators: - $eq - $gt - $gte - $lt - $lte type: number reply_count: operators: - $eq - $gt - $gte - $lt - $lte type: number updated_at: operators: - $eq - $gt - $gte - $lt - $lte type: date x-stream-index: "006" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "008.001" member_limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005" next: type: string x-stream-index: "008.002" participant_limit: description: Limit the number of participants returned per each thread format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer x-stream-index: "004" prev: type: string x-stream-index: "008.003" reply_limit: description: Limit the number of replies returned per each thread format: int32 maximum: 10 minimum: 0 title: Reply limit type: integer x-stream-index: "003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "007" x-stream-sort-combinations: - - has_unread - last_message_at - parent_message_id - - last_message_at - parent_message_id - - created_at - - updated_at - - reply_count - - participant_count - - active_participant_count - - parent_message_id x-stream-sort-fields: - active_participant_count - created_at - has_unread - last_message_at - parent_message_id - participant_count - reply_count - updated_at user: $ref: '#/components/schemas/UserRequest' x-stream-index: "010.002" user_id: type: string x-stream-index: "010.001" type: object QueryThreadsResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" next: type: string x-stream-index: "002.001" prev: type: string x-stream-index: "002.002" threads: description: List of enriched thread states items: $ref: '#/components/schemas/ThreadStateResponse' title: Threads type: array x-stream-index: "001" required: - threads - duration type: object QueryUsersPayload: properties: filter_conditions: additionalProperties: {} description: Filter conditions to apply to the query title: Filter type: object x-stream-filter-fields: banned: operators: - $eq type: boolean bypass_moderation: operators: - $eq - $ne type: boolean created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date email: operators: - $eq - $in type: string id: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string language: operators: - $eq - $ne type: string last_active: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string role: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string shadow_banned: operators: - $eq - $ne type: boolean teams: operators: - $_none - $contains - $eq - $in type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date username: operators: - $autocomplete - $eq type: string x-stream-index: "001" include_deactivated_users: type: boolean x-stream-index: "004" limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: "005.001" offset: format: int32 maximum: 1000 minimum: 0 type: integer x-stream-index: "005.002" presence: type: boolean x-stream-index: "003" sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "006.002" user_id: type: string x-stream-index: "006.001" required: - filter_conditions type: object QueryUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" users: description: Array of users as result of filters applied. items: $ref: '#/components/schemas/FullUserResponse' title: Users type: array x-stream-index: "001" required: - users - duration type: object RTMPLocation: properties: name: type: string x-stream-index: "001" stream_key: type: string x-stream-index: "003" stream_url: type: string x-stream-index: "002" required: - name - stream_url - stream_key type: object RTMPSettings: properties: enabled: type: boolean x-stream-index: "001" layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: "003" location: $ref: '#/components/schemas/RTMPLocation' x-stream-index: "004" quality_name: type: string x-stream-index: "002" required: - enabled type: object RawRecordSettings: properties: audio_only: type: boolean x-stream-index: "002" mode: enum: - available - disabled - auto-on type: string x-stream-index: "001" required: - mode type: object ReactionDeletedEvent: description: Emitted when a reaction is deleted from a message. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object containing the message title: Channel x-stream-index: 005.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 005.001.001.006 channel_id: description: The ID of the channel containing the message title: Channel ID type: string x-stream-index: 005.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 005.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 005.001.001.005 channel_type: description: The type of the channel containing the message title: Channel Type type: string x-stream-index: 005.001.002.001 cid: description: The CID of the channel containing the message title: Channel CID type: string x-stream-index: 005.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 005.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 005.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The message from which the reaction was deleted title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" reaction: $ref: '#/components/schemas/ReactionResponse' description: The reaction that was deleted title: Reaction x-stream-index: "001" received_at: format: date-time type: string x-stream-index: 005.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 005.001.001.003 thread_participants: description: The participants of the thread items: $ref: '#/components/schemas/UserResponseCommonFields' title: Thread participants type: array x-stream-index: "003.001" type: default: reaction.deleted description: 'The type of event: "reaction.deleted" in this case' title: Event Type type: string x-stream-index: 005.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who deleted the reaction title: User x-stream-index: "004.001" required: - type - created_at - custom - channel title: ReactionDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ReactionGroupResponse: description: ReactionGroupResponse contains all information about a reaction of the same type. nullable: true properties: count: description: Count is the number of reactions of this type. format: int32 title: Count type: integer x-stream-index: "001" first_reaction_at: description: FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting. format: date-time title: FirstReactionAt type: string x-stream-index: "003" last_reaction_at: description: LastReactionAt is the time of the last reaction of this type. format: date-time title: LastReactionAt type: string x-stream-index: "004" latest_reactions_by: description: The most recent users who reacted with this type, ordered by most recent first. items: $ref: '#/components/schemas/ReactionGroupUserResponse' title: LatestReactionsBy type: array x-stream-index: "005" sum_scores: description: 'SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`.' format: int32 title: SumScores type: integer x-stream-index: "002" required: - count - sum_scores - first_reaction_at - last_reaction_at - latest_reactions_by title: ReactionGroupResponse type: object ReactionGroupUserResponse: description: Contains information about a user who reacted with this reaction type. properties: created_at: description: The time when the user reacted. format: date-time title: CreatedAt type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserResponse' description: The full user object. title: User x-stream-index: "002" user_id: description: The ID of the user who reacted. title: UserID type: string x-stream-index: "001" required: - user_id - created_at title: ReactionGroupUserResponse type: object ReactionNewEvent: description: Emitted when a new reaction is added to a message. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object containing the message title: Channel x-stream-index: 005.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 005.001.001.006 channel_id: description: The ID of the channel containing the message title: Channel ID type: string x-stream-index: 005.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 005.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 005.001.001.005 channel_type: description: The type of the channel containing the message title: Channel Type type: string x-stream-index: 005.001.002.001 cid: description: The CID of the channel containing the message title: Channel CID type: string x-stream-index: 005.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 005.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 005.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The message to which the reaction was added title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" reaction: $ref: '#/components/schemas/ReactionResponse' description: The reaction that was added title: Reaction x-stream-index: "001" received_at: format: date-time type: string x-stream-index: 005.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 005.001.001.003 thread_participants: description: The participants of the thread items: $ref: '#/components/schemas/UserResponseCommonFields' title: Thread participants type: array x-stream-index: "003.001" type: default: reaction.new description: 'The type of event: "reaction.new" in this case' title: Event Type type: string x-stream-index: 005.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who added the reaction title: User x-stream-index: "004.001" required: - type - created_at - custom - channel title: ReactionNewEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ReactionRequest: description: Represents user reaction to a message properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "005" score: description: Reaction score. If not specified reaction has score of 1 format: int32 title: Score type: integer x-stream-index: "002" type: description: The type of reaction (e.g. 'like', 'laugh', 'wow') maxLength: 30 title: Type type: string x-stream-index: "001" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "006.002" user_id: type: string x-stream-index: "006.001" required: - type title: Reaction type: object x-stream-docs-page-id: send_reaction ReactionResponse: properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "006" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "008" message_id: description: Message ID title: Message ID type: string x-stream-index: "001" score: description: Score of the reaction format: int32 title: Score type: integer x-stream-index: "005" type: description: Type of reaction title: Type type: string x-stream-index: "004" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "007" user: $ref: '#/components/schemas/UserResponse' description: User title: UserResponse x-stream-index: "003" user_id: description: User ID title: User ID type: string x-stream-index: "002" required: - message_id - user_id - user - type - score - created_at - updated_at - custom type: object ReactionUpdatedEvent: description: Emitted when a reaction is updated on a message. nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: The channel object containing the message title: Channel x-stream-index: 004.002.001 channel_custom: additionalProperties: {} type: object x-stream-index: 004.001.001.006 channel_id: description: The ID of the channel containing the message title: Channel ID type: string x-stream-index: 004.001.002.002 channel_member_count: description: The number of members in the channel format: int32 title: Channel member count type: integer x-stream-index: 004.001.001.004 channel_message_count: description: The number of messages in the channel format: int64 title: Channel message count type: integer x-stream-index: 004.001.001.005 channel_type: description: The type of the channel containing the message title: Channel Type type: string x-stream-index: 004.001.002.001 cid: description: The CID of the channel containing the message title: Channel CID type: string x-stream-index: 004.001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 004.001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 004.001.001.001.001.007 message: $ref: '#/components/schemas/MessageResponse' description: The message on which the reaction was updated title: Message x-stream-index: "002.002" message_id: type: string x-stream-index: "002.001" reaction: $ref: '#/components/schemas/ReactionResponse' description: The reaction that was updated title: Reaction x-stream-index: "001" received_at: format: date-time type: string x-stream-index: 004.001.001.001.001.004 team: description: The team ID title: Team type: string x-stream-index: 004.001.001.003 type: default: reaction.updated description: 'The type of event: "reaction.updated" in this case' title: Event Type type: string x-stream-index: 004.001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who updated the reaction title: User x-stream-index: "003.001" required: - message_id - message - type - created_at - custom - channel title: ReactionUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent 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 milliseconds title: Duration type: string x-stream-index: 001.002.001 user: $ref: '#/components/schemas/UserResponse' description: Deactivated user object title: User x-stream-index: "001.001" required: - duration type: object ReactivateUsersRequest: description: Reactivate users in batches nullable: true properties: created_by_id: description: ID of the user who's reactivating the users title: Created by ID type: string x-stream-index: "003" restore_channels: type: boolean x-stream-index: "004" restore_messages: description: Restore previously deleted messages title: Restore messages type: boolean x-stream-index: "002" user_ids: description: User IDs to reactivate items: type: string maxItems: 100 minItems: 1 title: User IDs type: array x-stream-index: "001" required: - user_ids title: ReactivateUsersRequest type: object ReactivateUsersResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.002.001 task_id: type: string x-stream-index: "001.001" required: - task_id - duration title: Response type: object ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: "001" required: - enabled type: object ReadStateResponse: properties: last_delivered_at: format: date-time type: string x-stream-index: "005" last_delivered_message_id: type: string x-stream-index: "006" last_read: format: date-time type: string x-stream-index: "002" last_read_message_id: type: string x-stream-index: "004" unread_messages: format: int32 type: integer x-stream-index: "003" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001" required: - user - last_read - unread_messages type: object RecordSettings: properties: audio_only: type: boolean x-stream-index: "001" layout: $ref: '#/components/schemas/LayoutSettings' x-stream-index: "004" mode: type: string x-stream-index: "002" quality: type: string x-stream-index: "003" required: - mode type: object ReminderCreatedEvent: description: Emitted when a reminder is created. nullable: true properties: cid: description: The CID of the Channel for which the reminder was created title: Channel CID type: string x-stream-index: "001.004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.007 message_id: description: The ID of the message for which the reminder was created title: Message ID type: string x-stream-index: "001.002" parent_id: description: The ID of the parent message, if the reminder is for a thread message title: Parent ID type: string x-stream-index: "001.005" received_at: format: date-time type: string x-stream-index: 001.001.004 reminder: $ref: '#/components/schemas/ReminderResponseData' description: The reminder object which was created title: MessageReminder x-stream-index: "001.006" type: default: reminder.created description: 'The type of event: "reminder.created" in this case' title: Event Type type: string x-stream-index: 001.001.002 user_id: description: The ID of the user for whom the reminder was created title: User ID type: string x-stream-index: "001.003" required: - type - created_at - custom - message_id - user_id - cid title: ReminderCreatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ReminderDeletedEvent: description: Emitted when a reminder is deleted. nullable: true properties: cid: description: The CID of the Channel for which the reminder was created title: Channel CID type: string x-stream-index: "001.004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.007 message_id: description: The ID of the message for which the reminder was created title: Message ID type: string x-stream-index: "001.002" parent_id: description: The ID of the parent message, if the reminder is for a thread message title: Parent ID type: string x-stream-index: "001.005" received_at: format: date-time type: string x-stream-index: 001.001.004 reminder: $ref: '#/components/schemas/ReminderResponseData' description: The reminder object which was created title: MessageReminder x-stream-index: "001.006" type: default: reminder.deleted description: 'The type of event: "reminder.deleted" in this case' title: Event Type type: string x-stream-index: 001.001.002 user_id: description: The ID of the user for whom the reminder was created title: User ID type: string x-stream-index: "001.003" required: - type - created_at - custom - message_id - user_id - cid title: ReminderDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ReminderNotificationEvent: description: Emitted when a reminder becomes due, triggering a notification for the user. nullable: true properties: cid: description: The CID of the Channel for which the reminder was created title: Channel CID type: string x-stream-index: "001.004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.007 message_id: description: The ID of the message for which the reminder was created title: Message ID type: string x-stream-index: "001.002" parent_id: type: string x-stream-index: "001.005" received_at: format: date-time type: string x-stream-index: 001.001.004 reminder: $ref: '#/components/schemas/ReminderResponseData' description: The reminder object which was created title: MessageReminder x-stream-index: "001.006" type: default: notification.reminder_due description: 'The type of event: "notification.reminder_due" in this case' title: Event Type type: string x-stream-index: 001.001.002 user_id: description: The ID of the user for whom the reminder was created title: User ID type: string x-stream-index: "001.003" required: - type - created_at - custom - message_id - user_id - cid title: ReminderNotificationEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ReminderResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "003" channel_cid: type: string x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "008" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "005" message_id: type: string x-stream-index: "004" remind_at: format: date-time type: string x-stream-index: "001" updated_at: format: date-time type: string x-stream-index: "009" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "007" user_id: type: string x-stream-index: "006" required: - channel_cid - message_id - user_id - created_at - updated_at type: object ReminderUpdatedEvent: description: Emitted when a reminder is updated. nullable: true properties: cid: description: The CID of the Channel for which the reminder was created title: Channel CID type: string x-stream-index: "001.004" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.007 message_id: description: The ID of the message for which the reminder was created title: Message ID type: string x-stream-index: "001.002" parent_id: description: The ID of the parent message, if the reminder is for a thread message title: Parent ID type: string x-stream-index: "001.005" received_at: format: date-time type: string x-stream-index: 001.001.004 reminder: $ref: '#/components/schemas/ReminderResponseData' description: The reminder object which was created title: MessageReminder x-stream-index: "001.006" type: default: reminder.updated description: 'The type of event: "reminder.updated" in this case' title: Event Type type: string x-stream-index: 001.001.002 user_id: description: The ID of the user for whom the reminder was created title: User ID type: string x-stream-index: "001.003" required: - type - created_at - custom - message_id - user_id - cid title: ReminderUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent RemoveUserGroupMembersRequest: description: Request body for removing members from a user group nullable: true properties: member_ids: description: List of user IDs to remove items: type: string maxItems: 100 minItems: 1 title: Member IDs type: array x-stream-index: "002" team_id: maxLength: 255 type: string x-stream-index: "003" required: - member_ids title: RemoveUserGroupMembersRequest type: object RemoveUserGroupMembersResponse: description: Response for removing members from a user group nullable: true properties: duration: type: string x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: "001" required: - duration title: RemoveUserGroupMembersResponse type: object Response: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001" required: - duration title: Response type: object RestoreUsersRequest: nullable: true properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: "001" required: - user_ids type: object RetentionPolicy: properties: app_pk: format: int64 type: integer x-stream-index: "002" config: $ref: '#/components/schemas/PolicyConfig' x-stream-index: "004" enabled_at: format: date-time type: string x-stream-index: "005" policy: type: string x-stream-index: "003" required: - app_pk - policy - config - enabled_at type: object RetentionRunResponse: properties: app_pk: format: int64 type: integer x-stream-index: "001" date: type: string x-stream-index: "003" policy: type: string x-stream-index: "002" stats: $ref: '#/components/schemas/RunStats' x-stream-index: "004" required: - app_pk - policy - date - stats type: object RingSettings: properties: auto_cancel_timeout_ms: format: int32 type: integer x-stream-index: "002" incoming_call_timeout_ms: format: int32 type: integer x-stream-index: "001" missed_call_timeout_ms: format: int32 type: integer x-stream-index: "003" required: - incoming_call_timeout_ms - auto_cancel_timeout_ms - missed_call_timeout_ms type: object 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 RunStats: properties: channels_deleted: format: int64 type: integer x-stream-index: "001" messages_deleted: format: int64 type: integer x-stream-index: "002" type: object S3Request: description: Config for creating Amazon S3 storage. properties: s3_api_key: description: 'The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application.' title: S3ApiKey type: string x-stream-index: "002" s3_custom_endpoint_url: description: The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters. title: S3CustomEndpointURL type: string x-stream-index: "004" s3_region: description: The AWS region where the bucket is hosted title: S3Region type: string x-stream-index: "001" s3_secret: description: The AWS API Secret title: S3Secret type: string x-stream-index: "003" required: - s3_region title: S3Request type: object 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 SearchPayload: properties: filter_conditions: additionalProperties: {} description: Channel filter conditions maximum: 100 minimum: 1 title: Channel filter type: object x-stream-docs-page-id: query_channels x-stream-filter-fields: app_banned: operators: - $eq type: string archived: operators: - $eq type: boolean blocked: operators: - $eq type: boolean channel_role: operators: - $eq - $in type: string cid: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date created_by_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string disabled: operators: - $eq type: boolean distinct: operators: - $eq type: boolean filter_tags: operators: - $eq - $in type: string frozen: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: boolean has_unread: operators: - $eq type: boolean hidden: operators: - $eq type: boolean id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string invite: operators: - $eq type: string joined: operators: - $eq type: boolean last_message_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date last_updated: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date member.user.name: operators: - $autocomplete - $eq - $ne type: string member_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number members: operators: - $eq - $in - $nin type: string message_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number muted: operators: - $eq type: boolean name: operators: - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string pinned: operators: - $eq type: boolean team: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date x-stream-index: "002" force_default_search: type: boolean x-stream-index: "010" force_sql_v2_backend: type: boolean x-stream-index: "011" limit: description: Number of messages to return format: int32 title: Limit type: integer x-stream-index: "005" message_filter_conditions: additionalProperties: {} description: Message filter conditions title: Message filter type: object x-stream-filter-fields: _channel_filters: operators: - $eq type: object attachments: operators: - $exists type: boolean attachments.type: operators: - $eq - $in type: string created_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date custom: operators: - $_custom - $eq - $gt - $gte - $lt - $lte type: object id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string mentioned_users.id: operators: - $contains type: string parent_id: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string pinned: operators: - $eq type: boolean relevance: operators: [] type: number reply_count: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: number text: operators: - $any - $autocomplete - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin - $q type: string type: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: string updated_at: operators: - $eq - $exists - $gt - $gte - $in - $lt - $lte - $ne - $nin type: date user.id: operators: - $eq - $in - $ne - $nin type: string user_id: operators: - $eq - $in - $ne - $nin type: string x-stream-index: "003" message_options: $ref: '#/components/schemas/MessageOptions' x-stream-index: "004" next: description: Pagination parameter. Cannot be used with non-zero offset. title: Next type: string x-stream-index: "008" offset: description: Pagination offset. Cannot be used with sort or next. format: int32 title: Offset type: integer x-stream-index: "006" query: description: Search phrase title: Query type: string x-stream-index: "001" sort: description: Sort parameters. Cannot be used with non-zero offset items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: "007" x-stream-sort-fields: - created_at - id - updated_at required: - filter_conditions type: object SearchResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "005.001" next: description: Value to pass to the next search query in order to paginate title: Next type: string x-stream-index: "003" previous: description: Value that points to the previous page. Pass as the next value in a search query to paginate backwards title: Previous type: string x-stream-index: "004" results: description: Search results items: $ref: '#/components/schemas/SearchResult' title: Results type: array x-stream-index: "001" results_warning: $ref: '#/components/schemas/SearchWarning' description: Warning about the search results title: Results Warning x-stream-index: "002" required: - results - duration type: object 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.009" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel object title: Channel x-stream-index: "002" cid: type: string x-stream-index: "001.024" command: type: string x-stream-index: "001.004" created_at: format: date-time type: string x-stream-index: "001.025" custom: additionalProperties: {} type: object x-stream-index: "001.028" deleted_at: format: date-time type: string x-stream-index: "001.027" deleted_for_me: type: boolean x-stream-index: "001.050" deleted_reply_count: format: int32 type: integer x-stream-index: "001.020" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "001.047" html: type: string x-stream-index: "001.005" i18n: additionalProperties: type: string type: object x-stream-index: "001.036" id: type: string x-stream-index: "001.001" image_labels: additionalProperties: items: type: string type: array type: object x-stream-index: "001.030" latest_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001.010" member: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: "001.008" mentioned_channel: type: boolean x-stream-index: "001.034" mentioned_group_ids: items: type: string type: array x-stream-index: "001.033" mentioned_here: type: boolean x-stream-index: "001.035" mentioned_roles: items: type: string type: array x-stream-index: "001.032" mentioned_users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.031" message_text_updated_at: format: date-time type: string x-stream-index: "001.042" mml: type: string x-stream-index: "001.003" moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: "001.045" own_reactions: items: $ref: '#/components/schemas/ReactionResponse' type: array x-stream-index: "001.011" parent_id: type: string x-stream-index: "001.017" pin_expires: format: date-time type: string x-stream-index: "001.041" pinned: type: boolean x-stream-index: "001.038" pinned_at: format: date-time type: string x-stream-index: "001.039" pinned_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "001.040" poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: "001.044" poll_id: type: string x-stream-index: "001.043" quoted_message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001.022" quoted_message_id: type: string x-stream-index: "001.021" reaction_counts: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.012" reaction_groups: additionalProperties: $ref: '#/components/schemas/ReactionGroupResponse' type: object x-stream-index: "001.016" reaction_scores: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.013" reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: "001.048" reply_count: format: int32 type: integer x-stream-index: "001.019" restricted_visibility: items: type: string type: array x-stream-index: "001.046" shadowed: type: boolean x-stream-index: "001.029" shared_location: $ref: '#/components/schemas/SharedLocationResponseData' x-stream-index: "001.049" show_in_channel: type: boolean x-stream-index: "001.018" silent: type: boolean x-stream-index: "001.037" text: type: string x-stream-index: "001.002" thread_participants: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: "001.023" type: type: string x-stream-index: "001.006" updated_at: format: date-time type: string x-stream-index: "001.026" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001.007" required: - id - text - html - type - user - attachments - latest_reactions - own_reactions - reaction_counts - reaction_scores - reply_count - deleted_reply_count - cid - created_at - updated_at - custom - shadowed - mentioned_users - mentioned_channel - mentioned_here - silent - pinned - restricted_visibility type: object SearchUserGroupsResponse: description: Response for searching user groups nullable: true properties: duration: type: string x-stream-index: "002.001" user_groups: description: List of matching user groups items: $ref: '#/components/schemas/UserGroupResponse' title: UserGroups type: array x-stream-index: "001" required: - user_groups - duration title: SearchUserGroupsResponse type: object 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 Segment: nullable: true properties: all_sender_channels: type: boolean x-stream-index: "007" all_users: type: boolean x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "010" deleted_at: format: date-time type: string x-stream-index: "012" description: type: string x-stream-index: "004" filter: additionalProperties: {} type: object x-stream-index: "005" id: type: string x-stream-index: "001" name: type: string x-stream-index: "003" size: format: int32 type: integer x-stream-index: "009" task_id: type: string x-stream-index: "008" type: type: string x-stream-index: "002" updated_at: format: date-time type: string x-stream-index: "011" required: - id - type - name - all_users - all_sender_channels - size - created_at - updated_at type: object SegmentResponse: properties: all_sender_channels: type: boolean x-stream-index: "007" all_users: type: boolean x-stream-index: "006" created_at: format: date-time type: string x-stream-index: "009" deleted_at: format: date-time type: string x-stream-index: "011" description: type: string x-stream-index: "004" filter: additionalProperties: {} type: object x-stream-index: "005" id: type: string x-stream-index: "001" name: type: string x-stream-index: "003" size: format: int32 type: integer x-stream-index: "008" type: type: string x-stream-index: "002" updated_at: format: date-time type: string x-stream-index: "010" required: - id - type - name - description - filter - all_users - all_sender_channels - size - created_at - updated_at - deleted_at type: object SegmentTargetResponse: nullable: true properties: app_pk: format: int32 type: integer x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "004" segment_id: type: string x-stream-index: "002" target_id: type: string x-stream-index: "003" required: - app_pk - segment_id - target_id - created_at type: object 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 milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageResponse' description: Message response title: Message x-stream-index: "001" pending_message_metadata: additionalProperties: type: string description: Pending message metadata title: Pending message metadata type: object x-stream-index: "002" required: - message - duration type: object 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: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: "002" required: - message - reaction - duration title: Response type: object SendUserCustomEventRequest: nullable: true properties: event: $ref: '#/components/schemas/UserCustomEventRequest' x-stream-index: "001" required: - event type: object SessionSettings: properties: inactivity_timeout_seconds: format: int32 maximum: 900 minimum: 5 type: integer x-stream-index: "001" required: - inactivity_timeout_seconds type: object SetRetentionPolicyRequest: nullable: true properties: max_age_hours: format: int32 maximum: 43800 minimum: 24 type: integer x-stream-index: "002" policy: enum: - old-messages - inactive-channels type: string x-stream-index: "001" required: - policy - max_age_hours type: object SetRetentionPolicyResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" policy: $ref: '#/components/schemas/RetentionPolicy' x-stream-index: "001" required: - policy - duration title: Response type: object SharedLocation: properties: created_by_device_id: type: string x-stream-index: "003" end_at: format: date-time type: string x-stream-index: "004" latitude: format: float maximum: 90 minimum: 1.8446744073709552e+19 type: number x-stream-index: "001" longitude: format: float maximum: 180 minimum: 1.8446744073709552e+19 type: number x-stream-index: "002" required: - latitude - longitude type: object SharedLocationResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "001.011" channel_cid: description: Channel CID title: string type: string x-stream-index: "001.001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.008" created_by_device_id: description: Device ID that created the live location title: string type: string x-stream-index: "001.006" duration: type: string x-stream-index: "002.001" end_at: description: Time when the live location expires format: date-time title: string type: string x-stream-index: "001.007" latitude: description: Latitude coordinate format: float title: number type: number x-stream-index: "001.004" longitude: description: Longitude coordinate format: float title: number type: number x-stream-index: "001.005" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001.010" message_id: description: Message ID title: string type: string x-stream-index: "001.002" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.009" user_id: description: User ID title: string type: string x-stream-index: "001.003" required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at - duration type: object SharedLocationResponseData: properties: channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "011" channel_cid: type: string x-stream-index: "001" created_at: format: date-time type: string x-stream-index: "008" created_by_device_id: type: string x-stream-index: "006" end_at: format: date-time type: string x-stream-index: "007" latitude: format: float type: number x-stream-index: "004" longitude: format: float type: number x-stream-index: "005" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "010" message_id: type: string x-stream-index: "002" updated_at: format: date-time type: string x-stream-index: "009" user_id: type: string x-stream-index: "003" required: - channel_cid - message_id - user_id - latitude - longitude - created_by_device_id - created_at - updated_at type: object SharedLocationsResponse: nullable: true properties: active_live_locations: items: $ref: '#/components/schemas/SharedLocationResponseData' type: array x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - active_live_locations - duration type: object 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: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object SortParamRequest: nullable: true properties: direction: description: 'Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1' format: int32 title: Direction type: integer x-stream-index: "003" field: description: Name of field to sort by title: Field type: string x-stream-index: "001" type: description: 'Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean' title: Type type: string x-stream-index: "002" type: object SpeechSegmentConfig: properties: max_speech_caption_ms: format: int32 type: integer x-stream-index: "001" silence_duration_ms: format: int32 type: integer x-stream-index: "002" type: object StartCampaignRequest: nullable: true properties: scheduled_for: format: date-time type: string x-stream-index: "002" stop_at: format: date-time type: string x-stream-index: "003" type: object StartCampaignResponse: description: Basic response information nullable: true properties: campaign: $ref: '#/components/schemas/CampaignResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" users: $ref: '#/components/schemas/PagerResponse' x-stream-index: "002" required: - duration title: Response type: object StopCampaignRequest: nullable: true type: object TargetResolution: properties: bitrate: format: int32 maximum: 6000000 type: integer x-stream-index: "003" height: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: "002" width: format: int32 maximum: 3840 minimum: 240 type: integer x-stream-index: "001" required: - width - height - bitrate type: object TeamUsageStats: description: Usage statistics for a single team containing all 16 metrics properties: concurrent_connections: $ref: '#/components/schemas/MetricStats' description: Peak concurrent connections (total = MAX) title: MetricStats x-stream-index: "007" concurrent_users: $ref: '#/components/schemas/MetricStats' description: Peak concurrent users (total = MAX) title: MetricStats x-stream-index: "006" image_moderations_daily: $ref: '#/components/schemas/MetricStats' description: Daily image moderations (total = SUM) title: MetricStats x-stream-index: "005" messages_daily: $ref: '#/components/schemas/MetricStats' description: Daily messages sent (total = SUM) title: MetricStats x-stream-index: "003" messages_last_24_hours: $ref: '#/components/schemas/MetricStats' description: Messages in last 24 hours (total = LATEST) title: MetricStats x-stream-index: "015" messages_last_30_days: $ref: '#/components/schemas/MetricStats' description: Messages in last 30 days (total = LATEST) title: MetricStats x-stream-index: "016" messages_month_to_date: $ref: '#/components/schemas/MetricStats' description: Messages this month (total = LATEST) title: MetricStats x-stream-index: "017" messages_total: $ref: '#/components/schemas/MetricStats' description: Total messages (total = LATEST) title: MetricStats x-stream-index: "014" team: description: Team identifier (empty string for users not assigned to any team) title: string type: string x-stream-index: "001" translations_daily: $ref: '#/components/schemas/MetricStats' description: Daily translations (total = SUM) title: MetricStats x-stream-index: "004" users_daily: $ref: '#/components/schemas/MetricStats' description: Daily active users (total = SUM) title: MetricStats x-stream-index: "002" users_engaged_last_30_days: $ref: '#/components/schemas/MetricStats' description: Engaged MAU (total = LATEST) title: MetricStats x-stream-index: "012" users_engaged_month_to_date: $ref: '#/components/schemas/MetricStats' description: Engaged users this month (total = LATEST) title: MetricStats x-stream-index: "013" users_last_24_hours: $ref: '#/components/schemas/MetricStats' description: Users active in last 24 hours (total = LATEST) title: MetricStats x-stream-index: "009" users_last_30_days: $ref: '#/components/schemas/MetricStats' description: MAU - users active in last 30 days (total = LATEST) title: MetricStats x-stream-index: "010" users_month_to_date: $ref: '#/components/schemas/MetricStats' description: Users active this month (total = LATEST) title: MetricStats x-stream-index: "011" users_total: $ref: '#/components/schemas/MetricStats' description: Total users (total = LATEST) title: MetricStats x-stream-index: "008" required: - team - users_daily - messages_daily - translations_daily - image_moderations_daily - concurrent_users - concurrent_connections - users_total - users_last_24_hours - users_last_30_days - users_month_to_date - users_engaged_last_30_days - users_engaged_month_to_date - messages_total - messages_last_24_hours - messages_last_30_days - messages_month_to_date title: Team Usage Stats type: object ThreadParticipant: description: Represents a user that is participating in a thread. nullable: true properties: app_pk: format: int32 readOnly: true type: integer x-stream-index: "001" channel_cid: type: string x-stream-index: "002" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "007" custom: additionalProperties: {} type: object x-stream-index: "010" last_read_at: format: date-time type: string x-stream-index: "009" last_thread_message_at: format: date-time type: string x-stream-index: "003" left_thread_at: description: Left Thread At is the time when the user left the thread format: date-time title: Left Thread At type: string x-stream-index: "008" thread_id: description: Thead ID is unique string identifier of the thread title: ID type: string x-stream-index: "004" user: $ref: '#/components/schemas/UserResponse' description: User is the user object title: User x-stream-index: "006" user_id: description: User ID is unique string identifier of the user title: User ID type: string x-stream-index: "005" required: - app_pk - channel_cid - created_at - last_read_at - custom title: ThreadParticipant type: object ThreadResponse: properties: active_participant_count: description: Active Participant Count format: int32 title: Active Participant Count type: integer x-stream-index: "009" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel title: ChannelResponse x-stream-index: "002" channel_cid: description: Channel CID title: Channel CID type: string x-stream-index: "001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "012" created_by: $ref: '#/components/schemas/UserResponse' description: Created By User title: User x-stream-index: "006" created_by_user_id: description: Created By User ID title: Created By User ID type: string x-stream-index: "005" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "016" deleted_at: description: Deleted At format: date-time title: Deleted At type: string x-stream-index: "014" last_message_at: description: Last Message At format: date-time title: Last Message At type: string x-stream-index: "011" parent_message: $ref: '#/components/schemas/MessageResponse' description: Parent Message title: Message x-stream-index: "004" parent_message_id: description: Parent Message ID title: Parent Message ID type: string x-stream-index: "003" participant_count: description: Participant Count format: int32 title: Participant Count type: integer x-stream-index: "008" reply_count: description: Reply Count format: int32 title: Reply Count type: integer x-stream-index: "007" thread_participants: description: Thread Participants items: $ref: '#/components/schemas/ThreadParticipant' title: ThreadParticipants type: array x-stream-index: "010" title: description: Title title: Title type: string x-stream-index: "015" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "013" required: - channel_cid - parent_message_id - created_by_user_id - participant_count - active_participant_count - created_at - updated_at - title - custom type: object ThreadStateResponse: nullable: true properties: active_participant_count: description: Active Participant Count format: int32 title: Active Participant Count type: integer x-stream-index: "001.009" channel: $ref: '#/components/schemas/ChannelResponse' description: Channel title: ChannelResponse x-stream-index: "001.002" channel_cid: description: Channel CID title: Channel CID type: string x-stream-index: "001.001" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.012" created_by: $ref: '#/components/schemas/UserResponse' description: Created By User title: User x-stream-index: "001.006" created_by_user_id: description: Created By User ID title: Created By User ID type: string x-stream-index: "001.005" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "001.016" deleted_at: description: Deleted At format: date-time title: Deleted At type: string x-stream-index: "001.014" draft: $ref: '#/components/schemas/DraftResponse' x-stream-index: "004" last_message_at: description: Last Message At format: date-time title: Last Message At type: string x-stream-index: "001.011" latest_replies: items: $ref: '#/components/schemas/MessageResponse' type: array x-stream-index: "002" parent_message: $ref: '#/components/schemas/MessageResponse' description: Parent Message title: Message x-stream-index: "001.004" parent_message_id: description: Parent Message ID title: Parent Message ID type: string x-stream-index: "001.003" participant_count: description: Participant Count format: int32 title: Participant Count type: integer x-stream-index: "001.008" read: items: $ref: '#/components/schemas/ReadStateResponse' type: array x-stream-index: "003" reply_count: description: Reply Count format: int32 title: Reply Count type: integer x-stream-index: "001.007" thread_participants: description: Thread Participants items: $ref: '#/components/schemas/ThreadParticipant' title: ThreadParticipants type: array x-stream-index: "001.010" title: description: Title title: Title type: string x-stream-index: "001.015" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.013" required: - channel_cid - parent_message_id - created_by_user_id - participant_count - active_participant_count - created_at - updated_at - title - custom - latest_replies type: object ThreadUpdatedEvent: nullable: true properties: channel_id: type: string x-stream-index: 001.001.002.002 channel_type: type: string x-stream-index: 001.001.002.001 cid: type: string x-stream-index: 001.001.001.002 created_at: format: date-time type: string x-stream-index: 001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 thread: $ref: '#/components/schemas/ThreadResponse' x-stream-index: "001.002" type: default: thread.updated type: string x-stream-index: 001.001.001.001.002 required: - type - created_at - custom title: ThreadUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent Thresholds: description: Sets thresholds for AI moderation properties: explicit: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for explicit messages title: LabelThresholds x-stream-index: "001" spam: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for spam title: LabelThresholds x-stream-index: "002" toxic: $ref: '#/components/schemas/LabelThresholds' description: Thresholds for toxic messages title: LabelThresholds x-stream-index: "003" title: Auto moderation thresholds type: object ThumbnailsSettings: properties: enabled: type: boolean x-stream-index: "001" required: - enabled type: object TranscriptionSettings: properties: closed_caption_mode: description: 'One of: available, disabled, auto-on' enum: - available - disabled - auto-on title: Mode type: string x-stream-index: "002" language: description: The language used in this call as a two letter code enum: - auto - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - "no" - uk - bg - et - sl - sk title: Language type: string x-stream-index: "004" mode: enum: - available - disabled - auto-on title: Mode type: string x-stream-index: "001" speech_segment_config: $ref: '#/components/schemas/SpeechSegmentConfig' x-stream-index: "006" translation: $ref: '#/components/schemas/TranslationSettings' x-stream-index: "005" required: - mode - closed_caption_mode - languages - language type: object TranslateMessageRequest: nullable: true properties: language: description: Language to translate message to enum: - af - sq - am - ar - az - bn - bs - bg - zh - zh-TW - hr - cs - da - fa-AF - nl - en - et - fi - fr - fr-CA - ka - de - el - ha - he - hi - hu - id - it - ja - ko - lv - ms - "no" - fa - ps - pl - pt - ro - ru - sr - sk - sl - so - es - es-MX - sw - sv - tl - ta - th - tr - uk - ur - vi - lt - ht title: Language type: string x-stream-index: "001" required: - language type: object TranslationSettings: properties: enabled: type: boolean x-stream-index: "001" languages: items: enum: - en - fr - es - de - it - nl - pt - pl - ca - cs - da - el - fi - id - ja - ru - sv - ta - th - tr - hu - ro - zh - ar - tl - he - hi - hr - ko - ms - "no" - uk type: string type: array x-stream-index: "002" required: - enabled - languages type: object TruncateChannelRequest: nullable: true properties: hard_delete: description: Permanently delete channel data (messages, reactions, etc.) title: Hard delete type: boolean x-stream-index: "002" member_ids: description: List of member IDs to hide message history for. If empty, truncates the channel for all members items: type: string maxItems: 100 title: Member IDs type: array x-stream-index: "007" message: $ref: '#/components/schemas/MessageRequest' x-stream-index: "004" skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: "005" truncated_at: description: Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at` format: date-time title: Truncated at type: string x-stream-index: "006" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "008.002" user_id: type: string x-stream-index: "008.001" type: object TruncateChannelResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Truncated channel object title: Channel x-stream-index: "002" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" message: $ref: '#/components/schemas/MessageResponse' description: Truncated message object title: Message x-stream-index: "003" required: - duration type: object TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: "001" required: - enabled type: object UnblockUsersRequest: nullable: true properties: blocked_user_id: type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" required: - blocked_user_id type: object UnblockUsersResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration type: object UndeleteMessageRequest: nullable: true properties: undeleted_by: description: ID of the user who is undeleting the message title: User ID type: string x-stream-index: "003" required: - undeleted_by type: object UndeleteMessageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" required: - message - duration title: Response type: object UnmuteChannelRequest: nullable: true properties: channel_cids: description: Channel CIDs to mute (if multiple channels) items: type: string maxItems: 25 title: Channel CIDs type: array x-stream-index: "001.002" expiration: description: Duration of mute in milliseconds title: Expiration type: integer x-stream-index: "001.003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "002.002" user_id: type: string x-stream-index: "002.001" type: object UnmuteResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" non_existing_users: description: A list of users that can't be found. Common cause for this is deleted users items: type: string title: Non Existing Users type: array x-stream-index: "001" required: - duration title: UnmuteResponse type: object UnmuteUserRequest: nullable: true properties: target_ids: description: User IDs to unmute (if multiple users) items: type: string maxItems: 1000 title: Target IDs type: array x-stream-index: "002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object UnmuteUserResponse: nullable: true properties: duration: type: string x-stream-index: "002.001" non_existing_users: description: List of user IDs that don't exist items: type: string title: Non-existing users type: array x-stream-index: "001" required: - duration type: object UnreadCountsBatchRequest: nullable: true properties: user_ids: items: type: string maxItems: 100 minItems: 1 type: array x-stream-index: "001" required: - user_ids type: object UnreadCountsBatchResponse: description: Basic response information nullable: true properties: counts_by_user: additionalProperties: $ref: '#/components/schemas/UnreadCountsResponse' type: object x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - counts_by_user - duration title: Response type: object 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: "005" channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: "004" threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: "006" total_unread_count: format: int32 type: integer x-stream-index: "001" total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: "003" total_unread_threads_count: format: int32 type: integer x-stream-index: "002" required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads type: object 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: activity_metrics_config: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.053" allowed_flag_reasons: items: type: string type: array x-stream-index: "001.018" apn_config: $ref: '#/components/schemas/APNConfig' x-stream-index: "001.003" async_moderation_config: $ref: '#/components/schemas/AsyncModerationConfiguration' x-stream-index: "001.040" async_url_enrich_enabled: type: boolean x-stream-index: "001.020" auto_translation_enabled: type: boolean x-stream-index: "001.019" before_message_send_hook_url: type: string x-stream-index: "001.021" cdn_expiration_seconds: format: int32 maximum: 1209600 minimum: 14400 type: integer x-stream-index: "001.039" channel_hide_members_only: type: boolean x-stream-index: "001.034" custom_action_handler_url: type: string x-stream-index: "001.022" datadog_info: $ref: '#/components/schemas/DataDogInfo' x-stream-index: "001.041" disable_auth_checks: type: boolean x-stream-index: "001.001" disable_permissions_checks: type: boolean x-stream-index: "001.002" enable_hook_payload_compression: type: boolean x-stream-index: "001.049" enforce_unique_usernames: enum: - "no" - app - team type: string x-stream-index: "001.023" event_hooks: items: $ref: '#/components/schemas/EventHook' type: array x-stream-index: "001.047" feeds_moderation_enabled: type: boolean x-stream-index: "001.043" feeds_v2_region: type: string x-stream-index: "001.042" file_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.031" firebase_config: $ref: '#/components/schemas/FirebaseConfig' x-stream-index: "001.004" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "001.035" guest_user_creation_disabled: type: boolean x-stream-index: "001.044" huawei_config: $ref: '#/components/schemas/HuaweiConfig' x-stream-index: "001.005" image_moderation_block_labels: items: type: string type: array x-stream-index: "001.016" image_moderation_enabled: type: boolean x-stream-index: "001.017" image_moderation_labels: items: type: string type: array x-stream-index: "001.015" image_upload_config: $ref: '#/components/schemas/FileUploadConfig' x-stream-index: "001.030" max_aggregated_activities_length: format: int32 type: integer x-stream-index: "001.051" migrate_permissions_to_v2: type: boolean x-stream-index: "001.036" moderation_analytics_enabled: type: boolean x-stream-index: "001.010" moderation_dashboard_preferences: $ref: '#/components/schemas/ModerationDashboardPreferences' x-stream-index: "001.045" moderation_enabled: type: boolean x-stream-index: "001.009" moderation_s3_image_access_role_arn: type: string x-stream-index: "001.052" moderation_webhook_url: type: string x-stream-index: "001.011" multi_tenant_enabled: type: boolean x-stream-index: "001.014" permission_version: enum: - v1 - v2 type: string x-stream-index: "001.012" push_config: $ref: '#/components/schemas/PushConfig' x-stream-index: "001.007" reminders_interval: format: int32 maximum: 86400 minimum: 60 type: integer x-stream-index: "001.037" reminders_max_members: format: int32 minimum: 2 type: integer x-stream-index: "001.038" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.032" sns_key: type: string x-stream-index: "001.028" sns_secret: type: string x-stream-index: "001.029" sns_topic_arn: type: string x-stream-index: "001.027" sqs_key: type: string x-stream-index: "001.025" sqs_secret: type: string x-stream-index: "001.026" sqs_url: type: string x-stream-index: "001.024" user_response_time_enabled: type: boolean x-stream-index: "001.050" user_search_disallowed_roles: items: type: string maxItems: 10 type: array x-stream-index: "001.013" webhook_events: items: type: string type: array x-stream-index: "001.033" webhook_url: type: string x-stream-index: "001.008" xiaomi_config: $ref: '#/components/schemas/XiaomiConfig' x-stream-index: "001.006" type: object UpdateBlockListRequest: nullable: true properties: is_leet_check_enabled: type: boolean x-stream-index: "005" is_plural_check_enabled: type: boolean x-stream-index: "006" team: type: string x-stream-index: "002" words: description: List of words to block items: type: string title: Words type: array x-stream-index: "003" title: Update block list type: object x-stream-docs-page-id: update_block_list UpdateBlockListResponse: description: Basic response information nullable: true properties: blocklist: $ref: '#/components/schemas/BlockListResponse' x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - duration title: Response type: object UpdateCampaignRequest: nullable: true properties: channel_template: $ref: '#/components/schemas/CampaignChannelTemplate' x-stream-index: "001.013" create_channels: type: boolean x-stream-index: "001.008" description: type: string x-stream-index: "001.007" id: maxLength: 255 type: string x-stream-index: "001.001" message_template: $ref: '#/components/schemas/CampaignMessageTemplate' x-stream-index: "001.012" name: type: string x-stream-index: "001.006" segment_ids: items: type: string maxItems: 25 type: array x-stream-index: "001.002" sender_id: type: string x-stream-index: "001.004" sender_mode: enum: - exclude - include type: string x-stream-index: "001.005" sender_visibility: enum: - hidden - archived type: string x-stream-index: "001.014" show_channels: type: boolean x-stream-index: "001.009" skip_push: type: boolean x-stream-index: "001.010" skip_webhook: type: boolean x-stream-index: "001.011" user_ids: items: type: string maxItems: 10000 type: array x-stream-index: "001.003" required: - sender_id - message_template type: object UpdateChannelPartialRequest: nullable: true properties: set: additionalProperties: {} type: object x-stream-index: "002.001" unset: items: type: string type: array x-stream-index: "002.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" title: UpdateChannelPartialRequest type: object UpdateChannelPartialResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Updated channel object title: Channel x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" members: description: List of updated members items: $ref: '#/components/schemas/ChannelMemberResponse' title: ChannelMemberResponse type: array x-stream-index: "002" required: - members - duration type: object UpdateChannelRequest: nullable: true properties: accept_invite: description: Set to `true` to accept the invite title: Accept invite type: boolean x-stream-index: "008" add_filter_tags: description: List of filter tags to add to the channel items: type: string maxItems: 10 title: Add filter tags type: array x-stream-index: "014" add_members: description: List of user IDs to add to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Add members type: array x-stream-index: "001" add_moderators: description: List of user IDs to make channel moderators items: type: string maxItems: 100 title: Add moderators type: array x-stream-index: "003" assign_roles: description: List of channel member role assignments. If any specified user is not part of the channel, the request will fail items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Assign roles type: array x-stream-index: "006" cooldown: description: Sets cool down period for the channel in seconds format: int32 maximum: 120 minimum: 0 title: Cool down type: integer x-stream-index: "007" data: $ref: '#/components/schemas/ChannelInputRequest' x-stream-index: "016.001" demote_moderators: description: List of user IDs to take away moderators status from items: type: string maxItems: 100 title: Demote moderators type: array x-stream-index: "004" hide_history: description: Set to `true` to hide channel's history when adding new members title: Hide history type: boolean x-stream-index: "012" hide_history_before: description: If set, hides channel's history before this time when adding new members. Takes precedence over `hide_history` when both are provided. Must be in RFC3339 format (e.g., "2024-01-01T10:00:00Z") and in the past. format: date-time title: Hide history before type: string x-stream-index: "013" invites: description: List of user IDs to invite to the channel items: $ref: '#/components/schemas/ChannelMemberRequest' maxItems: 100 title: Invites type: array x-stream-index: "005" message: $ref: '#/components/schemas/MessageRequest' description: Message to send to the chat when channel is successfully updated title: Message x-stream-index: "010" reject_invite: description: Set to `true` to reject the invite title: Reject invite type: boolean x-stream-index: "009" remove_filter_tags: description: List of filter tags to remove from the channel items: type: string title: Remove filter tags type: array x-stream-index: "015" remove_members: description: List of user IDs to remove from the channel items: type: string maxItems: 100 title: Remove members type: array x-stream-index: "002" skip_push: description: When `message` is set disables all push notifications for it title: Skip push type: boolean x-stream-index: "011" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "017.002" user_id: type: string x-stream-index: "017.001" title: Channel update request type: object x-stream-docs-page-id: channel_update UpdateChannelResponse: nullable: true properties: channel: $ref: '#/components/schemas/ChannelResponse' description: Updated channel title: Channel x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "004.001" members: description: List of channel members items: $ref: '#/components/schemas/ChannelMemberResponse' title: Members type: array x-stream-index: "003" message: $ref: '#/components/schemas/MessageResponse' description: Message sent to the chat title: Message x-stream-index: "002" required: - members - duration type: object UpdateChannelTypeRequest: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 009.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 009.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 009.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 009.001.029 blocklist: type: string x-stream-index: 009.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 009.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 009.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 009.001.034 commands: description: List of commands that channel supports items: type: string title: Commands type: array x-stream-index: "009.003" connect_events: type: boolean x-stream-index: 009.001.004 count_messages: type: boolean x-stream-index: 009.001.020 custom_events: type: boolean x-stream-index: 009.001.013 delivery_events: type: boolean x-stream-index: 009.001.005 grants: additionalProperties: items: type: string type: array type: object x-stream-index: "004" mark_messages_pending: type: boolean x-stream-index: 009.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 009.001.022 mutes: type: boolean x-stream-index: 009.001.010 partition_size: format: int32 minimum: 0 type: integer x-stream-index: "007" partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: "008" permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "003" polls: type: boolean x-stream-index: 009.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 009.001.033 push_notifications: type: boolean x-stream-index: 009.001.014 quotes: type: boolean x-stream-index: 009.001.009 reactions: type: boolean x-stream-index: 009.001.007 read_events: type: boolean x-stream-index: 009.001.003 reminders: type: boolean x-stream-index: 009.001.015 replies: type: boolean x-stream-index: 009.001.008 search: type: boolean x-stream-index: 009.001.006 shared_locations: type: boolean x-stream-index: 009.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 009.001.032 typing_events: type: boolean x-stream-index: 009.001.002 uploads: type: boolean x-stream-index: 009.001.011 url_enrichment: type: boolean x-stream-index: 009.001.012 user_message_reminders: type: boolean x-stream-index: 009.001.018 required: - max_message_length - automod - automod_behavior type: object UpdateChannelTypeResponse: nullable: true properties: allowed_flag_reasons: items: type: string type: array x-stream-index: 003.001.028 automod: enum: - disabled - simple - AI type: string x-stream-index: 003.001.023 automod_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.024 automod_thresholds: $ref: '#/components/schemas/Thresholds' x-stream-index: 003.001.029 blocklist: type: string x-stream-index: 003.001.025 blocklist_behavior: enum: - flag - block - shadow_block type: string x-stream-index: 003.001.026 blocklists: items: $ref: '#/components/schemas/BlockListOptions' type: array x-stream-index: 003.001.027 chat_preferences: $ref: '#/components/schemas/ChatPreferences' x-stream-index: 003.001.034 commands: items: type: string type: array x-stream-index: "003.003" connect_events: type: boolean x-stream-index: 003.001.004 count_messages: type: boolean x-stream-index: 003.001.020 created_at: format: date-time type: string x-stream-index: 003.002.003 custom_events: type: boolean x-stream-index: 003.001.013 delivery_events: type: boolean x-stream-index: 003.001.005 duration: type: string x-stream-index: "004.001" grants: additionalProperties: items: type: string type: array type: object x-stream-index: "002" mark_messages_pending: type: boolean x-stream-index: 003.001.016 max_message_length: format: int32 maximum: 20000 type: integer x-stream-index: 003.001.022 mutes: type: boolean x-stream-index: 003.001.010 name: type: string x-stream-index: 003.001.001 partition_size: format: int32 type: integer x-stream-index: 003.001.030 partition_ttl: example: 24h format: duration nullable: true type: string x-stream-index: 003.001.031 permissions: items: $ref: '#/components/schemas/PolicyRequest' type: array x-stream-index: "001" polls: type: boolean x-stream-index: 003.001.017 push_level: enum: - all - all_mentions - mentions - direct_mentions - none type: string x-stream-index: 003.001.033 push_notifications: type: boolean x-stream-index: 003.001.014 quotes: type: boolean x-stream-index: 003.001.009 reactions: type: boolean x-stream-index: 003.001.007 read_events: type: boolean x-stream-index: 003.001.003 reminders: type: boolean x-stream-index: 003.001.015 replies: type: boolean x-stream-index: 003.001.008 search: type: boolean x-stream-index: 003.001.006 shared_locations: type: boolean x-stream-index: 003.001.019 skip_last_msg_update_for_system_msgs: type: boolean x-stream-index: 003.001.032 typing_events: type: boolean x-stream-index: 003.001.002 updated_at: format: date-time type: string x-stream-index: 003.002.004 uploads: type: boolean x-stream-index: 003.001.011 url_enrichment: type: boolean x-stream-index: 003.001.012 user_message_reminders: type: boolean x-stream-index: 003.001.018 required: - permissions - grants - name - typing_events - read_events - connect_events - delivery_events - search - reactions - replies - quotes - mutes - uploads - url_enrichment - custom_events - push_notifications - reminders - mark_messages_pending - polls - user_message_reminders - shared_locations - count_messages - message_retention - max_message_length - automod - automod_behavior - skip_last_msg_update_for_system_msgs - created_at - updated_at - commands - duration type: object UpdateCommandRequest: nullable: true properties: args: description: Arguments help text, shown in commands auto-completion maxLength: 255 title: Arguments type: string x-stream-index: "003" description: description: Description, shown in commands auto-completion maxLength: 255 title: Description type: string x-stream-index: "002" set: description: Set name used for grouping commands maxLength: 255 title: Set type: string x-stream-index: "004" required: - description title: UpdateCommandRequest type: object UpdateCommandResponse: nullable: true properties: command: $ref: '#/components/schemas/Command' description: Command object title: Command x-stream-index: "001" duration: type: string x-stream-index: "002.001" required: - duration title: UpdateCommandResponse type: object UpdateExternalStorageRequest: description: External storage nullable: true properties: aws_s3: $ref: '#/components/schemas/S3Request' description: Only required if you want to create an Amazon S3 storage title: AwsS3 x-stream-index: "003.004" azure_blob: $ref: '#/components/schemas/AzureRequest' description: Only required if you want to create an Azure Blob Storage title: AzureBlob x-stream-index: "003.006" bucket: description: The name of the bucket on the service provider title: Bucket type: string x-stream-index: "003.002" gcs_credentials: type: string x-stream-index: "003.005" path: description: The path prefix to use for storing files title: Path type: string x-stream-index: "003.003" storage_type: description: The type of storage to use enum: - s3 - gcs - abs title: StorageType type: string x-stream-index: "003.001" required: - storage_type - bucket title: ExternalStorageRequest type: object UpdateExternalStorageResponse: description: Basic response information nullable: true properties: bucket: type: string x-stream-index: "001.003" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" name: type: string x-stream-index: "001.001" path: type: string x-stream-index: "001.004" type: enum: - s3 - gcs - abs type: string x-stream-index: "001.002" required: - name - type - bucket - path - duration title: Response type: object UpdateLiveLocationRequest: nullable: true properties: end_at: description: Time when the live location expires format: date-time title: string type: string x-stream-index: "004" latitude: description: Latitude coordinate format: float maximum: 90 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: "002" longitude: description: Longitude coordinate format: float maximum: 180 minimum: 1.8446744073709552e+19 title: number type: number x-stream-index: "003" message_id: description: Live location ID title: string type: string x-stream-index: "001" required: - message_id type: object UpdateMemberPartialRequest: nullable: true properties: set: additionalProperties: {} type: object x-stream-index: "002.001" unset: items: type: string type: array x-stream-index: "002.002" type: object UpdateMemberPartialResponse: nullable: true properties: channel_member: $ref: '#/components/schemas/ChannelMemberResponse' description: Updated channel member title: Channel member x-stream-index: "001" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" required: - duration type: object UpdateMessagePartialRequest: nullable: true properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: "003.001" x-stream-map: description: New value to set key: field title: Value skip_enrich_url: description: Skip enriching the URL in the message title: SkipEnrichURL type: boolean x-stream-index: "001" skip_push: type: boolean x-stream-index: "002" unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: "003.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" type: object UpdateMessagePartialResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageResponse' description: Updated message title: Message x-stream-index: "001" pending_message_metadata: additionalProperties: type: string description: Pending message metadata title: PendingMessageMetadata type: object x-stream-index: "002" required: - duration type: object UpdateMessageRequest: nullable: true properties: message: $ref: '#/components/schemas/MessageRequest' description: Message title: MessageRequest x-stream-index: "001" skip_enrich_url: description: Skip enrich URL title: boolean type: boolean x-stream-index: "003" skip_push: type: boolean x-stream-index: "002" required: - message type: object UpdateMessageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "001" pending_message_metadata: additionalProperties: type: string type: object x-stream-index: "002" required: - message - duration title: Response type: object UpdatePollOptionRequest: nullable: true properties: Custom: additionalProperties: {} type: object writeOnly: true x-stream-index: "004" id: description: Option ID maxLength: 255 title: string type: string x-stream-index: "002" text: description: Option text title: string type: string x-stream-index: "003" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "005.002" user_id: type: string x-stream-index: "005.001" required: - id - text type: object 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: description: Allow answers title: boolean type: boolean x-stream-index: "009" allow_user_suggested_options: description: Allow user suggested options title: boolean type: boolean x-stream-index: "008" description: description: Poll description title: string type: string x-stream-index: "003" enforce_unique_vote: description: Enforce unique vote title: boolean type: boolean x-stream-index: "005" id: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "001" is_closed: description: Is closed title: boolean type: boolean x-stream-index: "010" max_votes_allowed: description: Max votes allowed format: int32 maximum: 10 title: integer type: integer x-stream-index: "007" name: description: Poll name title: string type: string x-stream-index: "002" options: description: Poll options items: $ref: '#/components/schemas/PollOptionRequest' maxItems: 100 title: PollOptions type: array x-stream-index: "004" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "012.002" user_id: type: string x-stream-index: "012.001" voting_visibility: description: Voting visibility enum: - anonymous - public title: string type: string x-stream-index: "006" required: - id - name type: object UpdateReminderRequest: nullable: true properties: remind_at: format: date-time type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object UpdateReminderResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" reminder: $ref: '#/components/schemas/ReminderResponseData' x-stream-index: "001" required: - reminder - duration title: Response type: object UpdateThreadPartialRequest: nullable: true properties: set: additionalProperties: {} description: Sets new field values title: Set type: object x-stream-index: "004.001" x-stream-map: description: New value to set key: field title: Value unset: description: Array of field names to unset items: type: string title: Unset type: array x-stream-index: "004.002" user: $ref: '#/components/schemas/UserRequest' x-stream-index: "003.002" user_id: type: string x-stream-index: "003.001" type: object UpdateThreadPartialResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" thread: $ref: '#/components/schemas/ThreadResponse' description: Updated thread (not enriched) title: Thread x-stream-index: "001" required: - thread - duration type: object UpdateUserGroupRequest: description: Request body for updating a user group nullable: true properties: description: description: The new description for the group maxLength: 1024 title: Description type: string x-stream-index: "003" name: description: The new name of the user group maxLength: 255 minLength: 1 title: Name type: string x-stream-index: "002" team_id: maxLength: 255 type: string x-stream-index: "004" title: UpdateUserGroupRequest type: object UpdateUserGroupResponse: description: Response for updating a user group nullable: true properties: duration: type: string x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroupResponse' description: The updated user group title: UserGroup x-stream-index: "001" required: - duration title: UpdateUserGroupResponse type: object 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' 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: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" membership_deletion_task_id: type: string x-stream-index: "002" users: additionalProperties: $ref: '#/components/schemas/FullUserResponse' description: Object containing users title: Users type: object x-stream-index: "001" x-stream-map: key: user_id required: - users - membership_deletion_task_id - duration type: object UploadChannelFileRequest: nullable: true properties: file: description: file field title: File type: string x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserID' description: user for the request **server side only** title: User x-stream-index: "003" type: object UploadChannelFileResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "004.001" file: description: URL to the uploaded asset. Should be used to put to `asset_url` attachment field title: File type: string x-stream-index: "001" moderation_action: type: string x-stream-index: "003" thumb_url: description: URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field title: Thumbnail URL type: string x-stream-index: "002" required: - duration type: object UploadChannelRequest: nullable: true properties: file: type: string x-stream-index: "001.002" upload_sizes: description: field with JSON-encoded array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: "002" user: $ref: '#/components/schemas/OnlyUserID' x-stream-index: "001.003" type: object UploadChannelResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: 001.004.001 file: type: string x-stream-index: "001.001" moderation_action: type: string x-stream-index: "001.003" thumb_url: type: string x-stream-index: "001.002" upload_sizes: description: Array of image size configurations items: $ref: '#/components/schemas/ImageSize' title: Upload sizes type: array x-stream-index: "002" required: - duration type: object UpsertExternalStorageAWSS3Request: properties: bucket: type: string x-stream-index: "002" path_prefix: type: string x-stream-index: "004" region: type: string x-stream-index: "003" role_arn: type: string x-stream-index: "001" required: - role_arn - bucket - region type: object UpsertExternalStorageRequest: nullable: true properties: aws_s3: $ref: '#/components/schemas/UpsertExternalStorageAWSS3Request' x-stream-index: "002" type: enum: - aws_s3 type: string x-stream-index: "001" required: - type type: object UpsertExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object UpsertPushPreferencesRequest: nullable: true properties: preferences: description: A list of push preferences for channels, calls, or the user. items: $ref: '#/components/schemas/PushPreferenceInput' type: array x-stream-index: "001" required: - preferences type: object UpsertPushPreferencesResponse: nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "003.001" user_channel_preferences: additionalProperties: additionalProperties: $ref: '#/components/schemas/ChannelPushPreferencesResponse' type: object description: The channel specific push notification preferences, only returned for channels you've edited. title: User Channel Notification Preferences type: object x-stream-index: "002" user_preferences: additionalProperties: $ref: '#/components/schemas/PushPreferencesResponse' description: The user preferences, always returned regardless if you edited it title: User Preferences type: object x-stream-index: "001" required: - user_preferences - user_channel_preferences - duration type: object UpsertPushProviderRequest: nullable: true properties: push_provider: $ref: '#/components/schemas/PushProviderRequest' x-stream-index: "001" type: object UpsertPushProviderResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" push_provider: $ref: '#/components/schemas/PushProviderResponse' x-stream-index: "001" required: - push_provider - duration title: Response type: object UpsertPushTemplateRequest: nullable: true properties: enable_push: description: Whether to send push notification for this event title: boolean type: boolean x-stream-index: "002" event_type: description: 'Event type. One of: message.new, message.updated, reaction.new, notification.reminder_due, feeds.activity.added, feeds.comment.added, feeds.activity.reaction.added, feeds.comment.reaction.added, feeds.follow.created, feeds.notification_feed.updated' enum: - message.new - message.updated - reaction.new - notification.reminder_due - feeds.activity.added - feeds.comment.added - feeds.activity.reaction.added - feeds.comment.reaction.added - feeds.follow.created - feeds.notification_feed.updated title: string type: string x-stream-index: "003" push_provider_name: description: Push provider name title: string type: string x-stream-index: "004" push_provider_type: description: 'Push provider type. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string x-stream-index: "005" template: description: Push template title: string type: string x-stream-index: "006" required: - event_type - push_provider_type type: object UpsertPushTemplateResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" template: $ref: '#/components/schemas/PushTemplateResponse' x-stream-index: "002" required: - duration title: Response type: object UserBannedEvent: description: This event is sent when a user gets banned. The event contains information about the user that was banned. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the target user was banned title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the target user was banned title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the target user was banned title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that banned the target user title: Created by x-stream-index: "004" custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 expiration: description: The expiration date of the ban format: date-time title: Expiration type: string x-stream-index: "005" reason: description: The reason for the ban title: Reason type: string x-stream-index: "003" received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 shadow: description: Whether the user was shadow banned title: Shadow type: boolean x-stream-index: "006" team: description: The team of the channel where the target user was banned title: Team type: string x-stream-index: 001.001.003 total_bans: format: int32 type: integer x-stream-index: "007" type: default: user.banned description: 'The type of event: "user.banned" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was banned title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserBannedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserCustomEventRequest: properties: custom: additionalProperties: {} type: object x-stream-index: "002" type: type: string x-stream-index: "001" required: - type type: object UserDeactivatedEvent: description: This event is sent when a user gets deactivated. The event contains information about the user that was deactivated. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that deactivated the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.deactivated description: 'The type of event: "user.deactivated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was deactivated title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserDeactivatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserDeletedEvent: description: This event is sent when a user gets deleted. The event contains information about the user that was deleted and the deletion options that were used. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" delete_conversation: description: 'The type of deletion that was used for the user''s conversations. One of: hard, soft, pruning, (empty string)' title: Delete conversation type: string x-stream-index: "004" delete_conversation_channels: description: Whether the user's conversation channels were deleted title: Delete conversation channels type: boolean x-stream-index: "008" delete_messages: description: 'The type of deletion that was used for the user''s messages. One of: hard, soft, pruning, (empty string)' title: Delete messages type: string x-stream-index: "003" delete_user: description: 'The type of deletion that was used for the user. One of: hard, soft, pruning, (empty string)' title: Delete user type: string x-stream-index: "005" hard_delete: description: Whether the user was hard deleted title: Hard delete type: boolean x-stream-index: "006" mark_messages_deleted: description: Whether the user's messages were marked as deleted title: Mark messages deleted type: boolean x-stream-index: "007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.deleted description: 'The type of event: "user.deleted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that was deleted title: User x-stream-index: "002.001" required: - type - created_at - custom - user - delete_messages - delete_conversation - delete_user - hard_delete - mark_messages_deleted - delete_conversation_channels title: UserDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserFlaggedEvent: description: This event is sent when a user gets flagged. The event contains information about the user that was flagged. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} description: Custom data title: Custom type: object x-stream-index: "006" reason: description: The reason for the flag title: Reason type: string x-stream-index: "004" received_at: format: date-time type: string x-stream-index: "001.004" target_user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was flagged title: Target user x-stream-index: "003" total_flags: description: The total number of flags for the user format: int32 title: Total flags type: integer x-stream-index: "005" type: default: user.flagged description: 'The type of event: "user.flagged" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that flagged the target user title: User x-stream-index: "002.001" required: - type - created_at - user - reason - total_flags title: UserFlaggedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserGroup: properties: app_pk: format: int64 type: integer x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "008" created_by: type: string x-stream-index: "010" description: type: string x-stream-index: "006" id: type: string x-stream-index: "003" members: items: $ref: '#/components/schemas/UserGroupMember' type: array x-stream-index: "007" name: type: string x-stream-index: "005" team_id: type: string x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "009" required: - app_pk - id - name - created_at - updated_at type: object UserGroupCreatedEvent: description: Emitted when a user group is created. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user_group.created description: 'The type of event: "user_group.created" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who created the group title: User x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroup' description: The user group that was created title: User Group x-stream-index: "003" required: - type - created_at - custom title: UserGroupCreatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserGroupDeletedEvent: description: Emitted when a user group is deleted. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user_group.deleted description: 'The type of event: "user_group.deleted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who deleted the group title: User x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroup' description: The user group that was deleted title: User Group x-stream-index: "003" required: - type - created_at - custom title: UserGroupDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserGroupMember: nullable: true properties: app_pk: format: int64 type: integer x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "006" group_id: type: string x-stream-index: "003" is_admin: type: boolean x-stream-index: "005" user_id: type: string x-stream-index: "004" required: - app_pk - group_id - user_id - is_admin - created_at type: object UserGroupMemberAddedEvent: description: Emitted when members are added to a user group. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" members: description: The user IDs that were added items: type: string title: Members type: array x-stream-index: "004" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user_group.member_added description: 'The type of event: "user_group.member_added" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who added the members title: User x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroup' description: The user group that members were added to title: User Group x-stream-index: "003" required: - type - created_at - custom - members title: UserGroupMemberAddedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserGroupMemberRemovedEvent: description: Emitted when members are removed from a user group. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" members: description: The user IDs that were removed items: type: string title: Members type: array x-stream-index: "004" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user_group.member_removed description: 'The type of event: "user_group.member_removed" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who removed the members title: User x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroup' description: The user group that members were removed from title: User Group x-stream-index: "003" required: - type - created_at - custom - members title: UserGroupMemberRemovedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserGroupResponse: properties: created_at: format: date-time type: string x-stream-index: "006" created_by: type: string x-stream-index: "008" description: type: string x-stream-index: "003" id: type: string x-stream-index: "001" members: items: $ref: '#/components/schemas/UserGroupMember' type: array x-stream-index: "005" name: type: string x-stream-index: "002" team_id: type: string x-stream-index: "004" updated_at: format: date-time type: string x-stream-index: "007" required: - id - name - created_at - updated_at type: object UserGroupUpdatedEvent: description: Emitted when a user group is updated. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user_group.updated description: 'The type of event: "user_group.updated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who updated the group title: User x-stream-index: "002.001" user_group: $ref: '#/components/schemas/UserGroup' description: The user group that was updated title: User Group x-stream-index: "003" required: - type - created_at - custom title: UserGroupUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserMessagesDeletedEvent: description: This event is sent when a user's message get deleted. The event contains information about the user whose messages got deleted. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the target user's messages were deleted title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the target user's messages were deleted title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the target user's messages were deleted title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 hard_delete: description: Whether Messages were hard deleted title: Hard Delete type: boolean x-stream-index: "003" received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 team: description: The team of the channel where the target user's messages were deleted title: Team type: string x-stream-index: 001.001.003 type: default: user.messages.deleted description: 'The type of event: "user.messages.deleted" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user whose messages got deleted title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserMessagesDeletedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserMuteResponse: nullable: true properties: created_at: format: date-time type: string x-stream-index: "004" expires: format: date-time type: string x-stream-index: "003" target: $ref: '#/components/schemas/UserResponse' x-stream-index: "002" updated_at: format: date-time type: string x-stream-index: "005" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "001" required: - created_at - updated_at type: object UserMutedEvent: description: This event is sent when a user gets muted. The event contains information about the user that was muted. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" target_user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was muted title: Target user x-stream-index: "003" target_users: description: The target users that were muted items: $ref: '#/components/schemas/UserResponseCommonFields' title: Target users type: array x-stream-index: "004" type: default: user.muted description: 'The type of event: "user.muted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that muted the target user title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserMutedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserReactivatedEvent: description: This event is sent when a user gets reactivated. The event contains information about the user that was reactivated. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that reactivated the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.reactivated description: 'The type of event: "user.reactivated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was reactivated title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserReactivatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserRequest: description: User request object properties: custom: additionalProperties: {} description: Custom user data title: Custom type: object x-stream-index: "004" id: description: User ID title: ID type: string x-stream-index: "001" image: description: User's profile image URL title: Image type: string x-stream-index: "003" invisible: type: boolean x-stream-index: "006" language: type: string x-stream-index: "005" name: description: Optional name of user title: Name type: string x-stream-index: "002" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: "007" role: description: User's global role title: Role type: string x-stream-index: "008" teams: description: List of teams the user belongs to items: type: string title: Teams type: array x-stream-index: "010" teams_role: additionalProperties: type: string description: Map of team-specific roles for the user title: TeamsRole type: object x-stream-index: "009" required: - id title: UserRequest type: object UserResponse: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: "001.018" ban_expires: description: Date when ban expires format: date-time title: Ban expires type: string x-stream-index: "004" banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: "001.012" blocked_user_ids: items: type: string type: array x-stream-index: "001.017" bypass_moderation: type: boolean x-stream-index: "003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.009" custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: "001.004" deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: string x-stream-index: "001.016" deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: string x-stream-index: "001.011" devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: "007" id: description: Unique user identifier title: ID type: string x-stream-index: "001.001" image: title: Image type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "008" language: description: Preferred language of a user title: Language type: string x-stream-index: "001.005" last_active: description: Date of last activity format: date-time title: Last active type: string x-stream-index: "001.014" name: description: Optional name of user title: Name type: string x-stream-index: "001.002" online: description: Whether a user online or not title: Online type: boolean x-stream-index: "001.013" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: "006" push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse' description: User push notification settings title: Push notifications x-stream-index: "005" revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: string x-stream-index: "001.015" role: description: Determines the set of user permissions title: Role type: string x-stream-index: "001.006" shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: "002" teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: "001.007" teams_role: additionalProperties: type: string type: object x-stream-index: "001.008" updated_at: description: Date/time of the last update format: date-time title: Updated at type: string x-stream-index: "001.010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object UserResponseCommonFields: properties: avg_response_time: format: int32 type: integer x-stream-index: "018" banned: type: boolean x-stream-index: "012" blocked_user_ids: items: type: string type: array x-stream-index: "017" created_at: format: date-time type: string x-stream-index: "009" custom: additionalProperties: {} type: object x-stream-index: "004" deactivated_at: format: date-time type: string x-stream-index: "016" deleted_at: format: date-time type: string x-stream-index: "011" id: type: string x-stream-index: "001" image: type: string x-stream-index: "003" language: type: string x-stream-index: "005" last_active: format: date-time type: string x-stream-index: "014" name: type: string x-stream-index: "002" online: type: boolean x-stream-index: "013" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "015" role: type: string x-stream-index: "006" teams: items: type: string type: array x-stream-index: "007" teams_role: additionalProperties: type: string type: object x-stream-index: "008" updated_at: format: date-time type: string x-stream-index: "010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids type: object UserResponsePrivacyFields: properties: avg_response_time: format: int32 type: integer x-stream-index: "001.018" banned: type: boolean x-stream-index: "001.012" blocked_user_ids: items: type: string type: array x-stream-index: "001.017" created_at: format: date-time type: string x-stream-index: "001.009" custom: additionalProperties: {} type: object x-stream-index: "001.004" deactivated_at: format: date-time type: string x-stream-index: "001.016" deleted_at: format: date-time type: string x-stream-index: "001.011" id: type: string x-stream-index: "001.001" image: type: string x-stream-index: "001.003" invisible: type: boolean x-stream-index: "003" language: type: string x-stream-index: "001.005" last_active: format: date-time type: string x-stream-index: "001.014" name: type: string x-stream-index: "001.002" online: type: boolean x-stream-index: "001.013" privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: "002" revoke_tokens_issued_before: format: date-time type: string x-stream-index: "001.015" role: type: string x-stream-index: "001.006" teams: items: type: string type: array x-stream-index: "001.007" teams_role: additionalProperties: type: string type: object x-stream-index: "001.008" updated_at: format: date-time type: string x-stream-index: "001.010" required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids type: object UserUnbannedEvent: description: This event is sent when a user gets unbanned. The event contains information about the user that was unbanned. nullable: true properties: channel_custom: additionalProperties: {} type: object x-stream-index: 001.001.006 channel_id: description: The ID of the channel where the target user was unbanned title: Channel ID type: string x-stream-index: 001.002.002 channel_member_count: format: int32 type: integer x-stream-index: 001.001.004 channel_message_count: format: int64 type: integer x-stream-index: 001.001.005 channel_type: description: The type of the channel where the target user was unbanned title: Channel Type type: string x-stream-index: 001.002.001 cid: description: The CID of the channel where the target user was unbanned title: Channel CID type: string x-stream-index: 001.001.001.002 created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: 001.001.001.001.003 created_by: $ref: '#/components/schemas/UserResponseCommonFields' description: The user who unbanned the target user title: Created by x-stream-index: "003" custom: additionalProperties: {} type: object x-stream-index: 001.001.001.001.007 received_at: format: date-time type: string x-stream-index: 001.001.001.001.004 shadow: description: Whether the target user was shadow unbanned title: Shadow type: boolean x-stream-index: "004" team: description: The team of the channel where the target user was unbanned title: Team type: string x-stream-index: 001.001.003 type: default: user.unbanned description: 'The type of event: "user.unbanned" in this case' title: Event Type type: string x-stream-index: 001.001.001.001.002 user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was unbanned title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserUnbannedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserUnmutedEvent: description: This event is sent when a user gets unmuted. The event contains information about the user that was unmuted. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" target_user: $ref: '#/components/schemas/UserResponseCommonFields' description: The target user that was unmuted title: Target user x-stream-index: "003" target_users: description: The target users that were unmuted items: $ref: '#/components/schemas/UserResponseCommonFields' title: Target users type: array x-stream-index: "004" type: default: user.unmuted description: 'The type of event: "user.unmuted" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that unmuted the target user title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserUnmutedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserUnreadReminderEvent: description: Reminder events allow you to notify your users about unread messages. Reminders can be used to trigger an email, push notification or SMS to the user. nullable: true properties: channels: additionalProperties: $ref: '#/components/schemas/ChannelMessagesResponse' description: The channels with unread messages title: Channels type: object x-stream-index: "003" created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.unread_message_reminder description: 'The type of event: "user.unread_message_reminder" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponseCommonFields' description: The user that has unread messages title: User x-stream-index: "002.001" required: - type - created_at - custom - user - channels title: UserUnreadReminderEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent UserUpdatedEvent: description: This event is sent when a user gets updated. The event contains information about the updated user. nullable: true properties: created_at: description: Date/time of creation format: date-time title: Created at type: string x-stream-index: "001.003" custom: additionalProperties: {} type: object x-stream-index: "001.007" received_at: format: date-time type: string x-stream-index: "001.004" type: default: user.updated description: 'The type of event: "user.updated" in this case' title: Event Type type: string x-stream-index: "001.002" user: $ref: '#/components/schemas/UserResponsePrivacyFields' description: The updated user title: User x-stream-index: "002.001" required: - type - created_at - custom - user title: UserUpdatedEvent type: object x-stream-event-client-type: true x-stream-event-doc-group: other x-stream-is-event: true x-stream-ws-base-event-name: VideoEvent ValidateExternalStorageResponse: description: Basic response information nullable: true properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "001.001" required: - duration title: Response type: object 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: answer_text: type: string x-stream-index: "002" option_id: maxLength: 255 type: string x-stream-index: "001" type: object WHEvent: description: The discriminator object for all webhook events, it maps events' payload to the final type discriminator: mapping: '*': '#/components/schemas/CustomEvent' campaign.completed: '#/components/schemas/CampaignCompletedEvent' campaign.started: '#/components/schemas/CampaignStartedEvent' channel.created: '#/components/schemas/ChannelCreatedEvent' channel.deleted: '#/components/schemas/ChannelDeletedEvent' channel.frozen: '#/components/schemas/ChannelFrozenEvent' channel.hidden: '#/components/schemas/ChannelHiddenEvent' channel.max_streak_changed: '#/components/schemas/MaxStreakChangedEvent' channel.muted: '#/components/schemas/ChannelMutedEvent' channel.truncated: '#/components/schemas/ChannelTruncatedEvent' channel.unfrozen: '#/components/schemas/ChannelUnFrozenEvent' channel.unmuted: '#/components/schemas/ChannelUnmutedEvent' channel.updated: '#/components/schemas/ChannelUpdatedEvent' channel.visible: '#/components/schemas/ChannelVisibleEvent' channel_batch_update.completed: '#/components/schemas/ChannelBatchCompletedEvent' channel_batch_update.started: '#/components/schemas/ChannelBatchStartedEvent' export.bulk_image_moderation.error: '#/components/schemas/AsyncExportErrorEvent' export.bulk_image_moderation.success: '#/components/schemas/AsyncBulkImageModerationEvent' export.channels.error: '#/components/schemas/AsyncExportErrorEvent' export.channels.success: '#/components/schemas/AsyncExportChannelsEvent' export.moderation_logs.error: '#/components/schemas/AsyncExportErrorEvent' export.moderation_logs.success: '#/components/schemas/AsyncExportModerationLogsEvent' export.users.error: '#/components/schemas/AsyncExportErrorEvent' export.users.success: '#/components/schemas/AsyncExportUsersEvent' flag.updated: '#/components/schemas/FlagUpdatedEvent' member.added: '#/components/schemas/MemberAddedEvent' member.removed: '#/components/schemas/MemberRemovedEvent' member.updated: '#/components/schemas/MemberUpdatedEvent' message.deleted: '#/components/schemas/MessageDeletedEvent' message.flagged: '#/components/schemas/MessageFlaggedEvent' message.new: '#/components/schemas/MessageNewEvent' message.pending: '#/components/schemas/PendingMessageEvent' message.read: '#/components/schemas/MessageReadEvent' message.unblocked: '#/components/schemas/MessageUnblockedEvent' message.undeleted: '#/components/schemas/MessageUndeletedEvent' message.updated: '#/components/schemas/MessageUpdatedEvent' notification.mark_unread: '#/components/schemas/NotificationMarkUnreadEvent' notification.reminder_due: '#/components/schemas/ReminderNotificationEvent' notification.thread_message_new: '#/components/schemas/NotificationThreadMessageNewEvent' reaction.deleted: '#/components/schemas/ReactionDeletedEvent' reaction.new: '#/components/schemas/ReactionNewEvent' reaction.updated: '#/components/schemas/ReactionUpdatedEvent' reminder.created: '#/components/schemas/ReminderCreatedEvent' reminder.deleted: '#/components/schemas/ReminderDeletedEvent' reminder.updated: '#/components/schemas/ReminderUpdatedEvent' thread.updated: '#/components/schemas/ThreadUpdatedEvent' user.banned: '#/components/schemas/UserBannedEvent' user.deactivated: '#/components/schemas/UserDeactivatedEvent' user.deleted: '#/components/schemas/UserDeletedEvent' user.flagged: '#/components/schemas/UserFlaggedEvent' user.messages.deleted: '#/components/schemas/UserMessagesDeletedEvent' user.muted: '#/components/schemas/UserMutedEvent' user.reactivated: '#/components/schemas/UserReactivatedEvent' user.unbanned: '#/components/schemas/UserUnbannedEvent' user.unmuted: '#/components/schemas/UserUnmutedEvent' user.unread_message_reminder: '#/components/schemas/UserUnreadReminderEvent' user.updated: '#/components/schemas/UserUpdatedEvent' user_group.created: '#/components/schemas/UserGroupCreatedEvent' user_group.deleted: '#/components/schemas/UserGroupDeletedEvent' user_group.member_added: '#/components/schemas/UserGroupMemberAddedEvent' user_group.member_removed: '#/components/schemas/UserGroupMemberRemovedEvent' user_group.updated: '#/components/schemas/UserGroupUpdatedEvent' propertyName: type oneOf: - $ref: '#/components/schemas/AsyncBulkImageModerationEvent' - $ref: '#/components/schemas/AsyncExportChannelsEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportErrorEvent' - $ref: '#/components/schemas/AsyncExportModerationLogsEvent' - $ref: '#/components/schemas/AsyncExportUsersEvent' - $ref: '#/components/schemas/CampaignCompletedEvent' - $ref: '#/components/schemas/CampaignStartedEvent' - $ref: '#/components/schemas/ChannelBatchCompletedEvent' - $ref: '#/components/schemas/ChannelBatchStartedEvent' - $ref: '#/components/schemas/ChannelCreatedEvent' - $ref: '#/components/schemas/ChannelDeletedEvent' - $ref: '#/components/schemas/ChannelFrozenEvent' - $ref: '#/components/schemas/ChannelHiddenEvent' - $ref: '#/components/schemas/ChannelMutedEvent' - $ref: '#/components/schemas/ChannelTruncatedEvent' - $ref: '#/components/schemas/ChannelUnFrozenEvent' - $ref: '#/components/schemas/ChannelUnmutedEvent' - $ref: '#/components/schemas/ChannelUpdatedEvent' - $ref: '#/components/schemas/ChannelVisibleEvent' - $ref: '#/components/schemas/CustomEvent' - $ref: '#/components/schemas/FlagUpdatedEvent' - $ref: '#/components/schemas/MaxStreakChangedEvent' - $ref: '#/components/schemas/MemberAddedEvent' - $ref: '#/components/schemas/MemberRemovedEvent' - $ref: '#/components/schemas/MemberUpdatedEvent' - $ref: '#/components/schemas/MessageDeletedEvent' - $ref: '#/components/schemas/MessageFlaggedEvent' - $ref: '#/components/schemas/MessageNewEvent' - $ref: '#/components/schemas/MessageReadEvent' - $ref: '#/components/schemas/MessageUnblockedEvent' - $ref: '#/components/schemas/MessageUndeletedEvent' - $ref: '#/components/schemas/MessageUpdatedEvent' - $ref: '#/components/schemas/NotificationMarkUnreadEvent' - $ref: '#/components/schemas/NotificationThreadMessageNewEvent' - $ref: '#/components/schemas/PendingMessageEvent' - $ref: '#/components/schemas/ReactionDeletedEvent' - $ref: '#/components/schemas/ReactionNewEvent' - $ref: '#/components/schemas/ReactionUpdatedEvent' - $ref: '#/components/schemas/ReminderCreatedEvent' - $ref: '#/components/schemas/ReminderDeletedEvent' - $ref: '#/components/schemas/ReminderNotificationEvent' - $ref: '#/components/schemas/ReminderUpdatedEvent' - $ref: '#/components/schemas/ThreadUpdatedEvent' - $ref: '#/components/schemas/UserBannedEvent' - $ref: '#/components/schemas/UserDeactivatedEvent' - $ref: '#/components/schemas/UserDeletedEvent' - $ref: '#/components/schemas/UserFlaggedEvent' - $ref: '#/components/schemas/UserGroupCreatedEvent' - $ref: '#/components/schemas/UserGroupDeletedEvent' - $ref: '#/components/schemas/UserGroupMemberAddedEvent' - $ref: '#/components/schemas/UserGroupMemberRemovedEvent' - $ref: '#/components/schemas/UserGroupUpdatedEvent' - $ref: '#/components/schemas/UserMessagesDeletedEvent' - $ref: '#/components/schemas/UserMutedEvent' - $ref: '#/components/schemas/UserReactivatedEvent' - $ref: '#/components/schemas/UserUnbannedEvent' - $ref: '#/components/schemas/UserUnmutedEvent' - $ref: '#/components/schemas/UserUnreadReminderEvent' - $ref: '#/components/schemas/UserUpdatedEvent' WSEvent: description: Represents an BaseEvent that happened in Stream Chat properties: automoderation: type: boolean x-stream-index: "023" automoderation_scores: $ref: '#/components/schemas/ModerationResponse' x-stream-index: "024" channel: $ref: '#/components/schemas/ChannelResponse' x-stream-index: "011" channel_id: type: string x-stream-index: "004" channel_last_message_at: format: date-time type: string x-stream-index: "007" channel_type: type: string x-stream-index: "005" cid: type: string x-stream-index: "003" connection_id: type: string x-stream-index: "002" created_at: format: date-time type: string x-stream-index: "028" created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: "022" custom: additionalProperties: {} type: object x-stream-index: "027" me: $ref: '#/components/schemas/OwnUserResponse' x-stream-index: "019" member: $ref: '#/components/schemas/ChannelMemberResponse' x-stream-index: "014" message: $ref: '#/components/schemas/MessageResponse' x-stream-index: "008" message_update: $ref: '#/components/schemas/MessageUpdate' x-stream-index: "009" parent_id: type: string x-stream-index: "025" poll: $ref: '#/components/schemas/PollResponseData' x-stream-index: "015" poll_vote: $ref: '#/components/schemas/PollVoteResponseData' x-stream-index: "016" reaction: $ref: '#/components/schemas/ReactionResponse' x-stream-index: "010" reason: type: string x-stream-index: "021" team: type: string x-stream-index: "026" thread: $ref: '#/components/schemas/ThreadResponse' x-stream-index: "013" thread_id: type: string x-stream-index: "012" type: type: string x-stream-index: "001" user: $ref: '#/components/schemas/UserResponse' x-stream-index: "017" user_id: type: string x-stream-index: "018" watcher_count: format: int32 type: integer x-stream-index: "020" required: - type - custom - created_at title: Event type: object x-stream-docs-page-id: event_object WebhookFailoverConfig: properties: gcs_bucket: type: string x-stream-index: "002" gcs_credentials: type: string x-stream-index: "004" gcs_path: type: string x-stream-index: "003" type: type: string x-stream-index: "001" type: object WrappedUnreadCountsResponse: description: Basic response information nullable: true properties: channel_type: items: $ref: '#/components/schemas/UnreadCountsChannelType' type: array x-stream-index: "001.005" channels: items: $ref: '#/components/schemas/UnreadCountsChannel' type: array x-stream-index: "001.004" duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: "002.001" threads: items: $ref: '#/components/schemas/UnreadCountsThread' type: array x-stream-index: "001.006" total_unread_count: format: int32 type: integer x-stream-index: "001.001" total_unread_count_by_team: additionalProperties: format: int32 type: integer type: object x-stream-index: "001.003" total_unread_threads_count: format: int32 type: integer x-stream-index: "001.002" required: - total_unread_count - total_unread_threads_count - channels - channel_type - threads - duration title: Response type: object 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: v228.3.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: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get App Settings tags: - product:chat patch: description: | This Method updates one or more application settings operationId: UpdateApp requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update App Settings tags: - product:chat /blocklists: get: description: | Returns all available block lists operationId: ListBlockLists parameters: - in: query name: team schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListBlockListResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List block lists tags: - product:chat post: description: | Creates a new application blocklist, once created the blocklist can be used by any channel type operationId: CreateBlockList requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBlockListRequest' description: Block list required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateBlockListResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create block list tags: - product:chat /blocklists/{name}: delete: description: | Deletes previously created application blocklist operationId: DeleteBlockList parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: team schema: type: string x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete block list tags: - product:chat get: description: | Returns block list by given name operationId: GetBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: "001" - in: query name: team schema: type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetBlockListResponse' description: GetBlockListResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get block list tags: - product:chat put: description: | Updates contents of the block list operationId: UpdateBlockList parameters: - in: path name: name required: true schema: description: Block list name title: Name type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListRequest' description: Update block list required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateBlockListResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update block list tags: - product:chat /campaigns: post: description: | Creates a campaign operationId: CreateCampaign requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCampaignRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateCampaignResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create campaign tags: - product:chat /campaigns/{id}: delete: description: | Delete campaign operationId: DeleteCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteCampaignResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete campaign tags: - product:chat get: description: | Get campaign by ID. operationId: GetCampaign parameters: - in: path name: id required: true schema: description: The ID of the campaign (uuid) maxLength: 255 title: Campaign ID type: string writeOnly: true x-stream-index: "001" - in: query name: prev schema: description: Token for the previous page of campaign users title: Previous Users Page type: string writeOnly: true x-stream-index: "002.001" - in: query name: next schema: description: Token for the next page of campaign users title: Next Users Page type: string writeOnly: true x-stream-index: "002.002" - in: query name: limit schema: description: 'Maximum number of campaign users to return in a single request (max: 1000)' format: int32 maximum: 1000 minimum: 0 title: Users Limit type: integer writeOnly: true x-stream-index: "002.003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetCampaignResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get campaign tags: - product:chat put: description: | Updates a campaign operationId: UpdateCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCampaignRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update campaign tags: - product:chat /campaigns/{id}/start: post: description: | Starts or schedules a campaign operationId: StartCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/StartCampaignRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/StartCampaignResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Start/schedule campaign tags: - product:chat /campaigns/{id}/stop: post: description: | Stops a campaign operationId: StopCampaign parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" responses: "201": content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Stop campaign tags: - product:chat /campaigns/query: post: description: | Query campaigns with filter query operationId: QueryCampaigns requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryCampaignsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query campaigns tags: - product:chat /channels: post: description: | Query channels with filter query operationId: QueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryChannelsRequest' description: Query Channels Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryChannelsResponse' description: Channels list "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query channels tags: - product:chat /channels/{type}/{id}: delete: description: | Deletes channel Sends events: - channel.deleted operationId: DeleteChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "001.002" - in: query name: hard_delete schema: type: boolean x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteChannelResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel tags: - product:chat patch: description: | Updates certain fields of the channel Sends events: - channel.updated operationId: UpdateChannelPartial parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "001.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialRequest' description: UpdateChannelPartialRequest required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateChannelPartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update channel tags: - product:chat post: description: | Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new operationId: UpdateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 016.002.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 016.002.002 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelRequest' description: Channel update request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateChannelResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel tags: - product:chat /channels/{type}/{id}/draft: delete: description: | Deletes a draft Sends events: - draft.deleted operationId: DeleteDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002.002" - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: "001" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "003.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete draft tags: - product:chat get: description: | Get a draft operationId: GetDraft parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002.002" - in: query name: parent_id schema: description: Parent message ID title: string type: string writeOnly: true x-stream-index: "001" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "003.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetDraftResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get draft tags: - product:chat /channels/{type}/{id}/event: post: description: | Sends event to the channel operationId: SendEvent parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "002.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendEventRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/EventResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send event tags: - product:chat /channels/{type}/{id}/file: delete: description: | Deletes previously uploaded file operationId: DeleteChannelFile parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: "002.002" - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:chat post: description: | Uploads file operationId: UploadChannelFile parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001.002" requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelFileRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UploadChannelFileResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:chat /channels/{type}/{id}/hide: post: description: | Marks channel as hidden for current user Sends events: - channel.hidden operationId: HideChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/HideChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/HideChannelResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Hide channel tags: - product:chat /channels/{type}/{id}/image: delete: description: | Deletes previously uploaded image operationId: DeleteChannelImage parameters: - in: path name: type required: true schema: description: The type of file title: Type type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: description: File ID title: ID type: string writeOnly: true x-stream-index: "002.002" - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:chat post: description: | Uploads image operationId: UploadChannelImage parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: 001.001.001 - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: 001.001.002 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UploadChannelResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:chat /channels/{type}/{id}/member: patch: description: |2+ operationId: UpdateMemberPartial parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "003.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "003.002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "005.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateMemberPartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially channel member update tags: - product:chat /channels/{type}/{id}/message: post: description: | Sends new message to the specified channel Sends events: - message.new - message.updated operationId: SendMessage parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "009.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "009.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SendMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send new message tags: - product:chat /channels/{type}/{id}/messages: get: description: | Returns list messages found by IDs operationId: GetManyMessages parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002.002" - in: query name: ids required: true schema: description: List of comma-separated IDs items: type: string maxItems: 50 minItems: 1 title: IDs type: array writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetManyMessagesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get many messages tags: - product:chat /channels/{type}/{id}/query: post: description: | This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start operationId: GetOrCreateChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: "001" - in: path name: id required: true schema: description: Channel ID (maximum length of 64 characters) title: ID type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/{type}/{id}/read: post: description: | Marks channel as read up to the specific message Sends events: - message.read operationId: MarkRead parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "003.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "003.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkReadRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark read tags: - product:chat /channels/{type}/{id}/show: post: description: | Shows previously hidden channel Sends events: - channel.visible operationId: ShowChannel parameters: - in: path name: type required: true schema: description: Channel type to interact with title: Channel type type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: description: Channel ID to interact with title: Channel ID type: string writeOnly: true x-stream-index: "001.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/ShowChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ShowChannelResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Show channel tags: - product:chat /channels/{type}/{id}/truncate: post: description: | Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members. Sends events: - channel.truncated operationId: TruncateChannel parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "001.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/TruncateChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/TruncateChannelResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Truncate channel tags: - product:chat /channels/{type}/{id}/unread: post: description: | Marks channel as unread from a specific message operationId: MarkUnread parameters: - in: path name: type required: true schema: type: string writeOnly: true x-stream-index: "002.001" - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "002.002" requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkUnreadRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark unread tags: - product:chat /channels/{type}/query: post: description: | This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start operationId: GetOrCreateDistinctChannel parameters: - in: path name: type required: true schema: description: Channel type maxLength: 64 title: Type type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelGetOrCreateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelStateResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create channel tags: - product:chat /channels/batch: put: description: | Update channels in batch Sends events: - channel.frozen - channel.hidden - channel.unfrozen - channel.updated - channel.visible - member.added - member.removed - member.updated operationId: ChannelBatchUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ChannelBatchUpdateResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channels in batch tags: - product:chat /channels/delete: post: description: | Allows to delete several channels at once asynchronously Sends events: - channel.deleted operationId: DeleteChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeleteChannelsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deletes channels asynchronously tags: - product:chat /channels/delivered: post: description: | Mark the status of a channel message delivered. operationId: MarkDelivered parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "002.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MarkDeliveredResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channel message delivery status tags: - product:chat /channels/grouped: post: description: | Query channels grouped into predefined buckets. Only available for enterprise apps. operationId: GroupedQueryChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsRequest' description: Grouped Query Channels Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/GroupedQueryChannelsResponse' description: Grouped Query Channels Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Grouped query channels tags: - product:chat /channels/read: post: description: | Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read operationId: MarkChannelsRead requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkChannelsReadRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MarkReadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark channels as read tags: - product:chat /channeltypes: get: description: | Lists all available channel types operationId: ListChannelTypes responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListChannelTypesResponse' description: ListChannelTypesResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List channel types tags: - product:chat post: description: | Creates new channel type operationId: CreateChannelType requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeRequest' description: CreateChannelTypeRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateChannelTypeResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create channel type tags: - product:chat /channeltypes/{name}: delete: description: | Deletes channel type operationId: DeleteChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete channel type tags: - product:chat get: description: | Gets channel type operationId: GetChannelType parameters: - in: path name: name required: true schema: description: Channel type name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetChannelTypeResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get channel type tags: - product:chat put: description: | Updates channel type operationId: UpdateChannelType parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateChannelTypeResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update channel type tags: - product:chat /check_push: post: description: | Sends a test message via push, this is a test endpoint to verify your push settings operationId: CheckPush requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPushRequest' description: CheckPushRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckPushResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check push tags: - product:chat /check_sns: post: description: | Validates Amazon SNS configuration operationId: CheckSNS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSNSRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckSNSResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SNS tags: - product:chat /check_sqs: post: description: | Validates Amazon SQS credentials operationId: CheckSQS requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckSQSRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CheckSQSResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check SQS tags: - product:chat /commands: get: description: | Returns all custom commands operationId: ListCommands responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListCommandsResponse' description: ListCommandsResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List commands tags: - product:chat post: description: | Creates custom chat command operationId: CreateCommand requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCommandRequest' description: CreateCommandRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateCommandResponse' description: CreateCommandResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create command tags: - product:chat /commands/{name}: delete: description: | Deletes custom chat command operationId: DeleteCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteCommandResponse' description: DeleteCommandResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete command tags: - product:chat get: description: | Returns custom command by its name operationId: GetCommand parameters: - in: path name: name required: true schema: description: Command name title: Name type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetCommandResponse' description: GetCommandResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get command tags: - product:chat put: description: | Updates custom chat command operationId: UpdateCommand parameters: - in: path name: name required: true schema: description: Unique command name title: Name type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommandRequest' description: UpdateCommandRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateCommandResponse' description: UpdateCommandResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update command tags: - product:chat /devices: delete: description: | Deletes one device operationId: DeleteDevice parameters: - in: query name: id required: true schema: description: Device ID to delete title: ID type: string writeOnly: true x-stream-index: "001" - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: "002.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete device tags: - product:chat get: description: | Returns all available devices operationId: ListDevices parameters: - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: "001.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListDevicesResponse' description: ListDevicesResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List devices tags: - product:chat post: description: | Adds a new device to a user, if the same device already exists the call will have no effect operationId: CreateDevice requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDeviceRequest' description: CreateDeviceRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create device tags: - product:chat /drafts/query: post: description: | Queries draft messages for a user operationId: QueryDrafts requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryDraftsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryDraftsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query draft messages tags: - product:chat /export/users: post: description: | Exports user profile, reactions and messages for list of given users operationId: ExportUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ExportUsersResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export users tags: - product:chat /export_channels: post: description: | Exports channel data to JSON file operationId: ExportChannels requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportChannelsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ExportChannelsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export channels tags: - product:chat /external_storage: get: description: | Lists external storage operationId: ListExternalStorage responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List external storage tags: - product:chat post: description: | Creates new external storage operationId: CreateExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageRequest' description: CreateExternalStorageRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create external storage tags: - product:chat /external_storage/{name}: delete: description: | Deletes external storage operationId: DeleteExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:chat put: description: |2+ operationId: UpdateExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageRequest' description: ExternalStorageRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update External Storage tags: - product:chat /external_storage/{name}/check: get: description: |2+ operationId: CheckExternalStorage parameters: - in: path name: name required: true schema: type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/CheckExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check External Storage tags: - product:chat /guest: post: description: |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: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import URL tags: - product:chat /imports: get: description: | Gets an import operationId: ListImports responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListImportsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat post: description: | Creates a new import operationId: CreateImport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateImportResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import tags: - product:chat /imports/{id}: get: description: | Gets an import operationId: GetImport parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetImportResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import tags: - product:chat /imports/v2: get: description: | Lists all import v2 tasks for the app operationId: ListImportV2Tasks parameters: - in: query name: state schema: format: int32 type: integer writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListImportV2TasksResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List import v2 tasks tags: - product:chat post: description: | Creates a new import v2 task operationId: CreateImportV2Task requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskRequest' description: ClientRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateImportV2TaskResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create import v2 task tags: - product:chat /imports/v2/{id}: delete: description: | Deletes an import v2 task. Can only delete tasks in queued state. operationId: DeleteImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteImportV2TaskResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete import v2 task tags: - product:chat get: description: | Gets a single import v2 task by ID operationId: GetImportV2Task parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetImportV2TaskResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get import v2 task tags: - product:chat /imports/v2/external-storage: delete: description: | Removes the external storage configuration for the app. Idempotent: succeeds even if no configuration exists. operationId: DeleteImporterExternalStorage responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete external storage tags: - product:chat get: description: | Returns the current external storage configuration for the app. Returns 404 if no configuration exists. operationId: GetImporterExternalStorage responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get external storage tags: - product:chat put: description: | Creates or updates the external storage configuration for the app. Currently only AWS S3 (via cross-account IAM role assumption) is supported. operationId: UpsertImporterExternalStorage requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpsertExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert external storage tags: - product:chat /imports/v2/external-storage/validate: post: description: | Validates the configured external S3 storage by performing a live STS AssumeRole and S3 ListObjectsV2 check. operationId: ValidateImporterExternalStorage responses: "201": content: application/json: schema: $ref: '#/components/schemas/ValidateExternalStorageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Validate external storage tags: - product:chat /members: get: description: | Find and filter channel members operationId: QueryMembers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMembersPayload' x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/MembersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query members tags: - product:chat /messages/{id}: delete: description: | Deletes message Sends events: - message.deleted operationId: DeleteMessage parameters: - in: path name: id required: true schema: description: Message ID to delete title: ID type: string writeOnly: true x-stream-index: "001" - in: query name: hard schema: description: Delete all message reactions and replies as well title: Hard type: boolean writeOnly: true x-stream-index: "002" - in: query name: deleted_by schema: type: string writeOnly: true x-stream-index: "003" - in: query name: delete_for_me schema: description: Delete the message only for the user making the request title: Delete for me type: boolean writeOnly: true x-stream-index: "004" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteMessageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete message tags: - product:chat get: description: | Returns message by ID operationId: GetMessage parameters: - in: path name: id required: true schema: description: ID of the message title: ID type: string writeOnly: true x-stream-index: "001" - in: query name: show_deleted_message schema: description: Whether to show deleted message title: Show deleted message type: boolean writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetMessageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get message tags: - product:chat post: description: | Updates message with new data Sends events: - message.updated operationId: UpdateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "004.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateMessageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update message tags: - product:chat put: description: | Updates certain fields of the message Sends events: - message.updated operationId: UpdateMessagePartial parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "004.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially message update tags: - product:chat /messages/{id}/action: post: description: | Executes message command action with given parameters Sends events: - message.new operationId: RunMessageAction parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/MessageActionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Run message command action tags: - product:chat /messages/{id}/commit: post: description: | Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated operationId: CommitMessage parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Commit message tags: - product:chat /messages/{id}/ephemeral: patch: description: | Updates message fields without storing in database, only sends update event Sends events: - message.updated operationId: EphemeralMessageUpdate parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "004.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateMessagePartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ephemeral message update tags: - product:chat /messages/{id}/reaction: post: description: | Sends reaction to specified message Sends events: - reaction.new - reaction.updated operationId: SendReaction parameters: - in: path name: id required: true schema: description: Message ID to send reaction for title: ID type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendReactionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SendReactionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send reaction tags: - product:chat /messages/{id}/reaction/{type}: delete: description: | Removes user reaction from the message Sends events: - reaction.deleted operationId: DeleteReaction parameters: - in: path name: id required: true schema: description: Message ID to remove reaction from title: ID type: string writeOnly: true x-stream-index: "001" - in: path name: type required: true schema: description: Reaction type to remove title: Type type: string writeOnly: true x-stream-index: "002" - in: query name: user_id schema: description: '**Server-side only**. User ID which server acts upon' title: User ID type: string writeOnly: true x-stream-index: "003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteReactionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reaction tags: - product:chat /messages/{id}/reactions: get: description: | Returns list of reactions of specific message operationId: GetReactions parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "001" - in: query name: limit schema: description: Number of records to return format: int32 title: Limit type: integer writeOnly: true x-stream-index: "002" - in: query name: offset schema: description: Number of records to offset format: int32 title: Offset type: integer writeOnly: true x-stream-index: "003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetReactionsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get reactions tags: - product:chat post: description: | Get reactions on a message operationId: QueryReactions parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryReactionsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryReactionsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests tags: - product:chat /messages/{id}/translate: post: description: | Translates message to a given language using automated translation software Sends events: - message.updated operationId: TranslateMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "002.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslateMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MessageActionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Translate message tags: - product:chat /messages/{id}/undelete: post: description: | Undelete a message that was previously soft-deleted Sends events: - message.undeleted operationId: UndeleteMessage parameters: - in: path name: id required: true schema: description: Message ID title: ID type: string writeOnly: true x-stream-index: "002.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UndeleteMessageResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Undelete message tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote: post: description: | Cast a vote on a poll Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed operationId: CastPollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "003" requestBody: content: application/json: schema: $ref: '#/components/schemas/CastPollVoteRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Cast vote tags: - product:chat /messages/{message_id}/polls/{poll_id}/vote/{vote_id}: delete: description: | Delete a vote from a poll Sends events: - feeds.poll.vote_removed - poll.vote_removed operationId: DeletePollVote parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "002" - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "004" - in: path name: vote_id required: true schema: description: Vote ID maxLength: 255 title: string type: string x-stream-index: "005" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete vote tags: - product:chat /messages/{message_id}/reminders: delete: description: | Deletes a user's created reminder Sends events: - reminder.deleted operationId: DeleteReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteReminderResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete reminder tags: - product:chat patch: description: | Updates an existing reminder Sends events: - reminder.updated operationId: UpdateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateReminderRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateReminderResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Updates Reminder tags: - product:chat post: description: | Creates a new reminder Sends events: - reminder.created operationId: CreateReminder parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReminderRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ReminderResponseData' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create reminder tags: - product:chat /messages/{parent_id}/replies: get: description: | Returns replies (thread) of the message operationId: GetReplies parameters: - in: path name: parent_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: sort schema: items: $ref: '#/components/schemas/SortParamRequest' maxItems: 1 type: array writeOnly: true x-stream-index: "002" - in: query name: limit schema: format: int32 minimum: 0 type: integer writeOnly: true x-stream-index: "003" - in: query name: id_gte schema: type: string writeOnly: true x-stream-index: "004" - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: "005" - in: query name: id_lte schema: type: string writeOnly: true x-stream-index: "006" - in: query name: id_lt schema: type: string writeOnly: true x-stream-index: "007" - in: query name: id_around schema: type: string writeOnly: true x-stream-index: "008" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetRepliesResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get replies tags: - product:chat /messages/history: post: description: | Queries history for one message operationId: QueryMessageHistory requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryMessageHistoryResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query message history tags: - product:chat /moderation/ban: delete: description: | Removes previously applied ban Sends events: - user.unbanned operationId: Unban parameters: - in: query name: target_user_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: channel_cid schema: type: string writeOnly: true x-stream-index: "002" - in: query name: created_by schema: type: string writeOnly: true x-stream-index: "005" - in: query name: remove_future_channels_ban schema: type: boolean writeOnly: true x-stream-index: "006" - in: query name: reason schema: type: string writeOnly: true x-stream-index: "007" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unban user tags: - product:chat post: description: | Restricts user activity either in specific channel or globally Sends events: - user.banned - user.messages.deleted operationId: Ban requestBody: content: application/json: schema: $ref: '#/components/schemas/BanRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Ban user tags: - product:chat /moderation/flag: post: description: | Reports message or user for review by moderators Sends events: - message.flagged - user.flagged operationId: Flag requestBody: content: application/json: schema: $ref: '#/components/schemas/FlagRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/FlagMessageResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Flag tags: - product:chat /moderation/flags/message: get: description: | Find and filter message flags operationId: QueryMessageFlags parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsPayload' description: JSON object with query message flags payload title: Payload x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryMessageFlagsResponse' description: QueryMessageFlagsResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Message Flags tags: - product:chat /moderation/mute: post: description: | Mutes one or several users Sends events: - user.muted - user.unmuted operationId: MuteUser requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MuteUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute user tags: - product:chat /moderation/mute/channel: post: description: | Mutes channel for user Sends events: - channel.muted operationId: MuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/MuteChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/MuteChannelResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mute channel tags: - product:chat /moderation/unmute: post: description: | Unmutes previously muted user Sends events: - user.unmuted operationId: UnmuteUser requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnmuteUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unmute user tags: - product:chat /moderation/unmute/channel: post: description: | Unmutes channel for user Sends events: - channel.unmuted operationId: UnmuteChannel requestBody: content: application/json: schema: $ref: '#/components/schemas/UnmuteChannelRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnmuteResponse' description: UnmuteResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unmute channel tags: - product:chat /og: get: description: | Get an OpenGraph attachment for a link operationId: GetOG parameters: - in: query name: url required: true schema: description: URL to be scraped title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetOGResponse' description: Get OG Attachment "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get OG tags: - product:chat /permissions: get: description: | Lists all available permissions operationId: ListPermissions responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListPermissionsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List permissions tags: - product:chat /permissions/{id}: get: description: | Gets custom permission operationId: GetPermission parameters: - in: path name: id required: true schema: description: Permission ID title: ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetCustomPermissionResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get permission tags: - product:chat /polls: post: description: | Creates a new poll operationId: CreatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollRequest' description: Create Poll Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll tags: - product:chat put: description: | Updates a poll Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated operationId: UpdatePoll requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll tags: - product:chat /polls/{poll_id}: delete: description: | Deletes a poll Sends events: - feeds.poll.deleted - poll.deleted operationId: DeletePoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll tags: - product:chat get: description: | Retrieves a poll operationId: GetPoll parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll tags: - product:chat patch: description: | Updates a poll partially Sends events: - feeds.poll.closed - feeds.poll.updated - poll.closed - poll.updated operationId: UpdatePollPartial parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial update poll tags: - product:chat /polls/{poll_id}/options: post: description: | Creates a poll option Sends events: - feeds.poll.updated - poll.updated operationId: CreatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePollOptionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create poll option tags: - product:chat put: description: | Updates a poll option Sends events: - feeds.poll.updated - poll.updated operationId: UpdatePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePollOptionRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update poll option tags: - product:chat /polls/{poll_id}/options/{option_id}: delete: description: | Deletes a poll option Sends events: - feeds.poll.updated - poll.updated operationId: DeletePollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "002" - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: "003" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete poll option tags: - product:chat get: description: | Retrieves a poll option operationId: GetPollOption parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "002" - in: path name: option_id required: true schema: description: Option ID maxLength: 255 title: string type: string x-stream-index: "003" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/PollOptionResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get poll option tags: - product:chat /polls/{poll_id}/votes: post: description: | Queries votes operationId: QueryPollVotes parameters: - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: "002" - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollVotesRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/PollVotesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query votes tags: - product:chat /polls/query: post: description: | Queries polls operationId: QueryPolls parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPollsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryPollsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query polls tags: - product:chat /push_preferences: post: description: | Upserts the push preferences for a user and or channel member. Set to all, mentions or none operationId: UpdatePushNotificationPreferences requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpsertPushPreferencesResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Push notification preferences tags: - product:chat /push_providers: get: description: | List details of all push providers. operationId: ListPushProviders responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListPushProvidersResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List push providers tags: - product:chat post: description: | Upsert a push provider for v2 with multi bundle/package support operationId: UpsertPushProvider requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpsertPushProviderResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push provider tags: - product:chat /push_providers/{type}/{name}: delete: description: | Delete a push provider from v2 with multi bundle/package support. v1 isn't supported in this endpoint operationId: DeletePushProvider parameters: - in: path name: type required: true schema: enum: - apn - firebase - huawei - xiaomi type: string writeOnly: true x-stream-index: "001" - in: path name: name required: true schema: maxLength: 36 minLength: 1 type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a push provider tags: - product:chat /push_templates: get: description: | Retrieve push notification templates for Chat. operationId: GetPushTemplates parameters: - in: query name: push_provider_name schema: description: Push provider name to filter templates title: string type: string writeOnly: true x-stream-index: "002" - in: query name: push_provider_type required: true schema: description: 'Push provider type to filter templates. One of: firebase, apn, huawei, xiaomi' enum: - firebase - apn - huawei - xiaomi title: string type: string writeOnly: true x-stream-index: "003" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetPushTemplatesResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get push notification templates tags: - product:chat post: description: | Create or update a push notification template for a specific event type and push provider operationId: UpsertPushTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpsertPushTemplateResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert a push notification template tags: - product:chat /query_banned_users: get: description: | Find and filter channel scoped or global user bans operationId: QueryBannedUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersPayload' description: JSON object with query user bans payload title: Payload x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryBannedUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Banned Users tags: - product:chat /query_future_channel_bans: get: description: | Find and filter future channel bans created by the authenticated user operationId: QueryFutureChannelBans parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansPayload' description: JSON object with query future channel bans payload title: Payload x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryFutureChannelBansResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Future Channel Bans tags: - product:chat /rate_limits: get: description: | Get rate limits usage and quotas operationId: GetRateLimits parameters: - in: query name: server_side schema: description: Whether to include server-side platform limits or not title: Server-side type: boolean writeOnly: true x-stream-index: "001" - in: query name: android schema: description: Whether to include Android platform limits or not title: Android type: boolean writeOnly: true x-stream-index: "002" - in: query name: ios schema: description: Whether to include iOS platform limits or not title: iOS type: boolean writeOnly: true x-stream-index: "003" - in: query name: web schema: description: Whether to include web platform limits or not title: Web type: boolean writeOnly: true x-stream-index: "004" - in: query name: endpoints schema: description: Specific endpoints to show limits for, as a comma-separated list of values title: Endpoints type: string writeOnly: true x-stream-index: "005" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetRateLimitsResponse' description: Get Rate Limits Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get rate limits tags: - product:chat /reminders/query: post: description: | Queries reminders operationId: QueryReminders requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRemindersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryRemindersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query reminders tags: - product:chat /retention_policy: get: description: | Returns all retention policies configured for the app. Server-side only. operationId: GetRetentionPolicy responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy tags: - product:chat post: description: | Creates or updates a retention policy for the app. Server-side only. operationId: SetRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SetRetentionPolicyResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Set retention policy tags: - product:chat /retention_policy/delete: post: description: | Removes a retention policy for the app. Server-side only. operationId: DeleteRetentionPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeleteRetentionPolicyResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete retention policy tags: - product:chat /retention_policy/runs: post: description: | Returns filtered and sorted retention cleanup run history for the app. Supports filter_conditions on 'policy' (possible values: 'old-messages', 'inactive-channels') and 'date' fields. Server-side only. operationId: GetRetentionPolicyRuns requestBody: content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/GetRetentionPolicyRunsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get retention policy runs tags: - product:chat /roles: get: description: | Lists all available roles operationId: ListRoles responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListRolesResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List roles tags: - product:chat post: description: | Creates custom role operationId: CreateRole requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRoleRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateRoleResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create role tags: - product:chat /roles/{name}: delete: description: | Deletes custom role operationId: DeleteRole parameters: - in: path name: name required: true schema: description: Role name title: Name type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete role tags: - product:chat /search: get: description: | Search messages across channels operationId: Search parameters: - content: application/json: schema: $ref: '#/components/schemas/SearchPayload' description: JSON object with search payload title: Payload x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/SearchResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search messages tags: - product:chat /segments/{id}: delete: description: | Delete a segment operationId: DeleteSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete segment tags: - product:chat get: description: | Get segment operationId: GetSegment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetSegmentResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get segment tags: - product:chat /segments/{id}/deletetargets: post: description: | Delete targets from a segment operationId: DeleteSegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteSegmentTargetsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete targets from a segment tags: - product:chat /segments/{id}/target/{target_id}: get: description: | Check whether a target exists in a segment. Returns 200 if the target exists, 404 otherwise operationId: SegmentTargetExists parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" - in: path name: target_id required: true schema: type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Check whether a target exists in a segment tags: - product:chat /segments/{id}/targets/query: post: description: | Query segment targets operationId: QuerySegmentTargets parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QuerySegmentTargetsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segment targets tags: - product:chat /segments/query: post: description: | Query segments operationId: QuerySegments requestBody: content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QuerySegmentsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query segments tags: - product:chat /stats/team_usage: post: description: | Retrieve team-level usage statistics from the warehouse database. Returns all 16 metrics grouped by team with cursor-based pagination. **Date Range Options (mutually exclusive):** - Use 'month' parameter (YYYY-MM format) for monthly aggregated values - Use 'start_date'/'end_date' parameters (YYYY-MM-DD format) for daily breakdown - If neither provided, defaults to current month (monthly mode) This endpoint is server-side only. operationId: QueryTeamUsageStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsRequest' description: Query Team Usage Stats Request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryTeamUsageStatsResponse' description: Query Team Usage Stats Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Team Usage Statistics tags: - product:chat /tasks/{id}: get: description: | Gets status of a task operationId: GetTask parameters: - in: path name: id required: true schema: description: Task ID title: ID type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetTaskResponse' description: Get Task Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get status of a task tags: - product:chat /threads: post: description: | Returns the list of threads for specific user operationId: QueryThreads requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryThreadsRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/QueryThreadsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Threads tags: - product:chat /threads/{message_id}: get: description: | Return a specific thread operationId: GetThread parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: reply_limit schema: description: Limit the number of replies returned format: int32 minimum: 0 title: Reply limit type: integer writeOnly: true x-stream-index: "004" - in: query name: participant_limit schema: description: Limit the number of participants returned format: int32 maximum: 100 minimum: 0 title: Participant limit type: integer writeOnly: true x-stream-index: "005" - in: query name: member_limit schema: description: Limit the number of members returned per thread channel format: int32 maximum: 100 minimum: 0 title: Member limit type: integer writeOnly: true x-stream-index: "006" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetThreadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Thread tags: - product:chat patch: description: | Updates certain fields of the thread Sends events: - thread.updated operationId: UpdateThreadPartial parameters: - in: path name: message_id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateThreadPartialResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update thread tags: - product:chat /unread: get: description: | Fetch unread counts for a single user operationId: UnreadCounts parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "001.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/WrappedUnreadCountsResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unread counts tags: - product:chat /unread_batch: post: description: | Fetch unread counts in batch for multiple users in one call operationId: UnreadCountsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnreadCountsBatchResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Batch unread counts tags: - product:chat /uploads/file: delete: description: | Deletes previously uploaded file operationId: DeleteFile parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete file tags: - product:chat post: description: | Uploads file operationId: UploadFile requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileUploadRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/FileUploadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload file tags: - product:chat /uploads/image: delete: description: | Deletes previously uploaded image operationId: DeleteImage parameters: - in: query name: url schema: description: File URL to delete title: URL type: string writeOnly: true x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete image tags: - product:chat post: description: | Uploads image operationId: UploadImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ImageUploadRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ImageUploadResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upload image tags: - product:chat /usergroups: get: description: | Lists user groups with cursor-based pagination operationId: ListUserGroups parameters: - in: query name: limit schema: format: int32 maximum: 100 minimum: 1 type: integer writeOnly: true x-stream-index: "001" - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: "002" - in: query name: created_at_gt schema: type: string writeOnly: true x-stream-index: "003" - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: "004" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ListUserGroupsResponse' description: ListUserGroupsResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List user groups tags: - product:chat post: description: | Creates a new user group, optionally with initial members operationId: CreateUserGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupRequest' description: CreateUserGroupRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupResponse' description: CreateUserGroupResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create user group tags: - product:chat /usergroups/{id}: delete: description: | Deletes a user group and all its members operationId: DeleteUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete user group tags: - product:chat get: description: | Gets a user group by ID, including its members operationId: GetUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: "002" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetUserGroupResponse' description: GetUserGroupResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user group tags: - product:chat put: description: | Updates a user group's name and/or description. team_id is immutable. operationId: UpdateUserGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupRequest' description: UpdateUserGroupRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateUserGroupResponse' description: UpdateUserGroupResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update user group tags: - product:chat /usergroups/{id}/members: post: description: | Adds members to a user group. All user IDs must exist. The operation is all-or-nothing. operationId: AddUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersRequest' description: AddUserGroupMembersRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/AddUserGroupMembersResponse' description: AddUserGroupMembersResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add user group members tags: - product:chat /usergroups/{id}/members/delete: post: description: | Removes members from a user group. Users already not in the group are silently ignored. operationId: RemoveUserGroupMembers parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersRequest' description: RemoveUserGroupMembersRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/RemoveUserGroupMembersResponse' description: RemoveUserGroupMembersResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Remove user group members tags: - product:chat /usergroups/search: get: description: | Searches user groups by name prefix for autocomplete operationId: SearchUserGroups parameters: - in: query name: query required: true schema: maxLength: 255 minLength: 1 type: string writeOnly: true x-stream-index: "001" - in: query name: limit schema: format: int32 maximum: 25 minimum: 1 type: integer writeOnly: true x-stream-index: "002" - in: query name: name_gt schema: type: string writeOnly: true x-stream-index: "003" - in: query name: id_gt schema: type: string writeOnly: true x-stream-index: "004" - in: query name: team_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: "005" responses: "200": content: application/json: schema: $ref: '#/components/schemas/SearchUserGroupsResponse' description: SearchUserGroupsResponse "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Search user groups tags: - product:chat /users: get: description: | Find and filter users operationId: QueryUsers parameters: - content: application/json: schema: $ref: '#/components/schemas/QueryUsersPayload' x-stream-index: "001" in: query name: payload responses: "200": content: application/json: schema: $ref: '#/components/schemas/QueryUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query users tags: - product:chat patch: description: | Updates certain fields of the user Sends events: - user.presence.changed - user.updated operationId: UpdateUsersPartial requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersPartialRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partially update user tags: - product:chat post: description: | Update or create users in bulk Sends events: - user.updated operationId: UpdateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UpdateUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert users tags: - product:chat /users/{user_id}/deactivate: post: description: | Deactivates user with possibility to activate it back Sends events: - user.deactivated operationId: DeactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string writeOnly: true x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeactivateUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate user tags: - product:chat /users/{user_id}/event: post: description: | Sends a custom event to a user Sends events: - * operationId: SendUserCustomEvent parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: "002" requestBody: content: application/json: schema: $ref: '#/components/schemas/SendUserCustomEventRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Send user event tags: - product:chat /users/{user_id}/export: get: description: | Exports the user's profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions operationId: ExportUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: "001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/ExportUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export user tags: - product:chat /users/{user_id}/reactivate: post: description: | Activates user who's been deactivated previously Sends events: - user.reactivated operationId: ReactivateUser parameters: - in: path name: user_id required: true schema: title: User ID type: string x-stream-index: "001" requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUserRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ReactivateUserResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate user tags: - product:chat /users/block: get: description: | Get list of blocked Users operationId: GetBlockedUsers parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "002.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/GetBlockedUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get list of blocked Users tags: - product:chat post: description: | Block users operationId: BlockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/BlockUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Block user tags: - product:chat /users/deactivate: post: description: | Deactivate users in batches Sends events: - user.deactivated operationId: DeactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersRequest' description: DeactivateUsersRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeactivateUsersResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Deactivate users tags: - product:chat /users/delete: post: description: | Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted operationId: DeleteUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/DeleteUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete Users tags: - product:chat /users/live_locations: get: description: | Retrieves all active live locations for a user operationId: GetUserLiveLocations parameters: - in: query name: user_id schema: description: User ID to get live locations for. If not provided, returns live locations for the authenticated user. title: string type: string writeOnly: true x-stream-index: "001.001" responses: "200": content: application/json: schema: $ref: '#/components/schemas/SharedLocationsResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get user live locations tags: - product:chat put: description: | Updates an existing live location with new coordinates or expiration time operationId: UpdateLiveLocation parameters: - in: query name: user_id schema: type: string writeOnly: true x-stream-index: "005.001" requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateLiveLocationRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SharedLocationResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update live location tags: - product:chat /users/reactivate: post: description: | Reactivate users in batches Sends events: - user.reactivated operationId: ReactivateUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersRequest' description: ReactivateUsersRequest required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ReactivateUsersResponse' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reactivate users tags: - product:chat /users/restore: post: description: | Restore soft deleted users operationId: RestoreUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Response' description: Response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore users tags: - product:chat /users/unblock: post: description: | Unblock users operationId: UnblockUsers requestBody: content: application/json: schema: $ref: '#/components/schemas/UnblockUsersRequest' required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/UnblockUsersResponse' description: Successful response "400": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request "429": content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unblock user tags: - product:chat security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] servers: - description: Stream API url: https://chat.stream-io-api.com