@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Stream API
@base https://chat.stream-io-api.com
@version v225.3.1
@auth ApiKey Authorization in header | ApiKey api_key in query | ApiKey Stream-Auth-Type in header
@endpoints 175
@hint download_for_search
@toc app(2), blocklists(5), campaigns(4), channels(25), channeltypes(5), check_push(1), check_sns(1), check_sqs(1), commands(5), devices(3), drafts(1), export(1), export_channels(1), external_storage(5), guest(1), import_urls(1), imports(11), members(1), messages(20), moderation(8), og(1), permissions(2), polls(11), push_preferences(1), push_providers(3), push_templates(2), query_banned_users(1), query_future_channel_bans(1), rate_limits(1), reminders(1), retention_policy(4), roles(3), search(1), segments(6), stats(1), tasks(1), threads(3), unread(1), unread_batch(1), uploads(4), usergroups(8), users(16)

@group app
@endpoint GET /app
@returns(200) {app: map{activity_metrics_config: map, allow_multi_user_devices: bool, allowed_flag_reasons: [str], async_url_enrich_enabled: bool, auto_translation_enabled: bool, before_message_send_hook_url: str, call_types: map, campaign_enabled: bool, cdn_expiration_seconds: int(int32), channel_configs: map, custom_action_handler_url: str, datadog_info: map{api_key: str, enabled: bool, site: str}, disable_auth_checks: bool, disable_permissions_checks: bool, enforce_unique_usernames: str, event_hooks: [map], file_upload_config: map{allowed_file_extensions: [str], allowed_mime_types: [str], blocked_file_extensions: [str], blocked_mime_types: [str], size_limit: int(int32)}, geofences: [map], grants: map, guest_user_creation_disabled: bool, id: int(int32), image_moderation_enabled: bool, image_moderation_labels: [str], image_upload_config: map{allowed_file_extensions: [str], allowed_mime_types: [str], blocked_file_extensions: [str], blocked_mime_types: [str], size_limit: int(int32)}, max_aggregated_activities_length: int(int32), moderation_audio_call_moderation_enabled: bool, moderation_dashboard_preferences: map{allowed_moderation_action_reasons: [str], async_review_queue_upsert: bool, disable_audit_logs: bool, disable_flagging_reviewed_entity: bool, escalation_queue_enabled: bool, escalation_reasons: [str], flag_user_on_flagged_content: bool, keyframe_classifications_map: map, media_queue_blur_enabled: bool, overview_dashboard: map{default_date_range_days: int(int32), visible_charts: [str]}}, moderation_enabled: bool, moderation_llm_configurability_enabled: bool, moderation_multitenant_blocklist_enabled: bool, moderation_s3_image_access_role_arn: str, moderation_video_call_moderation_enabled: bool, moderation_webhook_url: str, multi_tenant_enabled: bool, name: str, organization: str, permission_version: str, placement: str, policies: map, push_notifications: map{apn: map{auth_key: str, auth_type: str, bundle_id: str, development: bool, enabled: bool, host: str, key_id: str, notification_template: str, p12_cert: str, team_id: str}, firebase: map{apn_template: str, credentials_json: str, data_template: str, enabled: bool, notification_template: str, server_key: str}, huawei: map{enabled: bool, id: str, secret: str}, offline_only: bool, providers: [map], version: str, xiaomi: map{enabled: bool, package_name: str, secret: str}}, reminders_interval: int(int32), revoke_tokens_issued_before: str(date-time), sns_key: str, sns_secret: str, sns_topic_arn: str, sqs_key: str, sqs_secret: str, sqs_url: str, suspended: bool, suspended_explanation: str, use_hook_v2: bool, user_response_time_enabled: bool, user_search_disallowed_roles: [str], webhook_events: [str], webhook_url: str}, duration: str}
@errors {400, 429}

@endpoint PATCH /app
@optional {activity_metrics_config: map, allowed_flag_reasons: [str], apn_config: map{Disabled: bool, auth_key: str, auth_type: str, bundle_id: str, development: bool, host: str, key_id: str, notification_template: str, p12_cert: str, team_id: str}, async_moderation_config: map{callback: map, timeout_ms: int(int32)}, async_url_enrich_enabled: bool, auto_translation_enabled: bool, before_message_send_hook_url: str, cdn_expiration_seconds: int(int32), channel_hide_members_only: bool, custom_action_handler_url: str, datadog_info: map{api_key: str, enabled: bool, site: str}, disable_auth_checks: bool, disable_permissions_checks: bool, enforce_unique_usernames: str(no/app/team), event_hooks: [map{callback: map, created_at: str(date-time), enabled: bool, event_types: [str], hook_type: str, id: str, product: str, should_send_custom_events: bool, sns_auth_type: str, sns_event_based_message_group_id_enabled: bool, sns_key: str, sns_region: str, sns_role_arn: str, sns_secret: str, sns_topic_arn: str, sqs_auth_type: str, sqs_key: str, sqs_queue_url: str, sqs_region: str, sqs_role_arn: str, sqs_secret: str, timeout_ms: int(int32), updated_at: str(date-time), webhook_url: str}], feeds_moderation_enabled: bool, feeds_v2_region: str, file_upload_config: map{allowed_file_extensions: [str], allowed_mime_types: [str], blocked_file_extensions: [str], blocked_mime_types: [str], size_limit!: int(int32)}, firebase_config: map{Disabled: bool, apn_template: str, credentials_json: str, data_template: str, notification_template: str, server_key: str}, grants: map, guest_user_creation_disabled: bool, huawei_config: map{Disabled: bool, id: str, secret: str}, image_moderation_block_labels: [str], image_moderation_enabled: bool, image_moderation_labels: [str], image_upload_config: map{allowed_file_extensions: [str], allowed_mime_types: [str], blocked_file_extensions: [str], blocked_mime_types: [str], size_limit!: int(int32)}, max_aggregated_activities_length: int(int32), migrate_permissions_to_v2: bool, moderation_analytics_enabled: bool, moderation_dashboard_preferences: map{allowed_moderation_action_reasons: [str], async_review_queue_upsert: bool, disable_audit_logs: bool, disable_flagging_reviewed_entity: bool, escalation_queue_enabled: bool, escalation_reasons: [str], flag_user_on_flagged_content: bool, keyframe_classifications_map: map, media_queue_blur_enabled: bool, overview_dashboard: map}, moderation_enabled: bool, moderation_s3_image_access_role_arn: str, moderation_webhook_url: str, multi_tenant_enabled: bool, permission_version: str(v1/v2), push_config: map{offline_only: bool, version!: str}, reminders_interval: int(int32), reminders_max_members: int(int32), revoke_tokens_issued_before: str(date-time), sns_key: str, sns_secret: str, sns_topic_arn: str, sqs_key: str, sqs_secret: str, sqs_url: str, user_response_time_enabled: bool, user_search_disallowed_roles: [str], webhook_events: [str], webhook_url: str, xiaomi_config: map{Disabled: bool, package_name: str, secret: str}}
@returns(200) {duration: str}
@errors {400, 429}

@endgroup

@group blocklists
@endpoint GET /blocklists
@optional {team: str}
@returns(200) {blocklists: [map], duration: str}
@errors {400, 429}

@endpoint POST /blocklists
@required {name: str, words: [str]}
@optional {is_leet_check_enabled: bool, is_plural_check_enabled: bool, team: str, type: str(regex/domain/domain_allowlist/email/email_allowlist/word)}
@returns(201) {blocklist: map{created_at: str(date-time), id: str, is_leet_check_enabled: bool, is_plural_check_enabled: bool, name: str, team: str, type: str, updated_at: str(date-time), words: [str]}, duration: str}
@errors {400, 429}

@endpoint DELETE /blocklists/{name}
@required {name: str}
@optional {team: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /blocklists/{name}
@required {name: str}
@optional {team: str}
@returns(200) {blocklist: map{created_at: str(date-time), id: str, is_leet_check_enabled: bool, is_plural_check_enabled: bool, name: str, team: str, type: str, updated_at: str(date-time), words: [str]}, duration: str}
@errors {400, 429}

@endpoint PUT /blocklists/{name}
@required {name: str}
@optional {is_leet_check_enabled: bool, is_plural_check_enabled: bool, team: str, words: [str]}
@returns(201) {blocklist: map{created_at: str(date-time), id: str, is_leet_check_enabled: bool, is_plural_check_enabled: bool, name: str, team: str, type: str, updated_at: str(date-time), words: [str]}, duration: str}
@errors {400, 429}

@endgroup

@group campaigns
@endpoint GET /campaigns/{id}
@required {id: str}
@optional {prev: str, next: str, limit: int(int32)}
@returns(200) {campaign: map{channel_template: map{custom: map, id: str, members: [str], members_template: [map], team: str, type: str}, create_channels: bool, created_at: str(date-time), description: str, id: str, message_template: map{attachments: [map], custom: map, poll_id: str, searchable: bool, text: str}, name: str, scheduled_for: str(date-time), segment_ids: [str], segments: [map], sender: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, sender_id: str, sender_mode: str, sender_visibility: str, show_channels: bool, skip_push: bool, skip_webhook: bool, stats: map{progress: num(float), stats_channels_created: int(int32), stats_completed_at: str(date-time), stats_messages_sent: int(int32), stats_started_at: str(date-time), stats_users_read: int(int32), stats_users_sent: int(int32)}, status: str, stop_at: str(date-time), updated_at: str(date-time), user_ids: [str], users: [map]}, duration: str, users: map{next: str, prev: str}}
@errors {400, 429}

@endpoint POST /campaigns/{id}/start
@required {id: str}
@optional {scheduled_for: str(date-time), stop_at: str(date-time)}
@returns(201) {campaign: map{channel_template: map{custom: map, id: str, members: [str], members_template: [map], team: str, type: str}, create_channels: bool, created_at: str(date-time), description: str, id: str, message_template: map{attachments: [map], custom: map, poll_id: str, searchable: bool, text: str}, name: str, scheduled_for: str(date-time), segment_ids: [str], segments: [map], sender: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, sender_id: str, sender_mode: str, sender_visibility: str, show_channels: bool, skip_push: bool, skip_webhook: bool, stats: map{progress: num(float), stats_channels_created: int(int32), stats_completed_at: str(date-time), stats_messages_sent: int(int32), stats_started_at: str(date-time), stats_users_read: int(int32), stats_users_sent: int(int32)}, status: str, stop_at: str(date-time), updated_at: str(date-time), user_ids: [str], users: [map]}, duration: str, users: map{next: str, prev: str}}
@errors {400, 429}

@endpoint POST /campaigns/{id}/stop
@required {id: str}
@returns(201) {channel_template: map{custom: map, id: str, members: [str], members_template: [map], team: str, type: str}, create_channels: bool, created_at: str(date-time), description: str, id: str, message_template: map{attachments: [map], custom: map, poll_id: str, searchable: bool, text: str}, name: str, scheduled_for: str(date-time), segment_ids: [str], segments: [map], sender: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, sender_id: str, sender_mode: str, sender_visibility: str, show_channels: bool, skip_push: bool, skip_webhook: bool, stats: map{progress: num(float), stats_channels_created: int(int32), stats_completed_at: str(date-time), stats_messages_sent: int(int32), stats_started_at: str(date-time), stats_users_read: int(int32), stats_users_sent: int(int32)}, status: str, stop_at: str(date-time), updated_at: str(date-time), user_ids: [str], users: [map]}
@errors {400, 429}

@endpoint POST /campaigns/query
@optional {filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}], user_limit: int(int32)}
@returns(201) {campaigns: [map], duration: str, next: str, prev: str}
@errors {400, 429}

@endgroup

@group channels
@endpoint POST /channels
@optional {filter_conditions: map, filter_values: map, limit: int(int32), member_limit: int(int32), message_limit: int(int32), offset: int(int32), predefined_filter: str, sort: [map{direction: int(int32), field: str, type: str}], sort_values: map, state: bool, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {channels: [map], duration: str, predefined_filter: map{filter: map, name: str, sort: [map]}}
@errors {400, 429}

@endpoint DELETE /channels/{type}/{id}
@required {type: str, id: str}
@optional {hard_delete: bool}
@returns(200) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, duration: str}
@errors {400, 429}

@endpoint PATCH /channels/{type}/{id}
@required {type: str, id: str}
@optional {set: map, unset: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(200) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, duration: str, members: [map]}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}
@required {type: str, id: str}
@optional {accept_invite: bool, add_filter_tags: [str], add_members: [map{channel_role: str, custom: map, user: map, user_id!: str}], add_moderators: [str], assign_roles: [map{channel_role: str, custom: map, user: map, user_id!: str}], cooldown: int(int32), data: map{auto_translation_enabled: bool, auto_translation_language: str, config_overrides: map, created_by: map, custom: map, disabled: bool, frozen: bool, invites: [map], members: [map], team: str}, demote_moderators: [str], hide_history: bool, hide_history_before: str(date-time), invites: [map{channel_role: str, custom: map, user: map, user_id!: str}], message: map{attachments: [map], custom: map, html: str, id: str, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [str], mml: str, parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), poll_id: str, quoted_message_id: str, restricted_visibility: [str], shared_location: map, show_in_channel: bool, silent: bool, text: str, type: str, user: map, user_id: str}, reject_invite: bool, remove_filter_tags: [str], remove_members: [str], skip_push: bool, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, duration: str, members: [map], message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint DELETE /channels/{type}/{id}/draft
@required {type: str, id: str}
@optional {parent_id: str, user_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /channels/{type}/{id}/draft
@required {type: str, id: str}
@optional {parent_id: str, user_id: str}
@returns(200) {draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}, duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/event
@required {type: str, id: str, event: map{custom: map, parent_id: str, type!: str, user: map, user_id: str}}
@returns(201) {duration: str, event: map{automoderation: bool, automoderation_scores: map{action: str, explicit: num(float), spam: num(float), toxic: num(float)}, channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_id: str, channel_last_message_at: str(date-time), channel_type: str, cid: str, connection_id: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, me: map{avg_response_time: int(int32), banned: bool, blocked_user_ids: [str], channel_mutes: [map], created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), latest_hidden_channels: [str], mutes: [map], name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_preferences: map{call_level: str, chat_level: str, chat_preferences: map, disabled_until: str(date-time), feeds_level: str, feeds_preferences: map}, revoke_tokens_issued_before: str(date-time), role: str, teams: [str], teams_role: map, total_unread_count: int(int32), total_unread_count_by_team: map, unread_channels: int(int32), unread_count: int(int32), unread_threads: int(int32), updated_at: str(date-time)}, member: map{channel_role: str, notifications_muted: bool}, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, message_update: map{change_set: map{attachments: bool, custom: bool, html: bool, mentioned_user_ids: bool, mml: bool, pin: bool, quoted_message_id: bool, silent: bool, text: bool}, old_text: str}, parent_id: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_vote: map?{answer_text: str, created_at: str(date-time), id: str, is_answer: bool, option_id: str, poll_id: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reaction: map{created_at: str(date-time), custom: map, message_id: str, score: int(int32), type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reason: str, team: str, thread: map{active_participant_count: int(int32), channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_user_id: str, custom: map, deleted_at: str(date-time), last_message_at: str(date-time), parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, parent_message_id: str, participant_count: int(int32), reply_count: int(int32), thread_participants: [map], title: str, updated_at: str(date-time)}, thread_id: str, type: str, user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str, watcher_count: int(int32)}}
@errors {400, 429}

@endpoint DELETE /channels/{type}/{id}/file
@required {type: str, id: str}
@optional {url: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/file
@required {type: str, id: str}
@returns(201) {duration: str, file: str, moderation_action: str, thumb_url: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/hide
@required {type: str, id: str}
@optional {clear_history: bool, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint DELETE /channels/{type}/{id}/image
@required {type: str, id: str}
@optional {url: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/image
@required {type: str, id: str}
@returns(201) {duration: str, file: str, moderation_action: str, thumb_url: str, upload_sizes: [map]}
@errors {400, 429}

@endpoint PATCH /channels/{type}/{id}/member
@required {type: str, id: str}
@optional {user_id: str, set: map, unset: [str]}
@returns(200) {channel_member: map{channel_role: str, notifications_muted: bool}, duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/message
@required {type: str, id: str, message: map{attachments: [map], custom: map, html: str, id: str, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [str], mml: str, parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), poll_id: str, quoted_message_id: str, restricted_visibility: [str], shared_location: map, show_in_channel: bool, silent: bool, text: str, type: str, user: map, user_id: str}}
@optional {force_moderation: bool, keep_channel_hidden: bool, pending: bool, pending_message_metadata: map, skip_enrich_url: bool, skip_push: bool}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, pending_message_metadata: map}
@errors {400, 429}

@endpoint GET /channels/{type}/{id}/messages
@required {type: str, id: str, ids: [str]}
@returns(200) {duration: str, messages: [map]}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/query
@required {type: str, id: str}
@optional {data: map{auto_translation_enabled: bool, auto_translation_language: str, config_overrides: map, created_by: map, created_by_id: str, custom: map, disabled: bool, filter_tags: [str], frozen: bool, invites: [map], members: [map], team: str, truncated_by_id: str}, hide_for_creator: bool, members: map{limit: int(int32), offset: int(int32)}, messages: map{created_at_after: str(date-time), created_at_after_or_equal: str(date-time), created_at_around: str(date-time), created_at_before: str(date-time), created_at_before_or_equal: str(date-time), id_around: str, id_gt: str, id_gte: str, id_lt: str, id_lte: str, limit: int(int32)}, state: bool, thread_unread_counts: bool, watchers: map{limit: int(int32), offset: int(int32)}}
@returns(201) {active_live_locations: [map], channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}, duration: str, hidden: bool, hide_messages_before: str(date-time), members: [map], membership: map{channel_role: str, notifications_muted: bool}, messages: [map], pending_messages: [map], pinned_messages: [map], push_preferences: map{chat_level: str, disabled_until: str(date-time)}, read: [map], threads: [map], watcher_count: int(int32), watchers: [map]}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/read
@required {type: str, id: str}
@optional {message_id: str, thread_id: str, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, event: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_id: str, channel_last_message_at: str(date-time), channel_type: str, cid: str, created_at: str(date-time), last_read_message_id: str, team: str, thread: map{active_participant_count: int(int32), channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_user_id: str, custom: map, deleted_at: str(date-time), last_message_at: str(date-time), parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, parent_message_id: str, participant_count: int(int32), reply_count: int(int32), thread_participants: [map], title: str, updated_at: str(date-time)}, type: str, user: map{avg_response_time: int(int32), banned: bool, blocked_user_ids: [str], created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), id: str, image: str, language: str, last_active: str(date-time), name: str, online: bool, revoke_tokens_issued_before: str(date-time), role: str, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/show
@required {type: str, id: str}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/truncate
@required {type: str, id: str}
@optional {hard_delete: bool, member_ids: [str], message: map{attachments: [map], custom: map, html: str, id: str, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [str], mml: str, parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), poll_id: str, quoted_message_id: str, restricted_visibility: [str], shared_location: map, show_in_channel: bool, silent: bool, text: str, type: str, user: map, user_id: str}, skip_push: bool, truncated_at: str(date-time), user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint POST /channels/{type}/{id}/unread
@required {type: str, id: str}
@optional {message_id: str, message_timestamp: str(date-time), thread_id: str, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /channels/{type}/query
@required {type: str}
@optional {data: map{auto_translation_enabled: bool, auto_translation_language: str, config_overrides: map, created_by: map, created_by_id: str, custom: map, disabled: bool, filter_tags: [str], frozen: bool, invites: [map], members: [map], team: str, truncated_by_id: str}, hide_for_creator: bool, members: map{limit: int(int32), offset: int(int32)}, messages: map{created_at_after: str(date-time), created_at_after_or_equal: str(date-time), created_at_around: str(date-time), created_at_before: str(date-time), created_at_before_or_equal: str(date-time), id_around: str, id_gt: str, id_gte: str, id_lt: str, id_lte: str, limit: int(int32)}, state: bool, thread_unread_counts: bool, watchers: map{limit: int(int32), offset: int(int32)}}
@returns(201) {active_live_locations: [map], channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}, duration: str, hidden: bool, hide_messages_before: str(date-time), members: [map], membership: map{channel_role: str, notifications_muted: bool}, messages: [map], pending_messages: [map], pinned_messages: [map], push_preferences: map{chat_level: str, disabled_until: str(date-time)}, read: [map], threads: [map], watcher_count: int(int32), watchers: [map]}
@errors {400, 429}

@endpoint PUT /channels/batch
@required {filter: map, operation: str(addMembers/removeMembers/inviteMembers/invites/assignRoles/addModerators/demoteModerators/hide/show/archive/unarchive/updateData)}
@optional {data: map{auto_translation_enabled: bool, auto_translation_language: str, config_overrides: map, custom: map, disabled: bool, frozen: bool, team: str}, members: [map{channel_role: str, user_id!: str}]}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endpoint POST /channels/delete
@required {cids: [str]}
@optional {hard_delete: bool}
@returns(201) {duration: str, result: map, task_id: str}
@errors {400, 429}

@endpoint POST /channels/delivered
@optional {user_id: str, latest_delivered_messages: [map{cid: str, id: str}]}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /channels/read
@optional {read_by_channel: map, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, event: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_id: str, channel_last_message_at: str(date-time), channel_type: str, cid: str, created_at: str(date-time), last_read_message_id: str, team: str, thread: map{active_participant_count: int(int32), channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_user_id: str, custom: map, deleted_at: str(date-time), last_message_at: str(date-time), parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, parent_message_id: str, participant_count: int(int32), reply_count: int(int32), thread_participants: [map], title: str, updated_at: str(date-time)}, type: str, user: map{avg_response_time: int(int32), banned: bool, blocked_user_ids: [str], created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), id: str, image: str, language: str, last_active: str(date-time), name: str, online: bool, revoke_tokens_issued_before: str(date-time), role: str, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endgroup

@group channeltypes
@endpoint GET /channeltypes
@returns(200) {channel_types: map, duration: str}
@errors {400, 429}

@endpoint POST /channeltypes
@required {automod: str(disabled/simple/AI), automod_behavior: str(flag/block), max_message_length: int(int32), name: str}
@optional {blocklist: str, blocklist_behavior: str(flag/block/shadow_block), blocklists: [map{behavior!: str, blocklist!: str}], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [str], connect_events: bool, count_messages: bool, custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, message_retention: str, mutes: bool, partition_size: int(int32), partition_ttl: str(duration), permissions: [map{action!: str, name!: str, owner!: bool, priority!: int(int32), resources!: [str], roles!: [str]}], polls: bool, push_level: str(all/all_mentions/mentions/direct_mentions/none), push_notifications: bool, reactions: bool, read_events: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, uploads: bool, url_enrichment: bool, user_message_reminders: bool}
@returns(201) {allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map{block: num(float), flag: num(float)}, spam: map{block: num(float), flag: num(float)}, toxic: map{block: num(float), flag: num(float)}}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [str], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, duration: str, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, permissions: [map], polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}
@errors {400, 429}

@endpoint DELETE /channeltypes/{name}
@required {name: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /channeltypes/{name}
@required {name: str}
@returns(200) {allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map{block: num(float), flag: num(float)}, spam: map{block: num(float), flag: num(float)}, toxic: map{block: num(float), flag: num(float)}}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, duration: str, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, permissions: [map], polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}
@errors {400, 429}

@endpoint PUT /channeltypes/{name}
@required {name: str, automod: str(disabled/simple/AI), automod_behavior: str(flag/block/shadow_block), max_message_length: int(int32)}
@optional {allowed_flag_reasons: [str], automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str(flag/block/shadow_block), blocklists: [map{behavior!: str, blocklist!: str}], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [str], connect_events: bool, count_messages: bool, custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, mutes: bool, partition_size: int(int32), partition_ttl: str(duration), permissions: [map{action!: str, name!: str, owner!: bool, priority!: int(int32), resources!: [str], roles!: [str]}], polls: bool, push_level: str(all/all_mentions/mentions/direct_mentions/none), push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, uploads: bool, url_enrichment: bool, user_message_reminders: bool}
@returns(201) {allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map{block: num(float), flag: num(float)}, spam: map{block: num(float), flag: num(float)}, toxic: map{block: num(float), flag: num(float)}}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [str], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, duration: str, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, permissions: [map], polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}
@errors {400, 429}

@endgroup

@group check_push
@endpoint POST /check_push
@optional {apn_template: str, event_type: str(message.new/message.updated/reaction.new/reaction.updated/notification.reminder_due), firebase_data_template: str, firebase_template: str, message_id: str, push_provider_name: str, push_provider_type: str, skip_devices: bool, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {device_errors: map, duration: str, event_type: str, general_errors: [str], rendered_apn_template: str, rendered_firebase_template: str, rendered_message: map, skip_devices: bool}
@errors {400, 429}

@endgroup

@group check_sns
@endpoint POST /check_sns
@optional {sns_key: str, sns_secret: str, sns_topic_arn: str}
@returns(201) {data: map, duration: str, error: str, status: str}
@errors {400, 429}

@endgroup

@group check_sqs
@endpoint POST /check_sqs
@optional {sqs_key: str, sqs_secret: str, sqs_url: str}
@returns(201) {data: map, duration: str, error: str, status: str}
@errors {400, 429}

@endgroup

@group commands
@endpoint GET /commands
@returns(200) {commands: [map], duration: str}
@errors {400, 429}

@endpoint POST /commands
@required {description: str, name: str}
@optional {args: str, set: str}
@returns(201) {command: map?{args: str, created_at: str(date-time), description: str, name: str, set: str, updated_at: str(date-time)}, duration: str}
@errors {400, 429}

@endpoint DELETE /commands/{name}
@required {name: str}
@returns(200) {duration: str, name: str}
@errors {400, 429}

@endpoint GET /commands/{name}
@required {name: str}
@returns(200) {args: str, created_at: str(date-time), description: str, duration: str, name: str, set: str, updated_at: str(date-time)}
@errors {400, 429}

@endpoint PUT /commands/{name}
@required {name: str, description: str}
@optional {args: str, set: str}
@returns(201) {command: map?{args: str, created_at: str(date-time), description: str, name: str, set: str, updated_at: str(date-time)}, duration: str}
@errors {400, 429}

@endgroup

@group devices
@endpoint DELETE /devices
@required {id: str}
@optional {user_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /devices
@optional {user_id: str}
@returns(200) {devices: [map], duration: str}
@errors {400, 429}

@endpoint POST /devices
@required {id: str, push_provider: str(firebase/apn/huawei/xiaomi)}
@optional {push_provider_name: str, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str, voip_token: bool}
@returns(201) {duration: str}
@errors {400, 429}

@endgroup

@group drafts
@endpoint POST /drafts/query
@optional {filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {drafts: [map], duration: str, next: str, prev: str}
@errors {400, 429}

@endgroup

@group export
@endpoint POST /export/users
@required {user_ids: [str]}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endgroup

@group export_channels
@endpoint POST /export_channels
@required {channels: [map{cid: str, id: str, messages_since: str(date-time), messages_until: str(date-time), type: str}]}
@optional {clear_deleted_message_text: bool, export_users: bool, include_soft_deleted_channels: bool, include_truncated_messages: bool, version: str}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endgroup

@group external_storage
@endpoint GET /external_storage
@returns(200) {duration: str, external_storages: map}
@errors {400, 429}

@endpoint POST /external_storage
@required {bucket: str, name: str, storage_type: str(s3/gcs/abs)}
@optional {aws_s3: map{s3_api_key: str, s3_custom_endpoint_url: str, s3_region!: str, s3_secret: str}, azure_blob: map{abs_account_name!: str, abs_client_id!: str, abs_client_secret!: str, abs_tenant_id!: str}, gcs_credentials: str, path: str}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint DELETE /external_storage/{name}
@required {name: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint PUT /external_storage/{name}
@required {name: str, bucket: str, storage_type: str(s3/gcs/abs)}
@optional {aws_s3: map{s3_api_key: str, s3_custom_endpoint_url: str, s3_region!: str, s3_secret: str}, azure_blob: map{abs_account_name!: str, abs_client_id!: str, abs_client_secret!: str, abs_tenant_id!: str}, gcs_credentials: str, path: str}
@returns(201) {bucket: str, duration: str, name: str, path: str, type: str}
@errors {400, 429}

@endpoint GET /external_storage/{name}/check
@required {name: str}
@returns(200) {duration: str, file_url: str}
@errors {400, 429}

@endgroup

@group guest
@endpoint POST /guest
@required {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}}
@returns(201) {access_token: str, duration: str, user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}
@errors {400, 429}

@endgroup

@group import_urls
@endpoint POST /import_urls
@optional {filename: str}
@returns(201) {duration: str, path: str, upload_url: str}
@errors {400, 429}

@endgroup

@group imports
@endpoint GET /imports
@returns(200) {duration: str, import_tasks: [map]}
@errors {400, 429}

@endpoint POST /imports
@required {mode: str(insert/upsert), path: str}
@optional {merge_custom: bool}
@returns(201) {duration: str, import_task: map{created_at: str(date-time), history: [map], id: str, mode: str, path: str, size: int(int64), state: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint GET /imports/{id}
@required {id: str}
@returns(200) {duration: str, import_task: map{created_at: str(date-time), history: [map], id: str, mode: str, path: str, size: int(int64), state: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint GET /imports/v2
@optional {state: int(int32)}
@returns(200) {duration: str, import_tasks: [map], next: str, prev: str}
@errors {400, 429}

@endpoint POST /imports/v2
@required {product: str(chat/feeds), settings: map{merge_custom: bool, mode: str, path: str, s3: map, skip_references_check: bool}}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {app_pk: int(int32), created_at: str(date-time), duration: str, id: str, product: str, settings: map{merge_custom: bool, mode: str, path: str, s3: map{bucket: str, dir: str, region: str}, skip_references_check: bool}, state: int, updated_at: str(date-time)}
@errors {400, 429}

@endpoint DELETE /imports/v2/{id}
@required {id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /imports/v2/{id}
@required {id: str}
@returns(200) {app_pk: int(int32), created_at: str(date-time), duration: str, id: str, product: str, result: map, settings: map{merge_custom: bool, mode: str, path: str, s3: map{bucket: str, dir: str, region: str}, skip_references_check: bool}, state: int, updated_at: str(date-time)}
@errors {400, 429}

@endpoint DELETE /imports/v2/external-storage
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /imports/v2/external-storage
@returns(200) {aws_s3: map{bucket: str, path_prefix: str, region: str, role_arn: str}, created_at: str(date-time), duration: str, type: str, updated_at: str(date-time)}
@errors {400, 429}

@endpoint PUT /imports/v2/external-storage
@required {type: str}
@optional {aws_s3: map{bucket!: str, path_prefix: str, region!: str, role_arn!: str}}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /imports/v2/external-storage/validate
@returns(201) {duration: str}
@errors {400, 429}

@endgroup

@group members
@endpoint GET /members
@optional {payload: any}
@returns(200) {duration: str, members: [map]}
@errors {400, 429}

@endgroup

@group messages
@endpoint DELETE /messages/{id}
@required {id: str}
@optional {hard: bool, deleted_by: str, delete_for_me: bool}
@returns(200) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint GET /messages/{id}
@required {id: str}
@optional {show_deleted_message: bool}
@returns(200) {duration: str, message: map{attachments: [map], channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, pending_message_metadata: map}
@errors {400, 429}

@endpoint POST /messages/{id}
@required {id: str, message: map{attachments: [map], custom: map, html: str, id: str, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [str], mml: str, parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), poll_id: str, quoted_message_id: str, restricted_visibility: [str], shared_location: map, show_in_channel: bool, silent: bool, text: str, type: str, user: map, user_id: str}}
@optional {skip_enrich_url: bool, skip_push: bool}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, pending_message_metadata: map}
@errors {400, 429}

@endpoint PUT /messages/{id}
@required {id: str}
@optional {set: map, skip_enrich_url: bool, skip_push: bool, unset: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, pending_message_metadata: map}
@errors {400, 429}

@endpoint POST /messages/{id}/action
@required {id: str, form_data: map}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint POST /messages/{id}/commit
@required {id: str}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint PATCH /messages/{id}/ephemeral
@required {id: str}
@optional {set: map, skip_enrich_url: bool, skip_push: bool, unset: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(200) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, pending_message_metadata: map}
@errors {400, 429}

@endpoint POST /messages/{id}/reaction
@required {id: str, reaction: map{created_at: str(date-time), custom: map, score: int(int32), type!: str, updated_at: str(date-time), user: map, user_id: str}}
@optional {enforce_unique: bool, skip_push: bool}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, reaction: map{created_at: str(date-time), custom: map, message_id: str, score: int(int32), type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}}
@errors {400, 429}

@endpoint DELETE /messages/{id}/reaction/{type}
@required {id: str, type: str}
@optional {user_id: str}
@returns(200) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, reaction: map{created_at: str(date-time), custom: map, message_id: str, score: int(int32), type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}}
@errors {400, 429}

@endpoint GET /messages/{id}/reactions
@required {id: str}
@optional {limit: int(int32), offset: int(int32)}
@returns(200) {duration: str, reactions: [map]}
@errors {400, 429}

@endpoint POST /messages/{id}/reactions
@required {id: str}
@optional {filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, next: str, prev: str, reactions: [map]}
@errors {400, 429}

@endpoint POST /messages/{id}/translate
@required {id: str, language: str(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)}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint POST /messages/{id}/undelete
@required {id: str, undeleted_by: str}
@returns(201) {duration: str, message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}}
@errors {400, 429}

@endpoint POST /messages/{message_id}/polls/{poll_id}/vote
@required {message_id: str, poll_id: str}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str, vote: map{answer_text: str, option_id: str}}
@returns(201) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, vote: map?{answer_text: str, created_at: str(date-time), id: str, is_answer: bool, option_id: str, poll_id: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}}
@errors {400, 429}

@endpoint DELETE /messages/{message_id}/polls/{poll_id}/vote/{vote_id}
@required {message_id: str, poll_id: str, vote_id: str}
@optional {user_id: str}
@returns(200) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, vote: map?{answer_text: str, created_at: str(date-time), id: str, is_answer: bool, option_id: str, poll_id: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}}
@errors {400, 429}

@endpoint DELETE /messages/{message_id}/reminders
@required {message_id: str}
@optional {user_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint PATCH /messages/{message_id}/reminders
@required {message_id: str}
@optional {remind_at: str(date-time), user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(200) {duration: str, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}}
@errors {400, 429}

@endpoint POST /messages/{message_id}/reminders
@required {message_id: str}
@optional {remind_at: str(date-time), user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}
@errors {400, 429}

@endpoint GET /messages/{parent_id}/replies
@required {parent_id: str}
@optional {sort: [map], limit: int(int32), id_gte: str, id_gt: str, id_lte: str, id_lt: str, id_around: str}
@returns(200) {duration: str, messages: [map]}
@errors {400, 429}

@endpoint POST /messages/history
@required {filter: map}
@optional {limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}]}
@returns(201) {duration: str, message_history: [map], next: str, prev: str}
@errors {400, 429}

@endgroup

@group moderation
@endpoint DELETE /moderation/ban
@required {target_user_id: str}
@optional {channel_cid: str, created_by: str, remove_future_channels_ban: bool}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /moderation/ban
@required {target_user_id: str}
@optional {ban_from_future_channels: bool, banned_by: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, banned_by_id: str, channel_cid: str, delete_messages: str(soft/pruning/hard), delete_reactions: bool, ip_ban: bool, reason: str, shadow: bool, timeout: int, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /moderation/flag
@optional {custom: map, reason: str, target_message_id: str, target_user_id: str, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, flag: map{approved_at: str(date-time), created_at: str(date-time), created_by_automod: bool, custom: map, details: map{automod: map{action: str, image_labels: [str], message_details: map, original_message_type: str, result: map}, original_text: str}, reason: str, rejected_at: str(date-time), reviewed_at: str(date-time), reviewed_by: str, target_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, target_message_id: str, target_user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, review_queue_item_id: str}
@errors {400, 429}

@endpoint GET /moderation/flags/message
@optional {payload: any}
@returns(200) {duration: str, flags: [map]}
@errors {400, 429}

@endpoint POST /moderation/mute
@required {timeout: int}
@optional {target_ids: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, mute: map?{created_at: str(date-time), expires: str(date-time), target: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, mutes: [map], non_existing_users: [str], own_user: map{avg_response_time: int(int32), banned: bool, blocked_user_ids: [str], channel_mutes: [map], created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), latest_hidden_channels: [str], mutes: [map], name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_preferences: map{call_level: str, chat_level: str, chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, disabled_until: str(date-time), feeds_level: str, feeds_preferences: map{comment: str, comment_mention: str, comment_reaction: str, comment_reply: str, custom_activity_types: map, follow: str, mention: str, reaction: str}}, revoke_tokens_issued_before: str(date-time), role: str, teams: [str], teams_role: map, total_unread_count: int(int32), total_unread_count_by_team: map, unread_channels: int(int32), unread_count: int(int32), unread_threads: int(int32), updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /moderation/mute/channel
@optional {channel_cids: [str], expiration: int, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {channel_mute: map?{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, created_at: str(date-time), expires: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, channel_mutes: [map], duration: str, own_user: map{avg_response_time: int(int32), banned: bool, blocked_user_ids: [str], channel_mutes: [map], created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), latest_hidden_channels: [str], mutes: [map], name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_preferences: map{call_level: str, chat_level: str, chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, disabled_until: str(date-time), feeds_level: str, feeds_preferences: map{comment: str, comment_mention: str, comment_reaction: str, comment_reply: str, custom_activity_types: map, follow: str, mention: str, reaction: str}}, revoke_tokens_issued_before: str(date-time), role: str, teams: [str], teams_role: map, total_unread_count: int(int32), total_unread_count_by_team: map, unread_channels: int(int32), unread_count: int(int32), unread_threads: int(int32), updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /moderation/unmute
@optional {target_ids: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, non_existing_users: [str]}
@errors {400, 429}

@endpoint POST /moderation/unmute/channel
@optional {channel_cids: [str], expiration: int, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, non_existing_users: [str]}
@errors {400, 429}

@endgroup

@group og
@endpoint GET /og
@required {url: str}
@returns(200) {actions: [map], asset_url: str, author_icon: str, author_link: str, author_name: str, color: str, custom: map, duration: str, fallback: str, fields: [map], footer: str, footer_icon: str, giphy: map{fixed_height: map{frames: str, height: str, size: str, url: str, width: str}, fixed_height_downsampled: map{frames: str, height: str, size: str, url: str, width: str}, fixed_height_still: map{frames: str, height: str, size: str, url: str, width: str}, fixed_width: map{frames: str, height: str, size: str, url: str, width: str}, fixed_width_downsampled: map{frames: str, height: str, size: str, url: str, width: str}, fixed_width_still: map{frames: str, height: str, size: str, url: str, width: str}, original: map{frames: str, height: str, size: str, url: str, width: str}}, image_url: str, og_scrape_url: str, original_height: int(int32), original_width: int(int32), pretext: str, text: str, thumb_url: str, title: str, title_link: str, type: str}
@errors {400, 429}

@endgroup

@group permissions
@endpoint GET /permissions
@returns(200) {duration: str, permissions: [map]}
@errors {400, 429}

@endpoint GET /permissions/{id}
@required {id: str}
@returns(200) {duration: str, permission: map{action: str, condition: map, custom: bool, description: str, id: str, level: str, name: str, owner: bool, same_team: bool, tags: [str]}}
@errors {400, 429}

@endgroup

@group polls
@endpoint POST /polls
@required {name: str}
@optional {Custom: map, allow_answers: bool, allow_user_suggested_options: bool, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, max_votes_allowed: int(int32), options: [map{custom: map, text: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str, voting_visibility: str(anonymous/public)}
@returns(201) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}}
@errors {400, 429}

@endpoint PUT /polls
@required {id: str, name: str}
@optional {Custom: map, allow_answers: bool, allow_user_suggested_options: bool, description: str, enforce_unique_vote: bool, is_closed: bool, max_votes_allowed: int(int32), options: [map{custom: map, id!: str, text: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str, voting_visibility: str(anonymous/public)}
@returns(201) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}}
@errors {400, 429}

@endpoint DELETE /polls/{poll_id}
@required {poll_id: str}
@optional {user_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /polls/{poll_id}
@required {poll_id: str}
@optional {user_id: str}
@returns(200) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}}
@errors {400, 429}

@endpoint PATCH /polls/{poll_id}
@required {poll_id: str}
@optional {set: map, unset: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(200) {duration: str, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}}
@errors {400, 429}

@endpoint POST /polls/{poll_id}/options
@required {poll_id: str, text: str}
@optional {Custom: map, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, poll_option: map?{custom: map, id: str, text: str}}
@errors {400, 429}

@endpoint PUT /polls/{poll_id}/options
@required {poll_id: str, id: str, text: str}
@optional {Custom: map, user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, poll_option: map?{custom: map, id: str, text: str}}
@errors {400, 429}

@endpoint DELETE /polls/{poll_id}/options/{option_id}
@required {poll_id: str, option_id: str}
@optional {user_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /polls/{poll_id}/options/{option_id}
@required {poll_id: str, option_id: str}
@optional {user_id: str}
@returns(200) {duration: str, poll_option: map?{custom: map, id: str, text: str}}
@errors {400, 429}

@endpoint POST /polls/{poll_id}/votes
@required {poll_id: str}
@optional {user_id: str, filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}]}
@returns(201) {duration: str, next: str, prev: str, votes: [map]}
@errors {400, 429}

@endpoint POST /polls/query
@optional {user_id: str, filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}]}
@returns(201) {duration: str, next: str, polls: [map], prev: str}
@errors {400, 429}

@endgroup

@group push_preferences
@endpoint POST /push_preferences
@required {preferences: [map{call_level: str, channel_cid: str, chat_level: str, chat_preferences: map, disabled_until: str(date-time), feeds_level: str, feeds_preferences: map, remove_disable: bool, user_id: str}]}
@returns(201) {duration: str, user_channel_preferences: map, user_preferences: map}
@errors {400, 429}

@endgroup

@group push_providers
@endpoint GET /push_providers
@returns(200) {duration: str, push_providers: [map]}
@errors {400, 429}

@endpoint POST /push_providers
@optional {push_provider: map{apn_auth_key: str, apn_auth_type: str, apn_development: bool, apn_host: str, apn_key_id: str, apn_notification_template: str, apn_p12_cert: str, apn_team_id: str, apn_topic: str, description: str, disabled_at: str(date-time), disabled_reason: str, firebase_apn_template: str, firebase_credentials: str, firebase_data_template: str, firebase_host: str, firebase_notification_template: str, firebase_server_key: str, huawei_app_id: str, huawei_app_secret: str, name!: str, type: str, xiaomi_app_secret: str, xiaomi_package_name: str}}
@returns(201) {duration: str, push_provider: map{apn_auth_key: str, apn_auth_type: str, apn_development: bool, apn_host: str, apn_key_id: str, apn_p12_cert: str, apn_sandbox_certificate: bool, apn_supports_remote_notifications: bool, apn_supports_voip_notifications: bool, apn_team_id: str, apn_topic: str, created_at: str(date-time), description: str, disabled_at: str(date-time), disabled_reason: str, firebase_apn_template: str, firebase_credentials: str, firebase_data_template: str, firebase_host: str, firebase_notification_template: str, firebase_server_key: str, huawei_app_id: str, huawei_app_secret: str, name: str, type: str, updated_at: str(date-time), xiaomi_app_secret: str, xiaomi_package_name: str}}
@errors {400, 429}

@endpoint DELETE /push_providers/{type}/{name}
@required {type: str(apn/firebase/huawei/xiaomi), name: str}
@returns(200) {duration: str}
@errors {400, 429}

@endgroup

@group push_templates
@endpoint GET /push_templates
@required {push_provider_type: str(firebase/apn/huawei/xiaomi)}
@optional {push_provider_name: str}
@returns(200) {duration: str, templates: [map]}
@errors {400, 429}

@endpoint POST /push_templates
@required {event_type: str(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), push_provider_type: str(firebase/apn/huawei/xiaomi)}
@optional {enable_push: bool, push_provider_name: str, template: str}
@returns(201) {duration: str, template: map{created_at: str(date-time), enable_push: bool, event_type: str, push_provider_internal_id: str, template: str, updated_at: str(date-time)}}
@errors {400, 429}

@endgroup

@group query_banned_users
@endpoint GET /query_banned_users
@optional {payload: any}
@returns(200) {bans: [map], duration: str}
@errors {400, 429}

@endgroup

@group query_future_channel_bans
@endpoint GET /query_future_channel_bans
@optional {payload: any}
@returns(200) {bans: [map], duration: str}
@errors {400, 429}

@endgroup

@group rate_limits
@endpoint GET /rate_limits
@optional {server_side: bool, android: bool, ios: bool, web: bool, endpoints: str}
@returns(200) {android: map, duration: str, ios: map, server_side: map, web: map}
@errors {400, 429}

@endgroup

@group reminders
@endpoint POST /reminders/query
@optional {filter: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, next: str, prev: str, reminders: [map]}
@errors {400, 429}

@endgroup

@group retention_policy
@endpoint GET /retention_policy
@returns(200) {duration: str, policies: [map]}
@errors {400, 429}

@endpoint POST /retention_policy
@required {max_age_hours: int(int32), policy: str(old-messages/inactive-channels)}
@returns(201) {duration: str, policy: map{app_pk: int(int64), config: map{max_age_hours: int(int32)}, enabled_at: str(date-time), policy: str}}
@errors {400, 429}

@endpoint POST /retention_policy/delete
@required {policy: str(old-messages/inactive-channels)}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /retention_policy/runs
@optional {filter_conditions: map, limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}]}
@returns(201) {duration: str, next: str, prev: str, runs: [map]}
@errors {400, 429}

@endgroup

@group roles
@endpoint GET /roles
@returns(200) {duration: str, roles: [map]}
@errors {400, 429}

@endpoint POST /roles
@required {name: str}
@returns(201) {duration: str, role: map{created_at: str(date-time), custom: bool, name: str, scopes: [str], updated_at: str(date-time)}}
@errors {400, 429}

@endpoint DELETE /roles/{name}
@required {name: str}
@returns(200) {duration: str}
@errors {400, 429}

@endgroup

@group search
@endpoint GET /search
@optional {payload: any}
@returns(200) {duration: str, next: str, previous: str, results: [map], results_warning: map{channel_search_cids: [str], channel_search_count: int(int32), warning_code: int(int32), warning_description: str}}
@errors {400, 429}

@endgroup

@group segments
@endpoint DELETE /segments/{id}
@required {id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /segments/{id}
@required {id: str}
@returns(200) {duration: str, segment: map{all_sender_channels: bool, all_users: bool, created_at: str(date-time), deleted_at: str(date-time), description: str, filter: map, id: str, name: str, size: int(int32), type: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /segments/{id}/deletetargets
@required {id: str, target_ids: [str]}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint GET /segments/{id}/target/{target_id}
@required {id: str, target_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /segments/{id}/targets/query
@required {id: str}
@optional {Filter: map, Sort: [map{direction: int(int32), field: str, type: str}], limit: int(int32), next: str, prev: str}
@returns(201) {duration: str, next: str, prev: str, targets: [map]}
@errors {400, 429}

@endpoint POST /segments/query
@required {filter: map}
@optional {limit: int(int32), next: str, prev: str, sort: [map{direction: int(int32), field: str, type: str}]}
@returns(201) {duration: str, next: str, prev: str, segments: [map]}
@errors {400, 429}

@endgroup

@group stats
@endpoint POST /stats/team_usage
@optional {end_date: str, limit: int(int32), month: str, next: str, start_date: str}
@returns(201) {duration: str, next: str, teams: [map]}
@errors {400, 429}

@endgroup

@group tasks
@endpoint GET /tasks/{id}
@required {id: str}
@returns(200) {created_at: str(date-time), duration: str, error: map{stacktrace: str, type: str, version: str}, result: map, status: str, task_id: str, updated_at: str(date-time)}
@errors {400, 429}

@endgroup

@group threads
@endpoint POST /threads
@optional {filter: map, limit: int(int32), member_limit: int(int32), next: str, participant_limit: int(int32), prev: str, reply_limit: int(int32), sort: [map{direction: int(int32), field: str, type: str}], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str, next: str, prev: str, threads: [map]}
@errors {400, 429}

@endpoint GET /threads/{message_id}
@required {message_id: str}
@optional {reply_limit: int(int32), participant_limit: int(int32), member_limit: int(int32)}
@returns(200) {duration: str, thread: map?{active_participant_count: int(int32), channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_user_id: str, custom: map, deleted_at: str(date-time), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, last_message_at: str(date-time), latest_replies: [map], parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, parent_message_id: str, participant_count: int(int32), read: [map], reply_count: int(int32), thread_participants: [map], title: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint PATCH /threads/{message_id}
@required {message_id: str}
@optional {set: map, unset: [str], user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(200) {duration: str, thread: map{active_participant_count: int(int32), channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_user_id: str, custom: map, deleted_at: str(date-time), last_message_at: str(date-time), parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, parent_message_id: str, participant_count: int(int32), reply_count: int(int32), thread_participants: [map], title: str, updated_at: str(date-time)}}
@errors {400, 429}

@endgroup

@group unread
@endpoint GET /unread
@optional {user_id: str}
@returns(200) {channel_type: [map], channels: [map], duration: str, threads: [map], total_unread_count: int(int32), total_unread_count_by_team: map, total_unread_threads_count: int(int32)}
@errors {400, 429}

@endgroup

@group unread_batch
@endpoint POST /unread_batch
@required {user_ids: [str]}
@returns(201) {counts_by_user: map, duration: str}
@errors {400, 429}

@endgroup

@group uploads
@endpoint DELETE /uploads/file
@optional {url: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /uploads/file
@returns(201) {duration: str, file: str, thumb_url: str}
@errors {400, 429}

@endpoint DELETE /uploads/image
@optional {url: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint POST /uploads/image
@returns(201) {duration: str, file: str, thumb_url: str, upload_sizes: [map]}
@errors {400, 429}

@endgroup

@group usergroups
@endpoint GET /usergroups
@optional {limit: int(int32), id_gt: str, created_at_gt: str, team_id: str}
@returns(200) {duration: str, user_groups: [map]}
@errors {400, 429}

@endpoint POST /usergroups
@required {name: str}
@optional {description: str, id: str, member_ids: [str], team_id: str}
@returns(201) {duration: str, user_group: map{created_at: str(date-time), created_by: str, description: str, id: str, members: [map], name: str, team_id: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint DELETE /usergroups/{id}
@required {id: str}
@optional {team_id: str}
@returns(200) {duration: str}
@errors {400, 429}

@endpoint GET /usergroups/{id}
@required {id: str}
@optional {team_id: str}
@returns(200) {duration: str, user_group: map{created_at: str(date-time), created_by: str, description: str, id: str, members: [map], name: str, team_id: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint PUT /usergroups/{id}
@required {id: str}
@optional {description: str, name: str, team_id: str}
@returns(201) {duration: str, user_group: map{created_at: str(date-time), created_by: str, description: str, id: str, members: [map], name: str, team_id: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /usergroups/{id}/members
@required {id: str, member_ids: [str]}
@optional {as_admin: bool, team_id: str}
@returns(201) {duration: str, user_group: map{created_at: str(date-time), created_by: str, description: str, id: str, members: [map], name: str, team_id: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /usergroups/{id}/members/delete
@required {id: str, member_ids: [str]}
@optional {team_id: str}
@returns(201) {duration: str, user_group: map{created_at: str(date-time), created_by: str, description: str, id: str, members: [map], name: str, team_id: str, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint GET /usergroups/search
@required {query: str}
@optional {limit: int(int32), name_gt: str, id_gt: str, team_id: str}
@returns(200) {duration: str, user_groups: [map]}
@errors {400, 429}

@endgroup

@group users
@endpoint GET /users
@optional {payload: any}
@returns(200) {duration: str, users: [map]}
@errors {400, 429}

@endpoint PATCH /users
@required {users: [map{id!: str, set: map, unset: [str]}]}
@returns(200) {duration: str, membership_deletion_task_id: str, users: map}
@errors {400, 429}

@endpoint POST /users
@required {users: map}
@returns(201) {duration: str, membership_deletion_task_id: str, users: map}
@errors {400, 429}

@endpoint POST /users/{user_id}/deactivate
@required {user_id: str}
@optional {created_by_id: str, mark_messages_deleted: bool}
@returns(201) {duration: str, user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /users/{user_id}/event
@required {user_id: str, event: map{custom: map, type!: str}}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint GET /users/{user_id}/export
@required {user_id: str}
@returns(200) {duration: str, messages: [map], reactions: [map], user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint POST /users/{user_id}/reactivate
@required {user_id: str}
@optional {created_by_id: str, name: str, restore_messages: bool}
@returns(201) {duration: str, user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map{enabled: bool}, read_receipts: map{enabled: bool}, typing_indicators: map{enabled: bool}}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}
@errors {400, 429}

@endpoint GET /users/block
@optional {user_id: str}
@returns(200) {blocks: [map], duration: str}
@errors {400, 429}

@endpoint POST /users/block
@required {blocked_user_id: str}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {blocked_by_user_id: str, blocked_user_id: str, created_at: str(date-time), duration: str}
@errors {400, 429}

@endpoint POST /users/deactivate
@required {user_ids: [str]}
@optional {created_by_id: str, mark_channels_deleted: bool, mark_messages_deleted: bool}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endpoint POST /users/delete
@required {user_ids: [str]}
@optional {calls: str(soft/hard), conversations: str(soft/hard), files: bool, messages: str(soft/pruning/hard), new_call_owner_id: str, new_channel_owner_id: str, user: str(soft/pruning/hard)}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endpoint GET /users/live_locations
@optional {user_id: str}
@returns(200) {active_live_locations: [map], duration: str}
@errors {400, 429}

@endpoint PUT /users/live_locations
@required {message_id: str}
@optional {user_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float)}
@returns(201) {channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map{allowed_flag_reasons: [str], automod: str, automod_behavior: str, automod_thresholds: map{explicit: map, spam: map, toxic: map}, blocklist: str, blocklist_behavior: str, blocklists: [map], chat_preferences: map{channel_mentions: str, default_preference: str, direct_mentions: str, distinct_channel_messages: str, group_mentions: str, here_mentions: str, role_mentions: str, thread_replies: str}, commands: [map], connect_events: bool, count_messages: bool, created_at: str(date-time), custom_events: bool, delivery_events: bool, grants: map, mark_messages_pending: bool, max_message_length: int(int32), mutes: bool, name: str, partition_size: int(int32), partition_ttl: str(duration)?, polls: bool, push_level: str, push_notifications: bool, quotes: bool, reactions: bool, read_events: bool, reminders: bool, replies: bool, search: bool, shared_locations: bool, skip_last_msg_update_for_system_msgs: bool, typing_events: bool, updated_at: str(date-time), uploads: bool, url_enrichment: bool, user_message_reminders: bool}, cooldown: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, duration: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], custom: map, html: str, id: str, mentioned_users: [map], mml: str, parent_id: str, poll_id: str, quoted_message_id: str, show_in_channel: bool, silent: bool, text: str, type: str}, parent_id: str, parent_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, parent_id: str, parent_message: map, quoted_message: map}, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map{channel_role: str, notifications_muted: bool}, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map{action: str, blocklist_matched: str, blocklists_matched: [str], image_harms: [str], original_text: str, platform_circumvented: bool, semantic_filter_matched: str, text_harms: [str]}, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, poll: map{allow_answers: bool, allow_user_suggested_options: bool, answers_count: int(int32), created_at: str(date-time), created_by: map, created_by_id: str, custom: map, description: str, enforce_unique_vote: bool, id: str, is_closed: bool, latest_answers: [map], latest_votes_by_option: map, max_votes_allowed: int(int32), name: str, options: [map], own_votes: [map], updated_at: str(date-time), vote_count: int(int32), vote_counts_by_option: map, voting_visibility: str}, poll_id: str, quoted_message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map, channel_cid: str, created_at: str(date-time), message: map, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, remind_at: str(date-time), updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map, push_notifications: map, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}, user_id: str}, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map{channel: map{auto_translation_enabled: bool, auto_translation_language: str, blocked: bool, cid: str, config: map, cooldown: int(int32), created_at: str(date-time), created_by: map, custom: map, deleted_at: str(date-time), disabled: bool, filter_tags: [str], frozen: bool, hidden: bool, hide_messages_before: str(date-time), id: str, last_message_at: str(date-time), member_count: int(int32), members: [map], message_count: int(int64), mute_expires_at: str(date-time), muted: bool, own_capabilities: [str], team: str, truncated_at: str(date-time), truncated_by: map, type: str, updated_at: str(date-time)}, channel_cid: str, created_at: str(date-time), created_by_device_id: str, end_at: str(date-time), latitude: num(float), longitude: num(float), message: map{attachments: [map], cid: str, command: str, created_at: str(date-time), custom: map, deleted_at: str(date-time), deleted_for_me: bool, deleted_reply_count: int(int32), draft: map, html: str, i18n: map, id: str, image_labels: map, latest_reactions: [map], member: map, mentioned_channel: bool, mentioned_group_ids: [str], mentioned_here: bool, mentioned_roles: [str], mentioned_users: [map], message_text_updated_at: str(date-time), mml: str, moderation: map, own_reactions: [map], parent_id: str, pin_expires: str(date-time), pinned: bool, pinned_at: str(date-time), pinned_by: map, poll: map, poll_id: str, quoted_message: map, quoted_message_id: str, reaction_counts: map, reaction_groups: map, reaction_scores: map, reminder: map, reply_count: int(int32), restricted_visibility: [str], shadowed: bool, shared_location: map, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map}, message_id: str, updated_at: str(date-time), user_id: str}, show_in_channel: bool, silent: bool, text: str, thread_participants: [map], type: str, updated_at: str(date-time), user: map{avg_response_time: int(int32), ban_expires: str(date-time), banned: bool, blocked_user_ids: [str], bypass_moderation: bool, created_at: str(date-time), custom: map, deactivated_at: str(date-time), deleted_at: str(date-time), devices: [map], id: str, image: str, invisible: bool, language: str, last_active: str(date-time), name: str, online: bool, privacy_settings: map{delivery_receipts: map, read_receipts: map, typing_indicators: map}, push_notifications: map{disabled: bool, disabled_until: str(date-time)}, revoke_tokens_issued_before: str(date-time), role: str, shadow_banned: bool, teams: [str], teams_role: map, updated_at: str(date-time)}}, message_id: str, updated_at: str(date-time), user_id: str}
@errors {400, 429}

@endpoint POST /users/reactivate
@required {user_ids: [str]}
@optional {created_by_id: str, restore_channels: bool, restore_messages: bool}
@returns(201) {duration: str, task_id: str}
@errors {400, 429}

@endpoint POST /users/restore
@required {user_ids: [str]}
@returns(201) {duration: str}
@errors {400, 429}

@endpoint POST /users/unblock
@required {blocked_user_id: str}
@optional {user: map{custom: map, id!: str, image: str, invisible: bool, language: str, name: str, privacy_settings: map, role: str, teams: [str], teams_role: map}, user_id: str}
@returns(201) {duration: str}
@errors {400, 429}

@endgroup

@end
