From 3b9b6e1b5d5100836b59c3daa4fb878fbbd53e54 Mon Sep 17 00:00:00 2001 From: Oliver Lazoroski Date: Tue, 22 Sep 2026 23:01:39 +0200 Subject: [PATCH] feat: update to latest API spec --- src/gen/common/CommonApi.ts | 1 + src/gen/model-decoders/decoders.ts | 9 - src/gen/models/index.ts | 6986 +-------------------------- src/gen/moderation/ModerationApi.ts | 2 + src/gen/video/VideoApi.ts | 1 + 5 files changed, 47 insertions(+), 6952 deletions(-) diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index 1fa27ef..ca36e96 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -1024,6 +1024,7 @@ export class CommonApi { id: request?.id, is_closed: request?.is_closed, max_votes_allowed: request?.max_votes_allowed, + team: request?.team, user_id: request?.user_id, voting_visibility: request?.voting_visibility, options: request?.options, diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 8f2c0a6..706046b 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -1868,15 +1868,6 @@ decoders['CheckResponse'] = (input?: { [key: string]: any }) => { return decode(typeMappings, input); }; -decoders['ClientEvent'] = (input?: { [key: string]: any }) => { - const typeMappings: TypeMapping = { - previously_connected_timestamp: { type: 'DatetimeType', isSingle: true }, - - timestamp: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders['ClosedCaptionEvent'] = (input?: { [key: string]: any }) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 1a780c6..5926b34 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -1,70 +1,51 @@ export interface AIAudioConfigRequest { profile?: string; - rules?: Array; } export interface AIAudioConfigResponse { enabled: boolean; - profile: string; - rules: Array; } export interface AIImageConfig { async?: boolean; - enabled?: boolean; - ocr_rules?: Array; - rules?: Array; } export interface AIImageLabelDefinition { description: string; - group: string; - key: string; - label: string; } export interface AITextConfig { async?: boolean; - enabled?: boolean; - profile?: string; - rules?: Array; - severity_rules?: Array; } export interface AIVideoConfig { async?: boolean; - enabled?: boolean; - rules?: Array; } export interface AIVideoConfigRequest { async?: boolean; - enabled?: boolean; - rules?: Array; } export interface AIVideoConfigResponse { enabled: boolean; - rules: Array; - async?: boolean; } @@ -73,37 +54,30 @@ export interface APIError { * API error code */ code: number; - /** * Request duration */ duration: string; - /** * Message describing an error */ message: string; - /** * URL with additional information */ more_info: string; - /** * Response HTTP status code */ status_code: number; - /** * Additional error-specific information */ details: Array; - /** * Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it */ unrecoverable?: boolean; - /** * Additional error info */ @@ -112,96 +86,63 @@ export interface APIError { export interface APNConfig { auth_key?: string; - auth_type?: 'certificate' | 'token'; - bundle_id?: string; - development?: boolean; - disabled?: boolean; - host?: string; - key_id?: string; - notification_template?: string; - p12_cert?: string; - team_id?: string; } export interface APNConfigFields { development: boolean; - enabled: boolean; - auth_key?: string; - auth_type?: string; - bundle_id?: string; - host?: string; - key_id?: string; - notification_template?: string; - p12_cert?: string; - team_id?: string; } export interface APNS { body: string; - title: string; - content_available?: number; - mutable_content?: number; - sound?: string; - data?: Record; } export interface APNSPayload { body?: string; - content_available?: number; - mutable_content?: number; - sound?: string; - title?: string; - data?: Record; } export interface AWSRekognitionRule { action: 'flag' | 'shadow' | 'remove' | 'bounce' | 'bounce_flag' | 'bounce_remove'; - label: string; - min_confidence: number; - subclassifications?: Record; } export interface AbsentMetric { metric: string; - reason: string; } export interface AcceptFeedMemberInviteRequest { user_id?: string; - /** * User request object */ @@ -210,7 +151,6 @@ export interface AcceptFeedMemberInviteRequest { export interface AcceptFeedMemberInviteResponse { duration: string; - member: FeedMemberResponse; } @@ -219,12 +159,10 @@ export interface AcceptFollowRequest { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ target: string; - /** * Optional role for the follower in the follow relationship. Server-side only. Either a built-in ('feed_follower' (the default) or 'feed_member_viewer') or any role your app has defined; grants are not inspected. */ @@ -233,19 +171,14 @@ export interface AcceptFollowRequest { export interface AcceptFollowResponse { duration: string; - follow: FollowResponse; } export interface Action { name: string; - text: string; - type: string; - style?: string; - value?: string; } @@ -254,51 +187,40 @@ export interface ActionLogResponse { * Timestamp when the action was taken */ created_at: Date; - /** * Unique identifier of the action log */ id: string; - /** * Reason for the moderation action */ reason: string; - /** * Classification of who triggered the action (e.g. user, moderator, automod, api_integration) */ reporter_type: string; - /** * ID of the user who was the target of the action */ target_user_id: string; - /** * Type of moderation action */ type: string; - /** * ID of the user who performed the action */ user_id: string; - ai_providers: Array; - /** * Additional metadata about the action */ custom: Record; - review_queue_item?: ReviewQueueItemResponse; - /** * User response object */ target_user?: UserResponse; - /** * User response object */ @@ -307,63 +229,46 @@ export interface ActionLogResponse { export interface ActionSequence { action?: string; - blur?: boolean; - cooldown_period?: number; - threshold?: number; - time_window?: number; - warning?: boolean; - warning_text?: string; } export interface ActiveCallsBitrateStats { p10: number; - p50: number; } export interface ActiveCallsFPSStats { p05: number; - p10: number; - p50: number; - p90: number; } export interface ActiveCallsLatencyStats { p50: number; - p90: number; } export interface ActiveCallsMetrics { join_call_api?: JoinCallAPIMetrics; - publishers?: PublishersMetrics; - subscribers?: SubscribersMetrics; } export interface ActiveCallsResolutionStats { p10: number; - p50: number; } export interface ActiveCallsSummary { active_calls: number; - active_publishers: number; - active_subscribers: number; - participants: number; } @@ -372,22 +277,15 @@ export interface ActivityAddedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - /** * The type of event: "feeds.activity.added" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -396,22 +294,15 @@ export interface ActivityDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - /** * The type of event: "feeds.activity.deleted" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -420,18 +311,13 @@ export interface ActivityFeedbackEvent { * Date/time of creation */ created_at: Date; - activity_feedback: ActivityFeedbackEventPayload; - custom: Record; - /** * The type of event: "feeds.activity.feedback" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -439,29 +325,23 @@ export interface ActivityFeedbackEventPayload { /** * The type of feedback action. One of: hide, show_more, show_less */ - action: 'hide' | 'show_more' | 'show_less'; - /** * The activity that received feedback */ activity_id: string; - /** * When the feedback was created */ created_at: Date; - /** * When the feedback was last updated */ updated_at: Date; - /** * The feedback value (true/false) */ value: string; - /** * User response object */ @@ -473,19 +353,15 @@ export interface ActivityFeedbackRequest { * Whether to hide this activity */ hide?: boolean; - /** * Whether to show less content like this */ show_less?: boolean; - /** * Whether to show more content like this */ show_more?: boolean; - user_id?: string; - /** * User request object */ @@ -497,7 +373,6 @@ export interface ActivityFeedbackResponse { * The ID of the activity that received feedback */ activity_id: string; - duration: string; } @@ -513,45 +388,34 @@ export interface ActivityMarkEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - /** * The type of event: "feeds.activity.marked" in this case */ type: string; - feed_visibility?: string; - /** * Whether all activities were marked as read */ mark_all_read?: boolean; - /** * Whether all activities were marked as seen */ mark_all_seen?: boolean; - received_at?: Date; - /** * The IDs of activities marked as read */ mark_read?: Array; - /** * The IDs of activities marked as seen */ mark_seen?: Array; - /** * The IDs of activities marked as watched */ mark_watched?: Array; - user?: UserResponseCommonFields; } @@ -560,7 +424,6 @@ export interface ActivityMarksConfig { * Whether to return per-activity read status on content feeds */ track_read?: boolean; - /** * Whether to return per-activity seen status on content feeds */ @@ -572,19 +435,15 @@ export interface ActivityPinResponse { * When the pin was created */ created_at: Date; - /** * ID of the feed where activity is pinned */ feed: string; - /** * When the pin was last updated */ updated_at: Date; - activity: ActivityResponse; - /** * User response object */ @@ -596,25 +455,18 @@ export interface ActivityPinnedEvent { * Date/time of creation */ created_at: Date; - /** * The ID of the feed */ fid: string; - custom: Record; - pinned_activity: PinActivityResponse; - /** * The type of event: "feeds.activity.pinned" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -623,12 +475,10 @@ export interface ActivityProcessingConfig { * When true, this feed group's allowed_tags is given to the model as a constrained vocabulary so it maps its own wording onto a configured tag instead of that output being discarded. Improves how often a tag is produced, at the cost of sending the list on every request. Scoped to this group's own list: leaving it false keeps this group's tags out of the request even when another feed group on the same activity sets it true. Requires allowed_tags. Off by default. */ send_allowed_tags_to_ai?: boolean; - /** * When set, the LLM activity processors may only write interest tags from this list. By default the model is not told about the list, so a tag is only written when the model happens to produce that exact word after lower-casing and trimming, which for any vocabulary is often not the case; set send_allowed_tags_to_ai to have the model choose from the list instead. Mutually exclusive with blocked_tags. */ allowed_tags?: Array; - /** * Interest tags the LLM activity processors are never allowed to write. Mutually exclusive with allowed_tags. */ @@ -640,12 +490,10 @@ export interface ActivityProcessorConfig { * Type of activity processor (required) */ type: string; - /** * Minimum number of characters the activity text must have before this processor runs. 0 (the default) disables the check. Only applies to text_interest_tags. */ min_text_length?: number; - /** * Minimum number of words the activity text must have before this processor runs. 0 (the default) disables the check. Only applies to text_interest_tags. Words are whitespace-separated, so scripts written without word spacing (Chinese, Japanese, Thai) always count as 1 word regardless of length — use min_text_length for those. */ @@ -657,24 +505,16 @@ export interface ActivityReactionAddedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of event: "feeds.activity.reaction.added" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -683,24 +523,16 @@ export interface ActivityReactionDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of the reaction that was removed */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -709,24 +541,16 @@ export interface ActivityReactionUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of event: "feeds.activity.reaction.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -735,22 +559,15 @@ export interface ActivityRemovedFromFeedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - /** * The type of event: "feeds.activity.removed_from_feed" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -759,117 +576,92 @@ export interface ActivityRequest { * Type of activity */ type: string; - /** * List of feeds to add the activity to with a default max limit of 25 feeds */ feeds: Array; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create notification activities for mentioned users */ create_notification_activity?: boolean; - /** * Expiration time for the activity */ expires_at?: string; - /** * Optional ID for the activity */ id?: string; - /** * ID of parent activity for replies/comments */ parent_id?: string; - /** * ID of a poll to attach to activity */ poll_id?: string; - /** * Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody */ - restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody'; - /** * Whether to skip URL enrichment for the activity */ skip_enrich_url?: boolean; - /** * Whether to skip push notifications */ skip_push?: boolean; - /** * Text content of the activity */ text?: string; - /** * ID of the user creating the activity */ user_id?: string; - /** * Visibility setting for the activity. One of: public, private, tag */ - visibility?: 'public' | 'private' | 'tag'; - /** * If visibility is 'tag', this is the tag name and is required */ visibility_tag?: string; - /** * List of attachments for the activity */ attachments?: Array; - /** * Collections that this activity references */ collection_refs?: Array; - /** * Collections to create or update as part of this request, so an activity and the collections it references can be written in one call. Their refs (name:id) are added to collection_refs automatically; you do not need to restate them, and they count toward the same per-activity collection-reference limit, which is the effective cap here. A collection that already exists has its custom data updated. Use collection_refs instead when the collection already exists and you are only referencing it, which requires no collection permissions. */ collections?: Array; - /** * Tags for filtering activities */ filter_tags?: Array; - /** * Tags for indicating user interests */ interest_tags?: Array; - /** * List of users mentioned in the activity */ mentioned_user_ids?: Array; - /** * Custom data for the activity */ custom?: Record; - location?: Location; - /** * Additional data for search indexing */ @@ -881,219 +673,168 @@ export interface ActivityResponse { * Number of bookmarks on the activity */ bookmark_count: number; - /** * Number of comments on the activity */ comment_count: number; - /** * When the activity was created */ created_at: Date; - /** * If this activity is hidden by this user (using activity feedback) */ hidden: boolean; - /** * Unique identifier for the activity */ id: string; - /** * Popularity score of the activity */ popularity: number; - /** * If this activity is obfuscated for this user. For premium content where you want to show a preview */ preview: boolean; - /** * Number of reactions to the activity */ reaction_count: number; - /** * Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody */ - restrict_replies: 'everyone' | 'people_i_follow' | 'nobody'; - /** * Ranking score for this activity */ score: number; - /** * Number of times the activity was shared */ share_count: number; - /** * Type of activity */ type: string; - /** * When the activity was last updated */ updated_at: Date; - /** * Visibility setting for the activity. One of: public, private, tag */ - visibility: 'public' | 'private' | 'tag'; - /** * Media attachments for the activity */ attachments: Array; - /** * Latest 5 comments of this activity (comment replies excluded) */ comments: Array; - /** * List of feed IDs containing this activity */ feeds: Array; - /** * Tags for filtering */ filter_tags: Array; - /** * Tags for user interests */ interest_tags: Array; - /** * Recent reactions to the activity */ latest_reactions: Array; - /** * Users mentioned in the activity */ mentioned_users: Array; - /** * Current user's bookmarks for this activity */ own_bookmarks: Array; - /** * Current user's reactions to this activity */ own_reactions: Array; - /** * Enriched collection data referenced by this activity */ collections: Record; - /** * Custom data for the activity */ custom: Record; - /** * Grouped reactions by type */ reaction_groups: Record; - /** * Data for search indexing */ search_data: Record; - /** * User response object */ user: UserResponse; - /** * When the activity was deleted */ deleted_at?: Date; - /** * When the activity was last edited */ edited_at?: Date; - /** * When the activity will expire */ expires_at?: Date; - /** * Total count of reactions from friends on this activity */ friend_reaction_count?: number; - /** * Whether this activity has been read. Only set for feed groups with notification config (track_seen/track_read enabled). */ is_read?: boolean; - /** * Whether this activity has been seen. Only set for feed groups with notification config (track_seen/track_read enabled). */ is_seen?: boolean; - is_watched?: boolean; - moderation_action?: string; - /** * Which activity selector provided this activity (e.g., 'following', 'popular', 'interest'). Only set when using multiple activity selectors with ranking. */ selector_source?: string; - /** * Text content of the activity */ text?: string; - /** * If visibility is 'tag', this is the tag name */ visibility_tag?: string; - /** * Reactions from users the current user follows or has mutual follows with */ friend_reactions?: Array; - /** * Recent shares of the activity, one entry per share (org-gated) */ latest_shares?: Array; - current_feed?: FeedResponse; - i18n?: Record; - location?: Location; - metrics?: Record; - moderation?: ModerationV2Response; - notification_context?: NotificationContext; - parent?: ActivityResponse; - poll?: PollResponseData; - /** * Variable values used at ranking time. Only included when include_score_vars is enabled in enrichment options. */ @@ -1105,22 +846,15 @@ export interface ActivityRestoredEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - /** * The type of the event */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -1128,7 +862,6 @@ export interface ActivitySelectorConfig { /** * Type of selector. One of: popular, proximity, following, current_feed, query, interest, follow_suggestion */ - type: | 'popular' | 'proximity' @@ -1137,34 +870,27 @@ export interface ActivitySelectorConfig { | 'query' | 'interest' | 'follow_suggestion'; - /** * Time threshold for activity selection (string). Expected RFC3339 format (e.g., 2006-01-02T15:04:05Z07:00). Cannot be used together with cutoff_window */ cutoff_time?: string; - /** * Flexible relative time window for activity selection (e.g., '1h', '3d', '1y'). Activities older than this duration will be filtered out. Cannot be used together with cutoff_time */ cutoff_window?: string; - /** * Minimum popularity threshold. For the 'popular' selector, omit to use the default (5); values below 1 are rejected */ min_popularity?: number; - /** * Sort parameters for activity selection */ sort?: Array; - feed_groups?: FeedGroupScope; - /** * Filter for activity selection */ filter?: Record; - params?: Record; } @@ -1172,7 +898,6 @@ export interface ActivitySelectorConfigResponse { /** * Type of selector */ - type: | 'popular' | 'proximity' @@ -1181,34 +906,27 @@ export interface ActivitySelectorConfigResponse { | 'query' | 'interest' | 'follow_suggestion'; - /** * Time threshold for activity selection (timestamp) */ cutoff_time?: Date; - /** * Flexible relative time window for activity selection (e.g., '1h', '3d', '1y') */ cutoff_window?: string; - /** * Minimum popularity threshold. For the 'popular' selector, values below 1 are normalized to the default (5) at read time. */ min_popularity?: number; - /** * Sort parameters for activity selection */ sort?: Array; - feed_groups?: FeedGroupScope; - /** * Filter for activity selection */ filter?: Record; - /** * Generic params for selector-specific configuration */ @@ -1220,25 +938,18 @@ export interface ActivityUnpinnedEvent { * Date/time of creation */ created_at: Date; - /** * The ID of the feed */ fid: string; - custom: Record; - pinned_activity: PinActivityResponse; - /** * The type of event: "feeds.activity.unpinned" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -1247,22 +958,15 @@ export interface ActivityUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - custom: Record; - /** * The type of the event */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -1271,123 +975,95 @@ export interface AddActivityRequest { * Type of activity */ type: string; - /** * List of feeds to add the activity to with a default max limit of 25 feeds */ feeds: Array; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create notification activities for mentioned users */ create_notification_activity?: boolean; - create_users?: boolean; - enrich_own_fields?: boolean; - /** * Expiration time for the activity */ expires_at?: string; - force_moderation?: boolean; - /** * Optional ID for the activity */ id?: string; - /** * ID of parent activity for replies/comments */ parent_id?: string; - /** * ID of a poll to attach to activity */ poll_id?: string; - /** * Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody */ - restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody'; - /** * Whether to skip URL enrichment for the activity */ skip_enrich_url?: boolean; - /** * Whether to skip push notifications */ skip_push?: boolean; - /** * Text content of the activity */ text?: string; - /** * ID of the user creating the activity */ user_id?: string; - /** * Visibility setting for the activity. One of: public, private, tag */ - visibility?: 'public' | 'private' | 'tag'; - /** * If visibility is 'tag', this is the tag name and is required */ visibility_tag?: string; - /** * List of attachments for the activity */ attachments?: Array; - /** * Collections that this activity references */ collection_refs?: Array; - /** * Collections to create or update as part of this request, so an activity and the collections it references can be written in one call. Their refs (name:id) are added to collection_refs automatically; you do not need to restate them, and they count toward the same per-activity collection-reference limit, which is the effective cap here. A collection that already exists has its custom data updated. Use collection_refs instead when the collection already exists and you are only referencing it, which requires no collection permissions. */ collections?: Array; - /** * Tags for filtering activities */ filter_tags?: Array; - /** * Tags for indicating user interests */ interest_tags?: Array; - /** * List of users mentioned in the activity */ mentioned_user_ids?: Array; - /** * Custom data for the activity */ custom?: Record; - location?: Location; - /** * Additional data for search indexing */ @@ -1396,9 +1072,7 @@ export interface AddActivityRequest { export interface AddActivityResponse { duration: string; - activity: ActivityResponse; - /** * Number of mention notification activities created for mentioned users */ @@ -1410,16 +1084,12 @@ export interface AddBookmarkRequest { * ID of the folder to add the bookmark to */ folder_id?: string; - user_id?: string; - /** * Custom data for the bookmark */ custom?: Record; - new_folder?: AddFolderRequest; - /** * User request object */ @@ -1428,7 +1098,6 @@ export interface AddBookmarkRequest { export interface AddBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } @@ -1437,16 +1106,12 @@ export interface AddCommentBookmarkRequest { * ID of the folder to add the bookmark to */ folder_id?: string; - user_id?: string; - /** * Custom data for the bookmark */ custom?: Record; - new_folder?: AddFolderRequest; - /** * User request object */ @@ -1455,7 +1120,6 @@ export interface AddCommentBookmarkRequest { export interface AddCommentBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } @@ -1464,37 +1128,29 @@ export interface AddCommentReactionRequest { * The type of reaction, eg upvote, like, ... */ type: string; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create a notification activity for this reaction */ create_notification_activity?: boolean; - /** * Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one) */ enforce_unique?: boolean; - skip_push?: boolean; - user_id?: string; - /** * Optional list of feeds to create a reference (share) activity of the commented-on activity in. The reference activity's type mirrors the reaction type. */ target_feeds?: Array; - /** * Optional custom data to add to the reaction */ custom?: Record; - /** * User request object */ @@ -1506,42 +1162,33 @@ export interface AddCommentReactionResponse { * The change this write made to the number of reactions the user holds on this target: 1 when outcome is 'created', 0 when it is 'replaced' or 'unchanged'. These endpoints never return -1; a successful delete-reaction call is what decrements the count. With enforce_unique this is the delta of the user's reaction on the target; without it, the delta of reactions of this type. */ counter_delta: number; - /** * Duration of the request */ duration: string; - /** * What this write did to the user's reaction on this target. One of: created, replaced, unchanged. 'created' means a new reaction was written and nothing was replaced; 'replaced' means enforce_unique removed one or more of the user's other reaction types; 'unchanged' means the user already held this reaction type (its custom data may still have been updated). Without enforce_unique a user can hold several reaction types on one target, so 'created' then means 'this reaction type was newly added', not 'the user's first reaction on this target'. */ outcome: string; - comment: CommentResponse; - reaction: FeedsReactionResponse; - /** * Whether notification creation was accepted for asynchronous processing */ notification_accepted?: boolean; - /** * @deprecated * Deprecated. Mirrors notification_accepted; use notification_accepted for async enqueue status Deprecated: use notification_accepted */ notification_created?: boolean; - /** * ID of the async notification-creation task; poll GET /tasks/{id} for its status */ notification_task_id?: string; - /** * The reaction type this write replaced, or null when nothing was replaced. Non-null exactly when outcome is 'replaced'. If enforce_unique removed several reactions — possible only for data created before enforce_unique was adopted — this is the most recently created one. */ previous_reaction_type?: string; - reference_activity?: ActivityResponse; } @@ -1550,67 +1197,53 @@ export interface AddCommentRequest { * Text content of the comment */ comment?: string; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create a notification activity for this comment */ create_notification_activity?: boolean; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ force_moderation?: boolean; - /** * Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated. */ id?: string; - /** * ID of the object to comment on. Required for root comments */ object_id?: string; - /** * Type of the object to comment on. Required for root comments */ object_type?: string; - /** * ID of parent comment for replies. When provided, object_id and object_type are automatically inherited from the parent comment. */ parent_id?: string; - /** * Whether to skip URL enrichment for this comment */ skip_enrich_url?: boolean; - skip_push?: boolean; - user_id?: string; - /** * Media attachments for the reply */ attachments?: Array; - /** * List of users mentioned in the reply */ mentioned_user_ids?: Array; - /** * Custom data for the comment */ custom?: Record; - /** * User request object */ @@ -1619,14 +1252,11 @@ export interface AddCommentRequest { export interface AddCommentResponse { duration: string; - comment: CommentResponse; - /** * Number of mention notification activities created for mentioned users */ mention_notifications_created?: number; - /** * Whether a notification activity was successfully created */ @@ -1642,7 +1272,6 @@ export interface AddCommentsBatchRequest { export interface AddCommentsBatchResponse { duration: string; - /** * List of comments added */ @@ -1654,7 +1283,6 @@ export interface AddFolderRequest { * Name of the folder */ name: string; - /** * Custom data for the folder */ @@ -1666,42 +1294,33 @@ export interface AddReactionRequest { * Type of reaction */ type: string; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create a notification activity for this reaction */ create_notification_activity?: boolean; - /** * Server-side only. If true, auto-creates the reacting user identified by user_id when they don't already exist. Default: false. */ create_users?: boolean; - /** * Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one) */ enforce_unique?: boolean; - skip_push?: boolean; - user_id?: string; - /** * Optional list of feeds to create a reference (share) activity of the original activity in. The reference activity's type mirrors the reaction type. */ target_feeds?: Array; - /** * Custom data for the reaction */ custom?: Record; - /** * User request object */ @@ -1713,39 +1332,30 @@ export interface AddReactionResponse { * The change this write made to the number of reactions the user holds on this target: 1 when outcome is 'created', 0 when it is 'replaced' or 'unchanged'. These endpoints never return -1; a successful delete-reaction call is what decrements the count. With enforce_unique this is the delta of the user's reaction on the target; without it, the delta of reactions of this type. */ counter_delta: number; - duration: string; - /** * What this write did to the user's reaction on this target. One of: created, replaced, unchanged. 'created' means a new reaction was written and nothing was replaced; 'replaced' means enforce_unique removed one or more of the user's other reaction types; 'unchanged' means the user already held this reaction type (its custom data may still have been updated). Without enforce_unique a user can hold several reaction types on one target, so 'created' then means 'this reaction type was newly added', not 'the user's first reaction on this target'. */ outcome: string; - activity: ActivityResponse; - reaction: FeedsReactionResponse; - /** * Whether notification creation was accepted for asynchronous processing */ notification_accepted?: boolean; - /** * @deprecated * Deprecated. Mirrors notification_accepted; use notification_accepted for async enqueue status Deprecated: use notification_accepted */ notification_created?: boolean; - /** * ID of the async notification-creation task; poll GET /tasks/{id} for its status */ notification_task_id?: string; - /** * The reaction type this write replaced, or null when nothing was replaced. Non-null exactly when outcome is 'replaced'. If enforce_unique removed several reactions — possible only for data created before enforce_unique was adopted — this is the most recently created one. */ previous_reaction_type?: string; - reference_activity?: ActivityResponse; } @@ -1761,18 +1371,15 @@ export interface AddUserGroupMembersRequest { * List of user IDs to add as members */ member_ids: Array; - /** * Whether to add the members as group admins. Defaults to false */ as_admin?: boolean; - team_id?: string; } export interface AddUserGroupMembersResponse { duration: string; - user_group?: UserGroupResponse; } @@ -1781,52 +1388,42 @@ export interface AggregatedActivityResponse { * Number of activities in this aggregation */ activity_count: number; - /** * When the aggregation was created */ created_at: Date; - /** * Grouping identifier */ group: string; - /** * Ranking score for this aggregation */ score: number; - /** * When the aggregation was last updated */ updated_at: Date; - /** * Number of unique users in this aggregation */ user_count: number; - /** * Whether this activity group has been truncated due to exceeding the group size limit */ user_count_truncated: boolean; - /** * List of activities in this aggregation */ activities: Array; - /** * Whether this aggregated group has been read. Only set for feed groups with notification config (track_seen/track_read enabled). */ is_read?: boolean; - /** * Whether this aggregated group has been seen. Only set for feed groups with notification config (track_seen/track_read enabled). */ is_seen?: boolean; - is_watched?: boolean; } @@ -1834,18 +1431,18 @@ export interface AggregationConfig { /** * Order of member activities inside each aggregated group for non-stories feeds: created_at_desc (newest first, default) or created_at_asc (oldest first). Stories feeds ignore this and always use oldest first. */ - activities_sort?: 'created_at_asc' | 'created_at_desc'; - /** * Format for activity aggregation */ format?: string; - + /** + * Maximum number of activities kept in each aggregated group. Omit to use the default of 100. Must be between 1 and 100 when set. + */ + group_size?: number; /** * Strategy for computing aggregated group scores from member activity scores when ranking is enabled. Valid values: sum, max, avg */ - score_strategy?: 'sum' | 'max' | 'avg'; } @@ -1854,27 +1451,22 @@ export interface AnalyzeImageField { * Per-image action: keep | flag | remove. */ action?: string; - /** * Highest confidence (0–1) across detected classifications + sub-classifications. Convenience aggregate over the nested values in `classifications`. */ confidence?: number; - /** * Set when moderation couldn't be determined for this image — action is absent. */ error?: string; - /** * Echo of `content_ids[label]` when supplied on the request; omitted otherwise. */ id?: string; - /** * Hierarchical list of L1 (parent) classifications. Each entry: `name`, `confidence` (0–1), and nested `subclassifications` (L2 leaves with their own confidence). Resolved against the app's effective taxonomy (custom taxonomy when configured, otherwise the standard Bodyguard catalogue). */ classifications?: Array; - /** * Flat list of Bodyguard OCR text-moderation labels on the image's extracted text (e.g. VULGARITY, PII). Each entry: `name` + `severity`. Populated when BG's OCR pipeline returned non-empty results for this image. */ @@ -1886,49 +1478,43 @@ export interface AnalyzeRequest { * When true, the response carries no verdicts (status `pending`) and per-modality results arrive via `moderation.text_analysis.complete` and `moderation.image_analysis.complete` webhooks. Image moderation runs on a background worker; text moderation runs synchronously and is then delivered via webhook. */ async_response?: boolean; - /** * Moderation policy key. Optional in stateful mode, required in stateless mode. */ config_key?: string; - /** * Original timestamp when the content was produced. Used as the `published_at` timestamp on per-content log entries that surface in `matched_contents` on aggregation-rule webhooks. */ content_published_at?: Date; - + /** + * ISO 3166-1 alpha-2 country the content is aimed at (e.g. US, DE). Forwarded to the AI text provider as country context so it can resolve words whose meaning changes between countries. + */ + country_code?: string; /** * ID of the user who created the content. Required with entity_type + entity_id; omit all three for stateless mode. */ entity_creator_id?: string; - /** * Caller-supplied content identifier. Required with entity_type + entity_creator_id; omit all three for stateless mode. */ entity_id?: string; - /** * Caller-defined entity type. Required with entity_id + entity_creator_id; omit all three for stateless mode. */ entity_type?: string; - user_id?: string; - /** * Optional map from a content label (either a `texts` key or an `image:` multipart label) to a caller-supplied per-instance identifier. Echoed on per-field verdicts and surfaced in `matched_contents` when an aggregation rule fires. */ content_ids?: Record; - /** * Arbitrary metadata surfaced in the dashboard. */ custom?: Record; - /** * Named text fields to moderate, keyed by caller label (e.g. title, description). */ texts?: Record; - /** * User request object */ @@ -1937,17 +1523,14 @@ export interface AnalyzeRequest { export interface AnalyzeResponse { duration: string; - /** * `complete` (all fields screened), `partial` (mix of verdicts and per-field errors), or `pending` (async). */ status: string; - /** * Per-image moderation verdicts keyed by caller label. */ images?: Record; - /** * Per-text-field moderation verdicts keyed by caller label. */ @@ -1959,27 +1542,22 @@ export interface AnalyzeTextField { * Per-field action: keep | flag | remove. */ action?: string; - /** * Set when moderation couldn't be determined for this field — action is absent. */ error?: string; - /** * Echo of `content_ids[label]` when supplied on the request; omitted otherwise. */ id?: string; - /** * Detected language code. */ language?: string; - /** * Aggregate severity across the field: LOW | MEDIUM | HIGH | CRITICAL. */ severity?: string; - /** * Flat list of detected Bodyguard text labels (e.g. INSULT, VULGARITY). Each entry carries `name` and `severity`. */ @@ -1988,157 +1566,85 @@ export interface AnalyzeTextField { export interface AppResponseFields { allow_multi_user_devices: boolean; - async_url_enrich_enabled: boolean; - auto_translation_enabled: boolean; - before_message_send_hook_system_messages: boolean; - campaign_enabled: boolean; - cdn_expiration_seconds: number; - custom_action_handler_url: string; - disable_auth_checks: boolean; - disable_permissions_checks: boolean; - enforce_unique_usernames: string; - feed_audit_logs_enabled: boolean; - guest_user_creation_disabled: boolean; - id: number; - image_moderation_enabled: boolean; - max_aggregated_activities_length: number; - member_custom_on_mentioned_users_enabled: boolean; - member_custom_on_messages_enabled: boolean; - member_custom_on_typing_events_enabled: boolean; - moderation_audio_call_moderation_enabled: boolean; - moderation_enabled: boolean; - moderation_keyframe_video_enabled: boolean; - moderation_llm_configurability_enabled: boolean; - moderation_multitenant_blocklist_enabled: boolean; - moderation_video_call_moderation_enabled: boolean; - moderation_webhook_url: string; - multi_tenant_enabled: boolean; - name: string; - organization: string; - permission_version: string; - placement: string; - reminders_interval: number; - sns_key: string; - sns_secret: string; - sns_topic_arn: string; - sqs_key: string; - sqs_secret: string; - sqs_url: string; - suspended: boolean; - suspended_explanation: string; - use_hook_v2: boolean; - user_response_time_enabled: boolean; - webhook_url: string; - event_hooks: Array; - user_search_disallowed_roles: Array; - webhook_events: Array; - call_types: Record; - channel_configs: Record; - file_upload_config: FileUploadConfig; - grants: Record>; - image_upload_config: FileUploadConfig; - policies: Record>; - push_notifications: PushNotificationFields; - before_message_send_hook_attempt_timeout_ms?: number; - before_message_send_hook_url?: string; - chat_primary_use_case?: string; - moderation_onboarding_complete?: boolean; - moderation_s3_image_access_role_arn?: string; - revoke_tokens_issued_before?: Date; - video_primary_use_case?: string; - allowed_flag_reasons?: Array; - geofences?: Array; - image_moderation_labels?: Array; - activity_metrics_config?: Record; - datadog_info?: DataDogInfo; - moderation_dashboard_preferences?: ModerationDashboardPreferences; } export interface AppealAcceptedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - appeal?: AppealItemResponse; } export interface AppealCreatedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - appeal?: AppealItemResponse; } @@ -2147,100 +1653,86 @@ export interface AppealItemResponse { * Reason Text of the Appeal Item */ appeal_reason: string; - /** * When the flag was created */ created_at: Date; - /** * ID of the entity */ entity_id: string; - /** * Type of entity */ entity_type: string; - id: string; - /** * Status of the Appeal Item */ status: string; - /** * When the flag was last updated */ updated_at: Date; - /** * Text severity level assigned by the AI provider */ ai_text_severity?: string; - + /** + * Detected language of the appeal_reason text itself + */ + appeal_reason_language?: string; /** * CID of the channel the entity belongs to (content appeals), or of the channel ban being appealed (stream:user appeals). Empty for a global ban appeal. */ channel_cid?: string; - /** * Moderation policy key that was applied */ config_key?: string; - /** * Decision Reason of the Appeal Item */ decision_reason?: string; - /** * Action recommended by the automated moderation system (e.g. flag, remove, shadow) */ recommended_action?: string; - /** * ID of the review queue item linked to this appeal, if the appeal was submitted with one */ review_queue_item_id?: string; - /** * Overall content severity score (1–100) */ severity?: number; - /** * Full chronological history of all moderation actions on the review queue item */ actions?: Array; - /** * Attachments(e.g. Images) of the Appeal Item */ attachments?: Array; - /** * Classification labels from automated and manual review */ flag_labels?: Array; - /** * Types of flags applied to the entity (e.g. user_report, bodyguard) */ flag_types?: Array; - /** * Per-provider flag records explaining why the action was taken */ flags?: Array; - + /** + * Detected languages in the content + */ + languages?: Array; entity_content?: ModerationPayload; - moderation_action?: ActionLogResponse; - original_moderation_action?: ActionLogResponse; - /** * User response object */ @@ -2249,13 +1741,9 @@ export interface AppealItemResponse { export interface AppealRejectedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - appeal?: AppealItemResponse; } @@ -2264,34 +1752,27 @@ export interface AppealRequest { * Explanation for why the content is being appealed */ appeal_reason: string; - /** * Unique identifier of the entity being appealed */ entity_id: string; - /** * Type of entity being appealed (e.g., message, user) */ entity_type: string; - /** * CID of the channel ban being appealed. Only used when entity_type is stream:user; omit to appeal the global ban. */ channel_cid?: string; - /** * ID of the review queue item (flagged message) that triggered the ban. Applicable only for user ban appeals. */ review_queue_item_id?: string; - user_id?: string; - /** * Array of Attachment URLs(e.g., images) */ attachments?: Array; - /** * User request object */ @@ -2303,266 +1784,165 @@ export interface AppealResponse { * Unique identifier of the created Appeal item */ appeal_id: string; - duration: string; } export interface AsyncBulkImageModerationEvent { created_at: Date; - finished_at: Date; - started_at: Date; - task_id: string; - url: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncExportChannelsEvent { created_at: Date; - finished_at: Date; - started_at: Date; - task_id: string; - url: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncExportErrorEvent { created_at: Date; - error: string; - finished_at: Date; - started_at: Date; - task_id: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncExportModerationLogsEvent { created_at: Date; - finished_at: Date; - started_at: Date; - task_id: string; - url: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncExportReviewQueueEvent { created_at: Date; - finished_at: Date; - started_at: Date; - task_id: string; - url: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncExportUsersEvent { created_at: Date; - finished_at: Date; - started_at: Date; - task_id: string; - url: string; - custom: Record; - type: string; - received_at?: Date; } export interface AsyncModerationCallbackConfig { mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP'; - server_url?: string; } export interface AsyncModerationConfiguration { timeout_ms?: number; - callback?: AsyncModerationCallbackConfig; } export interface Attachment { custom: Record; - asset_url?: string; - author_icon?: string; - author_link?: string; - author_name?: string; - color?: string; - fallback?: string; - footer?: string; - footer_icon?: string; - image_url?: string; - og_scrape_url?: string; - original_height?: number; - original_width?: number; - pretext?: string; - text?: string; - thumb_url?: string; - title?: string; - title_link?: string; - /** * Attachment type (e.g. image, video, url) */ type?: string; - actions?: Array; - fields?: Array; - giphy?: Images; } export interface Audience { avg_concurrent_viewers: number; - hours_watched: number; - peak_concurrent_viewers: number; - unique_viewers: number; - viewer_connections: number; - concurrency_by_minute: Array; - peak_at?: string; - ramp_up_min_to_90pct_peak?: number; - retention_at_90pct_mark?: number; - retention_at_midpoint?: number; - shape?: string; } export interface AudioSettings { access_request_enabled: boolean; - default_device: 'speaker' | 'earpiece'; - hifi_audio_enabled: boolean; - mic_default_on: boolean; - opus_dtx_enabled: boolean; - redundant_coding_enabled: boolean; - speaker_default_on: boolean; - noise_cancellation?: NoiseCancellationSettings; } export interface AudioSettingsRequest { default_device: 'speaker' | 'earpiece'; - access_request_enabled?: boolean; - hifi_audio_enabled?: boolean; - mic_default_on?: boolean; - opus_dtx_enabled?: boolean; - redundant_coding_enabled?: boolean; - speaker_default_on?: boolean; - noise_cancellation?: NoiseCancellationSettings; } export interface AudioSettingsResponse { access_request_enabled: boolean; - default_device: 'speaker' | 'earpiece'; - hifi_audio_enabled: boolean; - mic_default_on: boolean; - opus_dtx_enabled: boolean; - redundant_coding_enabled: boolean; - speaker_default_on: boolean; - noise_cancellation?: NoiseCancellationSettings; } export interface AutomodDetailsResponse { action?: string; - original_message_type?: string; - image_labels?: Array; - message_details?: FlagMessageDetailsResponse; - /** * Result of the message moderation */ @@ -2571,43 +1951,33 @@ export interface AutomodDetailsResponse { export interface AutomodPlatformCircumventionConfig { async?: boolean; - enabled?: boolean; - rules?: Array; } export interface AutomodRule { action: 'flag' | 'shadow' | 'remove' | 'bounce' | 'bounce_flag' | 'bounce_remove'; - label: string; - threshold: number; } export interface AutomodSemanticFiltersConfig { async?: boolean; - enabled?: boolean; - rules?: Array; } export interface AutomodSemanticFiltersRule { action: 'flag' | 'shadow' | 'remove' | 'bounce' | 'bounce_flag' | 'bounce_remove'; - name: string; - threshold: number; } export interface AutomodToxicityConfig { async?: boolean; - enabled?: boolean; - rules?: Array; } @@ -2616,17 +1986,14 @@ export interface AzureRequest { * The account name */ abs_account_name: string; - /** * The client id */ abs_client_id: string; - /** * The client secret */ abs_client_secret: string; - /** * The tenant id */ @@ -2635,19 +2002,16 @@ export interface AzureRequest { export interface BackstageSettings { enabled: boolean; - join_ahead_time_seconds?: number; } export interface BackstageSettingsRequest { enabled?: boolean; - join_ahead_time_seconds?: number; } export interface BackstageSettingsResponse { enabled: boolean; - join_ahead_time_seconds?: number; } @@ -2656,40 +2020,31 @@ export interface BanActionRequestPayload { * Also ban user from all channels this moderator creates in the future */ ban_from_future_channels?: boolean; - /** * Ban only from specific channel */ channel_ban_only?: boolean; - channel_cid?: string; - /** * Message deletion mode: soft, pruning, or hard */ - delete_messages?: 'soft' | 'pruning' | 'hard'; - /** * Whether to ban by IP address */ ip_ban?: boolean; - /** * Reason for the ban */ reason?: string; - /** * Whether this is a shadow ban */ shadow?: boolean; - /** * Optional: ban user directly without review item */ target_user_id?: string; - /** * Duration of ban in minutes */ @@ -2701,34 +2056,27 @@ export interface BanInfoResponse { * When the ban was created */ created_at: Date; - /** * The channel this ban applies to. Empty if this is an app-wide (global) ban rather than a per-channel ban. */ channel_cid?: string; - /** * When the ban expires */ expires?: Date; - /** * Reason for the ban */ reason?: string; - /** * Whether this is a shadow ban */ shadow?: boolean; - channel?: ChannelMetadata; - /** * User response object */ created_by?: UserResponse; - /** * User response object */ @@ -2737,13 +2085,9 @@ export interface BanInfoResponse { export interface BanOptions { delete_messages?: 'soft' | 'pruning' | 'hard'; - duration?: number; - ip_ban?: boolean; - reason?: string; - shadow_ban?: boolean; } @@ -2752,39 +2096,31 @@ export interface BanRequest { * ID of the user to ban */ target_user_id: string; - /** * ID of the user performing the ban */ banned_by_id?: string; - /** * Channel where the ban applies */ channel_cid?: string; - delete_messages?: 'soft' | 'pruning' | 'hard'; - /** * Whether to ban the user's IP address */ ip_ban?: boolean; - /** * Optional explanation for the ban */ reason?: string; - /** * Whether this is a shadow ban */ shadow?: boolean; - /** * Duration of the ban in minutes */ timeout?: number; - /** * User request object */ @@ -2793,23 +2129,17 @@ export interface BanRequest { export interface BanResponse { created_at: Date; - expires?: Date; - reason?: string; - shadow?: boolean; - /** * User response object */ banned_by?: UserResponse; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * User response object */ @@ -2821,25 +2151,18 @@ export interface BatchQueryActivityReactionsRequest { * Activity IDs to fetch the user's reactions for (max 100) */ activity_ids: Array; - limit?: number; - next?: string; - prev?: string; - /** * Server-side only. The user whose reactions to fetch; defaults to the authenticated user for client-side requests */ user_id?: string; - sort?: Array; - /** * Optional filter on reaction_type or created_at */ filter?: Record; - /** * User request object */ @@ -2851,11 +2174,8 @@ export interface BatchQueryActivityReactionsResponse { * Duration of the request in milliseconds */ duration: string; - reactions: Array; - next?: string; - prev?: string; } @@ -2864,25 +2184,18 @@ export interface BatchQueryCommentReactionsRequest { * Comment IDs to fetch the user's reactions for (max 100) */ comment_ids: Array; - limit?: number; - next?: string; - prev?: string; - /** * Server-side only. The user whose reactions to fetch; defaults to the authenticated user for client-side requests */ user_id?: string; - sort?: Array; - /** * Optional filter on reaction_type or created_at */ filter?: Record; - /** * User request object */ @@ -2894,11 +2207,8 @@ export interface BatchQueryCommentReactionsResponse { * Duration of the request in milliseconds */ duration: string; - reactions: Array; - next?: string; - prev?: string; } @@ -2911,11 +2221,8 @@ export interface BlockActionRequestPayload { export interface BlockListConfig { async?: boolean; - enabled?: boolean; - match_substring?: boolean; - rules?: Array; } @@ -2923,9 +2230,7 @@ export interface BlockListOptions { /** * Blocklist behavior. One of: flag, block, shadow_block */ - behavior: 'flag' | 'block' | 'shadow_block'; - /** * Blocklist name */ @@ -2934,39 +2239,28 @@ export interface BlockListOptions { export interface BlockListResponse { is_confusable_folding_enabled: boolean; - is_leet_check_enabled: boolean; - is_plural_check_enabled: boolean; - is_substring_matching_enabled: boolean; - /** * Block list name */ name: string; - /** * Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word */ type: string; - /** * List of words to block */ words: Array; - /** * Date/time of creation */ created_at?: Date; - id?: string; - owner_user_id?: string; - team?: string; - /** * Date/time of the last update */ @@ -2983,9 +2277,7 @@ export interface BlockListRule { | 'bounce' | 'bounce_flag' | 'bounce_remove'; - name?: string; - team?: string; } @@ -3008,9 +2300,7 @@ export interface BlockUsersRequest { * User id to block */ blocked_user_id: string; - user_id?: string; - /** * User request object */ @@ -3022,17 +2312,14 @@ export interface BlockUsersResponse { * User id who blocked another user */ blocked_by_user_id: string; - /** * User id who got blocked */ blocked_user_id: string; - /** * Timestamp when the user was blocked */ created_at: Date; - /** * Duration of the request in milliseconds */ @@ -3041,19 +2328,15 @@ export interface BlockUsersResponse { export interface BlockedUserEvent { call_cid: string; - created_at: Date; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.blocked_user" in this case */ type: string; - /** * User response object */ @@ -3065,19 +2348,15 @@ export interface BlockedUserResponse { * ID of the user who got blocked */ blocked_user_id: string; - created_at: Date; - /** * ID of the user who blocked another user */ user_id: string; - /** * User response object */ blocked_user: UserResponse; - /** * User response object */ @@ -3090,15 +2369,12 @@ export interface BodyguardImageAnalysisConfig { export interface BodyguardProfileSummary { name: string; - display_name?: string; - text_type?: string; } export interface BodyguardRule { label: string; - action?: | 'keep' | 'flag' @@ -3109,7 +2385,6 @@ export interface BodyguardRule { | 'bounce' | 'bounce_flag' | 'bounce_remove'; - severity_rules?: Array; } @@ -3123,7 +2398,6 @@ export interface BodyguardSeverityRule { | 'bounce' | 'bounce_flag' | 'bounce_remove'; - severity: 'low' | 'medium' | 'high' | 'critical'; } @@ -3132,18 +2406,13 @@ export interface BookmarkAddedEvent { * Date/time of creation */ created_at: Date; - bookmark: BookmarkResponse; - custom: Record; - /** * The type of event: "feeds.bookmark.added" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -3152,18 +2421,13 @@ export interface BookmarkDeletedEvent { * Date/time of creation */ created_at: Date; - bookmark: BookmarkResponse; - custom: Record; - /** * The type of event: "feeds.bookmark.deleted" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -3172,18 +2436,13 @@ export interface BookmarkFolderDeletedEvent { * Date/time of creation */ created_at: Date; - bookmark_folder: BookmarkFolderResponse; - custom: Record; - /** * The type of event: "feeds.bookmark_folder.deleted" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -3192,27 +2451,22 @@ export interface BookmarkFolderResponse { * When the folder was created */ created_at: Date; - /** * Unique identifier for the folder */ id: string; - /** * Name of the folder */ name: string; - /** * When the folder was last updated */ updated_at: Date; - /** * User response object */ user: UserResponse; - /** * Custom data for the folder */ @@ -3224,18 +2478,13 @@ export interface BookmarkFolderUpdatedEvent { * Date/time of creation */ created_at: Date; - bookmark_folder: BookmarkFolderResponse; - custom: Record; - /** * The type of event: "feeds.bookmark_folder.updated" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -3244,38 +2493,29 @@ export interface BookmarkResponse { * When the bookmark was created */ created_at: Date; - /** * ID of the bookmarked object */ object_id: string; - /** * Type of the bookmarked object (activity or comment) */ object_type: string; - /** * When the bookmark was last updated */ updated_at: Date; - activity: ActivityResponse; - /** * User response object */ user: UserResponse; - activity_id?: string; - comment?: CommentResponse; - /** * Custom data for the bookmark */ custom?: Record; - folder?: BookmarkFolderResponse; } @@ -3284,135 +2524,89 @@ export interface BookmarkUpdatedEvent { * Date/time of creation */ created_at: Date; - bookmark: BookmarkResponse; - custom: Record; - /** * The type of event: "feeds.bookmark.updated" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; } export interface Bound { inclusive: boolean; - value: number; } export interface BroadcastDailyRollup { broadcasts: number; - day: string; - dead_air_s: number; - hours_watched: number; - incident_windows: number; - max_peak_concurrent_viewers: number; - note: string; - schema_version: string; - source_drops: number; - unique_viewers_sum: number; - top_broadcasts: Array; - poor_viewers_by_cause: PoorByCause; } export interface BroadcastDigest { schema_version: string; - audience: Audience; - broadcast: BroadcastInfo; - coverage: Coverage; - joins: Joins; - poor_tail: PoorTail; - quality: Quality; - segments: Segments; - source: SourceHealth; - viewers: ViewerBehavior; } export interface BroadcastInfo { app_id: number; - call_cid: string; - call_session_id: string; - call_type: string; - duration_min: number; - ended_at: string; - started_at: string; - creators: Array; - source_mode?: string; } export interface BroadcastSegment { key: string; - sessions: number; - avg_quality_score?: number; - p5_quality_score?: number; - poor_pct?: number; - share_pct?: number; - watch_share_pct?: number; } export interface BroadcastSettings { enabled: boolean; - hls?: HLSSettings; - rtmp?: RTMPSettings; } export interface BroadcastSettingsRequest { enabled?: boolean; - hls?: HLSSettingsRequest; - rtmp?: RTMPSettingsRequest; } export interface BroadcastSettingsResponse { enabled: boolean; - /** * HLSSettings is the payload for HLS settings */ hls: HLSSettingsResponse; - /** * RTMPSettingsResponse is the payload for RTMP settings */ @@ -3421,7 +2615,6 @@ export interface BroadcastSettingsResponse { export interface BrowserDataResponse { name?: string; - version?: string; } @@ -3429,42 +2622,33 @@ export interface BulkActionAppealsRequest { /** * Action to apply: unban, restore, unblock, mark_reviewed, or reject_appeal */ - action_type: 'unban' | 'restore' | 'unblock' | 'mark_reviewed' | 'reject_appeal'; - /** * List of appeal UUIDs to process */ appeal_ids: Array; - user_id?: string; - /** * Configuration for mark reviewed action */ mark_reviewed?: MarkReviewedRequestPayload; - /** * Configuration for rejecting an appeal */ reject_appeal?: RejectAppealRequestPayload; - /** * Configuration for restore action. State-aware: reverses whichever of a delete, a block, or a shadow block currently applies to the content (including both a delete and a block/shadow block at once). */ restore?: RestoreActionRequestPayload; - /** * Configuration for unban moderation action */ unban?: UnbanActionRequestPayload; - /** * Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action. */ unblock?: UnblockActionRequestPayload; - /** * User request object */ @@ -3473,12 +2657,10 @@ export interface BulkActionAppealsRequest { export interface BulkActionAppealsResponse { duration: string; - /** * Appeals that could not be processed, with per-item error messages */ errors: Array; - /** * Successfully processed appeals */ @@ -3487,13 +2669,11 @@ export interface BulkActionAppealsResponse { export interface BulkAppealError { appeal_id: string; - error: string; } export interface BulkAppealResult { appeal_id: string; - appeal_item?: AppealItemResponse; } @@ -3502,9 +2682,7 @@ export interface BulkDeleteActionConfigRequest { * UUIDs of the action configs to delete */ ids: Array; - user_id?: string; - /** * User request object */ @@ -3516,7 +2694,6 @@ export interface BulkDeleteActionConfigResponse { * Number of action configs deleted */ deleted: number; - duration: string; } @@ -3529,7 +2706,6 @@ export interface BulkImageModerationRequest { export interface BulkImageModerationResponse { duration: string; - /** * ID of the task for processing the bulk image moderation */ @@ -3541,9 +2717,7 @@ export interface BulkUpsertActionConfigRequest { * List of action configs to create or update */ action_configs: Array; - user_id?: string; - /** * User request object */ @@ -3552,7 +2726,6 @@ export interface BulkUpsertActionConfigRequest { export interface BulkUpsertActionConfigResponse { duration: string; - /** * The created or updated action configs in the same order as the request */ @@ -3568,7 +2741,6 @@ export interface BypassRequest { * Whether to enable moderation bypass for this user */ enabled: boolean; - /** * ID of the user to update */ @@ -3581,19 +2753,15 @@ export interface BypassResponse { export interface CallAcceptedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.accepted" in this case */ @@ -3602,48 +2770,32 @@ export interface CallAcceptedEvent { export interface CallActionOptions { duration?: number; - flag_reason?: string; - kick_reason?: string; - mute_audio?: boolean; - mute_video?: boolean; - reason?: string; - warning_text?: string; } export interface CallClosedCaption { end_time: Date; - id: string; - language: string; - speaker_id: string; - start_time: Date; - text: string; - translated: boolean; - /** * User response object */ user: UserResponse; - service?: string; } export interface CallClosedCaptionsFailedEvent { call_cid: string; - created_at: Date; - /** * The type of event: "call.closed_captions_failed" in this case */ @@ -3652,9 +2804,7 @@ export interface CallClosedCaptionsFailedEvent { export interface CallClosedCaptionsStartedEvent { call_cid: string; - created_at: Date; - /** * The type of event: "call.closed_captions_started" in this case */ @@ -3663,9 +2813,7 @@ export interface CallClosedCaptionsStartedEvent { export interface CallClosedCaptionsStoppedEvent { call_cid: string; - created_at: Date; - /** * The type of event: "call.transcription_stopped" in this case */ @@ -3674,19 +2822,15 @@ export interface CallClosedCaptionsStoppedEvent { export interface CallCreatedEvent { call_cid: string; - created_at: Date; - /** * the members added to this call */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.created" in this case */ @@ -3695,40 +2839,32 @@ export interface CallCreatedEvent { export interface CallCustomPropertyParameters { operator?: string; - property_key?: string; } export interface CallDTMFEvent { call_cid: string; - created_at: Date; - /** * The DTMF digit (0-9, *, #, A-D) */ digit: string; - /** * Duration of the digit press in milliseconds */ duration_ms: number; - /** * Monotonically increasing sequence number for ordering DTMF events within a session */ seq_number: number; - /** * When the digit press ended and was detected */ timestamp: Date; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.dtmf" in this case */ @@ -3737,14 +2873,11 @@ export interface CallDTMFEvent { export interface CallDeletedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.deleted" in this case */ @@ -3761,29 +2894,23 @@ export interface CallDurationReportResponse { export interface CallEndedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.ended" in this case */ type: string; - /** * The reason why the call ended, if available */ reason?: string; - /** * The list of members in the call */ members?: Array; - /** * User response object */ @@ -3792,16 +2919,12 @@ export interface CallEndedEvent { export interface CallFrameRecordingFailedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.frame_recording_failed" in this case */ @@ -3810,36 +2933,28 @@ export interface CallFrameRecordingFailedEvent { export interface CallFrameRecordingFrameReadyEvent { call_cid: string; - /** * The time the frame was captured */ captured_at: Date; - created_at: Date; - egress_id: string; - /** * Call session ID */ session_id: string; - /** * The type of the track frame was captured from (TRACK_TYPE_VIDEO|TRACK_TYPE_SCREEN_SHARE) */ track_type: string; - /** * The URL of the frame */ url: string; - /** * The users in the frame */ users: Record; - /** * The type of event: "call.frame_recording_ready" in this case */ @@ -3848,16 +2963,12 @@ export interface CallFrameRecordingFrameReadyEvent { export interface CallFrameRecordingStartedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.frame_recording_started" in this case */ @@ -3866,16 +2977,12 @@ export interface CallFrameRecordingStartedEvent { export interface CallFrameRecordingStoppedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.frame_recording_stopped" in this case */ @@ -3884,9 +2991,7 @@ export interface CallFrameRecordingStoppedEvent { export interface CallHLSBroadcastingFailedEvent { call_cid: string; - created_at: Date; - /** * The type of event: "call.hls_broadcasting_failed" in this case */ @@ -3895,16 +3000,12 @@ export interface CallHLSBroadcastingFailedEvent { export interface CallHLSBroadcastingStartedEvent { call_cid: string; - created_at: Date; - hls_playlist_url: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.hls_broadcasting_started" in this case */ @@ -3913,9 +3014,7 @@ export interface CallHLSBroadcastingStartedEvent { export interface CallHLSBroadcastingStoppedEvent { call_cid: string; - created_at: Date; - /** * The type of event: "call.hls_broadcasting_stopped" in this case */ @@ -3927,32 +3026,24 @@ export interface CallIngressResponse { * RTMP input settings */ rtmp: RTMPIngress; - srt: SRTIngress; - whip: WHIPIngress; } export interface CallLevelEventPayload { event_type: string; - timestamp: number; - user_id: string; - payload?: Record; } export interface CallLiveStartedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.live_started" in this case */ @@ -3961,19 +3052,15 @@ export interface CallLiveStartedEvent { export interface CallMemberAddedEvent { call_cid: string; - created_at: Date; - /** * the members added to this call */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.member_added" in this case */ @@ -3982,19 +3069,15 @@ export interface CallMemberAddedEvent { export interface CallMemberRemovedEvent { call_cid: string; - created_at: Date; - /** * the list of member IDs removed from the call */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.member_removed" in this case */ @@ -4003,19 +3086,15 @@ export interface CallMemberRemovedEvent { export interface CallMemberUpdatedEvent { call_cid: string; - created_at: Date; - /** * The list of members that were updated */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.member_updated" in this case */ @@ -4024,24 +3103,19 @@ export interface CallMemberUpdatedEvent { export interface CallMemberUpdatedPermissionEvent { call_cid: string; - created_at: Date; - /** * The list of members that were updated */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * The capabilities by role for this call */ capabilities_by_role: Record>; - /** * The type of event: "call.member_added" in this case */ @@ -4050,31 +3124,24 @@ export interface CallMemberUpdatedPermissionEvent { export interface CallMissedEvent { call_cid: string; - created_at: Date; - notify_user: boolean; - /** * Call session ID */ session_id: string; - /** * List of members who missed the call */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.notification" in this case */ @@ -4083,19 +3150,15 @@ export interface CallMissedEvent { export interface CallModerationBlurEvent { call_cid: string; - created_at: Date; - /** * The user ID whose video stream is being blurred */ user_id: string; - /** * Custom data associated with the moderation action */ custom: Record; - /** * The type of event: "call.moderation_blur" in this case */ @@ -4104,24 +3167,19 @@ export interface CallModerationBlurEvent { export interface CallModerationWarningEvent { call_cid: string; - created_at: Date; - /** * The warning message */ message: string; - /** * The user ID who is receiving the warning */ user_id: string; - /** * Custom data associated with the moderation action */ custom: Record; - /** * The type of event: "call.moderation_warning" in this case */ @@ -4130,29 +3188,23 @@ export interface CallModerationWarningEvent { export interface CallNotificationEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - /** * Call members */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.notification" in this case */ @@ -4169,11 +3221,8 @@ export interface CallParticipantCountReportResponse { export interface CallParticipantResponse { joined_at: Date; - role: string; - user_session_id: string; - /** * User response object */ @@ -4182,21 +3231,15 @@ export interface CallParticipantResponse { export interface CallParticipantTimeline { severity: string; - timestamp: Date; - type: string; - data: Record; } export interface CallReactionEvent { call_cid: string; - created_at: Date; - reaction: VideoReactionResponse; - /** * The type of event: "call.reaction_new" in this case */ @@ -4205,31 +3248,21 @@ export interface CallReactionEvent { export interface CallRecording { end_time: Date; - filename: string; - recording_type: string; - session_id: string; - start_time: Date; - url: string; } export interface CallRecordingFailedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of recording */ - recording_type: 'composite' | 'individual' | 'raw'; - /** * The type of event: "call.recording_failed" in this case */ @@ -4238,22 +3271,16 @@ export interface CallRecordingFailedEvent { export interface CallRecordingReadyEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of recording */ - recording_type: 'composite' | 'individual' | 'raw'; - /** * CallRecording represents a recording of a call. */ call_recording: CallRecording; - /** * The type of event: "call.recording_ready" in this case */ @@ -4262,17 +3289,12 @@ export interface CallRecordingReadyEvent { export interface CallRecordingStartedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of recording */ - recording_type: 'composite' | 'individual' | 'raw'; - /** * The type of event: "call.recording_started" in this case */ @@ -4281,17 +3303,12 @@ export interface CallRecordingStartedEvent { export interface CallRecordingStoppedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of recording */ - recording_type: 'composite' | 'individual' | 'raw'; - /** * The type of event: "call.recording_stopped" in this case */ @@ -4300,24 +3317,19 @@ export interface CallRecordingStoppedEvent { export interface CallRejectedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.rejected" in this case */ type: string; - /** * Provides information about why the call was rejected. You can provide any value, but the Stream API and SDKs use these default values: rejected, cancel, timeout and busy */ @@ -4326,151 +3338,114 @@ export interface CallRejectedEvent { export interface CallReportResponse { score: number; - ended_at?: Date; - started_at?: Date; } export interface CallRequest { channel_cid?: string; - created_by_id?: string; - starts_at?: Date; - team?: string; - video?: boolean; - members?: Array; - /** * User request object */ created_by?: UserRequest; - custom?: Record; - settings_override?: CallSettingsRequest; } export interface CallResponse { backstage: boolean; - captioning: boolean; - /** * The unique identifier for a call (:) */ cid: string; - /** * Date/time of creation */ created_at: Date; - current_session_id: string; - /** * Call ID */ id: string; - recording: boolean; - transcribing: boolean; - translating: boolean; - /** * The type of call */ type: string; - /** * Date/time of the last update */ updated_at: Date; - blocked_user_ids: Array; - /** * User response object */ created_by: UserResponse; - /** * Custom data for this object */ custom: Record; - egress: EgressResponse; - /** * CallIngressResponse is the payload for ingress settings */ ingress: CallIngressResponse; - settings: CallSettingsResponse; - channel_cid?: string; - /** * Date/time when the call ended */ ended_at?: Date; - join_ahead_time_seconds?: number; - /** * 10-digit routing number for SIP routing */ routing_number?: string; - /** * Date/time when the call will start */ starts_at?: Date; - team?: string; - session?: CallSessionResponse; - thumbnails?: ThumbnailResponse; } export interface CallRingEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - video: boolean; - /** * Call members */ members: Array; - /** * Represents a call */ call: CallResponse; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.notification" in this case */ type: string; + /** + * Identifies this ring of the call session + */ + ring_id?: string; } export interface CallRtmpBroadcastFailedEvent { @@ -4478,17 +3453,14 @@ export interface CallRtmpBroadcastFailedEvent { * The unique identifier for a call (:) */ call_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Name of the given RTMP broadcast */ name: string; - /** * The type of event: "call.rtmp_broadcast_failed" in this case */ @@ -4500,17 +3472,14 @@ export interface CallRtmpBroadcastStartedEvent { * The unique identifier for a call (:) */ call_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Name of the given RTMP broadcast */ name: string; - /** * The type of event: "call.rtmp_broadcast_started" in this case */ @@ -4522,17 +3491,14 @@ export interface CallRtmpBroadcastStoppedEvent { * The unique identifier for a call (:) */ call_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Name of the given RTMP broadcast */ name: string; - /** * The type of event: "call.rtmp_broadcast_stopped" in this case */ @@ -4541,27 +3507,21 @@ export interface CallRtmpBroadcastStoppedEvent { export interface CallRuleActionSequence { violation_number?: number; - actions?: Array; - call_options?: CallActionOptions; } export interface CallSessionEndedEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.session_ended" in this case */ @@ -4570,18 +3530,13 @@ export interface CallSessionEndedEvent { export interface CallSessionParticipantCountsUpdatedEvent { anonymous_participant_count: number; - call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - participants_count_by_role: Record; - /** * The type of event: "call.session_participant_count_updated" in this case */ @@ -4590,16 +3545,12 @@ export interface CallSessionParticipantCountsUpdatedEvent { export interface CallSessionParticipantJoinedEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - participant: CallParticipantResponse; - /** * The type of event: "call.session_participant_joined" in this case */ @@ -4608,26 +3559,20 @@ export interface CallSessionParticipantJoinedEvent { export interface CallSessionParticipantLeftEvent { call_cid: string; - created_at: Date; - /** * The duration participant was in the session in seconds */ duration_seconds: number; - /** * Call session ID */ session_id: string; - participant: CallParticipantResponse; - /** * The type of event: "call.session_participant_left" in this case */ type: string; - /** * The reason why the participant left the session */ @@ -4636,45 +3581,30 @@ export interface CallSessionParticipantLeftEvent { export interface CallSessionResponse { anonymous_participant_count: number; - id: string; - participants: Array; - accepted_by: Record; - missed_by: Record; - participants_count_by_role: Record; - rejected_by: Record; - ended_at?: Date; - live_ended_at?: Date; - live_started_at?: Date; - started_at?: Date; - timer_ends_at?: Date; } export interface CallSessionStartedEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - /** * Represents a call */ call: CallResponse; - /** * The type of event: "call.session_started" in this case */ @@ -4683,116 +3613,69 @@ export interface CallSessionStartedEvent { export interface CallSettings { audio?: AudioSettings; - backstage?: BackstageSettings; - broadcasting?: BroadcastSettings; - frame_recording?: FrameRecordSettings; - geofencing?: GeofenceSettings; - individual_recording?: IndividualRecordSettings; - ingress?: IngressSettings; - limits?: LimitsSettings; - raw_recording?: RawRecordSettings; - recording?: RecordSettings; - ring?: RingSettings; - screensharing?: ScreensharingSettings; - session?: SessionSettings; - thumbnails?: ThumbnailsSettings; - transcription?: TranscriptionSettings; - video?: VideoSettings; } export interface CallSettingsRequest { audio?: AudioSettingsRequest; - backstage?: BackstageSettingsRequest; - broadcasting?: BroadcastSettingsRequest; - encryption?: EncryptionSettingsRequest; - frame_recording?: FrameRecordingSettingsRequest; - geofencing?: GeofenceSettingsRequest; - individual_recording?: IndividualRecordingSettingsRequest; - ingress?: IngressSettingsRequest; - limits?: LimitsSettingsRequest; - raw_recording?: RawRecordingSettingsRequest; - recording?: RecordSettingsRequest; - ring?: RingSettingsRequest; - screensharing?: ScreensharingSettingsRequest; - session?: SessionSettingsRequest; - thumbnails?: ThumbnailsSettingsRequest; - transcription?: TranscriptionSettingsRequest; - video?: VideoSettingsRequest; } export interface CallSettingsResponse { audio: AudioSettingsResponse; - backstage: BackstageSettingsResponse; - /** * BroadcastSettingsResponse is the payload for broadcasting settings */ broadcasting: BroadcastSettingsResponse; - /** * EncryptionSettings is the payload for end-to-end encryption settings */ encryption: EncryptionSettingsResponse; - frame_recording: FrameRecordingSettingsResponse; - geofencing: GeofenceSettingsResponse; - individual_recording: IndividualRecordingSettingsResponse; - limits: LimitsSettingsResponse; - raw_recording: RawRecordingSettingsResponse; - /** * RecordSettings is the payload for recording settings */ recording: RecordSettingsResponse; - ring: RingSettingsResponse; - screensharing: ScreensharingSettingsResponse; - session: SessionSettingsResponse; - thumbnails: ThumbnailsSettingsResponse; - transcription: TranscriptionSettingsResponse; - video: VideoSettingsResponse; - ingress?: IngressSettingsResponse; } @@ -4801,9 +3684,7 @@ export interface CallStateResponseFields { * List of call members */ members: Array; - own_capabilities: Array; - /** * Represents a call */ @@ -4812,43 +3693,28 @@ export interface CallStateResponseFields { export interface CallStatsLocation { accuracy_radius_meters?: number; - city?: string; - continent?: string; - country?: string; - country_iso_code?: string; - latitude?: number; - longitude?: number; - subdivision?: string; } export interface CallStatsMapLocation { count: number; - live_count: number; - location?: CallStatsLocation; } export interface CallStatsMapPublisher { is_live: boolean; - user_id: string; - user_session_id: string; - published_tracks: PublishedTrackFlags; - name?: string; - publisher_type?: string; - location?: CallStatsLocation; } @@ -4862,134 +3728,84 @@ export interface CallStatsMapSFUs { export interface CallStatsMapSubscriber { is_live: boolean; - user_id: string; - user_session_id: string; - name?: string; - location?: CallStatsLocation; } export interface CallStatsMapSubscribers { locations: Array; - participants?: Array; } export interface CallStatsParticipant { user_id: string; - sessions: Array; - latest_activity_at?: Date; - name?: string; - roles?: Array; } export interface CallStatsParticipantCounts { live_sessions: number; - participants: number; - peak_concurrent_sessions: number; - peak_concurrent_users: number; - publishers: number; - sessions: number; - sfus_used: number; - average_jitter_ms?: number; - average_latency_ms?: number; - avg_user_rating?: number; - call_event_count?: number; - cq_score?: number; - max_freezes_duration_ms?: number; - min_user_rating?: number; - total_participant_duration?: number; } export interface CallStatsParticipantSession { is_live: boolean; - user_session_id: string; - published_tracks: PublishedTrackFlags; - browser?: string; - browser_version?: string; - cq_score?: number; - current_ip?: string; - current_sfu?: string; - distance_to_sfu_kilometers?: number; - ended_at?: Date; - freezes_duration_ms?: number; - ingress?: string; - jitter_ms?: number; - latency_ms?: number; - os?: string; - publisher_type?: string; - sdk?: string; - sdk_version?: string; - started_at?: Date; - unified_session_id?: string; - webrtc_version?: string; - location?: CallStatsLocation; } export interface CallStatsReportReadyEvent { call_cid: string; - created_at: Date; - /** * Call session ID */ session_id: string; - counts: CallStatsParticipantCounts; - /** * The type of event, "call.report_ready" in this case */ type: string; - /** * Whether participants_overview is truncated by the server-side limit */ is_trimmed?: boolean; - /** * Top participant sessions overview */ @@ -4998,62 +3814,41 @@ export interface CallStatsReportReadyEvent { export interface CallStatsReportSummaryResponse { call_cid: string; - call_duration_seconds: number; - call_session_id: string; - call_status: string; - first_stats_time: Date; - created_at?: Date; - min_user_rating?: number; - quality_score?: number; } export interface CallStatsSessionResponse { call_id: string; - call_session_id: string; - call_type: string; - generated_at: Date; - counts: CallStatsParticipantCounts; - call_ended_at?: Date; - call_started_at?: Date; } export interface CallTranscription { end_time: Date; - filename: string; - session_id: string; - start_time: Date; - url: string; } export interface CallTranscriptionFailedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of event: "call.transcription_failed" in this case */ type: string; - /** * The error message detailing why transcription failed. */ @@ -5062,16 +3857,12 @@ export interface CallTranscriptionFailedEvent { export interface CallTranscriptionReadyEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * CallTranscription represents a transcription of a call. */ call_transcription: CallTranscription; - /** * The type of event: "call.transcription_ready" in this case */ @@ -5080,11 +3871,8 @@ export interface CallTranscriptionReadyEvent { export interface CallTranscriptionStartedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of event: "call.transcription_started" in this case */ @@ -5093,11 +3881,8 @@ export interface CallTranscriptionStartedEvent { export interface CallTranscriptionStoppedEvent { call_cid: string; - created_at: Date; - egress_id: string; - /** * The type of event: "call.transcription_stopped" in this case */ @@ -5106,19 +3891,12 @@ export interface CallTranscriptionStoppedEvent { export interface CallType { app: number; - created_at: Date; - id: number; - name: string; - recording_external_storage: string; - updated_at: Date; - notification_settings?: NotificationSettings; - settings?: CallSettings; } @@ -5127,26 +3905,20 @@ export interface CallTypeResponse { * the time the call type was created */ created_at: Date; - /** * the name of the call type */ name: string; - /** * the time the call type was last updated */ updated_at: Date; - /** * the permissions granted to each role */ grants: Record>; - notification_settings: NotificationSettingsResponse; - settings: CallSettingsResponse; - /** * the external storage for the call type */ @@ -5159,19 +3931,15 @@ export interface CallTypeRuleParameters { export interface CallUpdatedEvent { call_cid: string; - created_at: Date; - /** * Represents a call */ call: CallResponse; - /** * The capabilities by role for this call */ capabilities_by_role: Record>; - /** * The type of event: "call.updated" in this case */ @@ -5180,38 +3948,29 @@ export interface CallUpdatedEvent { export interface CallUserFeedbackSubmittedEvent { call_cid: string; - created_at: Date; - /** * The rating given by the user (1-5) */ rating: number; - /** * Call session ID */ session_id: string; - /** * User response object */ user: UserResponse; - /** * The type of event, "call.user_feedback" in this case */ type: string; - /** * The reason provided by the user for the rating */ reason?: string; - sdk?: string; - sdk_version?: string; - /** * Custom data provided by the user */ @@ -5220,15 +3979,10 @@ export interface CallUserFeedbackSubmittedEvent { export interface CallUserMutedEvent { call_cid: string; - created_at: Date; - from_user_id: string; - reason: string; - muted_user_ids: Array; - /** * The type of event: "call.user_muted" in this case */ @@ -5237,7 +3991,6 @@ export interface CallUserMutedEvent { export interface CallViolationCountParameters { threshold?: number; - time_window?: string; } @@ -5251,95 +4004,58 @@ export interface CallsPerDayReportResponse { export interface CampaignChannelMember { user_id: string; - channel_role?: string; - custom?: Record; } export interface CampaignChannelTemplate { type: string; - id?: string; - team?: string; - members?: Array; - members_template?: Array; - custom?: Record; } export interface CampaignCompletedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - campaign?: CampaignResponse; } export interface CampaignMessageTemplate { text: string; - poll_id?: string; - searchable?: boolean; - attachments?: Array; - custom?: Record; } export interface CampaignResponse { create_channels: boolean; - created_at: Date; - description: string; - id: string; - name: string; - sender_id: string; - sender_mode: string; - sender_visibility: string; - show_channels: boolean; - skip_push: boolean; - skip_webhook: boolean; - status: string; - updated_at: Date; - segment_ids: Array; - segments: Array; - user_ids: Array; - users: Array; - stats: CampaignStatsResponse; - scheduled_for?: Date; - stop_at?: Date; - channel_template?: CampaignChannelTemplate; - message_template?: CampaignMessageTemplate; - /** * User response object */ @@ -5348,29 +4064,19 @@ export interface CampaignResponse { export interface CampaignStartedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - campaign?: CampaignResponse; } export interface CampaignStatsResponse { progress: number; - stats_channels_created: number; - stats_completed_at: Date; - stats_messages_sent: number; - stats_started_at: Date; - stats_users_read: number; - stats_users_sent: number; } @@ -5385,12 +4091,10 @@ export interface CancelImportV2TaskResponse { export interface CastPollVoteRequest { user_id?: string; - /** * User request object */ user?: UserRequest; - vote?: VoteData; } @@ -5398,73 +4102,48 @@ export interface ChangeFeedVisibilityRequest { /** * Feed visibility level: public, visible, followers, members, or private */ - visibility: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * What to do with existing pending follows when loosening visibility from 'followers': auto_approve (default) or reject */ - pending_follows_action?: 'auto_approve' | 'reject'; } export interface ChangeFeedVisibilityResponse { duration: string; - feed: FeedResponse; } export interface ChannelBatchCompletedEvent { batch_created_at: Date; - created_at: Date; - finished_at: Date; - operation: string; - status: string; - success_channels_count: number; - task_id: string; - failed_channels: Array; - custom: Record; - type: string; - received_at?: Date; } export interface ChannelBatchMemberRequest { user_id: string; - channel_role?: string; } export interface ChannelBatchStartedEvent { batch_created_at: Date; - created_at: Date; - finished_at: Date; - operation: string; - status: string; - success_channels_count: number; - task_id: string; - failed_channels: Array; - custom: Record; - type: string; - received_at?: Date; } @@ -5483,45 +4162,36 @@ export interface ChannelBatchUpdateRequest { | 'archive' | 'unarchive' | 'updateData'; - /** * Filter to apply to the query */ filter: Record; - /** * Required with the `addMembersHideHistory` operation, and rejected with every other operation including `addMembers`. Hides each matched channel's history before this time from the members the operation adds. Members that already belong to a matched channel are never affected. Must be in RFC3339 format (e.g., "2024-01-01T10:00:00Z") and in the past. */ hide_history_before?: Date; - /** * For updateData only. Requires a root cids $eq or $in filter with at most 100 CIDs and no root $or/$and. Split larger selections into requests of at most 100 CIDs. A success_channels_count response means the database update completed; a task_id response means it was queued and must be polled, including on older API nodes. */ synchronous?: boolean; - /** * `updateData` only. Deletes these keys from each channel's existing custom object, leaving every other custom key untouched. Keys are dot-paths; deleting a key that does not exist is a no-op. Cannot be combined with `data.custom` */ custom_unset?: Array; - members?: Array; - /** * `updateData` only. Merges these keys into each channel's existing custom object, leaving every other custom key untouched. Keys are dot-paths, so `a.b` sets key `b` inside object `a` (the parent object must already exist). Cannot be combined with `data.custom` */ custom_set?: Record; - data?: ChannelDataUpdate; } export interface ChannelBatchUpdateResponse { duration: string; - /** * Positive count of channels selected for a completed synchronous database update, not an affected-row count. Concurrent deletion may reduce the rows written. task_id is absent. */ success_channels_count?: number; - /** * Present for asynchronous updates. Poll this task even if synchronous was requested: an older API node may have queued the update. */ @@ -5530,235 +4200,146 @@ export interface ChannelBatchUpdateResponse { export interface ChannelConfig { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - /** * List of commands that channel supports */ commands: Array; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; } export interface ChannelConfigOverrides { blocklist?: string; - blocklist_behavior?: 'flag' | 'block'; - /** * Enable/disable message counting */ count_messages?: boolean; - /** * Overrides max message length */ max_message_length?: number; - /** * Overrides the push notification level for this channel */ - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - /** * Enables message quotes */ quotes?: boolean; - /** * Enables or disables reactions */ reactions?: boolean; - /** * Enables message replies (threads) */ replies?: boolean; - /** * Enable/disable shared locations */ shared_locations?: boolean; - /** * Enables or disables typing events */ typing_events?: boolean; - /** * Enables or disables file uploads */ uploads?: boolean; - /** * Enables or disables URL enrichment */ url_enrichment?: boolean; - /** * Enable/disable user message reminders */ user_message_reminders?: boolean; - /** * List of commands that channel supports */ commands?: Array; - chat_preferences?: ChatPreferences; - grants?: Record>; } export interface ChannelConfigWithInfo { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - commands: Array; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; - grants?: Record>; } @@ -5767,17 +4348,14 @@ export interface ChannelContextResponse { * Channel CID (:) */ cid: string; - /** * Channel ID */ id: string; - /** * Channel type */ type: string; - /** * User response object */ @@ -5789,69 +4367,51 @@ export interface ChannelCreatedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.created" in this case */ type: string; - /** * The ID of the channel which was created */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was created */ channel_type?: string; - /** * The CID of the channel which was created */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } export interface ChannelDataUpdate { auto_translation_enabled?: boolean; - auto_translation_language?: string; - disabled?: boolean; - frozen?: boolean; - team?: string; - /** * Channel configuration overrides */ config_overrides?: ChannelConfigOverrides; - custom?: Record; } @@ -5860,71 +4420,55 @@ export interface ChannelDeletedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.deleted" in this case */ type: string; - /** * The ID of the channel which was deleted */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was deleted */ channel_type?: string; - /** * The CID of the channel which was deleted */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } export interface ChannelExport { cid?: string; - /** * Channel ID */ id?: string; - /** * Date to export messages since */ messages_since?: Date; - /** * Date to export messages until */ messages_until?: Date; - /** * Channel type */ @@ -5936,29 +4480,23 @@ export interface ChannelFrozenEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "channel.frozen" in this case */ type: string; - /** * The ID of the channel which was frozen */ channel_id?: string; - /** * The type of the channel which was frozen */ channel_type?: string; - /** * The CID of the channel which was frozen */ cid?: string; - received_at?: Date; } @@ -5967,25 +4505,18 @@ export interface ChannelGetOrCreateRequest { * Whether this channel will be hidden for the user who created the channel or not */ hide_for_creator?: boolean; - /** * Refresh channel state */ state?: boolean; - thread_unread_counts?: boolean; - /** * Top-level keys of the message sender's channel-member custom data to include under member.custom (max 8 keys, 64 chars each) */ member_custom_include?: Array; - data?: ChannelInput; - members?: PaginationParams; - messages?: MessagePaginationParams; - watchers?: PaginationParams; } @@ -5994,55 +4525,42 @@ export interface ChannelHiddenEvent { * Whether the history was cleared */ clear_history: boolean; - /** * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.hidden" in this case */ type: string; - /** * The ID of the channel which was hidden */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was hidden */ channel_type?: string; - /** * The CID of the channel which was hidden */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } @@ -6051,72 +4569,51 @@ export interface ChannelInput { * Enable or disable auto translation */ auto_translation_enabled?: boolean; - /** * Language (or comma-separated list of languages) to translate to when auto translation is active */ auto_translation_language?: string; - created_by_id?: string; - disabled?: boolean; - /** * Freeze or unfreeze the channel */ frozen?: boolean; - /** * Team the channel belongs to (if multi-tenant mode is enabled) */ team?: string; - truncated_by_id?: string; - filter_tags?: Array; - invites?: Array; - members?: Array; - /** * Channel configuration overrides */ config_overrides?: ChannelConfigOverrides; - /** * User request object */ created_by?: UserRequest; - custom?: Record; } export interface ChannelInputRequest { auto_translation_enabled?: boolean; - auto_translation_language?: string; - disabled?: boolean; - frozen?: boolean; - team?: string; - invites?: Array; - members?: Array; - /** * Channel configuration overrides */ config_overrides?: ConfigOverridesRequest; - /** * User request object */ created_by?: UserRequest; - custom?: Record; } @@ -6125,12 +4622,10 @@ export interface ChannelMemberPartialResponse { * Role of the member in the channel */ channel_role: string; - /** * Whether the user muted notifications for this channel */ notifications_muted: boolean; - /** * Channel-member custom fields projected via `member_custom_include` */ @@ -6142,11 +4637,8 @@ export interface ChannelMemberRequest { * Role of the member in the channel */ channel_role?: string; - user_id?: string; - custom?: Record; - user?: MemberUserRequest; } @@ -6155,83 +4647,62 @@ export interface ChannelMemberResponse { * Whether member is banned this channel or not */ banned: boolean; - /** * Role of the member in the channel */ channel_role: string; - /** * Date/time of creation */ created_at: Date; - notifications_muted: boolean; - /** * Whether member is shadow banned in this channel or not */ shadow_banned: boolean; - /** * Date/time of the last update */ updated_at: Date; - custom: Record; - archived_at?: Date; - /** * Expiration date of the ban */ ban_expires?: Date; - /** * Whether the member's ban also applies to channels the channel's creator will create in the future (an active future channel ban by the creator targets this member) */ ban_from_future_channels?: boolean; - deleted_at?: Date; - /** * Expiration date of the future channel ban; absent when the future channel ban is permanent */ future_channel_ban_expires?: Date; - /** * Date when invite was accepted */ invite_accepted_at?: Date; - /** * Date when invite was rejected */ invite_rejected_at?: Date; - /** * Whether member was invited or not */ invited?: boolean; - /** * Whether member is channel moderator or not */ is_moderator?: boolean; - pinned_at?: Date; - /** * Permission level of the member in the channel (DEPRECATED: use channel_role instead). One of: member, moderator, admin, owner */ role?: string; - status?: string; - user_id?: string; - deleted_messages?: Array; - /** * User response object */ @@ -6240,7 +4711,6 @@ export interface ChannelMemberResponse { export interface ChannelMessageCountRuleParameters { operator?: string; - threshold?: number; } @@ -6249,7 +4719,6 @@ export interface ChannelMessagesResponse { * List of messages */ messages: Array; - /** * Represents channel in chat */ @@ -6258,21 +4727,13 @@ export interface ChannelMessagesResponse { export interface ChannelMetadata { cid: string; - id: string; - type: string; - custom: Record; - last_message_at?: Date; - member_count?: number; - message_count?: number; - push_level?: string; - team?: string; } @@ -6281,22 +4742,18 @@ export interface ChannelMute { * Date/time of creation */ created_at: Date; - /** * Date/time of the last update */ updated_at: Date; - /** * Date/time of mute expiration */ expires?: Date; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * User response object */ @@ -6308,23 +4765,17 @@ export interface ChannelMutedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "channel.muted" in this case */ type: string; - received_at?: Date; - /** * The mute objects */ mutes?: Array; - mute?: ChannelMute; - user?: UserResponseCommonFields; } @@ -6378,9 +4829,7 @@ export type ChannelOwnCapability = export interface ChannelPushPreferencesResponse { chat_level?: string; - disabled_until?: Date; - chat_preferences?: ChatPreferencesResponse; } @@ -6389,131 +4838,104 @@ export interface ChannelResponse { * Channel CID (:) */ cid: string; - /** * Date/time of creation */ created_at: Date; - disabled: boolean; - /** * Whether channel is frozen or not */ frozen: boolean; - /** * Channel unique ID */ id: string; - /** * Type of the channel */ type: string; - /** * Date/time of the last update */ updated_at: Date; - /** * Custom data for this object */ custom: Record; - /** * Whether auto translation is enabled or not */ auto_translation_enabled?: boolean; - /** * Language (or comma-separated list of languages) to translate to when auto translation is active */ auto_translation_language?: string; - /** * Whether this channel is blocked by current user or not */ blocked?: boolean; - /** * Cooldown period after sending each message */ cooldown?: number; - /** * Date/time of deletion */ deleted_at?: Date; - /** * Whether this channel is hidden by current user or not */ hidden?: boolean; - /** * Date since when the message history is accessible */ hide_messages_before?: Date; - /** * Date of the last message sent */ last_message_at?: Date; - /** * Number of members in the channel */ member_count?: number; - /** * Number of messages in the channel */ message_count?: number; - /** * Date of mute expiration */ mute_expires_at?: Date; - /** * Whether this channel is muted or not */ muted?: boolean; - /** * Team the channel belongs to (multi-tenant only) */ team?: string; - /** * Date of the latest truncation of the channel */ truncated_at?: Date; - /** * List of filter tags associated with the channel */ filter_tags?: Array; - /** * List of channel members (max 100) */ members?: Array; - /** * List of channel capabilities of authenticated user */ own_capabilities?: Array; - config?: ChannelConfigWithInfo; - /** * User response object */ created_by?: UserResponse; - /** * User response object */ @@ -6522,38 +4944,23 @@ export interface ChannelResponse { export interface ChannelStateResponse { duration: string; - members: Array; - messages: Array; - pinned_messages: Array; - threads: Array; - hidden?: boolean; - hide_messages_before?: Date; - watcher_count?: number; - active_live_locations?: Array; - pending_messages?: Array; - read?: Array; - watchers?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - draft?: DraftResponse; - membership?: ChannelMemberResponse; - push_preferences?: ChannelPushPreferencesResponse; } @@ -6562,63 +4969,49 @@ export interface ChannelStateResponseFields { * List of channel members */ members: Array; - /** * List of channel messages */ messages: Array; - /** * List of pinned messages in the channel */ pinned_messages: Array; - threads: Array; - /** * Whether this channel is hidden or not */ hidden?: boolean; - /** * Messages before this date are hidden from the user */ hide_messages_before?: Date; - /** * Number of channel watchers */ watcher_count?: number; - /** * Active live locations in the channel */ active_live_locations?: Array; - /** * Pending messages that this user has sent */ pending_messages?: Array; - /** * List of read states */ read?: Array; - /** * List of user who is watching the channel */ watchers?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - draft?: DraftResponse; - membership?: ChannelMemberResponse; - push_preferences?: ChannelPushPreferencesResponse; } @@ -6627,140 +5020,88 @@ export interface ChannelTruncatedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.truncated" in this case */ type: string; - /** * The ID of the channel which was truncated */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was truncated */ channel_type?: string; - /** * The CID of the channel which was truncated */ cid?: string; - message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - /** * Represents any chat message */ message?: MessageResponse; - user?: UserResponseCommonFields; } export interface ChannelTypeConfig { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - commands: Array; - permissions: Array; - grants: Record>; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; } @@ -6769,29 +5110,23 @@ export interface ChannelUnFrozenEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "channel.unfrozen" in this case */ type: string; - /** * The ID of the channel which was unfrozen */ channel_id?: string; - /** * The type of the channel which was unfrozen */ channel_type?: string; - /** * The CID of the channel which was unfrozen */ cid?: string; - received_at?: Date; } @@ -6800,23 +5135,17 @@ export interface ChannelUnmutedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "channel.unmuted" in this case */ type: string; - received_at?: Date; - /** * The mute objects */ mutes?: Array; - mute?: ChannelMute; - user?: UserResponseCommonFields; } @@ -6825,57 +5154,43 @@ export interface ChannelUpdatedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.updated" in this case */ type: string; - /** * The ID of the channel which was updated */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was updated */ channel_type?: string; - /** * The CID of the channel which was updated */ cid?: string; - message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - /** * Represents any chat message */ message?: MessageResponse; - user?: UserResponseCommonFields; } @@ -6884,50 +5199,38 @@ export interface ChannelVisibleEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "channel.visible" in this case */ type: string; - /** * The ID of the channel which was shown */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was shown */ channel_type?: string; - /** * The CID of the channel which was shown */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } @@ -6937,237 +5240,140 @@ export interface ChatActivityStatsResponse { export interface ChatDraftPayloadResponse { id: string; - text: string; - custom: Record; - html?: string; - mml?: string; - parent_id?: string; - poll_id?: string; - quoted_message_id?: string; - show_in_channel?: boolean; - silent?: boolean; - type?: string; - attachments?: Array; - mentioned_users?: Array; } export interface ChatDraftResponse { channel_cid: string; - created_at: Date; - message: ChatDraftPayloadResponse; - parent_id?: string; - parent_message?: ChatMessageResponse; - quoted_message?: ChatMessageResponse; } export interface ChatMessageResponse { cid: string; - created_at: Date; - deleted_reply_count: number; - html: string; - id: string; - mentioned_channel: boolean; - mentioned_here: boolean; - pinned: boolean; - reply_count: number; - shadowed: boolean; - silent: boolean; - text: string; - type: string; - updated_at: Date; - attachments: Array; - latest_reactions: Array; - mentioned_users: Array; - own_reactions: Array; - restricted_visibility: Array; - custom: Record; - reaction_counts: Record; - reaction_scores: Record; - /** * User response object */ user: UserResponse; - command?: string; - deleted_at?: Date; - deleted_for_me?: boolean; - message_text_updated_at?: Date; - mml?: string; - parent_id?: string; - pin_expires?: Date; - pinned_at?: Date; - poll_id?: string; - quoted_message_id?: string; - show_in_channel?: boolean; - mentioned_group_ids?: Array; - mentioned_groups?: Array; - mentioned_roles?: Array; - thread_participants?: Array; - draft?: ChatDraftResponse; - i18n?: Record; - image_labels?: Record>; - member?: ChannelMemberPartialResponse; - moderation?: ChatModerationV2Response; - /** * User response object */ pinned_by?: UserResponse; - poll?: PollResponseData; - quoted_message?: ChatMessageResponse; - reaction_groups?: Record; - reminder?: ChatReminderResponseData; - shared_location?: ChatSharedLocationResponseData; } export interface ChatModerationV2Response { action: string; - original_text: string; - blocklist_matched?: string; - platform_circumvented?: boolean; - semantic_filter_matched?: string; - blocklists_matched?: Array; - image_harms?: Array; - text_harms?: Array; } export interface ChatPreferences { channel_mentions?: string; - default_preference?: string; - direct_mentions?: string; - distinct_channel_messages?: string; - group_mentions?: string; - here_mentions?: string; - role_mentions?: string; - thread_replies?: string; } export interface ChatPreferencesInput { channel_mentions?: 'all' | 'none'; - default_preference?: 'all' | 'none'; - direct_mentions?: 'all' | 'none'; - group_mentions?: 'all' | 'none'; - here_mentions?: 'all' | 'none'; - role_mentions?: 'all' | 'none'; - thread_replies?: 'all' | 'none'; } export interface ChatPreferencesResponse { channel_mentions?: string; - default_preference?: string; - direct_mentions?: string; - group_mentions?: string; - here_mentions?: string; - role_mentions?: string; - thread_replies?: string; } export interface ChatReactionGroupResponse { count: number; - first_reaction_at: Date; - last_reaction_at: Date; - sum_scores: number; - latest_reactions_by: Array; } export interface ChatReactionGroupUserResponse { created_at: Date; - user_id: string; - /** * User response object */ @@ -7176,19 +5382,12 @@ export interface ChatReactionGroupUserResponse { export interface ChatReactionResponse { created_at: Date; - message_id: string; - score: number; - type: string; - updated_at: Date; - user_id: string; - custom: Record; - /** * User response object */ @@ -7197,19 +5396,12 @@ export interface ChatReactionResponse { export interface ChatReminderResponseData { channel_cid: string; - created_at: Date; - message_id: string; - updated_at: Date; - user_id: string; - remind_at?: Date; - message?: ChatMessageResponse; - /** * User response object */ @@ -7218,23 +5410,14 @@ export interface ChatReminderResponseData { export interface ChatSharedLocationResponseData { channel_cid: string; - created_at: Date; - created_by_device_id: string; - latitude: number; - longitude: number; - message_id: string; - updated_at: Date; - user_id: string; - end_at?: Date; - message?: ChatMessageResponse; } @@ -7243,7 +5426,6 @@ export interface CheckExternalStorageResponse { * Duration of the request in milliseconds */ duration: string; - file_url: string; } @@ -7252,50 +5434,40 @@ export interface CheckPushRequest { * Push message template for APN */ apn_template?: string; - /** * Type of event for push templates (default: message.new). One of: message.new, message.updated, reaction.new, reaction.updated, notification.reminder_due */ - event_type?: | 'message.new' | 'message.updated' | 'reaction.new' | 'reaction.updated' | 'notification.reminder_due'; - /** * Push message data template for Firebase */ firebase_data_template?: string; - /** * Push message template for Firebase */ firebase_template?: string; - /** * Message ID to send push notification for */ message_id?: string; - /** * Name of push provider */ push_provider_name?: string; - /** * Push provider type. One of: firebase, apn, huawei, xiaomi */ push_provider_type?: string; - /** * Don't require existing devices to render templates */ skip_devices?: boolean; - user_id?: string; - /** * User request object */ @@ -7304,31 +5476,24 @@ export interface CheckPushRequest { export interface CheckPushResponse { duration: string; - /** * The event type that was tested */ event_type?: string; - rendered_apn_template?: string; - rendered_firebase_template?: string; - /** * Don't require existing devices to render templates */ skip_devices?: boolean; - /** * List of general errors */ general_errors?: Array; - /** * Object with device errors */ device_errors?: Record; - rendered_message?: Record; } @@ -7337,48 +5502,41 @@ export interface CheckRequest { * ID of the user who created the entity */ entity_creator_id: string; - /** * Unique identifier of the entity to moderate */ entity_id: string; - /** * Type of entity to moderate */ entity_type: string; - /** * Key of the moderation configuration to use */ config_key?: string; - /** * Team associated with the configuration */ config_team?: string; - /** * Original timestamp when the content was produced (for correlating flagged content with source video timeline) */ content_published_at?: Date; - + /** + * ISO 3166-1 alpha-2 country the content is aimed at (e.g. US, DE), used as country context by AI text providers + */ + country_code?: string; /** * Whether to run moderation in test mode */ test_mode?: boolean; - user_id?: string; - config?: ModerationConfig; - moderation_payload?: ModerationPayload; - /** * Additional moderation configuration options */ options?: Record; - /** * User request object */ @@ -7387,29 +5545,23 @@ export interface CheckRequest { export interface CheckResponse { duration: string; - /** * Suggested action based on moderation results */ recommended_action: string; - /** * Status of the moderation check (completed or pending) */ status: string; - /** * ID of the running moderation task */ task_id?: string; - /** * All moderation rules triggered by this check (content, user, and call rules), with their resolved actions */ triggered_rules?: Array; - item?: ReviewQueueItemResponse; - triggered_rule?: TriggeredRuleResponse; } @@ -7422,12 +5574,10 @@ export interface CheckS3AccessRequest { export interface CheckS3AccessResponse { duration: string; - /** * Whether the S3 access check succeeded */ success: boolean; - /** * Descriptive message about the check result */ @@ -7439,12 +5589,10 @@ export interface CheckSNSRequest { * AWS SNS access key */ sns_key?: string; - /** * AWS SNS key secret */ sns_secret?: string; - /** * AWS SNS topic ARN */ @@ -7453,17 +5601,14 @@ export interface CheckSNSRequest { export interface CheckSNSResponse { duration: string; - /** * Validation result. One of: ok, error */ status: string; - /** * Error text */ error?: string; - /** * Error data */ @@ -7475,12 +5620,10 @@ export interface CheckSQSRequest { * AWS SQS access key */ sqs_key?: string; - /** * AWS SQS key secret */ sqs_secret?: string; - /** * AWS SQS endpoint URL */ @@ -7489,17 +5632,14 @@ export interface CheckSQSRequest { export interface CheckSQSResponse { duration: string; - /** * Validation result. One of: ok, error */ status: string; - /** * Error text */ error?: string; - /** * Error data */ @@ -7508,13 +5648,9 @@ export interface CheckSQSResponse { export interface Classification { name: string; - confidence?: number; - severity?: string; - matched_contributors?: Array; - subclassifications?: Array; } @@ -7523,137 +5659,110 @@ export interface ClientEvent { * Call session ID associated with the attempt. Required on every event except CoordinatorJoin initiation and CoordinatorJoin failure (where the call session is not yet established); optional on MediaDevicePermission. */ call_session_id?: string; - /** * Camera permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Required on every MediaDevicePermission event. */ camera_permission_status?: string; - /** * UUID generated by the client and shared across every event of the same coordinator connection. Required on every event except JoinInitiated, which is reported before a coordinator connection exists. */ coordinator_connect_id?: string; - /** * Milliseconds elapsed between the stage attempt's initiation and this event. */ elapsed_time?: number; - /** * Whether the event marks the start (initiated) or resolution (completed) of a stage attempt, or another event-specific value */ event_type?: string; - /** * Terminal state of the peer connection. Required on PeerConnectionConnect failure. */ ice_state?: string; - /** * Call ID associated with the event. Required on every stage except CoordinatorWS, where it is optional. */ id?: string; - /** * UUID generated by the client and shared across JoinInitiated and the join-lifecycle events (CoordinatorJoin, WSJoin, PeerConnectionConnect) of the same overall join attempt. Required on every join event except CoordinatorWS, which is reported before a join attempt is established. */ join_attempt_id?: string; - /** * Reason the client initiated the join. Optional on CoordinatorJoin events; empty when not provided. */ join_reason?: string; - /** * Microphone permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Required on every MediaDevicePermission event. */ microphone_permission_status?: string; - /** * Resolution of a completed event: success or failure. Required on completed join events; forbidden on initiated join events. */ outcome?: string; - /** * Which peer connection a PeerConnectionConnect event reports on: publish or subscribe. Required on every PeerConnectionConnect event. */ peer_connection?: string; - /** * UTC timestamp at which the ICE connection was established earlier in the session, when applicable */ previously_connected_timestamp?: Date; - /** * Total in-stage retries the client made before resolving (0–1000). Required on completed join events. */ retry_count_attempt?: number; - /** * Failure code string. Required on CoordinatorJoin, CoordinatorWS, WSJoin, and PeerConnectionConnect failure. */ retry_failure_code?: string; - /** * Failure reason string. Required on CoordinatorJoin, CoordinatorWS, WSJoin, and PeerConnectionConnect failure. */ retry_failure_reason?: string; - /** * Screen-share permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Optional on MediaDevicePermission events. */ screen_share_status?: string; - /** * Version of the client SDK */ sdk_version?: string; - /** * Identifier of the SFU the client was attempting to connect to. Required on WSJoin and PeerConnectionConnect failure, and on FirstAudioFrame and FirstVideoFrame. */ sfu_id?: string; - /** * Source of the coordinator join. Optional on CoordinatorJoin events; omitted when not provided. */ source?: string; - /** * Discriminator identifying the event kind. JoinInitiated marks the start of a join attempt; join-lifecycle events use CoordinatorJoin, CoordinatorWS, WSJoin, or PeerConnectionConnect; media-readiness events use FirstAudioFrame or FirstVideoFrame; MediaDevicePermission reports device permission results; other values denote generic client events. */ stage?: string; - /** * UUID generated by the client at initiation. Identical on the matching completion event. Absent on JoinInitiated. */ stage_id?: string; - /** * UTC timestamp at which the event was recorded */ timestamp?: Date; - /** * Identifier of the media track the frame belongs to. Required on FirstVideoFrame; optional on FirstAudioFrame. */ track_id?: string; - /** * Call type associated with the event. Required on every stage except CoordinatorWS, where it is optional. */ type?: string; - /** * User agent string of the client SDK */ user_agent?: string; - /** * ID of the user the event was recorded for */ user_id?: string; - /** * Whether the ICE connection had been established earlier in the same session. Required on every PeerConnectionConnect event so reconnects can be distinguished from fresh connects. */ @@ -7662,22 +5771,17 @@ export interface ClientEvent { export interface ClientOSDataResponse { architecture?: string; - name?: string; - version?: string; } export interface ClosedCaptionEvent { call_cid: string; - created_at: Date; - /** * CallClosedCaption represents a closed caption of a call. */ closed_caption: CallClosedCaption; - /** * The type of event: "call.closed_caption" in this case */ @@ -7686,27 +5790,18 @@ export interface ClosedCaptionEvent { export interface ClosedCaptionRuleParameters { severity?: string; - threshold?: number; - time_window?: string; - harm_labels?: Array; - llm_harm_labels?: Record; } export interface CollectUserFeedbackRequest { rating: number; - sdk: string; - sdk_version: string; - reason?: string; - user_session_id?: string; - custom?: Record; } @@ -7722,17 +5817,14 @@ export interface CollectionRequest { * Name/type of the collection */ name: string; - /** * Custom data for the collection (required, must contain at least one key) */ custom: Record; - /** * Unique identifier for the collection within its name (optional, will be auto-generated if not provided) */ id?: string; - /** * ID of the user who owns this collection */ @@ -7744,27 +5836,22 @@ export interface CollectionResponse { * Unique identifier for the collection within its name */ id: string; - /** * Name/type of the collection */ name: string; - /** * When the collection was created */ created_at?: Date; - /** * When the collection was last updated */ updated_at?: Date; - /** * ID of the user who owns this collection */ user_id?: string; - /** * Custom data for the collection */ @@ -7776,27 +5863,22 @@ export interface Command { * Arguments help text, shown in commands auto-completion */ args: string; - /** * Description, shown in commands auto-completion */ description: string; - /** * Unique command name */ name: string; - /** * Set name used for grouping commands */ set: string; - /** * Date/time of creation */ created_at?: Date; - /** * Date/time of the last update */ @@ -7808,24 +5890,16 @@ export interface CommentAddedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - comment: CommentResponse; - custom: Record; - /** * The type of event: "feeds.comment.added" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -7834,22 +5908,15 @@ export interface CommentDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - comment: CommentResponse; - custom: Record; - /** * The type of event: "feeds.comment.deleted" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -7858,26 +5925,17 @@ export interface CommentReactionAddedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - comment: CommentResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of event: "feeds.comment.reaction.added" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -7886,22 +5944,15 @@ export interface CommentReactionDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - comment: CommentResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of reaction that was removed */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -7910,152 +5961,116 @@ export interface CommentReactionUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - activity: ActivityResponse; - comment: CommentResponse; - custom: Record; - reaction: FeedsReactionResponse; - /** * The type of event: "feeds.comment.reaction.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } export interface CommentResponse { bookmark_count: number; - /** * Confidence score of the comment */ confidence_score: number; - /** * When the comment was created */ created_at: Date; - /** * Number of downvotes for this comment */ downvote_count: number; - /** * Unique identifier for the comment */ id: string; - /** * ID of the object this comment is associated with */ object_id: string; - /** * Type of the object this comment is associated with */ object_type: string; - /** * Number of reactions to this comment */ reaction_count: number; - /** * Number of replies to this comment */ reply_count: number; - /** * Score of the comment based on reactions */ score: number; - /** * Status of the comment. One of: active, deleted, removed, hidden */ - status: 'active' | 'deleted' | 'removed' | 'hidden' | 'shadow_blocked'; - /** * When the comment was last updated */ updated_at: Date; - /** * Number of upvotes for this comment */ upvote_count: number; - /** * Users mentioned in the comment */ mentioned_users: Array; - /** * Current user's reactions to this activity */ own_reactions: Array; - /** * User response object */ user: UserResponse; - /** * Controversy score of the comment */ controversy_score?: number; - /** * When the comment was deleted */ deleted_at?: Date; - /** * When the comment was last edited */ edited_at?: Date; - /** * ID of parent comment for nested replies */ parent_id?: string; - /** * Text content of the comment */ text?: string; - /** * Attachments associated with the comment */ attachments?: Array; - /** * Recent reactions to the comment */ latest_reactions?: Array; - /** * Custom data for the comment */ custom?: Record; - i18n?: Record; - moderation?: ModerationV2Response; - /** * Grouped reactions by type */ @@ -8067,22 +6082,15 @@ export interface CommentRestoredEvent { * Date/time of creation */ created_at: Date; - fid: string; - comment: CommentResponse; - custom: Record; - /** * The type of event: "feeds.comment.restored" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -8091,22 +6099,15 @@ export interface CommentUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - comment: CommentResponse; - custom: Record; - /** * The type of event: "feeds.comment.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -8118,13 +6119,9 @@ export interface CompositeRecordingResponse { export interface ConcurrencyMinute { joins: number; - leaves: number; - max: number; - min: number; - minute: string; } @@ -8133,72 +6130,56 @@ export interface ConfigOverridesRequest { * Blocklist name */ blocklist?: string; - /** * Blocklist behavior. One of: flag, block */ - blocklist_behavior?: 'flag' | 'block'; - /** * Enable/disable message counting */ count_messages?: boolean; - /** * Maximum message length */ max_message_length?: number; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - /** * Enable/disable quotes */ quotes?: boolean; - /** * Enable/disable reactions */ reactions?: boolean; - /** * Enable/disable replies */ replies?: boolean; - /** * Enable/disable shared locations */ shared_locations?: boolean; - /** * Enable/disable typing events */ typing_events?: boolean; - /** * Enable/disable uploads */ uploads?: boolean; - /** * Enable/disable URL enrichment */ url_enrichment?: boolean; - /** * Enable/disable user message reminders */ user_message_reminders?: boolean; - /** * List of available commands */ commands?: Array; - chat_preferences?: ChatPreferences; - /** * Permission grants modifiers */ @@ -8210,88 +6191,63 @@ export interface ConfigResponse { * Whether moderation should be performed asynchronously */ async: boolean; - /** * When the configuration was created */ created_at: Date; - /** * Unique identifier for the moderation configuration */ key: string; - /** * Team associated with the configuration */ team: string; - /** * When the configuration was last updated */ updated_at: Date; - supported_video_call_harm_types: Array; - /** * Configurable image moderation label definitions for dashboard rendering */ ai_image_label_definitions?: Array; - /** * Names of Bodyguard credential profiles registered on this app. The dashboard uses this list to render the profile picker on the AI Text section. */ available_bodyguard_profiles?: Array; - ai_audio_config?: AIAudioConfigResponse; - ai_image_config?: AIImageConfig; - /** * Available L2 subclassifications per L1 image moderation label, based on the active provider */ ai_image_subclassifications?: Record>; - ai_text_config?: AITextConfig; - ai_video_config?: AIVideoConfigResponse; - automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig; - automod_semantic_filters_config?: AutomodSemanticFiltersConfig; - automod_toxicity_config?: AutomodToxicityConfig; - block_list_config?: BlockListConfig; - flood_config?: FloodConfig; - llm_config?: LLMConfig; - velocity_filter_config?: VelocityFilterConfig; - video_call_rule_config?: VideoCallRuleConfig; } export interface ContentCountRuleParameters { threshold?: number; - time_window?: string; } export interface ContentCustomPropertyCountParameters { operator?: string; - property_key?: string; - threshold?: number; - time_window?: string; } export interface ContentCustomPropertyParameters { operator?: string; - property_key?: string; } @@ -8300,7 +6256,6 @@ export interface CoordinatesResponse { * Latitude coordinate */ latitude: number; - /** * Longitude coordinate */ @@ -8309,15 +6264,12 @@ export interface CoordinatesResponse { export interface CountByMinuteResponse { count: number; - start_ts: Date; } export interface Coverage { publisher_encoding_profiles: number; - absent: Array; - metrics_pct: MetricsPct; } @@ -8326,26 +6278,18 @@ export interface CreateBlockListRequest { * Block list name */ name: string; - /** * List of words to block */ words: Array; - is_confusable_folding_enabled?: boolean; - is_leet_check_enabled?: boolean; - is_plural_check_enabled?: boolean; - is_substring_matching_enabled?: boolean; - team?: string; - /** * Block list type. One of: regex, domain, domain_allowlist, email, email_allowlist, word */ - type?: | 'regex' | 'domain' @@ -8353,9 +6297,7 @@ export interface CreateBlockListRequest { | 'email' | 'email_allowlist' | 'word'; - user_id?: string; - /** * User request object */ @@ -8367,7 +6309,6 @@ export interface CreateBlockListResponse { * Duration of the request in milliseconds */ duration: string; - /** * Block list contains restricted words */ @@ -8376,19 +6317,15 @@ export interface CreateBlockListResponse { export interface CreateCallTypeRequest { name: string; - /** * the external storage for the call type */ external_storage?: string; - /** * the permissions granted to each role */ grants?: Record>; - notification_settings?: NotificationSettingsRequest; - settings?: CallSettingsRequest; } @@ -8397,28 +6334,21 @@ export interface CreateCallTypeResponse { * the time the call type was created */ created_at: Date; - duration: string; - /** * the name of the call type */ name: string; - /** * the time the call type was last updated */ updated_at: Date; - /** * the permissions granted to each role */ grants: Record>; - notification_settings: NotificationSettingsResponse; - settings: CallSettingsResponse; - /** * the external storage for the call type */ @@ -8430,63 +6360,48 @@ export interface CreateCampaignRequest { * The user ID of the sender */ sender_id: string; - message_template: CampaignMessageTemplate; - /** * Whether to create channels for the campaign, if they don't exist */ create_channels?: boolean; - /** * The description of the campaign */ description?: string; - id?: string; - /** * The name of the campaign */ name?: string; - /** * The sender mode of the campaign */ - sender_mode?: 'exclude' | 'include'; - /** * The visibility of the created channels for the sender */ - sender_visibility?: 'hidden' | 'archived'; - /** * Whether the campaign should show channels, if they are hidden */ show_channels?: boolean; - /** * Whether to skip push notifications */ skip_push?: boolean; - /** * Whether to skip webhooks */ skip_webhook?: boolean; - /** * The IDs of the segments to send the campaign to. Duplicate user IDs are removed. Use either user_ids or segment_ids, not both */ segment_ids?: Array; - /** * The userIDs to send the campaign to. Use either segment ids or user ids not both */ user_ids?: Array; - channel_template?: CampaignChannelTemplate; } @@ -8495,9 +6410,7 @@ export interface CreateCampaignResponse { * Duration of the request in milliseconds */ duration: string; - campaign?: CampaignResponse; - users?: PagerResponse; } @@ -8505,155 +6418,119 @@ export interface CreateChannelTypeRequest { /** * Automod. One of: disabled, simple, AI */ - automod: 'disabled' | 'simple' | 'AI'; - /** * Automod behavior. One of: flag, block */ - automod_behavior: 'flag' | 'block'; - /** * Max message length */ max_message_length: number; - /** * Channel type name */ name: string; - /** * Blocklist */ blocklist?: string; - /** * Blocklist behavior. One of: flag, block, shadow_block */ - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - /** * Connect events */ connect_events?: boolean; - /** * Count messages in channel. */ count_messages?: boolean; - /** * Custom events */ custom_events?: boolean; - delivery_events?: boolean; - /** * Mark messages pending */ mark_messages_pending?: boolean; - /** * Message retention. One of: infinite, numeric */ message_retention?: string; - /** * Mutes */ mutes?: boolean; - /** * Partition size */ partition_size?: number; - /** * Partition TTL */ partition_ttl?: string; - /** * Polls */ polls?: boolean; - /** * Default push notification level for the channel type. One of: all, all_mentions, mentions, direct_mentions, none */ - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - /** * Push notifications */ push_notifications?: boolean; - /** * Reactions */ reactions?: boolean; - /** * Read events */ read_events?: boolean; - /** * Replies */ replies?: boolean; - /** * Search */ search?: boolean; - /** * Enables shared location messages */ shared_locations?: boolean; - skip_last_msg_update_for_system_msgs?: boolean; - /** * Typing events */ typing_events?: boolean; - /** * Uploads */ uploads?: boolean; - /** * URL enrichment */ url_enrichment?: boolean; - user_message_reminders?: boolean; - /** * Blocklists */ blocklists?: Array; - /** * List of commands that channel supports */ commands?: Array; - /** * List of permissions for the channel type */ permissions?: Array; - chat_preferences?: ChatPreferences; - /** * List of grants for the channel type */ @@ -8662,86 +6539,47 @@ export interface CreateChannelTypeRequest { export interface CreateChannelTypeResponse { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - duration: string; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - commands: Array; - permissions: Array; - grants: Record>; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; } @@ -8750,9 +6588,7 @@ export interface CreateCollectionsRequest { * List of collections to create */ collections: Array; - user_id?: string; - /** * User request object */ @@ -8761,7 +6597,6 @@ export interface CreateCollectionsRequest { export interface CreateCollectionsResponse { duration: string; - /** * List of created collections */ @@ -8773,17 +6608,14 @@ export interface CreateCommandRequest { * Description, shown in commands auto-completion */ description: string; - /** * Unique command name */ name: string; - /** * Arguments help text, shown in commands auto-completion */ args?: string; - /** * Set name used for grouping commands */ @@ -8792,7 +6624,6 @@ export interface CreateCommandRequest { export interface CreateCommandResponse { duration: string; - /** * Represents custom chat command */ @@ -8804,33 +6635,26 @@ export interface CreateDeviceRequest { * Device ID */ id: string; - /** * Push provider */ - push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi'; - /** * Stable physical device identifier used to deduplicate pushes across push providers (e.g. APNs VoIP and Firebase on the same iOS device). Distinct from 'id', which is the push token. */ hardware_id?: string; - /** * Push provider name */ push_provider_name?: string; - /** * **Server-side only**. User ID which server acts upon */ user_id?: string; - /** * When true the token is for Apple VoIP push notifications */ voip_token?: boolean; - /** * User request object */ @@ -8842,30 +6666,23 @@ export interface CreateExternalStorageRequest { * The name of the bucket on the service provider */ bucket: string; - /** * The name of the provider, this must be unique */ name: string; - /** * The type of storage to use */ - storage_type: 's3' | 'gcs' | 'abs'; - gcs_credentials?: string; - /** * The path prefix to use for storing files */ path?: string; - /** * Config for creating Amazon S3 storage. */ aws_s3?: S3Request; - /** * Config for creating Azure Blob Storage storage */ @@ -8884,54 +6701,39 @@ export interface CreateFeedGroupRequest { * Unique identifier for the feed group */ id: string; - /** * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval */ default_follower_role?: string; - /** * Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'private'. Defaults to 'visible' if not provided. */ - default_visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Configuration for activity processors */ activity_processors?: Array; - /** * Configuration for activity selectors */ activity_selectors?: Array; - activity_filter?: ActivityFilterConfig; - activity_marks?: ActivityMarksConfig; - activity_processing?: ActivityProcessingConfig; - aggregation?: AggregationConfig; - /** * Custom data for the feed group */ custom?: Record; - notification?: NotificationConfig; - push_notification?: PushNotificationConfig; - ranking?: RankingConfig; - stories?: StoriesConfig; } export interface CreateFeedGroupResponse { duration: string; - feed_group: FeedGroupResponse; } @@ -8940,20 +6742,16 @@ export interface CreateFeedViewRequest { * Unique identifier for the feed view */ id: string; - /** * Configuration for selecting activities */ activity_selectors?: Array; - aggregation?: AggregationConfig; - ranking?: RankingConfig; } export interface CreateFeedViewResponse { duration: string; - feed_view: FeedViewResponse; } @@ -8962,12 +6760,10 @@ export interface CreateFeedsBatchRequest { * List of feeds to create */ feeds: Array; - /** * Server-side only. If true, auto-creates users referenced by feeds[].created_by_id that don't already exist. Default: false. */ create_users?: boolean; - /** * If true, enriches the created feeds with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ @@ -8976,7 +6772,6 @@ export interface CreateFeedsBatchRequest { export interface CreateFeedsBatchResponse { duration: string; - /** * List of created feeds */ @@ -8995,12 +6790,10 @@ export interface CreateGuestResponse { * the access token to authenticate the user */ access_token: string; - /** * Duration of the request in milliseconds */ duration: string; - /** * User response object */ @@ -9009,9 +6802,7 @@ export interface CreateGuestResponse { export interface CreateImportRequest { mode: 'insert' | 'upsert'; - path: string; - merge_custom?: boolean; } @@ -9020,7 +6811,6 @@ export interface CreateImportResponse { * Duration of the request in milliseconds */ duration: string; - import_task?: ImportTask; } @@ -9033,19 +6823,14 @@ export interface CreateImportURLResponse { * Duration of the request in milliseconds */ duration: string; - path: string; - upload_url: string; } export interface CreateImportV2TaskRequest { product: 'chat' | 'feeds'; - settings: ImportV2TaskSettings; - user_id?: string; - /** * User request object */ @@ -9054,22 +6839,15 @@ export interface CreateImportV2TaskRequest { export interface CreateImportV2TaskResponse { app_pk: number; - created_at: Date; - /** * Duration of the request in milliseconds */ duration: string; - id: string; - product: string; - state: number; - updated_at: Date; - settings: ImportV2TaskSettings; } @@ -9078,27 +6856,22 @@ export interface CreateMembershipLevelRequest { * Unique identifier for the membership level */ id: string; - /** * Display name for the membership level */ name: string; - /** * Optional description of the membership level */ description?: string; - /** * Priority level (higher numbers = higher priority) */ priority?: number; - /** * Activity tags this membership level gives access to */ tags?: Array; - /** * Custom data for the membership level */ @@ -9107,7 +6880,6 @@ export interface CreateMembershipLevelRequest { export interface CreateMembershipLevelResponse { duration: string; - membership_level: MembershipLevelResponse; } @@ -9116,32 +6888,26 @@ export interface CreatePermissionRequest { * Action name this permission is for (e.g. SendMessage) */ action: string; - /** * Unique permission ID */ id: string; - /** * Name of the permission */ name: string; - /** * MongoDB style condition which decides whether or not the permission is granted */ condition: Record; - /** * Description of the permission */ description?: string; - /** * Whether this permission applies to resource owner or not */ owner?: boolean; - /** * Whether this permission applies to teammates (multi-tenancy mode only) */ @@ -9153,27 +6919,22 @@ export interface CreatePolicyTestSetRequest { * Display name; unique within an app */ name: string; - /** * Moderation config key (default: app default) */ config_key?: string; - /** * Execution target: 'check' or 'labels'. Optional — defaults to 'labels' when the org has the labels API enabled, 'check' otherwise */ mode?: string; - /** * Team scope for the config (optional) */ team?: string; - /** * Messages to test; capped at 1000. Mutually exclusive with seed */ rows?: Array; - seed?: PolicyTestSeedSpec; } @@ -9182,14 +6943,11 @@ export interface CreatePollOptionRequest { * Option text */ text: string; - user_id?: string; - /** * Custom data for this object */ custom?: Record; - /** * User request object */ @@ -9201,47 +6959,36 @@ export interface CreatePollRequest { * The name of the poll */ name: string; - /** * Indicates whether users can suggest user defined answers */ allow_answers?: boolean; - allow_user_suggested_options?: boolean; - /** * A description of the poll */ description?: string; - /** * Indicates whether users can cast multiple votes */ enforce_unique_vote?: boolean; - id?: string; - /** * Indicates whether the poll is open for voting */ is_closed?: boolean; - /** * Indicates the maximum amount of votes a user can cast */ max_votes_allowed?: number; - + team?: string; user_id?: string; - voting_visibility?: 'anonymous' | 'public'; - options?: Array; - /** * Custom data for this object */ custom?: Record; - /** * User request object */ @@ -9253,23 +7000,18 @@ export interface CreatePredefinedFilterRequest { * The unique name of the predefined filter (alphanumeric, _, - only) */ name: string; - /** * The operation this filter is for (e.g., QueryChannels) */ - operation: 'QueryChannels'; - /** * Filter to apply to the query */ filter: Record; - /** * The description of the predefined filter */ description?: string; - sort?: Array>; } @@ -9278,23 +7020,16 @@ export interface CreatePredefinedFilterResponse { * Duration of the request in milliseconds */ duration: string; - predefined_filter?: PredefinedFilterResponse; } export interface CreateQueueRequest { name: string; - type: 'personal_view' | 'operational_queue'; - description?: string; - user_id?: string; - sort?: Array>; - filters?: Record; - /** * User request object */ @@ -9303,9 +7038,7 @@ export interface CreateQueueRequest { export interface CreateReminderRequest { remind_at?: Date; - user_id?: string; - /** * User request object */ @@ -9317,7 +7050,6 @@ export interface CreateReminderResponse { * Duration of the request in milliseconds */ duration: string; - reminder: ReminderResponseData; } @@ -9333,7 +7065,6 @@ export interface CreateRoleResponse { * Duration of the request in milliseconds */ duration: string; - role: Role; } @@ -9342,17 +7073,14 @@ export interface CreateSIPTrunkRequest { * Name of the SIP trunk */ name: string; - /** * Phone numbers associated with this SIP trunk */ numbers: Array; - /** * Optional password for SIP trunk authentication */ password?: string; - /** * Optional list of allowed IPv4/IPv6 addresses or CIDR blocks */ @@ -9361,7 +7089,6 @@ export interface CreateSIPTrunkRequest { export interface CreateSIPTrunkResponse { duration: string; - /** * SIP trunk information */ @@ -9372,34 +7099,27 @@ export interface CreateSegmentRequest { /** * The type of the segment */ - type: 'user' | 'channel'; - /** * If true, all sender channels are included in the segment */ all_sender_channels?: boolean; - /** * If true, all users are included in the segment */ all_users?: boolean; - /** * The description of the segment (max 256 characters) */ description?: string; - /** * The ID of the segment */ id?: string; - /** * The name of the segment (max 128 characters) */ name?: string; - /** * Filter to apply to the query */ @@ -9411,7 +7131,6 @@ export interface CreateSegmentResponse { * Duration of the request in milliseconds */ duration: string; - segment?: SegmentResponse; } @@ -9420,22 +7139,18 @@ export interface CreateUserGroupRequest { * The user friendly name of the user group */ name: string; - /** * An optional description for the group */ description?: string; - /** * Optional user group ID. If not provided, a UUID v7 will be generated */ id?: string; - /** * Optional team ID to scope the group to a team */ team_id?: string; - /** * Optional initial list of user IDs to add as members */ @@ -9444,7 +7159,6 @@ export interface CreateUserGroupRequest { export interface CreateUserGroupResponse { duration: string; - user_group?: UserGroupResponse; } @@ -9453,7 +7167,6 @@ export interface CustomActionRequestPayload { * Custom action identifier */ id?: string; - /** * Custom action options */ @@ -9465,17 +7178,14 @@ export interface CustomCheckFlag { * Type of check (custom_check_text, custom_check_image, custom_check_video) */ type: string; - /** * Optional explanation for the flag */ reason?: string; - /** * Labels from various moderation sources */ labels?: Array; - /** * Additional metadata for the flag */ @@ -9487,29 +7197,23 @@ export interface CustomCheckRequest { * Unique identifier of the entity */ entity_id: string; - /** * Type of entity to perform custom check on */ entity_type: string; - /** * List of custom check flags (1-10 flags required) */ flags: Array; - /** * ID of the user who created the entity (required for non-message entities) */ entity_creator_id?: string; - user_id?: string; - /** * Content payload for moderation */ moderation_payload?: ModerationPayloadRequest; - /** * User request object */ @@ -9518,45 +7222,35 @@ export interface CustomCheckRequest { export interface CustomCheckResponse { duration: string; - /** * Unique identifier of the custom check */ id: string; - /** * Status of the custom check */ status: string; - item?: ReviewQueueItemResponse; } export interface CustomEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; } export interface CustomVideoEvent { call_cid: string; - created_at: Date; - /** * Custom data for this object */ custom: Record; - /** * User response object */ user: UserResponse; - /** * The type of event, "custom" in this case */ @@ -9565,53 +7259,41 @@ export interface CustomVideoEvent { export interface DailyAggregateCallDurationReportResponse { date: string; - report: CallDurationReport; } export interface DailyAggregateCallParticipantCountReportResponse { date: string; - report: CallParticipantCountReport; } export interface DailyAggregateCallsPerDayReportResponse { date: string; - report: CallsPerDayReport; } export interface DailyAggregateQualityScoreReportResponse { date: string; - report: QualityScoreReport; } export interface DailyAggregateSDKUsageReportResponse { date: string; - report: SDKUsageReport; } export interface DailyAggregateUserFeedbackReportResponse { date: string; - report: UserFeedbackReport; } export interface DailyDigestCallSessionSummary { call_cid: string; - call_session_id: string; - has_digest: boolean; - counts: CallStatsParticipantCounts; - digest_error?: string; - session_ended_at?: string; - session_started_at?: string; } @@ -9620,7 +7302,6 @@ export interface DailyMetricResponse { * Date in YYYY-MM-DD format */ date: string; - /** * Metric value for this date */ @@ -9632,7 +7313,6 @@ export interface DailyMetricStatsResponse { * Total value across all days in the date range */ total: number; - /** * Array of daily metric values */ @@ -9644,7 +7324,6 @@ export interface DailyValue { * Date in YYYY-MM-DD format */ date: string; - /** * Metric value for this date */ @@ -9657,9 +7336,7 @@ export interface Data { export interface DataDogInfo { api_key?: string; - enabled?: boolean; - site?: string; } @@ -9668,7 +7345,6 @@ export interface DeactivateUserRequest { * ID of the user who deactivated the user */ created_by_id?: string; - /** * Makes messages appear to be deleted */ @@ -9680,7 +7356,6 @@ export interface DeactivateUserResponse { * Duration of the request in milliseconds */ duration: string; - /** * User response object */ @@ -9692,14 +7367,11 @@ export interface DeactivateUsersRequest { * User IDs to deactivate */ user_ids: Array; - /** * ID of the user who deactivated the users */ created_by_id?: string; - mark_channels_deleted?: boolean; - /** * Makes messages appear to be deleted */ @@ -9711,7 +7383,6 @@ export interface DeactivateUsersResponse { * Duration of the request in milliseconds */ duration: string; - task_id: string; } @@ -9720,27 +7391,22 @@ export interface DecayFunctionConfig { * Base value for decay function */ base?: string; - /** * Decay rate */ decay?: string; - /** * Direction of decay */ direction?: string; - /** * Offset value for decay function */ offset?: string; - /** * Origin value for decay function */ origin?: string; - /** * Scale factor for decay function */ @@ -9752,7 +7418,6 @@ export interface DeleteActionConfigResponse { * Number of action configs deleted (0 or 1) */ deleted: number; - duration: string; } @@ -9761,19 +7426,15 @@ export interface DeleteActivitiesRequest { * List of activity IDs to delete */ ids: Array; - /** * Whether to also delete any notification activities created from mentions in these activities */ delete_notification_activity?: boolean; - /** * Whether to permanently delete the activities */ hard_delete?: boolean; - user_id?: string; - /** * User request object */ @@ -9782,7 +7443,6 @@ export interface DeleteActivitiesRequest { export interface DeleteActivitiesResponse { duration: string; - /** * List of activity IDs that were successfully deleted */ @@ -9791,9 +7451,7 @@ export interface DeleteActivitiesResponse { export interface DeleteActivityReactionResponse { duration: string; - activity: ActivityResponse; - reaction: FeedsReactionResponse; } @@ -9802,17 +7460,14 @@ export interface DeleteActivityRequestPayload { * ID of the activity to delete (alternative to item_id) */ entity_id?: string; - /** * Type of the entity (required for delete_activity to distinguish v2 vs v3) */ entity_type?: string; - /** * Whether to permanently delete the activity */ hard_delete?: boolean; - /** * Reason for deletion */ @@ -9829,7 +7484,6 @@ export interface DeleteBookmarkFolderResponse { export interface DeleteBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } @@ -9842,12 +7496,10 @@ export interface DeleteCallRequest { export interface DeleteCallResponse { duration: string; - /** * Represents a call */ call: CallResponse; - task_id?: string; } @@ -9863,7 +7515,6 @@ export interface DeleteChannelResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents channel in chat */ @@ -9875,12 +7526,10 @@ export interface DeleteChannelsRequest { * All channels that should be deleted */ cids: Array; - /** * Server-side only. When true, the channels and all their resources are permanently deleted instead of soft-deleted. */ hard_delete?: boolean; - /** * Server-side only. When true, the soft delete preserves message history instead of hiding it, so a later recreation of any of these channel IDs restores the full history. Only supported for distinct channels. Cannot be combined with hard_delete. */ @@ -9892,9 +7541,7 @@ export interface DeleteChannelsResponse { * Duration of the request in milliseconds */ duration: string; - task_id?: string; - /** * Map of channel IDs and their deletion results */ @@ -9903,7 +7550,6 @@ export interface DeleteChannelsResponse { export interface DeleteChannelsResultResponse { status: string; - error?: string; } @@ -9913,7 +7559,6 @@ export interface DeleteCollectionsResponse { export interface DeleteCommandResponse { duration: string; - /** * Command name */ @@ -9922,15 +7567,12 @@ export interface DeleteCommandResponse { export interface DeleteCommentBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } export interface DeleteCommentReactionResponse { duration: string; - comment: CommentResponse; - reaction: FeedsReactionResponse; } @@ -9939,17 +7581,14 @@ export interface DeleteCommentRequestPayload { * ID of the comment to delete (alternative to item_id) */ entity_id?: string; - /** * Type of the entity */ entity_type?: string; - /** * Whether to permanently delete the comment */ hard_delete?: boolean; - /** * Reason for deletion */ @@ -9958,9 +7597,7 @@ export interface DeleteCommentRequestPayload { export interface DeleteCommentResponse { duration: string; - activity: ActivityResponse; - comment: CommentResponse; } @@ -9980,7 +7617,6 @@ export interface DeleteFeedGroupResponse { export interface DeleteFeedResponse { duration: string; - /** * The ID of the async task that will handle feed cleanup and hard deletion */ @@ -9996,7 +7632,6 @@ export interface DeleteFeedUserDataRequest { export interface DeleteFeedUserDataResponse { duration: string; - /** * The task ID for the deletion task */ @@ -10012,12 +7647,10 @@ export interface DeleteFeedsBatchRequest { * List of fully qualified feed IDs (format: group_id:feed_id) to delete */ feeds: Array; - /** * Whether to permanently delete the feeds instead of soft delete */ hard_delete?: boolean; - /** * When hard-deleting, also fully delete activities authored by each feed's owner from every other feed those activities were fanned out to. Default false preserves existing fan-out. Requires 'hard_delete' to be true; the request is rejected otherwise. Feeds with no recorded owner (created_by_id is empty) are silently skipped for the purge step — owner-matching against an empty string is a safety guard, not a wildcard. */ @@ -10026,7 +7659,6 @@ export interface DeleteFeedsBatchRequest { export interface DeleteFeedsBatchResponse { duration: string; - /** * The ID of the async task that will handle feed cleanup and hard deletion */ @@ -10045,17 +7677,14 @@ export interface DeleteMessageRequestPayload { * ID of the message to delete (alternative to item_id) */ entity_id?: string; - /** * Type of the entity */ entity_type?: string; - /** * Whether to permanently delete the message */ hard_delete?: boolean; - /** * Reason for deletion */ @@ -10067,7 +7696,6 @@ export interface DeleteMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ @@ -10091,7 +7719,6 @@ export interface DeleteModerationTemplateResponse { export interface DeleteQueueRequest { user_id?: string; - /** * User request object */ @@ -10103,17 +7730,14 @@ export interface DeleteReactionRequestPayload { * ID of the reaction to delete (alternative to item_id) */ entity_id?: string; - /** * Type of the entity */ entity_type?: string; - /** * Whether to permanently delete the reaction */ hard_delete?: boolean; - /** * Reason for deletion */ @@ -10125,12 +7749,10 @@ export interface DeleteReactionResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message: MessageResponse; - reaction: ReactionResponse; } @@ -10183,7 +7805,6 @@ export interface DeleteTranscriptionResponse { export interface DeleteUserInterestsResponse { duration: string; - /** * Interest tags still set on the user */ @@ -10194,29 +7815,23 @@ export interface DeleteUserMessagesRequestPayload { /** * Message deletion mode: soft, pruning, or hard */ - delete_messages: 'soft' | 'pruning' | 'hard'; - /** * Optional: scope deletion to a single channel (alternative to app-wide deletion) */ channel_cid?: string; - /** * Whether to also delete the user's reactions on other users' messages */ delete_reactions?: boolean; - /** * ID of the user whose messages should be deleted (alternative to item_id) */ entity_id?: string; - /** * Type of the entity */ entity_type?: string; - /** * Reason for the deletion */ @@ -10228,32 +7843,26 @@ export interface DeleteUserRequestPayload { * Also delete all user conversations */ delete_conversation_channels?: boolean; - /** * Delete flagged feeds content */ delete_feeds_content?: boolean; - /** * ID of the user to delete (alternative to item_id) */ entity_id?: string; - /** * Type of the entity */ entity_type?: string; - /** * Whether to permanently delete the user */ hard_delete?: boolean; - /** * Also delete all user messages */ mark_messages_deleted?: boolean; - /** * Reason for deletion */ @@ -10265,7 +7874,6 @@ export interface DeleteUsersRequest { * IDs of users to delete */ user_ids: Array; - /** * Calls delete mode. * Affected calls are those that include exactly two members, one of whom is the user being deleted. @@ -10273,9 +7881,7 @@ export interface DeleteUsersRequest { * * soft - marks user's calls and their related data as deleted (soft-delete) * * hard - deletes user's calls and their data completely (hard-delete) */ - calls?: 'soft' | 'hard'; - /** * Conversation channels delete mode. * Conversation channel is any channel which only has two members one of which is the user being deleted. @@ -10283,16 +7889,13 @@ export interface DeleteUsersRequest { * * soft - marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled) * * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with 'hard' option enabled) */ - conversations?: 'soft' | 'hard'; - /** * Delete user files. * * false or empty string - doesn't delete any files * * true - deletes all files uploaded by the user, including images and attachments. */ files?: boolean; - /** * Message delete mode. * * null or empty string - doesn't delete user messages @@ -10300,20 +7903,15 @@ export interface DeleteUsersRequest { * * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags * * hard - deletes messages completely with all related information */ - messages?: 'soft' | 'pruning' | 'hard'; - new_call_owner_id?: string; - new_channel_owner_id?: string; - /** * User delete mode. * * soft - marks user as deleted and retains all user data * * pruning - marks user as deleted and nullifies user information * * hard - deletes user completely. Requires 'hard' option for messages and conversations as well */ - user?: 'soft' | 'pruning' | 'hard'; } @@ -10322,7 +7920,6 @@ export interface DeleteUsersResponse { * Duration of the request in milliseconds */ duration: string; - /** * ID of the task to delete users */ @@ -10331,7 +7928,6 @@ export interface DeleteUsersResponse { export interface DeliveredMessagePayload { cid?: string; - id?: string; } @@ -10341,33 +7937,23 @@ export interface DeliveryReceiptsResponse { export interface DeliveryZoneSegment { key: string; - outlier: boolean; - sessions: number; - avg_quality_score?: number; - p5_quality_score?: number; - poor_pct?: number; - share_pct?: number; - watch_share_pct?: number; } export interface DeviceDataResponse { name?: string; - version?: string; } export interface DeviceErrorInfo { error_message: string; - provider: string; - provider_name: string; } @@ -10376,42 +7962,34 @@ export interface DeviceResponse { * Date/time of creation */ created_at: Date; - /** * Device ID */ id: string; - /** * Push provider */ push_provider: string; - /** * User ID */ user_id: string; - /** * Whether device is disabled or not */ disabled?: boolean; - /** * Reason explaining why device had been disabled */ disabled_reason?: string; - /** * Stable physical device identifier used to deduplicate pushes across push providers */ hardware_id?: string; - /** * Push provider name */ push_provider_name?: string; - /** * When true the token is for Apple VoIP push notifications */ @@ -10423,56 +8001,44 @@ export interface DraftPayloadResponse { * Message ID is unique string identifier of the message */ id: string; - /** * Text of the message */ text: string; - custom: Record; - /** * Contains HTML markup of the message */ html?: string; - /** * MML content of the message */ mml?: string; - /** * ID of parent message (thread) */ parent_id?: string; - /** * Identifier of the poll to include in the message */ poll_id?: string; - quoted_message_id?: string; - /** * Whether thread reply should be shown in the channel as well */ show_in_channel?: boolean; - /** * Whether message is silent or not */ silent?: boolean; - /** * Contains type of the message. One of: regular, system */ type?: string; - /** * Array of message attachments */ attachments?: Array; - /** * List of mentioned users */ @@ -10481,26 +8047,20 @@ export interface DraftPayloadResponse { export interface DraftResponse { channel_cid: string; - created_at: Date; - /** * Contains the draft message content */ message: DraftPayloadResponse; - parent_id?: string; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ parent_message?: MessageResponse; - /** * Represents any chat message */ @@ -10512,12 +8072,10 @@ export interface EMAUStatsResponse { * Per-day unique engaged user counts */ daily: Array; - /** * Rolling 30-day engaged user count snapshots */ last_30_days: Array; - /** * Calendar month-to-date engaged user count snapshots */ @@ -10526,87 +8084,54 @@ export interface EMAUStatsResponse { export interface EdgeResponse { continent_code: string; - country_iso_code: string; - green: number; - id: string; - latency_test_url: string; - latitude: number; - longitude: number; - red: number; - subdivision_iso_code: string; - yellow: number; } export interface EgressHLSResponse { playlist_url: string; - status: string; } export interface EgressRTMPResponse { name: string; - started_at: Date; - stream_key?: string; - stream_url?: string; } export interface EgressResponse { broadcasting: boolean; - rtmps: Array; - composite_recording?: CompositeRecordingResponse; - frame_recording?: FrameRecordingResponse; - hls?: EgressHLSResponse; - individual_recording?: IndividualRecordingResponse; - raw_recording?: RawRecordingResponse; } export interface EncodingProfile { getstats_snapshots: number; - source_file: string; - svc_modes: Array; - quality_limitation_durations_s: Record; - quality_limitation_samples: Record; - avg_send_kbps?: number; - codec?: string; - encoder_impl?: string; - fps_p10?: number; - fps_p50?: number; - hardware_encode?: boolean; - ladder_type?: string; - power_efficient?: boolean; - resolution?: string; - simulcast_layers?: number; } @@ -10614,7 +8139,6 @@ export interface EncryptionSettingsRequest { /** * Encryption mode. One of: available, disabled, auto-on */ - mode?: 'available' | 'disabled' | 'auto-on'; } @@ -10622,7 +8146,6 @@ export interface EncryptionSettingsResponse { /** * the resolved encryption mode for the call */ - mode: 'available' | 'disabled' | 'auto-on'; } @@ -10637,27 +8160,16 @@ export interface EndCallResponse { export interface EnrichedActivity { foreign_id?: string; - id?: string; - score?: number; - verb?: string; - to?: Array; - actor?: Data; - latest_reactions?: Record>; - object?: Data; - origin?: Data; - own_reactions?: Record>; - reaction_counts?: Record; - target?: Data; } @@ -10666,33 +8178,26 @@ export interface EnrichedCollectionResponse { * Unique identifier for the collection within its name */ id: string; - /** * Name/type of the collection */ name: string; - /** * Enrichment status of the collection. One of: ok, notfound */ - status: 'ok' | 'notfound'; - /** * When the collection was created */ created_at?: Date; - /** * When the collection was last updated */ updated_at?: Date; - /** * ID of the user who owns this collection */ user_id?: string; - /** * Custom data for the collection */ @@ -10701,29 +8206,17 @@ export interface EnrichedCollectionResponse { export interface EnrichedReaction { activity_id: string; - kind: string; - user_id: string; - id?: string; - parent?: string; - target_feeds?: Array; - children_counts?: Record; - created_at?: Time; - data?: Record; - latest_children?: Record>; - own_children?: Record>; - updated_at?: Time; - user?: Data; } @@ -10732,97 +8225,78 @@ export interface EnrichmentOptions { * Default: false. When true, includes fetching and enriching own_followings (follows where activity author's feeds follow current user's feeds). */ enrich_own_followings?: boolean; - /** * Controls the top-level flat 'activities' array for aggregated feeds. For new apps, defaults to false (excluded); set to true to include. For older apps, defaults to true (included) for backward compatibility; set to false to exclude. */ include_flat_activities?: boolean; - /** * Default: false. When true, includes score_vars in activity responses containing variable values used at ranking time. */ include_score_vars?: boolean; - /** * Default: false. When true, skips all activity enrichments. */ skip_activity?: boolean; - /** * Default: false. When true, skips enriching collections on activities. */ skip_activity_collections?: boolean; - /** * Default: false. When true, skips enriching comments on activities. */ skip_activity_comments?: boolean; - /** * Default: false. When true, skips enriching current_feed on activities. Note: CurrentFeed is still computed for permission checks, but enrichment is skipped. */ skip_activity_current_feed?: boolean; - /** * Default: false. When true, skips enriching mentioned users on activities. */ skip_activity_mentioned_users?: boolean; - /** * Default: false. When true, skips enriching own bookmarks on activities. */ skip_activity_own_bookmarks?: boolean; - /** * Default: false. When true, skips enriching parent activities. */ skip_activity_parents?: boolean; - /** * Default: false. When true, skips enriching poll data on activities. */ skip_activity_poll?: boolean; - /** * Default: false. When true, skips fetching and enriching latest and own reactions on activities. Note: If reactions are already denormalized in the database, they will still be included. */ skip_activity_reactions?: boolean; - /** * Default: false. When true, skips refreshing image URLs on activities. */ skip_activity_refresh_image_urls?: boolean; - /** * Default: false. When true, skips all enrichments. */ skip_all?: boolean; - /** * Default: false. When true, skips enriching user data on feed members. */ skip_feed_member_user?: boolean; - /** * Default: false. When true, skips fetching and enriching followers. Note: If followers_pagination is explicitly provided, followers will be fetched regardless of this setting. */ skip_followers?: boolean; - /** * Default: false. When true, skips fetching and enriching following. Note: If following_pagination is explicitly provided, following will be fetched regardless of this setting. */ skip_following?: boolean; - /** * Default: false. When true, skips computing and including capabilities for feeds. */ skip_own_capabilities?: boolean; - /** * Default: false. When true, skips fetching and enriching own_follows (follows where user's feeds follow target feeds). */ skip_own_follows?: boolean; - /** * Default: false. When true, skips enriching pinned activities. */ @@ -10834,75 +8308,45 @@ export interface EntityCreatorResponse { * Number of minor actions performed on the user */ ban_count: number; - banned: boolean; - created_at: Date; - /** * Number of major actions performed on the user */ deleted_content_count: number; - /** * Number of flag actions performed on the user */ flagged_count: number; - id: string; - invisible: boolean; - language: string; - online: boolean; - role: string; - shadow_banned: boolean; - updated_at: Date; - blocked_user_ids: Array; - teams: Array; - custom: Record; - avg_response_time?: number; - ban_expires?: Date; - bypass_moderation?: boolean; - deactivated_at?: Date; - deleted_at?: Date; - image?: string; - last_active?: Date; - name?: string; - revoke_tokens_issued_before?: Date; - devices?: Array; - privacy_settings?: PrivacySettingsResponse; - push_notifications?: PushNotificationSettingsResponse; - teams_role?: Record; } export interface ErrorResult { description: string; - type: string; - stacktrace?: string; - version?: string; } @@ -10911,12 +8355,10 @@ export interface EscalatePayload { * Additional context for the reviewer */ notes?: string; - /** * Priority of the escalation (low, medium, high) */ priority?: string; - /** * Reason for the escalation (from configured escalation_reasons) */ @@ -10925,97 +8367,62 @@ export interface EscalatePayload { export interface EscalationMetadata { notes?: string; - priority?: string; - reason?: string; } export interface EventHook { created_at?: Date; - enabled?: boolean; - hook_type?: string; - id?: string; - product?: string; - should_send_custom_events?: boolean; - sns_auth_type?: string; - sns_event_based_message_group_id_enabled?: boolean; - sns_key?: string; - sns_region?: string; - sns_role_arn?: string; - sns_secret?: string; - sns_topic_arn?: string; - sqs_auth_type?: string; - + sqs_event_based_message_group_id_enabled?: boolean; sqs_key?: string; - sqs_queue_url?: string; - sqs_region?: string; - sqs_role_arn?: string; - sqs_secret?: string; - timeout_ms?: number; - updated_at?: Date; - webhook_url?: string; - event_types?: Array; - callback?: AsyncModerationCallbackConfig; - failover_config?: WebhookFailoverConfig; } export interface EventNotificationSettings { enabled: boolean; - apns: APNS; - fcm: FCM; } export interface EventNotificationSettingsRequest { enabled?: boolean; - apns?: APNSPayload; - fcm?: FCMPayload; } export interface EventNotificationSettingsResponse { enabled: boolean; - apns: APNSPayload; - fcm: FCMPayload; } export interface EventRequest { type: string; - parent_id?: string; - user_id?: string; - custom?: Record; - /** * User request object */ @@ -11027,7 +8434,6 @@ export interface EventResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents an BaseEvent that happened in Stream Chat */ @@ -11039,35 +8445,27 @@ export interface ExportChannelsRequest { * Export options for channels */ channels: Array; - /** * Set if deleted message text should be cleared */ clear_deleted_message_text?: boolean; - export_users?: boolean; - /** * Output format: 'json' (default) or 'csv'. csv requires version=v2 and is incompatible with export_users */ - format?: 'json' | 'csv'; - /** * Set if you want to include deleted channels */ include_soft_deleted_channels?: boolean; - /** * Set if you want to include truncated messages */ include_truncated_messages?: boolean; - /** * Export version */ version?: string; - /** * For csv format: subset of message columns to include (defaults to a standard set) */ @@ -11079,7 +8477,6 @@ export interface ExportChannelsResponse { * Duration of the request in milliseconds */ duration: string; - /** * ID of the task to export channels */ @@ -11090,7 +8487,6 @@ export interface ExportFeedUserDataRequest {} export interface ExportFeedUserDataResponse { duration: string; - /** * The task ID for the export task */ @@ -11102,17 +8498,14 @@ export interface ExportUserResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of exported messages */ messages?: Array; - /** * List of exported reactions */ reactions?: Array; - /** * User response object */ @@ -11128,17 +8521,13 @@ export interface ExportUsersResponse { * Duration of the request in milliseconds */ duration: string; - task_id: string; } export interface ExternalStorageResponse { bucket: string; - name: string; - path: string; - type: 's3' | 'gcs' | 'abs'; } @@ -11152,7 +8541,6 @@ export interface FCMPayload { export interface FailedChannelUpdates { reason: string; - cids: Array; } @@ -11161,24 +8549,16 @@ export interface FeedCreatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - members: Array; - custom: Record; - feed: FeedResponse; - user: UserResponseCommonFields; - /** * The type of event: "feeds.feed.created" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -11187,58 +8567,35 @@ export interface FeedDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - /** * The type of event: "feeds.feed.deleted" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } export interface FeedGroup { aggregation_version: number; - app_pk: number; - created_at: Date; - default_follower_role: string; - default_visibility: string; - group_id: string; - updated_at: Date; - activity_processors: Array; - activity_selectors: Array; - custom: Record; - deleted_at?: Date; - last_feed_get_at?: Date; - activity_filter?: ActivityFilterConfig; - aggregation?: AggregationConfig; - notification?: NotificationConfig; - push_notification?: PushNotificationConfig; - ranking?: RankingConfig; - stories?: StoriesConfig; } @@ -11247,22 +8604,15 @@ export interface FeedGroupChangedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - /** * The type of event: "feeds.feed_group.changed" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - feed_group?: FeedGroup; - user?: UserResponseCommonFields; } @@ -11271,23 +8621,17 @@ export interface FeedGroupDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - /** * The ID of the feed group that was deleted */ group_id: string; - custom: Record; - /** * The type of event: "feeds.feed_group.deleted" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -11296,60 +8640,43 @@ export interface FeedGroupResponse { * When the feed group was created */ created_at: Date; - /** * Identifier within the group */ id: string; - /** * When the feed group was last updated */ updated_at: Date; - /** * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval */ default_follower_role?: string; - /** * Default visibility for activities. One of: public, visible, followers, members, private */ - default_visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - deleted_at?: Date; - /** * Configuration for activity processors */ activity_processors?: Array; - /** * Configuration for activity selectors */ activity_selectors?: Array; - activity_filter?: ActivityFilterConfig; - activity_marks?: ActivityMarksConfig; - activity_processing?: ActivityProcessingConfig; - aggregation?: AggregationConfig; - /** * Custom data for the feed group */ custom?: Record; - notification?: NotificationConfig; - push_notification?: PushNotificationConfig; - ranking?: RankingConfig; - stories?: StoriesConfig; } @@ -11358,23 +8685,17 @@ export interface FeedGroupRestoredEvent { * Date/time of creation */ created_at: Date; - fid: string; - /** * The ID of the feed group that was restored */ group_id: string; - custom: Record; - /** * The type of event: "feeds.feed_group.restored" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -11383,7 +8704,6 @@ export interface FeedGroupScope { * Select activities from every feed group except these. An activity cross-posted to an excluded and a non-excluded group is still selected. Mutually exclusive with include */ exclude?: Array; - /** * Select only activities that live in a feed belonging to one of these feed groups. Mutually exclusive with exclude */ @@ -11392,17 +8712,11 @@ export interface FeedGroupScope { export interface FeedInput { description?: string; - name?: string; - visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - filter_tags?: Array; - members?: Array; - custom?: Record; - location?: Location; } @@ -11411,22 +8725,15 @@ export interface FeedMemberAddedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - member: FeedMemberResponse; - /** * The type of event: "feeds.feed_member.added" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -11435,22 +8742,15 @@ export interface FeedMemberRemovedEvent { * Date/time of creation */ created_at: Date; - fid: string; - member_id: string; - custom: Record; - /** * The type of event: "feeds.feed_member.removed" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -11459,22 +8759,18 @@ export interface FeedMemberRequest { * ID of the user to add as a member */ user_id: string; - /** * Whether this is an invite to become a member */ invite?: boolean; - /** * ID of the membership level to assign to the member */ membership_level?: string; - /** * Role of the member in the feed */ role?: string; - /** * Custom data for the member */ @@ -11486,43 +8782,34 @@ export interface FeedMemberResponse { * When the membership was created */ created_at: Date; - /** * Role of the member in the feed */ role: string; - /** * Status of the membership. One of: member, pending, rejected */ - status: 'member' | 'pending' | 'rejected'; - /** * When the membership was last updated */ updated_at: Date; - /** * User response object */ user: UserResponse; - /** * When the invite was accepted */ invite_accepted_at?: Date; - /** * When the invite was rejected */ invite_rejected_at?: Date; - /** * Custom data for the membership */ custom?: Record; - membership_level?: MembershipLevelResponse; } @@ -11531,22 +8818,15 @@ export interface FeedMemberUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - member: FeedMemberResponse; - /** * The type of event: "feeds.feed_member.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -11590,17 +8870,14 @@ export interface FeedOwnData { * Capabilities the current user has for this feed */ own_capabilities?: Array; - /** * Follow relationships where the feed owner's feeds are following the current user's feeds (up to 5 total) */ own_followings?: Array; - /** * Follow relationships where the current user's feeds are following this feed */ own_follows?: Array; - own_membership?: FeedMemberResponse; } @@ -11609,283 +8886,219 @@ export interface FeedRequest { * ID of the feed group */ feed_group_id: string; - /** * ID of the feed */ feed_id: string; - /** * ID of the feed creator */ created_by_id?: string; - /** * Description of the feed */ description?: string; - /** * Name of the feed */ name?: string; - /** * Visibility setting for the feed. One of: public, visible, followers, members, private */ - visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Tags used for filtering feeds */ filter_tags?: Array; - /** * Initial members for the feed */ members?: Array; - /** * Custom data for the feed */ custom?: Record; - location?: Location; } export interface FeedResponse { activity_count: number; - /** * When the feed was created */ created_at: Date; - /** * Description of the feed */ description: string; - /** * Fully qualified feed ID (group_id:id) */ feed: string; - /** * Number of followers of this feed */ follower_count: number; - /** * Number of feeds this feed follows */ following_count: number; - /** * Group this feed belongs to */ group_id: string; - /** * Unique identifier for the feed */ id: string; - /** * Number of members in this feed */ member_count: number; - /** * Name of the feed */ name: string; - /** * Number of pinned activities in this feed */ pin_count: number; - /** * When the feed was last updated */ updated_at: Date; - /** * User response object */ created_by: UserResponse; - /** * When the feed was deleted */ deleted_at?: Date; - /** * Visibility setting for the feed */ - visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Tags used for filtering feeds */ filter_tags?: Array; - /** * Capabilities the current user has for this feed */ own_capabilities?: Array; - /** * Follow relationships where the feed owner’s feeds are following the current user's feeds */ own_followings?: Array; - /** * Follow relationships where the current user's feeds are following this feed */ own_follows?: Array; - /** * Custom data for the feed */ custom?: Record; - location?: Location; - own_membership?: FeedMemberResponse; } export interface FeedSuggestionResponse { activity_count: number; - /** * When the feed was created */ created_at: Date; - /** * Description of the feed */ description: string; - /** * Fully qualified feed ID (group_id:id) */ feed: string; - /** * Number of followers of this feed */ follower_count: number; - /** * Number of feeds this feed follows */ following_count: number; - /** * Group this feed belongs to */ group_id: string; - /** * Unique identifier for the feed */ id: string; - /** * Number of members in this feed */ member_count: number; - /** * Name of the feed */ name: string; - /** * Number of pinned activities in this feed */ pin_count: number; - /** * When the feed was last updated */ updated_at: Date; - /** * User response object */ created_by: UserResponse; - /** * When the feed was deleted */ deleted_at?: Date; - reason?: string; - recommendation_score?: number; - /** * Visibility setting for the feed */ - visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Tags used for filtering feeds */ filter_tags?: Array; - /** * Capabilities the current user has for this feed */ own_capabilities?: Array; - /** * Follow relationships where the feed owner’s feeds are following the current user's feeds */ own_followings?: Array; - /** * Follow relationships where the current user's feeds are following this feed */ own_follows?: Array; - algorithm_scores?: Record; - /** * Custom data for the feed */ custom?: Record; - location?: Location; - own_membership?: FeedMemberResponse; } export interface FeedUpdatedEvent { created_at: Date; - fid: string; - custom: Record; - feed: FeedResponse; - /** * The type of event: "feeds.feed.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -11894,19 +9107,15 @@ export interface FeedViewResponse { * Unique identifier for the custom feed view */ id: string; - /** * When the feed view was last used */ last_used_at?: Date; - /** * Configured activity selectors */ activity_selectors?: Array; - aggregation?: AggregationConfig; - ranking?: RankingConfig; } @@ -11915,12 +9124,10 @@ export interface FeedVisibilityResponse { * Name of the feed visibility level */ name: string; - /** * List of permission policies */ permissions: Array; - /** * Permission grants for each role */ @@ -11929,83 +9136,53 @@ export interface FeedVisibilityResponse { export interface FeedsActivityLocation { lat: number; - lng: number; } export interface FeedsBookmarkResponse { created_at: Date; - object_id: string; - object_type: string; - updated_at: Date; - /** * User response object */ user: UserResponse; - activity_id?: string; - custom?: Record; } export interface FeedsEnrichedCollectionResponse { created_at: Date; - id: string; - name: string; - status: string; - updated_at: Date; - user_id: string; - custom: Record; } export interface FeedsFeedResponse { activity_count: number; - created_at: Date; - description: string; - feed: string; - follower_count: number; - following_count: number; - group_id: string; - id: string; - member_count: number; - name: string; - pin_count: number; - updated_at: Date; - /** * User response object */ created_by: UserResponse; - deleted_at?: Date; - visibility?: string; - filter_tags?: Array; - custom?: Record; - location?: FeedsActivityLocation; } @@ -12014,7 +9191,6 @@ export interface FeedsModerationTemplateConfigPayload { * Map of data type names to their content types */ data_types: Record; - /** * Key of the moderation configuration to use */ @@ -12023,59 +9199,40 @@ export interface FeedsModerationTemplateConfigPayload { export interface FeedsNotificationComment { comment: string; - id: string; - user_id: string; - attachments?: Array; } export interface FeedsNotificationContext { target?: FeedsNotificationTarget; - trigger?: FeedsNotificationTrigger; } export interface FeedsNotificationParentActivity { id: string; - text?: string; - type?: string; - user_id?: string; - attachments?: Array; } export interface FeedsNotificationTarget { id: string; - name?: string; - text?: string; - type?: string; - user_id?: string; - attachments?: Array; - comment?: FeedsNotificationComment; - custom?: Record; - parent_activity?: FeedsNotificationParentActivity; } export interface FeedsNotificationTrigger { text: string; - type: string; - comment?: FeedsNotificationComment; - custom?: Record; } @@ -12083,45 +9240,31 @@ export interface FeedsPreferences { /** * Push notification preference for comments on user's activities. One of: all, none */ - comment?: 'all' | 'none'; - /** * Push notification preference for mentions in comments. One of: all, none */ - comment_mention?: 'all' | 'none'; - /** * Push notification preference for reactions on comments. One of: all, none */ - comment_reaction?: 'all' | 'none'; - /** * Push notification preference for replies to comments. One of: all, none */ - comment_reply?: 'all' | 'none'; - /** * Push notification preference for new followers. One of: all, none */ - follow?: 'all' | 'none'; - /** * Push notification preference for mentions in activities. One of: all, none */ - mention?: 'all' | 'none'; - /** * Push notification preference for reactions on user's activities or comments. One of: all, none */ - reaction?: 'all' | 'none'; - /** * Push notification preferences for custom activity types. Map of activity type to preference (all or none) */ @@ -12130,54 +9273,37 @@ export interface FeedsPreferences { export interface FeedsPreferencesResponse { comment?: string; - comment_mention?: string; - comment_reaction?: string; - comment_reply?: string; - follow?: string; - mention?: string; - reaction?: string; - custom_activity_types?: Record; } export interface FeedsReactionGroupResponse { count: number; - first_reaction_at: Date; - last_reaction_at: Date; } export interface FeedsReactionResponse { activity_id: string; - created_at: Date; - type: string; - updated_at: Date; - /** * User response object */ user: UserResponse; - comment_id?: string; - custom?: Record; } export interface FeedsShareResponse { activity_id: string; - created_at: Date; - /** * User response object */ @@ -12186,185 +9312,104 @@ export interface FeedsShareResponse { export interface FeedsV3ActivityResponse { bookmark_count: number; - comment_count: number; - created_at: Date; - hidden: boolean; - id: string; - popularity: number; - preview: boolean; - reaction_count: number; - restrict_replies: string; - score: number; - share_count: number; - type: string; - updated_at: Date; - visibility: string; - attachments: Array; - comments: Array; - feeds: Array; - filter_tags: Array; - interest_tags: Array; - latest_reactions: Array; - mentioned_users: Array; - own_bookmarks: Array; - own_reactions: Array; - collections: Record; - custom: Record; - reaction_groups: Record; - search_data: Record; - /** * User response object */ user: UserResponse; - deleted_at?: Date; - edited_at?: Date; - expires_at?: Date; - friend_reaction_count?: number; - is_read?: boolean; - is_seen?: boolean; - is_watched?: boolean; - moderation_action?: string; - selector_source?: string; - text?: string; - visibility_tag?: string; - friend_reactions?: Array; - latest_shares?: Array; - current_feed?: FeedsFeedResponse; - i18n?: Record; - location?: FeedsActivityLocation; - metrics?: Record; - moderation?: ModerationV2Response; - notification_context?: FeedsNotificationContext; - parent?: FeedsV3ActivityResponse; - poll?: PollResponseData; - score_vars?: Record; } export interface FeedsV3CommentResponse { bookmark_count: number; - confidence_score: number; - created_at: Date; - downvote_count: number; - id: string; - object_id: string; - object_type: string; - reaction_count: number; - reply_count: number; - score: number; - status: string; - updated_at: Date; - upvote_count: number; - mentioned_users: Array; - own_reactions: Array; - /** * User response object */ user: UserResponse; - controversy_score?: number; - deleted_at?: Date; - edited_at?: Date; - parent_id?: string; - text?: string; - attachments?: Array; - latest_reactions?: Array; - custom?: Record; - i18n?: Record; - moderation?: ModerationV2Response; - reaction_groups?: Record; } export interface Field { short: boolean; - title: string; - value: string; } export interface FileUploadConfig { size_limit: number; - allowed_file_extensions?: Array; - allowed_mime_types?: Array; - blocked_file_extensions?: Array; - blocked_mime_types?: Array; } @@ -12373,7 +9418,6 @@ export interface FileUploadRequest { * file field */ file?: string; - user?: OnlyUserID; } @@ -12382,12 +9426,10 @@ export interface FileUploadResponse { * Duration of the request in milliseconds */ duration: string; - /** * URL to the uploaded asset. Should be used to put to `asset_url` attachment field */ file?: string; - /** * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field */ @@ -12399,27 +9441,26 @@ export interface FilterConfigResponse { * LLM moderation labels available as filter values */ llm_labels: Array; - /** * AI image moderation labels available as filter values. Reflects the app's effective image taxonomy: custom Bodyguard taxonomy when enabled, otherwise the standard L1 label set. */ ai_image_labels?: Array; - /** * AI text moderation labels available as filter values */ ai_text_labels?: Array; - /** * Moderation config keys present in the queue, available as filter values */ config_keys?: Array; - /** * The moderation_payload.custom keys the app has configured as review-queue filter chips (via moderation_dashboard_preferences.filterable_custom_keys). Discovery hint for the dashboard only — the filter accepts any custom key regardless of this list. */ filterable_custom_keys?: Array; - + /** + * Names of the app's moderation rules, available as filter values on the `label` field when filtering rule-flagged content. Includes disabled rules, since items flagged before a rule was turned off still carry its name; excludes deleted ones. Scoped to the caller's teams on a multi-tenant app. Capped at 30 names, ordered by name, so an app above that cap is listed partially. + */ + rule_names?: Array; /** * AI image moderation labels available as filter values, as a map of L1 label to its L2 sub-labels. Reflects the app's effective image taxonomy: custom Bodyguard taxonomy when enabled, otherwise the standard catalogue of the org's enabled image providers. */ @@ -12428,29 +9469,19 @@ export interface FilterConfigResponse { export interface FirebaseConfig { apn_template?: string; - credentials_json?: string; - data_template?: string; - disabled?: boolean; - notification_template?: string; - server_key?: string; } export interface FirebaseConfigFields { enabled: boolean; - apn_template?: string; - credentials_json?: string; - data_template?: string; - notification_template?: string; - server_key?: string; } @@ -12460,29 +9491,23 @@ export interface FlagCountRuleParameters { export interface FlagDetails { original_text: string; - automod?: AutomodDetailsResponse; } export interface FlagDetailsResponse { original_text: string; - automod?: AutomodDetailsResponse; - extra?: Record; } export interface FlagFeedbackResponse { created_at: Date; - message_id: string; - labels: Array; } export interface FlagItemResponse { duration: string; - /** * Unique identifier of the created moderation item */ @@ -12491,11 +9516,8 @@ export interface FlagItemResponse { export interface FlagMessageDetailsResponse { pin_changed?: boolean; - should_enrich?: boolean; - skip_push?: boolean; - updated_by_id?: string; } @@ -12504,31 +9526,24 @@ export interface FlagRequest { * Unique identifier of the entity being flagged */ entity_id: string; - /** * Type of entity being flagged (e.g., message, user) */ entity_type: string; - /** * ID of the user who created the flagged entity */ entity_creator_id?: string; - /** * Optional explanation for why the content is being flagged */ reason?: string; - user_id?: string; - /** * Additional metadata about the flag */ custom?: Record; - moderation_payload?: ModerationPayload; - /** * User request object */ @@ -12537,37 +9552,24 @@ export interface FlagRequest { export interface FlagResponse { created_at: Date; - created_by_automod: boolean; - updated_at: Date; - approved_at?: Date; - reason?: string; - rejected_at?: Date; - reviewed_at?: Date; - reviewed_by?: string; - target_message_id?: string; - custom?: Record; - details?: FlagDetails; - /** * Represents any chat message */ target_message?: MessageResponse; - /** * User response object */ target_user?: UserResponse; - /** * User response object */ @@ -12576,23 +9578,17 @@ export interface FlagResponse { export interface FlagUpdatedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - /** * User response object */ created_by?: UserResponse; - /** * Represents any chat message */ message?: MessageResponse; - /** * User response object */ @@ -12605,53 +9601,37 @@ export interface FlagUserOptions { export interface FloodConfig { allowlist?: Array; - identical?: FloodIdenticalConfig; - similar?: FloodSimilarConfig; } export interface FloodIdenticalConfig { action?: string; - enabled?: boolean; - threshold?: number; - time_window?: string; } export interface FloodIdenticalRuleParameters { min_text_length?: number; - threshold?: number; - time_window?: string; - track_across_users?: boolean; - allowlist?: Array; } export interface FloodSimilarConfig { action?: string; - enabled?: boolean; - similarity_distance?: number; - threshold?: number; - time_window?: string; } export interface FloodSimilarRuleParameters { similarity_distance?: number; - threshold?: number; - time_window?: string; - allowlist?: Array; } @@ -12660,12 +9640,10 @@ export interface FollowBatchRequest { * List of follow relationships to create */ follows: Array; - /** * If true, auto-creates users referenced by source/target FIDs in the batch when they don't already exist. Server-side only. Defaults to false. This top-level field is the only supported batch/upsert create_users control. */ create_users?: boolean; - /** * If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ @@ -12674,12 +9652,10 @@ export interface FollowBatchRequest { export interface FollowBatchResponse { duration: string; - /** * List of newly created follow relationships */ created: Array; - /** * List of current follow relationships */ @@ -12691,20 +9667,14 @@ export interface FollowCreatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - follow: FollowResponse; - /** * The type of event: "feeds.follow.created" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -12713,20 +9683,14 @@ export interface FollowDeletedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - follow: FollowResponse; - /** * The type of event: "feeds.follow.deleted" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } @@ -12735,55 +9699,43 @@ export interface FollowRequest { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ target: string; - /** * Maximum number of historical activities to copy from the target feed when the follow is first materialized. Not set = unlimited (default). 0 = copy nothing. Range: 0-1000. */ activity_copy_limit?: number; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create a notification activity for this follow */ create_notification_activity?: boolean; - /** * If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. Use directly on single follow endpoints (Follow, GetOrCreateFollow). On batch endpoints (FollowBatch, GetOrCreateFollows), use the top-level create_users field; per-item follows[i].create_users is rejected. */ create_users?: boolean; - /** * If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * Push preference for the follow relationship */ - push_preference?: 'all' | 'none'; - /** * Whether to skip push for this follow */ skip_push?: boolean; - /** * Status of the follow relationship. One of: accepted, pending, rejected */ - status?: 'accepted' | 'pending' | 'rejected'; - /** * Custom data for the follow relationship */ @@ -12795,43 +9747,32 @@ export interface FollowResponse { * When the follow relationship was created */ created_at: Date; - /** * Role of the follower (source user) in the follow relationship, as stored. A reserved name, or a role your app no longer defines, is reported as stored but evaluated as 'feed_follower'. */ follower_role: string; - /** * Push preference for notifications. One of: all, none */ - push_preference: 'all' | 'none'; - /** * Status of the follow relationship. One of: accepted, pending, rejected */ - status: 'accepted' | 'pending' | 'rejected'; - /** * When the follow relationship was last updated */ updated_at: Date; - source_feed: FeedResponse; - target_feed: FeedResponse; - /** * When the follow request was accepted */ request_accepted_at?: Date; - /** * When the follow request was rejected */ request_rejected_at?: Date; - /** * Custom data for the follow relationship */ @@ -12843,28 +9784,20 @@ export interface FollowUpdatedEvent { * Date/time of creation */ created_at: Date; - fid: string; - custom: Record; - follow: FollowResponse; - /** * The type of event: "feeds.follow.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; } export interface FrameRecordSettings { capture_interval_in_seconds: number; - mode: 'available' | 'disabled' | 'auto-on'; - quality?: string; } @@ -12874,17 +9807,13 @@ export interface FrameRecordingResponse { export interface FrameRecordingSettingsRequest { capture_interval_in_seconds: number; - mode: 'available' | 'disabled' | 'auto-on'; - quality?: '360p' | '480p' | '720p' | '1080p' | '1440p'; } export interface FrameRecordingSettingsResponse { capture_interval_in_seconds: number; - mode: 'available' | 'disabled' | 'auto-on'; - quality?: string; } @@ -12893,97 +9822,59 @@ export interface FriendReactionsOptions { * Default: false. When true, fetches friend reactions for activities. */ enabled?: boolean; - /** * Default: 3, Max: 10. The maximum number of friend reactions to return per activity. */ limit?: number; - /** * Default: 'following'. The type of friend relationship to use. 'following' = users you follow, 'mutual' = users with mutual follows. One of: following, mutual */ - type?: 'following' | 'mutual'; } export interface FullUserResponse { banned: boolean; - created_at: Date; - id: string; - invisible: boolean; - language: string; - online: boolean; - role: string; - shadow_banned: boolean; - total_unread_count: number; - unread_channels: number; - unread_count: number; - unread_threads: number; - updated_at: Date; - blocked_user_ids: Array; - channel_mutes: Array; - devices: Array; - mutes: Array; - teams: Array; - custom: Record; - avg_response_time?: number; - ban_expires?: Date; - bypass_moderation?: boolean; - deactivated_at?: Date; - deleted_at?: Date; - image?: string; - last_active?: Date; - name?: string; - revoke_tokens_issued_before?: Date; - latest_hidden_channels?: Array; - privacy_settings?: PrivacySettingsResponse; - teams_role?: Record; } export interface FutureChannelBanResponse { created_at: Date; - expires?: Date; - reason?: string; - shadow?: boolean; - /** * User response object */ banned_by?: UserResponse; - /** * User response object */ @@ -12992,11 +9883,8 @@ export interface FutureChannelBanResponse { export interface GeofenceResponse { name: string; - description?: string; - type?: string; - country_codes?: Array; } @@ -13014,7 +9902,6 @@ export interface GeofenceSettingsResponse { export interface GetActionConfigResponse { duration: string; - /** * Moderation action configs grouped by entity type, sorted by order ascending */ @@ -13023,31 +9910,25 @@ export interface GetActionConfigResponse { export interface GetActiveCallsStatusResponse { duration: string; - /** * End time of the status period */ end_time: Date; - /** * Start time of the status period */ start_time: Date; - metrics?: ActiveCallsMetrics; - summary?: ActiveCallsSummary; } export interface GetActivityResponse { duration: string; - activity: ActivityResponse; } export interface GetAppealResponse { duration: string; - item?: AppealItemResponse; } @@ -13056,13 +9937,11 @@ export interface GetApplicationResponse { * Duration of the request in milliseconds */ duration: string; - app: AppResponseFields; } export interface GetBlockListResponse { duration: string; - /** * Block list contains restricted words */ @@ -13074,7 +9953,6 @@ export interface GetBlockedUsersResponse { * Duration of the request in milliseconds */ duration: string; - /** * Array of blocked user object */ @@ -13086,21 +9964,13 @@ export interface GetCallParticipantSessionMetricsResponse { * Duration of the request in milliseconds */ duration: string; - is_publisher?: boolean; - is_subscriber?: boolean; - joined_at?: Date; - publisher_type?: string; - user_id?: string; - user_session_id?: string; - published_tracks?: Array; - client?: SessionClient; } @@ -13109,27 +9979,18 @@ export interface GetCallReportResponse { * Duration of the request in milliseconds */ duration: string; - session_id: string; - report: ReportResponse; - video_reactions?: Array; - chat_activity?: ChatActivityStatsResponse; - digest?: BroadcastDigest; - session?: CallSessionResponse; } export interface GetCallResponse { duration: string; - members: Array; - own_capabilities: Array; - /** * Represents a call */ @@ -13138,44 +9999,28 @@ export interface GetCallResponse { export interface GetCallSessionParticipantStatsDetailsResponse { call_id: string; - call_session_id: string; - call_type: string; - /** * Duration of the request in milliseconds */ duration: string; - user_id: string; - user_session_id: string; - publisher?: ParticipantSeriesPublisherStats; - subscriber?: ParticipantSeriesSubscriberStats; - timeframe?: ParticipantSeriesTimeframe; - user?: ParticipantSeriesUserStats; } export interface GetCallTypeResponse { created_at: Date; - duration: string; - name: string; - updated_at: Date; - grants: Record>; - notification_settings: NotificationSettingsResponse; - settings: CallSettingsResponse; - external_storage?: string; } @@ -13184,161 +10029,104 @@ export interface GetCampaignResponse { * Duration of the request in milliseconds */ duration: string; - campaign?: CampaignResponse; - users?: PagerResponse; } export interface GetChannelTypeResponse { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - /** * Duration of the request in milliseconds */ duration: string; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - commands: Array; - permissions: Array; - grants: Record>; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; } export interface GetCommandResponse { args: string; - description: string; - duration: string; - name: string; - set: string; - created_at?: Date; - updated_at?: Date; } export interface GetCommentRepliesResponse { duration: string; - /** * Sort order used for the replies (first, last, top, best, controversial) */ sort: string; - /** * Threaded listing of replies to the comment */ comments: Array; - next?: string; - prev?: string; } export interface GetCommentResponse { duration: string; - comment: CommentResponse; } export interface GetCommentsResponse { duration: string; - /** * Sort order used for the comments (first, last, top, best, controversial) */ sort: string; - /** * Threaded listing for the activity */ comments: Array; - next?: string; - prev?: string; } export interface GetConfigResponse { duration: string; - config?: ConfigResponse; } @@ -13347,34 +10135,23 @@ export interface GetCustomPermissionResponse { * Duration of the request in milliseconds */ duration: string; - permission: Permission; } export interface GetDailyDigestResponse { date: string; - /** * Duration of the request in milliseconds */ duration: string; - status: string; - generated_at?: string; - retry_after?: number; - revision?: number; - schema_version?: string; - broadcasts?: Array; - call_sessions?: Array; - digest_kinds?: Array; - broadcast_rollup?: BroadcastDailyRollup; } @@ -13383,7 +10160,6 @@ export interface GetDraftResponse { * Duration of the request in milliseconds */ duration: string; - draft: DraftResponse; } @@ -13392,42 +10168,31 @@ export interface GetEdgesResponse { * Duration of the request in milliseconds */ duration: string; - edges: Array; } export interface GetExternalStorageAWSS3Response { bucket: string; - region: string; - role_arn: string; - path_prefix?: string; } export interface GetExternalStorageGCSResponse { bucket: string; - credentials_set: boolean; - path_prefix?: string; } export interface GetExternalStorageResponse { created_at: Date; - /** * Duration of the request in milliseconds */ duration: string; - type: string; - updated_at: Date; - aws_s3?: GetExternalStorageAWSS3Response; - gcs?: GetExternalStorageGCSResponse; } @@ -13436,14 +10201,11 @@ export interface GetFeedCountsResponse { * Number of activities in the feed */ activity_count: number; - /** * Total number of comments on those activities, including nested replies */ comment_count: number; - duration: string; - /** * Sum of activity_count and comment_count */ @@ -13452,55 +10214,45 @@ export interface GetFeedCountsResponse { export interface GetFeedGroupResponse { duration: string; - feed_group: FeedGroupResponse; } export interface GetFeedViewResponse { duration: string; - feed_view: FeedViewResponse; } export interface GetFeedVisibilityResponse { duration: string; - feed_visibility: FeedVisibilityResponse; } export interface GetFeedsRateLimitsResponse { duration: string; - /** * Rate limits for Android platform (endpoint name -> limit info) */ android?: Record; - /** * Rate limits for iOS platform (endpoint name -> limit info) */ ios?: Record; - /** * Rate limits for server-side platform (endpoint name -> limit info) */ server_side?: Record; - /** * Rate limits for Unity platform (endpoint name -> limit info) */ unity?: Record; - /** * Rate limits for Unity console platform (endpoint name -> limit info) */ unity_console?: Record; - /** * Rate limits for Unity desktop platform (endpoint name -> limit info) */ unity_desktop?: Record; - /** * Rate limits for Web platform (endpoint name -> limit info) */ @@ -13512,7 +10264,6 @@ export interface GetFlagCountRequest { * ID of the user whose content was flagged */ entity_creator_id: string; - /** * Optional entity type filter (e.g., stream:chat:v1:message, stream:user) */ @@ -13524,18 +10275,15 @@ export interface GetFlagCountResponse { * Total number of flags against the specified user's content */ count: number; - duration: string; } export interface GetFollowSuggestionsResponse { duration: string; - /** * List of suggested feeds to follow */ suggestions: Array; - algorithm_used?: string; } @@ -13544,36 +10292,26 @@ export interface GetImportResponse { * Duration of the request in milliseconds */ duration: string; - import_task?: ImportTask; } export interface GetImportV2TaskResponse { app_pk: number; - created_at: Date; - /** * Duration of the request in milliseconds */ duration: string; - id: string; - product: string; - state: number; - updated_at: Date; - settings: ImportV2TaskSettings; - result?: Record; } export interface GetManyMessagesResponse { duration: string; - /** * List of messages */ @@ -13585,12 +10323,10 @@ export interface GetMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message: MessageWithChannelResponse; - pending_message_metadata?: Record; } @@ -13599,103 +10335,76 @@ export interface GetModerationRuleResponse { * Duration of the request in milliseconds */ duration: string; - rule?: ModerationRuleV2Response; } export interface GetOGResponse { duration: string; - custom: Record; - /** * URL of detected video or audio */ asset_url?: string; - author_icon?: string; - /** * og:site */ author_link?: string; - /** * og:site_name */ author_name?: string; - color?: string; - fallback?: string; - footer?: string; - footer_icon?: string; - /** * URL of detected image */ image_url?: string; - /** * extracted url from the text */ og_scrape_url?: string; - original_height?: number; - original_width?: number; - pretext?: string; - /** * og:description */ text?: string; - /** * URL of detected thumb image */ thumb_url?: string; - /** * og:title */ title?: string; - /** * og:url */ title_link?: string; - /** * Attachment type, could be empty, image, audio or video */ type?: string; - actions?: Array; - fields?: Array; - giphy?: Images; } export interface GetOrCreateCallRequest { members_limit?: number; - /** * if provided it sends a notification event to the members for this call */ notify?: boolean; - /** * if provided it sends a ring event to the members for this call */ ring?: boolean; - video?: boolean; - /** * CallRequest is the payload for creating a call. */ @@ -13704,13 +10413,9 @@ export interface GetOrCreateCallRequest { export interface GetOrCreateCallResponse { created: boolean; - duration: string; - members: Array; - own_capabilities: Array; - /** * Represents a call */ @@ -13722,98 +10427,66 @@ export interface GetOrCreateFeedGroupRequest { * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval */ default_follower_role?: string; - /** * Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'private'. Defaults to 'visible' if not provided. */ - default_visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Configuration for activity processors */ activity_processors?: Array; - /** * Configuration for activity selectors */ activity_selectors?: Array; - activity_filter?: ActivityFilterConfig; - activity_marks?: ActivityMarksConfig; - activity_processing?: ActivityProcessingConfig; - aggregation?: AggregationConfig; - /** * Custom data for the feed group */ custom?: Record; - notification?: NotificationConfig; - push_notification?: PushNotificationConfig; - ranking?: RankingConfig; - stories?: StoriesConfig; } export interface GetOrCreateFeedGroupResponse { duration: string; - /** * Indicates whether the feed group was created (true) or already existed (false) */ was_created: boolean; - feed_group: FeedGroupResponse; } export interface GetOrCreateFeedRequest { id_around?: string; - limit?: number; - next?: string; - overwrite_interest_weights?: boolean; - prev?: string; - user_id?: string; - view?: string; - watch?: boolean; - data?: FeedInput; - /** * Options to skip specific enrichments to improve performance. Default is false (enrichments are included). Setting a field to true skips that enrichment. */ enrichment_options?: EnrichmentOptions; - external_ranking?: Record; - filter?: Record; - followers_pagination?: PagerRequest; - following_pagination?: PagerRequest; - /** * Options to control fetching reactions from friends (users you follow or have mutual follows with). */ friend_reactions_options?: FriendReactionsOptions; - interest_weights?: Record; - member_pagination?: PagerRequest; - /** * User request object */ @@ -13822,36 +10495,22 @@ export interface GetOrCreateFeedRequest { export interface GetOrCreateFeedResponse { created: boolean; - /** * Duration of the request in milliseconds */ duration: string; - activities: Array; - aggregated_activities: Array; - followers: Array; - following: Array; - members: Array; - pinned_activities: Array; - feed: FeedResponse; - next?: string; - prev?: string; - followers_pagination?: PagerResponse; - following_pagination?: PagerResponse; - member_pagination?: PagerResponse; - notification_status?: NotificationStatusResponse; } @@ -13860,20 +10519,16 @@ export interface GetOrCreateFeedViewRequest { * Configuration for selecting activities */ activity_selectors?: Array; - aggregation?: AggregationConfig; - ranking?: RankingConfig; } export interface GetOrCreateFeedViewResponse { duration: string; - /** * Indicates whether the feed view was newly created (true) or already existed (false) */ was_created: boolean; - feed_view: FeedViewResponse; } @@ -13882,11 +10537,8 @@ export interface GetOrCreateFollowResponse { * True if the follow was newly created by this request; false if it already existed */ created: boolean; - duration: string; - follow: FollowResponse; - /** * Whether a notification activity was successfully created (only set when the follow was newly created) */ @@ -13898,22 +10550,18 @@ export interface GetOrCreateUnfollowRequest { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ target: string; - /** * Whether to delete the corresponding notification activity (default: false) */ delete_notification_activity?: boolean; - /** * If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * When true, activities from the unfollowed feed will remain in the source feed's timeline (default: false) */ @@ -13925,9 +10573,7 @@ export interface GetOrCreateUnfollowResponse { * True if a follow was found and removed by this request; false if no follow existed */ deleted: boolean; - duration: string; - follow?: FollowResponse; } @@ -13936,7 +10582,6 @@ export interface GetPinnedMessagesResponse { * Duration of the request in milliseconds */ duration: string; - /** * Messages */ @@ -13948,7 +10593,6 @@ export interface GetPredefinedFilterResponse { * Duration of the request in milliseconds */ duration: string; - predefined_filter?: PredefinedFilterResponse; } @@ -13957,43 +10601,35 @@ export interface GetPushTemplatesResponse { * Duration of the request in milliseconds */ duration: string; - templates: Array; } export interface GetRateLimitsResponse { duration: string; - /** * Map of endpoint rate limits for the Android platform */ android?: Record; - /** * Map of endpoint rate limits for the iOS platform */ ios?: Record; - /** * Map of endpoint rate limits for the server-side platform */ server_side?: Record; - /** * Map of endpoint rate limits for the Unity platform */ unity?: Record; - /** * Map of endpoint rate limits for the Unity console platform */ unity_console?: Record; - /** * Map of endpoint rate limits for the Unity desktop platform */ unity_desktop?: Record; - /** * Map of endpoint rate limits for the web platform */ @@ -14002,7 +10638,6 @@ export interface GetRateLimitsResponse { export interface GetReactionsResponse { duration: string; - /** * List of reactions */ @@ -14014,7 +10649,6 @@ export interface GetRepliesResponse { * Duration of the request in milliseconds */ duration: string; - messages: Array; } @@ -14023,22 +10657,17 @@ export interface GetRetentionPolicyResponse { * Duration of the request in milliseconds */ duration: string; - policies: Array; } export interface GetRetentionPolicyRunsRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -14050,17 +10679,13 @@ export interface GetRetentionPolicyRunsResponse { * Duration of the request in milliseconds */ duration: string; - runs: Array; - next?: string; - prev?: string; } export interface GetReviewQueueItemResponse { duration: string; - item?: ReviewQueueItemResponse; } @@ -14069,35 +10694,27 @@ export interface GetSegmentResponse { * Duration of the request in milliseconds */ duration: string; - segment?: SegmentResponse; } export interface GetSetupSessionResponse { duration: string; - setup_session?: SetupSession; } export interface GetTaskResponse { created_at: Date; - duration: string; - /** * Current status of task */ status: string; - /** * ID of task */ task_id: string; - updated_at: Date; - error?: ErrorResult; - /** * Result produced by task after completion */ @@ -14106,19 +10723,16 @@ export interface GetTaskResponse { export interface GetThreadResponse { duration: string; - thread: ThreadStateResponse; } export interface GetUserGroupResponse { duration: string; - user_group?: UserGroupResponse; } export interface GetUserInterestsResponse { duration: string; - /** * Interest tags sorted by descending weight, then manually set tags before computed ones, then descending count, then alphabetically by tag */ @@ -14127,21 +10741,13 @@ export interface GetUserInterestsResponse { export interface GoLiveRequest { recording_storage_name?: string; - start_closed_caption?: boolean; - start_composite_recording?: boolean; - start_hls?: boolean; - start_individual_recording?: boolean; - start_raw_recording?: boolean; - start_recording?: boolean; - start_transcription?: boolean; - transcription_storage_name?: string; } @@ -14150,7 +10756,6 @@ export interface GoLiveResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents a call */ @@ -14166,17 +10771,14 @@ export interface GroupedChannelsBucket { * Channels returned for this bucket */ channels: Array; - /** * Cursor for the next page of this group */ next?: string; - /** * Cursor for the previous page of this group */ prev?: string; - /** * Unread channels currently classified into this bucket */ @@ -14185,9 +10787,7 @@ export interface GroupedChannelsBucket { export interface GroupedChannelsGroupRequest { limit?: number; - next?: string; - prev?: string; } @@ -14196,14 +10796,11 @@ export interface GroupedQueryChannelsRequest { * Default max channels per group (default 10) */ limit?: number; - user_id?: string; - /** * Groups to return, keyed by group name. Each group can define limit, next, or prev. 'next' and 'prev' cursors are only allowed when the request contains exactly one group; multi-group pagination is rejected. */ groups?: Record; - /** * User request object */ @@ -14215,7 +10812,6 @@ export interface GroupedQueryChannelsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Predefined channel groups keyed by group name */ @@ -14224,17 +10820,13 @@ export interface GroupedQueryChannelsResponse { export interface GroupedStatsResponse { name: string; - unique: number; } export interface HLSSettings { auto_on: boolean; - enabled: boolean; - quality_tracks: Array; - layout?: LayoutSettings; } @@ -14243,39 +10835,29 @@ export interface HLSSettingsRequest { * Quality tracks for HLS. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560 */ quality_tracks: Array; - /** * Whether HLS broadcasting should start automatically */ auto_on?: boolean; - /** * Whether HLS broadcasting is enabled */ enabled?: boolean; - layout?: LayoutSettingsRequest; } export interface HLSSettingsResponse { auto_on: boolean; - enabled: boolean; - quality_tracks: Array; - layout: LayoutSettingsResponse; } export interface HarmConfig { cooldown_period?: number; - severity?: number; - threshold?: number; - action_sequences?: Array; - harm_types?: Array; } @@ -14284,9 +10866,7 @@ export interface HideChannelRequest { * Whether to clear message history of the channel or not */ clear_history?: boolean; - user_id?: string; - /** * User request object */ @@ -14302,63 +10882,46 @@ export interface HideChannelResponse { export interface HuaweiConfig { disabled?: boolean; - id?: string; - secret?: string; } export interface HuaweiConfigFields { enabled: boolean; - id?: string; - secret?: string; } export interface IPContentCountRuleParameters { threshold?: number; - time_window?: string; } export interface IPFlagCountRuleParameters { severity?: string; - threshold?: number; - time_window?: string; - harm_labels?: Array; } export interface ImageContentParameters { label_operator?: string; - min_confidence?: number; - harm_labels?: Array; } export interface ImageData { frames: string; - height: string; - size: string; - url: string; - width: string; } export interface ImageRuleParameters { min_confidence?: number; - threshold?: number; - time_window?: string; - harm_labels?: Array; } @@ -14367,17 +10930,14 @@ export interface ImageSize { * Crop mode. One of: top, bottom, left, right, center */ crop?: string; - /** * Target image height */ height?: number; - /** * Resize method. One of: clip, crop, scale, fill */ resize?: string; - /** * Target image width */ @@ -14386,12 +10946,10 @@ export interface ImageSize { export interface ImageUploadRequest { file?: string; - /** * field with JSON-encoded array of image size configurations */ upload_sizes?: Array; - user?: OnlyUserID; } @@ -14400,11 +10958,8 @@ export interface ImageUploadResponse { * Duration of the request in milliseconds */ duration: string; - file?: string; - thumb_url?: string; - /** * Array of image size configurations */ @@ -14413,23 +10968,16 @@ export interface ImageUploadResponse { export interface Images { fixed_height: ImageData; - fixed_height_downsampled: ImageData; - fixed_height_still: ImageData; - fixed_width: ImageData; - fixed_width_downsampled: ImageData; - fixed_width_still: ImageData; - original: ImageData; } export interface ImportBlockListRequest { items: Array; - chunk_size?: number; } @@ -14438,89 +10986,61 @@ export interface ImportBlockListResponse { * Duration of the request in milliseconds */ duration: string; - task_id: string; } export interface ImportTask { created_at: Date; - id: string; - mode: string; - path: string; - state: string; - updated_at: Date; - history: Array; - size?: number; } export interface ImportTaskHistory { created_at: Date; - next_state: string; - prev_state: string; } export interface ImportV2TaskItem { app_pk: number; - created_at: Date; - id: string; - product: string; - state: number; - updated_at: Date; - settings: ImportV2TaskSettings; - result?: Record; } export interface ImportV2TaskSettings { merge_custom?: boolean; - mode?: string; - path?: string; - skip_references_check?: boolean; - use_import_time_as_op_time?: boolean; - s3?: ImportV2TaskSettingsS3; } export interface ImportV2TaskSettingsS3 { bucket?: string; - dir?: string; - region?: string; } export interface Incident { from: string; - peak_concurrency: number; - to: string; - viewers_interrupted: number; } export interface IndividualRecordSettings { mode: 'available' | 'disabled' | 'auto-on'; - output_types?: Array; } @@ -14532,9 +11052,7 @@ export interface IndividualRecordingSettingsRequest { /** * Recording mode. One of: available, disabled, auto-on */ - mode: 'available' | 'disabled' | 'auto-on'; - /** * Output types to include: audio_only, video_only, audio_video, screenshare_audio_only, screenshare_video_only, screenshare_audio_video */ @@ -14543,59 +11061,46 @@ export interface IndividualRecordingSettingsRequest { export interface IndividualRecordingSettingsResponse { mode: 'available' | 'disabled' | 'auto-on'; - output_types?: Array; } export interface IngressAudioEncodingOptions { bitrate: number; - channels: '1' | '2'; - enable_dtx: boolean; } export interface IngressAudioEncodingOptionsRequest { bitrate: number; - channels: '1' | '2'; - enable_dtx?: boolean; } export interface IngressAudioEncodingResponse { bitrate: number; - channels: number; - enable_dtx: boolean; } export interface IngressErrorEvent { call_cid: string; - created_at: Date; - /** * Human-readable error message */ error: string; - /** * Unique identifier for the stream */ ingress_stream_id: string; - /** * User who was streaming */ user_id: string; - /** * The type of event: "ingress.error" in this case */ type: string; - /** * Error code */ @@ -14604,87 +11109,67 @@ export interface IngressErrorEvent { export interface IngressSettings { enabled: boolean; - audio_encoding_options?: IngressAudioEncodingOptions; - video_encoding_options?: Record; } export interface IngressSettingsRequest { enabled?: boolean; - audio_encoding_options?: IngressAudioEncodingOptionsRequest; - video_encoding_options?: Record; } export interface IngressSettingsResponse { enabled: boolean; - audio_encoding_options?: IngressAudioEncodingResponse; - video_encoding_options?: Record; } export interface IngressSource { fps: number; - height: number; - width: number; } export interface IngressSourceRequest { fps: '30' | '60'; - height: number; - width: number; } export interface IngressSourceResponse { fps: number; - height: number; - width: number; } export interface IngressStartedEvent { call_cid: string; - created_at: Date; - /** * Unique identifier for this stream */ ingress_stream_id: string; - /** * Streaming protocol (e.g., 'rtmps', 'srt', 'rtmp', 'rtsp') */ publisher_type: string; - /** * User who started the stream */ user_id: string; - /** * The type of event: "ingress.started" in this case */ type: string; - /** * Client IP address */ client_ip?: string; - /** * Streaming client software name (e.g., 'OBS Studio') */ client_name?: string; - /** * Client software version */ @@ -14693,19 +11178,15 @@ export interface IngressStartedEvent { export interface IngressStoppedEvent { call_cid: string; - created_at: Date; - /** * Unique identifier for the stream */ ingress_stream_id: string; - /** * User who was streaming */ user_id: string; - /** * The type of event: "ingress.stopped" in this case */ @@ -14714,55 +11195,40 @@ export interface IngressStoppedEvent { export interface IngressVideoEncodingOptions { layers: Array; - source?: IngressSource; } export interface IngressVideoEncodingOptionsRequest { layers: Array; - source: IngressSourceRequest; } export interface IngressVideoEncodingResponse { layers: Array; - source: IngressSourceResponse; } export interface IngressVideoLayer { bitrate: number; - codec: 'h264' | 'vp8'; - frame_rate: number; - max_dimension: number; - min_dimension: number; } export interface IngressVideoLayerRequest { bitrate: number; - codec: 'h264' | 'vp8'; - frame_rate_limit: number; - max_dimension: number; - min_dimension: number; } export interface IngressVideoLayerResponse { bitrate: number; - codec: string; - frame_rate_limit: number; - max_dimension: number; - min_dimension: number; } @@ -14771,37 +11237,30 @@ export interface InsertActionLogRequest { * Type of moderation action taken */ action_type: string; - /** * ID of the user who created the entity */ entity_creator_id: string; - /** * ID of the entity the action was taken on */ entity_id: string; - /** * Type of entity the action was taken on */ entity_type: string; - /** * Reason for the action */ reason?: string; - /** * Type of reporter; 'api_integration' when the action was triggered by an API integration call with no authenticated user */ reporter_type?: string; - /** * ID of the user who triggered the action; empty for automated actions */ reporter_user_id?: string; - /** * Custom metadata for the action log */ @@ -14817,17 +11276,14 @@ export interface InterestTagResponse { * Lifetime number of distinct reacted-to activities tagged with this value, without decay; 0 for manually set tags */ count: number; - /** * How the tag was set: computed (from the user's reactions) or manual (through the API) */ source: string; - /** * The interest tag value */ tag: string; - /** * Ranking weight between -1.0 and 1.0. Computed tags carry a recency-decayed weight in (0, 1.0]: the user's strongest tag is 1.0 and every other a proportional share */ @@ -14836,39 +11292,28 @@ export interface InterestTagResponse { export interface JoinCallAPIMetrics { failures: number; - total: number; - latency?: ActiveCallsLatencyStats; } export interface Joins { reason: string; - disconnect_reasons: Record; - failure_stages: Record; - join_attempts?: number; - join_success_rate?: number; } export interface KeyframeOCRRuleParameters { threshold?: number; - time_window?: string; - harm_labels?: Array; } export interface KeyframeRuleParameters { min_confidence?: number; - threshold?: number; - time_window?: string; - harm_labels?: Array; } @@ -14877,17 +11322,14 @@ export interface KickUserRequest { * The user to kick */ user_id: string; - /** * If true, also block the user from rejoining the call */ block?: boolean; - /** * Server-side: ID of the user performing the action */ kicked_by_id?: string; - /** * User request object */ @@ -14903,19 +11345,15 @@ export interface KickUserResponse { export interface KickedUserEvent { call_cid: string; - created_at: Date; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.kicked_user" in this case */ type: string; - /** * User response object */ @@ -14924,19 +11362,14 @@ export interface KickedUserEvent { export interface LLMConfig { app_context?: string; - async?: boolean; - enabled?: boolean; - rules?: Array; - severity_descriptions?: Record; } export interface LLMRule { label: string; - action?: | 'flag' | 'shadow' @@ -14945,17 +11378,13 @@ export interface LLMRule { | 'bounce_flag' | 'bounce_remove' | 'keep'; - description?: string; - severity_rules?: Array; } export interface LabelResponse { name: string; - harm_labels?: Array; - phrase_list_ids?: Array; } @@ -14964,71 +11393,56 @@ export interface LabelResultResponse { * Category */ category: string; - /** * The moderated content */ content: string; - content_type: string; - /** * Timestamp */ created_at: Date; - /** * High-level harm category */ harm_type: string; - /** * Unique identifier */ id: string; - /** * Detected language */ language: string; - /** * Provider recommended action */ recommended_action: string; - /** * Severity level */ severity: string; - /** * Moderation labels */ labels: Array; - /** * Customer-supplied identifier for the moderated content */ content_id?: string; - /** * Who the content is directed at (USER, GROUP, EVERYONE, NONE, etc.) */ directed_at?: string; - /** * The stored content with every non-whitespace character masked. Present only when recommended_action is not 'keep'. Derived at runtime and never stored. */ fully_masked_content?: string; - /** * Content with blocklisted tokens masked (when a blocklist rule with action=mask rewrote the original) */ masked_content?: string; - policy?: string; - /** * Customer-supplied user identifier for the content author */ @@ -15040,7 +11454,6 @@ export interface LabelThresholds { * Threshold for automatic message block */ block?: number; - /** * Threshold for automatic message flag */ @@ -15052,33 +11465,26 @@ export interface LabelsRequest { * Content to moderate */ content: string; - /** * Optional category for filtering (max 128 chars) */ category?: string; - /** * Customer-supplied identifier for the moderated content, for tracing */ content_id?: string; - /** * Type of content: 'text' (default), 'message', or 'username'. Stored as-sent; only 'username' routes to the username moderation API. */ - content_type?: 'text' | 'message' | 'username'; - /** * When true, run moderation and return labels without persisting the result. Useful for one-off checks (e.g. UI testers) that should not be recorded in the stored history. */ dry_run?: boolean; - /** * Optional moderation policy key (max 128 chars). For username moderation, set this to a policy whose key starts with 'username:' (e.g. 'username:default') to opt into the low-latency fast-path: blocklists (customer + Stream-managed defaults) short-circuit the LLM, and the LLM fallback uses gpt-4o-mini (overridable via moderation_settings.llm_username_model) with a 24h Valkey verdict cache. Without a 'username:' prefix the request falls through to the standard Bodyguard Analyze v1 username path. */ policy?: string; - /** * Optional customer-supplied user identifier for the content author (max 256 chars). Enables filtering stored results by user_id. */ @@ -15087,47 +11493,38 @@ export interface LabelsRequest { export interface LabelsResponse { duration: string; - /** * Provider recommended action */ recommended_action: string; - /** * Customer-supplied identifier for the moderated content, for tracing */ content_id?: string; - /** * Who the content is directed at (USER, GROUP, EVERYONE, NONE, etc.), when the provider exposes it */ directed_at?: string; - /** * The original content with every non-whitespace character masked. Present only when recommended_action is not 'keep'. Derived at runtime and never stored. */ fully_masked_content?: string; - /** * High-level harm category */ harm_type?: string; - /** * Detected language */ language?: string; - /** * Content with blocklisted tokens masked or substituted. Present only when a blocklist rewrote the original content. */ masked_content?: string; - /** * Severity level */ severity?: string; - /** * Moderation labels detected */ @@ -15136,37 +11533,25 @@ export interface LabelsResponse { export interface LayoutSettings { external_app_url: string; - external_css_url: string; - name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom'; - detect_orientation?: boolean; - options?: Record; } export interface LayoutSettingsRequest { name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom'; - detect_orientation?: boolean; - external_app_url?: string; - external_css_url?: string; - options?: Record; } export interface LayoutSettingsResponse { external_app_url: string; - external_css_url: string; - name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom'; - detect_orientation?: boolean; - options?: Record; } @@ -15175,12 +11560,10 @@ export interface LimitInfoResponse { * The maximum number of API calls allowed per time window */ limit: number; - /** * The number of remaining calls in the current window */ remaining: number; - /** * The Unix timestamp when the rate limit resets */ @@ -15189,31 +11572,22 @@ export interface LimitInfoResponse { export interface LimitsSettings { max_participants_exclude_roles: Array; - max_duration_seconds?: number; - max_participants?: number; - max_participants_exclude_owner?: boolean; } export interface LimitsSettingsRequest { max_duration_seconds?: number; - max_participants?: number; - max_participants_exclude_owner?: boolean; - max_participants_exclude_roles?: Array; } export interface LimitsSettingsResponse { max_participants_exclude_roles: Array; - max_duration_seconds?: number; - max_participants?: number; - max_participants_exclude_owner?: boolean; } @@ -15222,21 +11596,17 @@ export interface ListBlockListResponse { * Duration of the request in milliseconds */ duration: string; - blocklists: Array; - next_cursor?: string; } export interface ListCallTypeResponse { duration: string; - call_types: Record; } export interface ListChannelTypesResponse { duration: string; - /** * Object with all channel types */ @@ -15245,7 +11615,6 @@ export interface ListChannelTypesResponse { export interface ListCommandsResponse { duration: string; - /** * List of commands */ @@ -15254,7 +11623,6 @@ export interface ListCommandsResponse { export interface ListDevicesResponse { duration: string; - /** * List of devices */ @@ -15266,7 +11634,6 @@ export interface ListExternalStorageResponse { * Duration of the request in milliseconds */ duration: string; - external_storages: Record; } @@ -15275,13 +11642,11 @@ export interface ListFeedGroupsResponse { * Duration of the request in milliseconds */ duration: string; - groups: Record; } export interface ListFeedViewsResponse { duration: string; - /** * Map of feed view ID to feed view */ @@ -15290,7 +11655,6 @@ export interface ListFeedViewsResponse { export interface ListFeedVisibilitiesResponse { duration: string; - /** * Map of feed visibility configurations by name */ @@ -15302,11 +11666,8 @@ export interface ListImportV2TasksResponse { * Duration of the request in milliseconds */ duration: string; - import_tasks: Array; - next?: string; - prev?: string; } @@ -15315,7 +11676,6 @@ export interface ListImportsResponse { * Duration of the request in milliseconds */ duration: string; - import_tasks: Array; } @@ -15324,7 +11684,6 @@ export interface ListPermissionsResponse { * Duration of the request in milliseconds */ duration: string; - permissions: Array; } @@ -15333,7 +11692,6 @@ export interface ListPushProvidersResponse { * Duration of the request in milliseconds */ duration: string; - push_providers: Array; } @@ -15342,13 +11700,11 @@ export interface ListQueuesResponse { * Duration of the request in milliseconds */ duration: string; - queues: Array; } export interface ListRecordingsResponse { duration: string; - recordings: Array; } @@ -15357,13 +11713,11 @@ export interface ListRolesResponse { * Duration of the request in milliseconds */ duration: string; - roles: Array; } export interface ListSIPInboundRoutingRuleResponse { duration: string; - /** * List of SIP Inbound Routing Rules for the application */ @@ -15372,7 +11726,6 @@ export interface ListSIPInboundRoutingRuleResponse { export interface ListSIPTrunksResponse { duration: string; - /** * List of SIP trunks for the application */ @@ -15381,7 +11734,6 @@ export interface ListSIPTrunksResponse { export interface ListTranscriptionsResponse { duration: string; - /** * List of transcriptions for the call */ @@ -15390,7 +11742,6 @@ export interface ListTranscriptionsResponse { export interface ListUserGroupsResponse { duration: string; - /** * List of user groups */ @@ -15402,7 +11753,6 @@ export interface Location { * Latitude coordinate */ lat: number; - /** * Longitude coordinate */ @@ -15414,12 +11764,10 @@ export interface LocationResponse { * Continent code */ continent_code: string; - /** * Country ISO code */ country_iso_code: string; - /** * Subdivision ISO code */ @@ -15431,29 +11779,23 @@ export interface MarkActivityRequest { * Whether to mark all activities as read */ mark_all_read?: boolean; - /** * Whether to mark all activities as seen */ mark_all_seen?: boolean; - user_id?: string; - /** * List of activity IDs to mark as read */ mark_read?: Array; - /** * List of activity IDs to mark as seen */ mark_seen?: Array; - /** * List of activity IDs to mark as watched (for stories) */ mark_watched?: Array; - /** * User request object */ @@ -15462,12 +11804,10 @@ export interface MarkActivityRequest { export interface MarkChannelsReadRequest { user_id?: string; - /** * Map of channel ID to last read message ID */ read_by_channel?: Record; - /** * User request object */ @@ -15490,14 +11830,11 @@ export interface MarkReadRequest { * ID of the message that is considered last read by client */ message_id?: string; - /** * Optional Thread ID to specifically mark a given thread as read */ thread_id?: string; - user_id?: string; - /** * User request object */ @@ -15509,34 +11846,23 @@ export interface MarkReadResponse { * Duration of the request in milliseconds */ duration: string; - event?: MarkReadResponseEvent; } export interface MarkReadResponseEvent { channel_id: string; - channel_type: string; - cid: string; - created_at: Date; - type: string; - channel_last_message_at?: Date; - last_read_message_id?: string; - team?: string; - /** * Represents channel in chat */ channel?: ChannelResponse; - thread?: ThreadResponse; - user?: UserResponseCommonFields; } @@ -15545,12 +11871,10 @@ export interface MarkReviewedRequestPayload { * Maximum content items to mark as reviewed */ content_to_mark_as_reviewed_limit?: number; - /** * Reason for the appeal decision */ decision_reason?: string; - /** * Skip marking content as reviewed */ @@ -15562,19 +11886,15 @@ export interface MarkUnreadRequest { * ID of the message from where the channel is marked unread */ message_id?: string; - /** * Timestamp of the message from where the channel is marked unread */ message_timestamp?: Date; - /** * Mark a thread unread, specify one of the thread, message timestamp, or message id */ thread_id?: string; - user_id?: string; - /** * User request object */ @@ -15586,34 +11906,27 @@ export interface MatchedContent { * The `content_ids[label]` value supplied on the `/analyze` request that contributed this entry. */ id: string; - /** * `content_published_at` from the contributing `/analyze` request, or server receive time when that field was omitted. */ published_at: Date; - /** * Content type that contributed this entry: `image` or `text`. */ type: string; - /** * Image-classification entries only. Aggregate (max) confidence score across the entry's classifications + sub-classifications. Absent on text and OCR entries. */ confidence?: number; - /** * Text and OCR entries. Aggregate (max) Bodyguard severity level (`LOW` / `MEDIUM` / `HIGH` / `CRITICAL`). Absent on image-classification entries. */ severity?: string; - text?: string; - /** * Image-classification entries (keyframe rule, Type=image) carry nested L1 → L2 classifications. Text entries (closed_caption rule, Type=text) carry flat label + severity. Resolved against the app's effective taxonomy on the image side. */ classifications?: Array; - /** * OCR entries only (keyframe_ocr rule, Type=image). Bodyguard labels that fired against the keyframe's OCR-extracted text (e.g. `INSULT`, `HATE_SPEECH`). Distinct from `classifications` so consumers can route OCR matches separately from image-classification matches. */ @@ -15622,11 +11935,8 @@ export interface MatchedContent { export interface MaxStreakChangedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; } @@ -15635,55 +11945,42 @@ export interface MemberAddedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - member: ChannelMemberResponse; - /** * The type of event: "member.added" in this case */ type: string; - /** * The ID of the channel to which the member was added */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel to which the member was added */ channel_type?: string; - /** * The CID of the channel to which the member was added */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } @@ -15692,63 +11989,48 @@ export interface MemberRemovedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - member: ChannelMemberResponse; - /** * The type of event: "member.removed" in this case */ type: string; - /** * The ID of the channel from which the member was removed */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel from which the member was removed */ channel_type?: string; - /** * The CID of the channel from which the member was removed */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } export interface MemberRequest { user_id: string; - role?: string; - /** * Custom data for this object */ @@ -15760,29 +12042,23 @@ export interface MemberResponse { * Date/time of creation */ created_at: Date; - /** * Date/time of the last update */ updated_at: Date; - user_id: string; - /** * Custom member response data */ custom: Record; - /** * User response object */ user: UserResponse; - /** * Date/time of deletion */ deleted_at?: Date; - role?: string; } @@ -15791,77 +12067,55 @@ export interface MemberUpdatedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - member: ChannelMemberResponse; - /** * The type of event: "member.updated" in this case */ type: string; - /** * The ID of the channel in which the member was updated */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel in which the member was updated */ channel_type?: string; - /** * The CID of the channel in which the member was updated */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } export interface MemberUserRequest { id: string; - image?: string; - invisible?: boolean; - language?: string; - name?: string; - role?: string; - teams?: Array; - custom?: Record; - privacy_settings?: PrivacySettingsResponse; - teams_role?: Record; } @@ -15870,7 +12124,6 @@ export interface MembersResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of found members */ @@ -15882,37 +12135,30 @@ export interface MembershipLevelResponse { * When the membership level was created */ created_at: Date; - /** * Unique identifier for the membership level */ id: string; - /** * Display name for the membership level */ name: string; - /** * Priority level */ priority: number; - /** * When the membership level was last updated */ updated_at: Date; - /** * Activity tags this membership level gives access to */ tags: Array; - /** * Description of the membership level */ description?: string; - /** * Custom data for the membership level */ @@ -15924,9 +12170,7 @@ export interface MessageActionRequest { * ReadOnlyData to execute command with */ form_data: Record; - user_id?: string; - /** * User request object */ @@ -15938,7 +12182,6 @@ export interface MessageActionResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ @@ -15947,21 +12190,13 @@ export interface MessageActionResponse { export interface MessageChangeSet { attachments: boolean; - custom: boolean; - html: boolean; - mentioned_user_ids: boolean; - mml: boolean; - pin: boolean; - quoted_message_id: boolean; - silent: boolean; - text: boolean; } @@ -15970,104 +12205,76 @@ export interface MessageDeletedEvent { * Date/time of creation */ created_at: Date; - /** * Whether the message was hard deleted */ hard_delete: boolean; - message_id: string; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.deleted" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - /** * Whether the message was deleted only for the current user */ deleted_for_me?: boolean; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - user?: UserResponseCommonFields; } export interface MessageFlagResponse { created_at: Date; - created_by_automod: boolean; - updated_at: Date; - approved_at?: Date; - reason?: string; - rejected_at?: Date; - reviewed_at?: Date; - custom?: Record; - details?: FlagDetailsResponse; - /** * Represents any chat message */ message?: MessageResponse; - moderation_feedback?: FlagFeedbackResponse; - /** * Result of the message moderation */ moderation_result?: MessageModerationResult; - /** * User response object */ reviewed_by?: UserResponse; - /** * User response object */ @@ -16079,91 +12286,68 @@ export interface MessageFlaggedEvent { * Date/time of creation */ created_at: Date; - message_id: string; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.flagged" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - /** * The reason for the flag */ reason?: string; - received_at?: Date; - /** * The team ID */ team?: string; - /** * The total number of flags for the user */ total_flags?: number; - channel_custom?: Record; - /** * Custom data */ custom?: Record; - /** * Result of the message moderation */ details?: MessageModerationResult; - flag?: FlagResponse; - user?: UserResponseCommonFields; } export interface MessageHistoryEntryResponse { is_deleted: boolean; - message_id: string; - message_updated_at: Date; - message_updated_by_id: string; - text: string; - attachments: Array; - custom: Record; } @@ -16172,49 +12356,39 @@ export interface MessageModerationResult { * Action taken by automod */ action: string; - /** * Date/time of creation */ created_at: Date; - /** * ID of the message */ message_id: string; - /** * Date/time of the last update */ updated_at: Date; - /** * Whether user has bad karma */ user_bad_karma: boolean; - /** * Karma of the user */ user_karma: number; - /** * Word that was blocked */ blocked_word?: string; - /** * Name of the blocklist */ blocklist_name?: string; - /** * User who moderated the message */ moderated_by?: string; - ai_moderation_response?: ModerationResponse; - /** * Sets thresholds for AI moderation */ @@ -16226,92 +12400,70 @@ export interface MessageNewEvent { * Date/time of creation */ created_at: Date; - message_id: string; - /** * The number of watchers */ watcher_count: number; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.new" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - /** * The author of the parent message */ parent_author?: string; - received_at?: Date; - /** * The team ID */ team?: string; - total_unread_count?: number; - unread_channels?: number; - /** * The number of unread messages */ unread_count?: number; - /** * The participants of the thread */ thread_participants?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - channel_custom?: Record; - grouped_unread_channels?: Record; - user?: UserResponseCommonFields; } export interface MessageOptions { include_thread_participants?: boolean; - member_custom_include?: Array; } @@ -16320,52 +12472,42 @@ export interface MessagePaginationParams { * The timestamp to get messages with a created_at timestamp greater than */ created_at_after?: Date; - /** * The timestamp to get messages with a created_at timestamp greater than or equal to */ created_at_after_or_equal?: Date; - /** * The result will be a set of messages, that are both older and newer than the created_at timestamp provided, distributed evenly around the timestamp */ created_at_around?: Date; - /** * The timestamp to get messages with a created_at timestamp smaller than */ created_at_before?: Date; - /** * The timestamp to get messages with a created_at timestamp smaller than or equal to */ created_at_before_or_equal?: Date; - /** * The result will be a set of messages, that are both older and newer than the message with the provided ID, and the message with the ID provided will be in the middle of the set */ id_around?: string; - /** * The ID of the message to get messages with a timestamp greater than */ id_gt?: string; - /** * The ID of the message to get messages with a timestamp greater than or equal to */ id_gte?: string; - /** * The ID of the message to get messages with a timestamp smaller than */ id_lt?: string; - /** * The ID of the message to get messages with a timestamp smaller than or equal to */ id_lte?: string; - /** * The maximum number of messages to return (max limit */ @@ -16377,60 +12519,46 @@ export interface MessageReadEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "message.read" in this case */ type: string; - /** * The ID of the channel where the message was read */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was read */ channel_type?: string; - /** * The CID of the channel where the message was read */ cid?: string; - /** * The ID of the last read message */ last_read_message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - /** * Represents channel in chat */ channel?: ChannelResponse; - channel_custom?: Record; - thread?: ThreadResponse; - user?: UserResponseCommonFields; } @@ -16439,97 +12567,73 @@ export interface MessageRequest { * Contains HTML markup of the message. Can only be set when using server-side API */ html?: string; - /** * Message ID is unique string identifier of the message */ id?: string; - mentioned_channel?: boolean; - mentioned_here?: boolean; - /** * Should be empty if `text` is provided. Can only be set when using server-side API */ mml?: string; - /** * ID of parent message (thread) */ parent_id?: string; - /** * Date when pinned message expires */ pin_expires?: Date; - /** * Whether message is pinned or not */ pinned?: boolean; - /** * Date when message got pinned */ pinned_at?: Date; - /** * Identifier of the poll to include in the message */ poll_id?: string; - quoted_message_id?: string; - /** * Whether thread reply should be shown in the channel as well */ show_in_channel?: boolean; - /** * Whether message is silent or not */ silent?: boolean; - /** * Text of the message. Should be empty if `mml` is provided */ text?: string; - /** * Contains type of the message. One of: regular, system */ - type?: 'regular' | 'system'; - user_id?: string; - /** * Array of message attachments */ attachments?: Array; - /** * List of user group IDs to mention. Group members who are also channel members will receive push notifications. Max 10 groups */ mentioned_group_ids?: Array; - mentioned_roles?: Array; - /** * Array of user IDs to mention */ mentioned_users?: Array; - /** * A list of user ids that have restricted visibility to the message */ restricted_visibility?: Array; - custom?: Record; - shared_location?: SharedLocation; - /** * User request object */ @@ -16541,214 +12645,165 @@ export interface MessageResponse { * Channel unique identifier in : format */ cid: string; - /** * Date/time of creation */ created_at: Date; - deleted_reply_count: number; - /** * Contains HTML markup of the message. Can only be set when using server-side API */ html: string; - /** * Message ID is unique string identifier of the message */ id: string; - /** * Whether the message mentioned the channel tag */ mentioned_channel: boolean; - /** * Whether the message mentioned online users with @here tag */ mentioned_here: boolean; - /** * Whether message is pinned or not */ pinned: boolean; - /** * Number of replies to this message */ reply_count: number; - /** * Whether the message was shadowed or not */ shadowed: boolean; - /** * Whether message is silent or not */ silent: boolean; - /** * Text of the message. Should be empty if `mml` is provided */ text: string; - /** * Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted */ type: string; - /** * Date/time of the last update */ updated_at: Date; - /** * Array of message attachments */ attachments: Array; - /** * List of 10 latest reactions to this message */ latest_reactions: Array; - /** * List of mentioned users */ mentioned_users: Array; - /** * List of 10 latest reactions of authenticated user to this message */ own_reactions: Array; - /** * A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list */ restricted_visibility: Array; - custom: Record; - /** * An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int) */ reaction_counts: Record; - /** * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int) */ reaction_scores: Record; - /** * User response object */ user: UserResponse; - /** * Contains provided slash command */ command?: string; - /** * Date/time of deletion */ deleted_at?: Date; - deleted_for_me?: boolean; - message_text_updated_at?: Date; - /** * Should be empty if `text` is provided. Can only be set when using server-side API */ mml?: string; - /** * ID of parent message (thread) */ parent_id?: string; - /** * Date when pinned message expires */ pin_expires?: Date; - /** * Date when message got pinned */ pinned_at?: Date; - /** * Identifier of the poll to include in the message */ poll_id?: string; - quoted_message_id?: string; - /** * Whether thread reply should be shown in the channel as well */ show_in_channel?: boolean; - /** * List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups */ mentioned_group_ids?: Array; - /** * List of mentioned user group objects. */ mentioned_groups?: Array; - /** * List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles */ mentioned_roles?: Array; - /** * List of users who participate in thread */ thread_participants?: Array; - draft?: DraftResponse; - /** * Object with translations. Key `language` contains the original language key. Other keys contain translations */ i18n?: Record; - /** * Contains image moderation information */ image_labels?: Record>; - member?: ChannelMemberPartialResponse; - /** * Channel member data for the users mentioned in the message, keyed by user id. Only present when the app has member custom on mentioned users enabled, and only for the first two mentioned users of each message */ mentioned_channel_members?: Record; - moderation?: ModerationV2Response; - /** * User response object */ pinned_by?: UserResponse; - poll?: PollResponseData; - /** * Represents any chat message */ quoted_message?: MessageResponse; - reaction_groups?: Record; - reminder?: ReminderResponseData; - shared_location?: SharedLocationResponseData; } @@ -16761,28 +12816,21 @@ export interface MessageUnblockedEvent { * Date/time of creation */ created_at: Date; - message_id: string; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.unblocked" in this case */ type: string; - /** * The CID of the channel where the message was unblocked */ cid?: string; - received_at?: Date; - user?: UserResponseCommonFields; } @@ -16791,59 +12839,46 @@ export interface MessageUndeletedEvent { * Date/time of creation */ created_at: Date; - message_id: string; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.undeleted" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; } export interface MessageUpdate { old_text?: string; - change_set?: MessageChangeSet; } @@ -16852,57 +12887,43 @@ export interface MessageUpdatedEvent { * Date/time of creation */ created_at: Date; - message_id: string; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "message.updated" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - message_update?: MessageUpdate; - user?: UserResponseCommonFields; } @@ -16911,227 +12932,175 @@ export interface MessageWithChannelResponse { * Channel unique identifier in : format */ cid: string; - /** * Date/time of creation */ created_at: Date; - deleted_reply_count: number; - /** * Contains HTML markup of the message. Can only be set when using server-side API */ html: string; - /** * Message ID is unique string identifier of the message */ id: string; - /** * Whether the message mentioned the channel tag */ mentioned_channel: boolean; - /** * Whether the message mentioned online users with @here tag */ mentioned_here: boolean; - /** * Whether message is pinned or not */ pinned: boolean; - /** * Number of replies to this message */ reply_count: number; - /** * Whether the message was shadowed or not */ shadowed: boolean; - /** * Whether message is silent or not */ silent: boolean; - /** * Text of the message. Should be empty if `mml` is provided */ text: string; - /** * Contains type of the message. One of: regular, ephemeral, error, reply, system, deleted */ type: string; - /** * Date/time of the last update */ updated_at: Date; - /** * Array of message attachments */ attachments: Array; - /** * List of 10 latest reactions to this message */ latest_reactions: Array; - /** * List of mentioned users */ mentioned_users: Array; - /** * List of 10 latest reactions of authenticated user to this message */ own_reactions: Array; - /** * A list of user ids that have restricted visibility to the message, if the list is not empty, the message is only visible to the users in the list */ restricted_visibility: Array; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int) */ reaction_counts: Record; - /** * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int) */ reaction_scores: Record; - /** * User response object */ user: UserResponse; - /** * Contains provided slash command */ command?: string; - /** * Date/time of deletion */ deleted_at?: Date; - deleted_for_me?: boolean; - message_text_updated_at?: Date; - /** * Should be empty if `text` is provided. Can only be set when using server-side API */ mml?: string; - /** * ID of parent message (thread) */ parent_id?: string; - /** * Date when pinned message expires */ pin_expires?: Date; - /** * Date when message got pinned */ pinned_at?: Date; - /** * Identifier of the poll to include in the message */ poll_id?: string; - quoted_message_id?: string; - /** * Whether thread reply should be shown in the channel as well */ show_in_channel?: boolean; - /** * List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups */ mentioned_group_ids?: Array; - /** * List of mentioned user group objects. */ mentioned_groups?: Array; - /** * List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles */ mentioned_roles?: Array; - /** * List of users who participate in thread */ thread_participants?: Array; - draft?: DraftResponse; - /** * Object with translations. Key `language` contains the original language key. Other keys contain translations */ i18n?: Record; - /** * Contains image moderation information */ image_labels?: Record>; - member?: ChannelMemberPartialResponse; - /** * Channel member data for the users mentioned in the message, keyed by user id. Only present when the app has member custom on mentioned users enabled, and only for the first two mentioned users of each message */ mentioned_channel_members?: Record; - moderation?: ModerationV2Response; - /** * User response object */ pinned_by?: UserResponse; - poll?: PollResponseData; - /** * Represents any chat message */ quoted_message?: MessageResponse; - reaction_groups?: Record; - reminder?: ReminderResponseData; - shared_location?: SharedLocationResponseData; } export interface MetricDescriptor { label: string; - description?: string; - unit?: string; } @@ -17140,7 +13109,6 @@ export interface MetricStats { * Aggregated total value */ total: number; - /** * Per-day values (only present in daily mode) */ @@ -17149,13 +13117,9 @@ export interface MetricStats { export interface MetricThreshold { level: string; - operator: string; - value: number; - value_unit?: string; - window_seconds?: number; } @@ -17165,13 +13129,9 @@ export interface MetricTimeSeries { export interface MetricsPct { freezes?: number; - geo?: number; - jitter?: number; - latency?: number; - quality_score?: number; } @@ -17180,34 +13140,27 @@ export interface ModerationActionConfigResponse { * The action to take */ action: string; - /** * Description of what this action does */ description: string; - /** * Type of entity this action applies to */ entity_type: string; - /** * Icon for the dashboard */ icon: string; - /** * Display order (lower numbers shown first) */ order: number; - id?: string; - /** * Queue type this action config belongs to */ queue_type?: string; - /** * Custom data for the action */ @@ -17216,36 +13169,28 @@ export interface ModerationActionConfigResponse { export interface ModerationAnalysisFailedEvent { created_at: Date; - type: string; - /** * The moderation policy key the request targeted. */ config_key?: string; - /** * Echo of the `entity_creator_id` on the /analyze request. */ entity_creator_id?: string; - /** * Echo of the `entity_id` on the /analyze request. */ entity_id?: string; - /** * Echo of the `entity_type` on the /analyze request. */ entity_type?: string; - received_at?: Date; - /** * Echo of the request's `content_ids`, keyed by text/image label. On keyframe and caption streams every request repeats the same entity_type/entity_id/entity_creator_id, so this is what identifies the specific submission that went unscreened. */ content_ids?: Record; - /** * Echo of the `custom` metadata on the /analyze request. */ @@ -17258,43 +13203,24 @@ export interface ModerationBanResponse { export interface ModerationCallResponse { backstage: boolean; - captioning: boolean; - cid: string; - created_at: Date; - current_session_id: string; - id: string; - recording: boolean; - transcribing: boolean; - translating: boolean; - type: string; - updated_at: Date; - blocked_user_ids: Array; - custom: Record; - channel_cid?: string; - ended_at?: Date; - join_ahead_time_seconds?: number; - routing_number?: string; - starts_at?: Date; - team?: string; - /** * User response object */ @@ -17303,71 +13229,46 @@ export interface ModerationCallResponse { export interface ModerationCheckCompletedEvent { created_at: Date; - /** * The ID of entity which was moderated */ entity_id: string; - /** * The type of the entity which was moderated */ entity_type: string; - /** * The recommended action */ recommended_action: string; - /** * The review queue item ID */ review_queue_item_id: string; - custom: Record; - type: string; - received_at?: Date; } export interface ModerationConfig { async?: boolean; - created_at?: Date; - key?: string; - team?: string; - updated_at?: Date; - supported_video_call_harm_types?: Array; - ai_image_config?: AIImageConfig; - ai_image_lite_config?: BodyguardImageAnalysisConfig; - ai_text_config?: AITextConfig; - ai_video_config?: AIVideoConfig; - automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig; - automod_semantic_filters_config?: AutomodSemanticFiltersConfig; - automod_toxicity_config?: AutomodToxicityConfig; - block_list_config?: BlockListConfig; - flood_config?: FloodConfig; - google_vision_config?: GoogleVisionConfig; - llm_config?: LLMConfig; - velocity_filter_config?: VelocityFilterConfig; - video_call_rule_config?: VideoCallRuleConfig; } @@ -17376,22 +13277,15 @@ export interface ModerationCustomActionEvent { * The ID of the custom action that was executed */ action_id: string; - created_at: Date; - custom: Record; - review_queue_item: ReviewQueueItemResponse; - type: string; - received_at?: Date; - /** * Additional options passed to the custom action */ action_options?: Record; - /** * Represents any chat message */ @@ -17400,72 +13294,42 @@ export interface ModerationCustomActionEvent { export interface ModerationDashboardPreferences { async_review_queue_upsert?: boolean; - block_foreign_cdn_attachments?: boolean; - custom_views_enabled?: boolean; - disable_action_logs?: boolean; - disable_audit_logs?: boolean; - disable_flagging_reviewed_entity?: boolean; - enforce_shadow_server_side?: boolean; - escalation_queue_enabled?: boolean; - flag_user_on_flagged_content?: boolean; - include_attachment_payload?: boolean; - media_queue_blur_enabled?: boolean; - allowed_moderation_action_reasons?: Array; - escalation_reasons?: Array; - filterable_custom_keys?: Array; - keyframe_classifications_map?: Record>; - overview_dashboard?: OverviewDashboardConfig; } export interface ModerationFlagResponse { created_at: Date; - entity_id: string; - entity_type: string; - type: string; - updated_at: Date; - user_id: string; - result: Array>; - content_published_at?: Date; - entity_creator_id?: string; - reason?: string; - review_queue_item_id?: string; - labels?: Array; - custom?: Record; - /** * Content payload for moderation */ moderation_payload?: ModerationPayloadResponse; - review_queue_item?: ReviewQueueItemResponse; - /** * User response object */ @@ -17477,63 +13341,48 @@ export interface ModerationFlaggedEvent { * The type of content that was flagged */ content_type: string; - created_at: Date; - /** * The ID of the flagged content */ object_id: string; - custom: Record; - type: string; - received_at?: Date; } export interface ModerationImageAnalysisCompleteEvent { created_at: Date; - type: string; - /** * The moderation policy key that was applied. */ config_key?: string; - /** * Echo of the `entity_creator_id` on the /analyze request. */ entity_creator_id?: string; - /** * Echo of the `entity_id` on the /analyze request. */ entity_id?: string; - /** * Echo of the `entity_type` on the /analyze request. */ entity_type?: string; - received_at?: Date; - /** * Review queue row ID for deep-linking into the dashboard. */ review_queue_item_id?: string; - /** * Echo of the `custom` metadata on the /analyze request. */ custom?: Record; - /** * Per-image verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`. */ images?: Record; - /** * Per-text-field verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`. */ @@ -17542,15 +13391,10 @@ export interface ModerationImageAnalysisCompleteEvent { export interface ModerationMarkReviewedEvent { created_at: Date; - custom: Record; - item: ReviewQueueItemResponse; - type: string; - received_at?: Date; - /** * Represents any chat message */ @@ -17558,24 +13402,16 @@ export interface ModerationMarkReviewedEvent { } export interface ModerationPayload { + country_code?: string; audios?: Array; - image_ordered_keys?: Array; - images?: Array; - other_media?: Array; - text_ordered_keys?: Array; - texts?: Array; - videos?: Array; - custom?: Record; - image_ids?: Record; - text_ids?: Record; } @@ -17584,22 +13420,18 @@ export interface ModerationPayloadRequest { * Audio URLs to moderate */ audios?: Array; - /** * Image URLs to moderate (max 30) */ images?: Array; - /** * Text content to moderate */ texts?: Array; - /** * Video URLs to moderate */ videos?: Array; - /** * Custom data for moderation */ @@ -17611,47 +13443,38 @@ export interface ModerationPayloadResponse { * Audio URLs to moderate */ audios?: Array; - /** * Caller-supplied keys for images, index-aligned with images[] */ image_ordered_keys?: Array; - /** * Image URLs to moderate */ images?: Array; - /** * Media URLs from attachments outside the typed image/video/audio lists (custom attachment types such as GIF pickers) */ other_media?: Array; - /** * Caller-supplied keys for texts (e.g. "title", "description"), index-aligned with texts[] */ text_ordered_keys?: Array; - /** * Text content to moderate */ texts?: Array; - /** * Video URLs to moderate */ videos?: Array; - /** * Custom data for moderation */ custom?: Record; - /** * Caller-supplied content IDs per image key (from content_ids on /analyze) */ image_ids?: Record; - /** * Caller-supplied content IDs per text key (from content_ids on /analyze) */ @@ -17660,119 +13483,79 @@ export interface ModerationPayloadResponse { export interface ModerationQueueResponse { created_at: Date; - created_by: string; - description: string; - id: string; - item_count: number; - name: string; - type: string; - updated_at: Date; - sort: Array>; - filters: Record; } export interface ModerationResponse { action: string; - explicit: number; - spam: number; - toxic: number; } export interface ModerationRuleInfo { description: string; - id: string; - name: string; - type: string; } export interface ModerationRuleV2Response { created_at: Date; - description: string; - enabled: boolean; - id: string; - name: string; - rule_type: string; - team: string; - updated_at: Date; - config_keys: Array; - cooldown_period?: string; - logic?: string; - action_sequences?: Array; - conditions?: Array; - groups?: Array; - action?: RuleBuilderAction; } export interface ModerationRulesTriggeredEvent { created_at: Date; - /** * The ID of the entity that triggered the rule */ entity_id: string; - /** * The type of the entity (call, user, message, etc.) */ entity_type: string; - /** * The ID of the user who triggered the rule */ user_id: string; - /** * Array of action types that were triggered */ triggered_actions: Array; - custom: Record; - rule: ModerationRuleInfo; - type: string; - received_at?: Date; - /** * The review queue item ID if applicable */ review_queue_item_id?: string; - /** * The violation number for call rules (optional) */ violation_number?: number; - /** * Ordered list of contents whose verdicts contributed to an aggregation rule's threshold. Populated only for aggregation rules when callers supplied `content_ids`. */ @@ -17781,41 +13564,32 @@ export interface ModerationRulesTriggeredEvent { export interface ModerationTextAnalysisCompleteEvent { created_at: Date; - type: string; - /** * The moderation policy key that was applied. */ config_key?: string; - /** * Echo of the `entity_creator_id` on the /analyze request. */ entity_creator_id?: string; - /** * Echo of the `entity_id` on the /analyze request. */ entity_id?: string; - /** * Echo of the `entity_type` on the /analyze request. */ entity_type?: string; - received_at?: Date; - /** * Review queue row ID for deep-linking into the dashboard. */ review_queue_item_id?: string; - /** * Echo of the `custom` metadata on the /analyze request. */ custom?: Record; - /** * Per-text-field verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`. */ @@ -17824,19 +13598,12 @@ export interface ModerationTextAnalysisCompleteEvent { export interface ModerationV2Response { action: string; - original_text: string; - blocklist_matched?: string; - platform_circumvented?: boolean; - semantic_filter_matched?: string; - blocklists_matched?: Array; - image_harms?: Array; - text_harms?: Array; } @@ -17845,14 +13612,11 @@ export interface MuteChannelRequest { * Duration of mute in milliseconds */ expiration?: number; - user_id?: string; - /** * Channel CIDs to mute (if multiple channels) */ channel_cids?: Array; - /** * User request object */ @@ -17861,14 +13625,11 @@ export interface MuteChannelRequest { export interface MuteChannelResponse { duration: string; - /** * Object with mutes (if multiple channels were muted) */ channel_mutes?: Array; - channel_mute?: ChannelMute; - own_user?: OwnUserResponse; } @@ -17877,14 +13638,11 @@ export interface MuteRequest { * User IDs to mute (if multiple users) */ target_ids: Array; - /** * Duration of mute in minutes */ timeout?: number; - user_id?: string; - /** * User request object */ @@ -17893,35 +13651,25 @@ export interface MuteRequest { export interface MuteResponse { duration: string; - /** * Object with mutes (if multiple users were muted) */ mutes?: Array; - /** * A list of users that can't be found. Common cause for this is deleted users */ non_existing_users?: Array; - own_user?: OwnUserResponse; } export interface MuteUsersRequest { audio?: boolean; - mute_all_users?: boolean; - muted_by_id?: string; - screenshare?: boolean; - screenshare_audio?: boolean; - video?: boolean; - user_ids?: Array; - /** * User request object */ @@ -17937,11 +13685,8 @@ export interface MuteUsersResponse { export interface NetworkMetricsReportResponse { average_connection_time?: number; - average_jitter?: number; - average_latency?: number; - average_time_to_reconnect?: number; } @@ -17951,11 +13696,8 @@ export interface NoiseCancellationSettings { export interface NotificationComment { comment: string; - id: string; - user_id: string; - attachments?: Array; } @@ -17964,12 +13706,10 @@ export interface NotificationConfig { * Time window for deduplicating notification activities (reactions and follows). Empty or '0' = always deduplicate (default). Examples: '1h', '24h', '7d', '1w' */ deduplication_window?: string; - /** * Whether to track read status */ track_read?: boolean; - /** * Whether to track seen status */ @@ -17978,7 +13718,6 @@ export interface NotificationConfig { export interface NotificationContext { target?: NotificationTarget; - trigger?: NotificationTrigger; } @@ -17987,30 +13726,22 @@ export interface NotificationFeedUpdatedEvent { * Date/time of creation */ created_at: Date; - /** * The ID of the feed */ fid: string; - custom: Record; - /** * The type of event: "feeds.notification_feed.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - /** * Aggregated activities for notification feeds */ aggregated_activities?: Array; - notification_status?: NotificationStatusResponse; - user?: UserResponseCommonFields; } @@ -18019,156 +13750,114 @@ export interface NotificationMarkUnreadEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "notification.mark_unread" in this case */ type: string; - /** * The ID of the channel which was marked as unread */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel which was marked as unread */ channel_type?: string; - /** * The CID of the channel which was marked as unread */ cid?: string; - /** * The ID of the first unread message */ first_unread_message_id?: string; - /** * The time when the channel/thread was marked as unread */ last_read_at?: Date; - /** * The ID of the last read message */ last_read_message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - /** * The ID of the thread which was marked as unread */ thread_id?: string; - /** * The total number of unread messages */ total_unread_count?: number; - /** * The number of channels with unread messages */ unread_channels?: number; - /** * The total number of unread messages */ unread_count?: number; - /** * The number of unread messages in the channel/thread after first_unread_message_id */ unread_messages?: number; - /** * The total number of unread messages in the threads */ unread_thread_messages?: number; - /** * The number of unread threads */ unread_threads?: number; - /** * Represents channel in chat */ channel?: ChannelResponse; - channel_custom?: Record; - grouped_unread_channels?: Record; - user?: UserResponseCommonFields; } export interface NotificationParentActivity { id: string; - text?: string; - type?: string; - user_id?: string; - attachments?: Array; } export interface NotificationSettings { enabled: boolean; - call_live_started: EventNotificationSettings; - call_missed: EventNotificationSettings; - call_notification: EventNotificationSettings; - call_ring: EventNotificationSettings; - session_started: EventNotificationSettings; } export interface NotificationSettingsRequest { enabled?: boolean; - call_live_started?: EventNotificationSettingsRequest; - call_missed?: EventNotificationSettingsRequest; - call_notification?: EventNotificationSettingsRequest; - call_ring?: EventNotificationSettingsRequest; - session_started?: EventNotificationSettingsRequest; } export interface NotificationSettingsResponse { enabled: boolean; - call_live_started: EventNotificationSettingsResponse; - call_missed: EventNotificationSettingsResponse; - call_notification: EventNotificationSettingsResponse; - call_ring: EventNotificationSettingsResponse; - session_started: EventNotificationSettingsResponse; } @@ -18177,27 +13866,22 @@ export interface NotificationStatusResponse { * Number of unread notifications */ unread: number; - /** * Number of unseen notifications */ unseen: number; - /** * When notifications were last read */ last_read_at?: Date; - /** * When notifications were last seen */ last_seen_at?: Date; - /** * Deprecated: use is_read on each activity/group instead. IDs of activities that have been read. Capped at ~101 entries for aggregated feeds. */ read_activities?: Array; - /** * Deprecated: use is_seen on each activity/group instead. IDs of activities that have been seen. Capped at ~101 entries for aggregated feeds. */ @@ -18209,39 +13893,31 @@ export interface NotificationTarget { * The ID of the target (activity ID or user ID) */ id: string; - /** * The name of the target user (for user targets like follows) */ name?: string; - /** * The text content of the target activity (for activity targets) */ text?: string; - /** * The type of the target activity (for activity targets) */ type?: string; - /** * The ID of the user who created the target activity (for activity targets) */ user_id?: string; - /** * Attachments on the target activity (for activity targets) */ attachments?: Array; - comment?: NotificationComment; - /** * Custom data from the target activity */ custom?: Record; - parent_activity?: NotificationParentActivity; } @@ -18250,73 +13926,54 @@ export interface NotificationThreadMessageNewEvent { * Date/time of creation */ created_at: Date; - message_id: string; - /** * The ID of the thread */ thread_id: string; - /** * The number of watchers */ watcher_count: number; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "notification.message_new" in this case */ type: string; - /** * The ID of the channel where the message was sent */ channel_id?: string; - channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel where the message was sent */ channel_type?: string; - /** * The CID of the channel where the message was sent */ cid?: string; - parent_author?: string; - received_at?: Date; - /** * The team ID */ team?: string; - unread_thread_messages?: number; - unread_threads?: number; - /** * The participants of the thread */ thread_participants?: Array; - channel_custom?: Record; } @@ -18325,14 +13982,11 @@ export interface NotificationTrigger { * Human-readable text describing the notification */ text: string; - /** * The type of notification (mention, reaction, comment, follow, etc.) */ type: string; - comment?: NotificationComment; - /** * Custom data from the trigger object (comment, reaction, etc.) */ @@ -18341,16 +13995,13 @@ export interface NotificationTrigger { export interface OCRContentParameters { label_operator?: string; - severity?: string; - harm_labels?: Array; } export interface OCRRule { action: 'flag' | 'shadow' | 'remove' | 'bounce' | 'bounce_flag' | 'bounce_remove'; - label: string; } @@ -18360,7 +14011,6 @@ export interface OnlyUserID { export interface OverviewDashboardConfig { default_date_range_days?: number; - visible_charts?: Array; } @@ -18369,14 +14019,11 @@ export interface OwnBatchRequest { * List of feed IDs to get own fields for */ feeds: Array; - user_id?: string; - /** * Optional list of specific fields to return. If not specified, all fields (own_follows, own_followings, own_capabilities, own_membership) are returned */ fields?: Array; - /** * User request object */ @@ -18385,7 +14032,6 @@ export interface OwnBatchRequest { export interface OwnBatchResponse { duration: string; - /** * Map of feed ID to own fields data */ @@ -18435,111 +14081,68 @@ export type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability]; export interface OwnUserResponse { banned: boolean; - created_at: Date; - id: string; - invisible: boolean; - language: string; - online: boolean; - role: string; - total_unread_count: number; - unread_channels: number; - unread_count: number; - unread_threads: number; - updated_at: Date; - channel_mutes: Array; - devices: Array; - mutes: Array; - teams: Array; - custom: Record; - avg_response_time?: number; - deactivated_at?: Date; - deleted_at?: Date; - image?: string; - last_active?: Date; - name?: string; - revoke_tokens_issued_before?: Date; - blocked_user_ids?: Array; - latest_hidden_channels?: Array; - privacy_settings?: PrivacySettingsResponse; - push_preferences?: PushPreferencesResponse; - teams_role?: Record; - total_unread_count_by_team?: Record; } export interface PagerRequest { limit?: number; - next?: string; - prev?: string; } export interface PagerResponse { next?: string; - prev?: string; } export interface PaginationParams { id_gt?: number; - id_gte?: number; - id_lt?: number; - id_lte?: number; - limit?: number; - offset?: number; } export interface ParsedPredefinedFilterResponse { name: string; - filter: Record; - sort?: Array; } export interface ParticipantCountByMinuteResponse { first: number; - last: number; - max: number; - min: number; - start_ts: Date; } @@ -18549,113 +14152,73 @@ export interface ParticipantCountOverTimeResponse { export interface ParticipantReportResponse { sum: number; - unique: number; - max_concurrent?: number; - by_browser?: Array; - by_country?: Array; - by_device?: Array; - by_operating_system?: Array; - count_over_time?: ParticipantCountOverTimeResponse; - publishers?: PublisherStatsResponse; - subscribers?: SubscriberStatsResponse; } export interface ParticipantSeriesPublisherStats { global_metrics_order?: Array; - global?: Record>>; - global_meta?: Record; - global_thresholds?: Record>; - tracks?: Record>; } export interface ParticipantSeriesSubscriberStats { global_metrics_order?: Array; - subscriptions?: Array; - global?: Record>>; - global_meta?: Record; - global_thresholds?: Record>; } export interface ParticipantSeriesSubscriptionTrackMetrics { publisher_user_id: string; - publisher_name?: string; - publisher_user_session_id?: string; - tracks?: Record>; } export interface ParticipantSeriesTimeframe { max_points: number; - since: Date; - step_seconds: number; - until: Date; } export interface ParticipantSeriesTrackMetrics { track_id: string; - codec?: string; - label?: string; - rid?: string; - track_type?: string; - metrics_order?: Array; - metrics?: Record>>; - metrics_meta?: Record; - thresholds?: Record>; } export interface ParticipantSeriesUserStats { metrics_order?: Array; - metrics?: Record>>; - metrics_meta?: Record; - thresholds?: Record>; } export interface ParticipantSessionDetails { publisher_type: string; - user_id: string; - user_session_id: string; - roles: Array; - duration_in_seconds?: number; - joined_at?: Date; - left_at?: Date; } @@ -18664,36 +14227,28 @@ export interface PendingMessageEvent { * Date/time of creation */ created_at: Date; - /** * The method used for the pending message */ method: string; - custom: Record; - /** * The type of event: "message.pending" in this case */ type: string; - received_at?: Date; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ message?: MessageResponse; - /** * Metadata attached to the pending message */ metadata?: Record; - /** * User response object */ @@ -18705,14 +14260,11 @@ export interface PendingMessageResponse { * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ message?: MessageResponse; - metadata?: Record; - /** * User response object */ @@ -18721,33 +14273,23 @@ export interface PendingMessageResponse { export interface PerSDKUsageReport { total: number; - by_version: Record; } export interface Percentiles { p50?: number; - p95?: number; } export interface PerformanceAnalysisResponse { analysis_type: string; - score: string; - indexed_fields: Array; - recommendations: Array; - unindexed_fields: Array; - unindexed_sort_fields: Array; - warnings: Array; - last_analyzed?: Date; - scan_type?: string; } @@ -18756,52 +14298,42 @@ export interface Permission { * Action name this permission is for (e.g. SendMessage) */ action: string; - /** * Whether this is a custom permission or built-in */ custom: boolean; - /** * Description of the permission */ description: string; - /** * Unique permission ID */ id: string; - /** * Level at which permission could be applied (app or channel). One of: app, channel */ level: string; - /** * Name of the permission */ name: string; - /** * Whether this permission applies to resource owner or not */ owner: boolean; - /** * Resource type that defines ownership for this permission's action (e.g. 'Channel' for CreateMessage, 'Message' for UpdateMessage). Identical across all variants of an action; primarily meaningful for owner grants. */ owner_resource: string; - /** * Whether this permission applies to teammates (multi-tenancy mode only) */ same_team: boolean; - /** * List of tags of the permission */ tags: Array; - /** * MongoDB style condition which decides whether or not the permission is granted */ @@ -18813,27 +14345,22 @@ export interface PermissionRequest { * Action name this permission is for (e.g. SendMessage) */ action: string; - /** * Name of the permission */ name: string; - /** * MongoDB style condition which decides whether or not the permission is granted */ condition: Record; - /** * Description of the permission */ description?: string; - /** * Whether this permission applies to resource owner or not */ owner?: boolean; - /** * Whether this permission applies to teammates (multi-tenancy mode only) */ @@ -18842,19 +14369,15 @@ export interface PermissionRequest { export interface PermissionRequestEvent { call_cid: string; - created_at: Date; - /** * The list of permissions requested by the user */ permissions: Array; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.permission_request" in this case */ @@ -18866,9 +14389,7 @@ export interface PinActivityRequest { * If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - user_id?: string; - /** * User request object */ @@ -18880,19 +14401,15 @@ export interface PinActivityResponse { * When the activity was pinned */ created_at: Date; - duration: string; - /** * Fully qualified ID of the feed the activity was pinned to */ feed: string; - /** * ID of the user who pinned the activity */ user_id: string; - activity: ActivityResponse; } @@ -18901,7 +14418,6 @@ export interface PinRequest { * the session ID of the user who pinned the message */ session_id: string; - /** * the user ID of the user who pinned the message */ @@ -18917,27 +14433,18 @@ export interface PinResponse { export interface PlatformDataResponse { browser: BrowserDataResponse; - device: DeviceDataResponse; - os: ClientOSDataResponse; } export interface Policy { action: number; - created_at: Date; - name: string; - owner: boolean; - priority: number; - updated_at: Date; - resources: Array; - roles: Array; } @@ -18947,27 +14454,22 @@ export interface PolicyConfig { export interface PolicyRequest { action: 'Deny' | 'Allow'; - /** * User-friendly policy name */ name: string; - /** * Whether policy applies to resource owner or not */ owner: boolean; - /** * Policy priority */ priority: number; - /** * List of resources to apply policy to */ resources: Array; - /** * List of roles to apply policy to */ @@ -18976,98 +14478,63 @@ export interface PolicyRequest { export interface PolicyTestLabelDrift { changed: number; - same: number; } export interface PolicyTestResult { created_at: Date; - id: number; - message_text: string; - row_index: number; - run_id: string; - scored: boolean; - actual_action?: string; - expected_action?: string; - failure_reason?: string; - passed?: boolean; - severity?: string; - actual_labels?: Array; - expected_labels?: Array; - raw_response?: Record; } export interface PolicyTestRow { content_type?: string; - policy?: string; - recommended_action?: string; - text?: string; - labels?: Array; } export interface PolicyTestRun { config_key: string; - created_at: Date; - id: string; - rows_completed: number; - rows_total: number; - set_id: string; - status: string; - task_id: string; - triggered_by: string; - completed_at?: Date; - config_updated_at?: Date; - error_message?: string; - started_at?: Date; - metrics?: PolicyTestRunMetrics; } export interface PolicyTestRunMetrics { mode: string; - totals: PolicyTestTotals; - by_label?: Record; } export interface PolicyTestRunResponse { duration: string; - /** * Per-row results (only present once the run has finished) */ results?: Array; - run?: PolicyTestRun; } @@ -19076,7 +14543,6 @@ export interface PolicyTestSeedSpec { * How many rows to sample, newest first; capped at 1000 */ limit: number; - /** * Sample only records carrying any of these labels; empty samples everything */ @@ -19085,31 +14551,20 @@ export interface PolicyTestSeedSpec { export interface PolicyTestSet { config_key: string; - created_at: Date; - created_by: string; - id: string; - mode: string; - name: string; - row_count: number; - updated_at: Date; - team?: string; - rows?: Array; - last_run?: PolicyTestRun; } export interface PolicyTestSetListResponse { duration: string; - /** * List of policy test sets for the app */ @@ -19118,43 +14573,33 @@ export interface PolicyTestSetListResponse { export interface PolicyTestSetResponse { duration: string; - /** * The set's baseline run (earliest completed run); later runs are scored against it. Absent until the first run completes */ baseline_run_id?: string; - /** * Retained run history for this set, newest first */ recent_runs?: Array; - set?: PolicyTestSet; } export interface PolicyTestTotals { failed: number; - passed: number; - rows: number; - scored: number; - unscored: number; } export interface PollOptionInput { text?: string; - custom?: Record; } export interface PollOptionRequest { id: string; - text?: string; - custom?: Record; } @@ -19163,16 +14608,14 @@ export interface PollOptionResponse { * Duration of the request in milliseconds */ duration: string; - poll_option: PollOptionResponseData; } export interface PollOptionResponseData { id: string; - text: string; - custom: Record; + text_i18n?: Record; } export interface PollResponse { @@ -19180,59 +14623,39 @@ export interface PollResponse { * Duration of the request in milliseconds */ duration: string; - poll: PollResponseData; } export interface PollResponseData { allow_answers: boolean; - allow_user_suggested_options: boolean; - answers_count: number; - created_at: Date; - created_by_id: string; - description: string; - enforce_unique_vote: boolean; - id: string; - name: string; - updated_at: Date; - vote_count: number; - /** * Voting visibility of the poll */ - voting_visibility: 'anonymous' | 'public'; - latest_answers: Array; - options: Array; - own_votes: Array; - custom: Record; - latest_votes_by_option: Record>; - vote_counts_by_option: Record; - is_closed?: boolean; - max_votes_allowed?: number; - /** * User response object */ created_by?: UserResponse; + description_i18n?: Record; + name_i18n?: Record; } export interface PollVoteResponse { @@ -19240,29 +14663,20 @@ export interface PollVoteResponse { * Duration of the request in milliseconds */ duration: string; - poll?: PollResponseData; - vote?: PollVoteResponseData; } export interface PollVoteResponseData { created_at: Date; - id: string; - option_id: string; - poll_id: string; - updated_at: Date; - answer_text?: string; - is_answer?: boolean; - user_id?: string; - + answer_text_i18n?: Record; /** * User response object */ @@ -19274,112 +14688,76 @@ export interface PollVotesResponse { * Duration of the request in milliseconds */ duration: string; - /** * Poll votes */ votes: Array; - next?: string; - prev?: string; } export interface PoorByCause { delivery: number; - edge: number; - isolated_local: number; - source: number; - unattributed: number; } export interface PoorTail { healthy_viewers: number; - note: string; - poor_total: number; - poor_by_cause: PoorByCause; - supporting: Supporting; - healthy_pct?: number; } export interface PredefinedFilterResponse { created_at: Date; - name: string; - operation: string; - updated_at: Date; - filter: Record; - description?: string; - query_id?: number; - sort?: Array; - performance?: PerformanceAnalysisResponse; - stats?: PredefinedFilterStatsResponse; } export interface PredefinedFilterStatsResponse { calls: number; - max_latency_ms: number; - last_seen?: Date; } export interface PrivacySettingsResponse { delivery_receipts?: DeliveryReceiptsResponse; - read_receipts?: ReadReceiptsResponse; - typing_indicators?: TypingIndicatorsResponse; } export interface PublishedTrackFlags { audio: boolean; - screenshare: boolean; - screenshare_audio: boolean; - video: boolean; } export interface PublishedTrackMetrics { codec?: string; - track_id?: string; - track_type?: string; - warnings?: Array; - bitrate?: MetricTimeSeries; - framerate?: MetricTimeSeries; - resolution?: ResolutionMetricsTimeSeries; } export interface PublisherAllMetrics { audio?: PublisherAudioMetrics; - rtt_ms?: ActiveCallsLatencyStats; - video?: PublisherVideoMetrics; } @@ -19389,47 +14767,30 @@ export interface PublisherAudioMetrics { export interface PublisherSession { duration_min: number; - started_offset_min: number; - user_id: string; - user_session_id: string; - avg_jitter_ms?: number; - browser?: string; - delivery_zone?: string; - ingest?: string; - os?: string; - send_quality_score?: number; - tool?: string; - encoding?: EncodingProfile; } export interface PublisherStatsResponse { total: number; - unique: number; - by_track?: Array; } export interface PublisherVideoMetrics { bitrate?: ActiveCallsBitrateStats; - fps_30?: ActiveCallsFPSStats; - frame_encoding_time_ms?: ActiveCallsLatencyStats; - jitter_ms?: ActiveCallsLatencyStats; - resolution?: ActiveCallsResolutionStats; } @@ -19439,7 +14800,6 @@ export interface PublishersMetrics { export interface PushConfig { version: 'v1' | 'v2' | 'v3'; - offline_only?: boolean; } @@ -19448,7 +14808,6 @@ export interface PushNotificationConfig { * Whether push notifications are enabled for this feed group */ enable_push?: boolean; - /** * Allowlist of notification types that may trigger push (e.g. follow, comment, reaction, comment_reaction, mention, or any custom activity.type). Empty or omitted means no types. Built-in notifications match notification_context.trigger.type; manually added notification activities match activity.type. */ @@ -19457,23 +14816,16 @@ export interface PushNotificationConfig { export interface PushNotificationFields { offline_only: boolean; - version: string; - apn: APNConfigFields; - firebase: FirebaseConfigFields; - huawei: HuaweiConfigFields; - xiaomi: XiaomiConfigFields; - providers?: Array; } export interface PushNotificationSettingsResponse { disabled?: boolean; - disabled_until?: Date; } @@ -19481,18 +14833,14 @@ export interface PushPreferenceInput { /** * Set the level of call push notifications for the user. One of: all, none, default */ - call_level?: 'all' | 'none' | 'default'; - /** * Set the push preferences for a specific channel. If empty it sets the default for the user */ channel_cid?: string; - /** * Set the level of chat push notifications for the user. Note: "mentions" is deprecated in favor of "direct_mentions". One of: all, mentions, direct_mentions, all_mentions, none, default */ - chat_level?: | 'all' | 'mentions' @@ -19500,218 +14848,127 @@ export interface PushPreferenceInput { | 'all_mentions' | 'none' | 'default'; - /** * Disable push notifications till a certain time */ disabled_until?: Date; - /** * Set the level of feeds push notifications for the user. One of: all, none, default */ - feeds_level?: 'all' | 'none' | 'default'; - /** * Remove the disabled until time. (IE stop snoozing notifications) */ remove_disable?: boolean; - /** * The user id for which to set the push preferences. Required when using server side auths, defaults to current user with client side auth. */ user_id?: string; - chat_preferences?: ChatPreferencesInput; - feeds_preferences?: FeedsPreferences; } export interface PushPreferencesResponse { call_level?: string; - chat_level?: string; - disabled_until?: Date; - feeds_level?: string; - chat_preferences?: ChatPreferencesResponse; - feeds_preferences?: FeedsPreferencesResponse; } export interface PushProvider { created_at: Date; - name: string; - type: string; - updated_at: Date; - apn_auth_key?: string; - apn_auth_type?: string; - apn_development?: boolean; - apn_host?: string; - apn_key_id?: string; - apn_notification_template?: string; - apn_p12_cert?: string; - apn_team_id?: string; - apn_topic?: string; - description?: string; - disabled_at?: Date; - disabled_reason?: string; - firebase_apn_template?: string; - firebase_credentials?: string; - firebase_data_template?: string; - firebase_host?: string; - firebase_notification_template?: string; - firebase_server_key?: string; - huawei_app_id?: string; - huawei_app_secret?: string; - huawei_host?: string; - xiaomi_app_secret?: string; - xiaomi_package_name?: string; - push_templates?: Array; } export interface PushProviderRequest { name: string; - apn_auth_key?: string; - apn_auth_type?: string; - apn_development?: boolean; - apn_host?: string; - apn_key_id?: string; - apn_notification_template?: string; - apn_p12_cert?: string; - apn_team_id?: string; - apn_topic?: string; - description?: string; - disabled_at?: Date; - disabled_reason?: string; - firebase_apn_template?: string; - firebase_credentials?: string; - firebase_data_template?: string; - firebase_host?: string; - firebase_notification_template?: string; - firebase_server_key?: string; - huawei_app_id?: string; - huawei_app_secret?: string; - type?: string; - xiaomi_app_secret?: string; - xiaomi_package_name?: string; } export interface PushProviderResponse { created_at: Date; - name: string; - type: string; - updated_at: Date; - apn_auth_key?: string; - apn_auth_type?: string; - apn_development?: boolean; - apn_host?: string; - apn_key_id?: string; - apn_p12_cert?: string; - apn_sandbox_certificate?: boolean; - apn_supports_remote_notifications?: boolean; - apn_supports_voip_notifications?: boolean; - apn_team_id?: string; - apn_topic?: string; - description?: string; - disabled_at?: Date; - disabled_reason?: string; - firebase_apn_template?: string; - firebase_credentials?: string; - firebase_data_template?: string; - firebase_host?: string; - firebase_notification_template?: string; - firebase_server_key?: string; - huawei_app_id?: string; - huawei_app_secret?: string; - xiaomi_app_secret?: string; - xiaomi_package_name?: string; } export interface PushTemplate { created_at: Date; - enable_push: boolean; - event_type: | 'message.new' | 'message.updated' @@ -19723,9 +14980,7 @@ export interface PushTemplate { | 'feeds.comment.reaction.added' | 'feeds.follow.created' | 'feeds.notification_feed.updated'; - updated_at: Date; - template?: string; } @@ -19734,27 +14989,22 @@ export interface PushTemplateResponse { * Time when the template was created */ created_at: Date; - /** * Whether push notification is enabled for this event */ enable_push: boolean; - /** * Type of event this template applies to */ event_type: string; - /** * Internal ID of the push provider */ push_provider_internal_id: string; - /** * Time when the template was last updated */ updated_at: Date; - /** * The push notification template */ @@ -19763,21 +15013,13 @@ export interface PushTemplateResponse { export interface Quality { viewer_interruption_note: string; - interruption_incidents: Array; - connection_avg_jitter_ms: Percentiles; - connection_avg_latency_ms: Percentiles; - score_bands_by_connection_pct: ScoreBands; - score_bands_by_watch_time_pct: ScoreBands; - p50_quality_score?: number; - p5_quality_score?: number; - viewer_interruption_rate_pct?: number; } @@ -19791,37 +15033,27 @@ export interface QualityScoreReportResponse { export interface QueryActivitiesRequest { enrich_own_fields?: boolean; - /** * When true, include both expired and non-expired activities in the result. */ include_expired_activities?: boolean; - include_private_activities?: boolean; - /** * When true, include soft-deleted activities in the result. */ include_soft_deleted_activities?: boolean; - limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query. Supports location-based queries with 'near' and 'within_bounds' operators. */ filter?: Record; - /** * User request object */ @@ -19830,17 +15062,14 @@ export interface QueryActivitiesRequest { export interface QueryActivitiesResponse { duration: string; - /** * List of activities matching the query */ activities: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -19849,13 +15078,9 @@ export interface QueryActivitiesResponse { export interface QueryActivityReactionsRequest { limit?: number; - next?: string; - prev?: string; - sort?: Array; - /** * Filters to apply to the query */ @@ -19867,11 +15092,8 @@ export interface QueryActivityReactionsResponse { * Duration of the request in milliseconds */ duration: string; - reactions: Array; - next?: string; - prev?: string; } @@ -19880,19 +15102,14 @@ export interface QueryActivitySharesResponse { * Duration of the request in milliseconds */ duration: string; - shares: Array; - next?: string; - prev?: string; } export interface QueryAggregateCallStatsRequest { from?: string; - to?: string; - report_types?: Array; } @@ -19901,41 +15118,28 @@ export interface QueryAggregateCallStatsResponse { * Duration of the request in milliseconds */ duration: string; - call_duration_report?: CallDurationReportResponse; - call_participant_count_report?: CallParticipantCountReportResponse; - calls_per_day_report?: CallsPerDayReportResponse; - network_metrics_report?: NetworkMetricsReportResponse; - quality_score_report?: QualityScoreReportResponse; - sdk_usage_report?: SDKUsageReportResponse; - user_feedback_report?: UserFeedbackReportResponse; } export interface QueryAppealsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for appeals */ sort?: Array; - /** * Filter conditions for appeals */ filter?: Record; - /** * User request object */ @@ -19944,14 +15148,11 @@ export interface QueryAppealsRequest { export interface QueryAppealsResponse { duration: string; - /** * List of Appeal Items */ items: Array; - next?: string; - prev?: string; } @@ -19960,37 +15161,27 @@ export interface QueryBannedUsersPayload { * Filter conditions to apply to the query */ filter_conditions: Record; - created_at_after?: Date; - created_at_after_or_equal?: Date; - created_at_before?: Date; - created_at_before_or_equal?: Date; - /** * Whether to exclude expired bans or not */ exclude_expired_bans?: boolean; - /** * Number of records to return */ limit?: number; - /** * Number of records to offset */ offset?: number; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * User request object */ @@ -20002,7 +15193,6 @@ export interface QueryBannedUsersResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of found bans */ @@ -20011,16 +15201,12 @@ export interface QueryBannedUsersResponse { export interface QueryBookmarkFoldersRequest { limit?: number; - next?: string; - prev?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ @@ -20029,17 +15215,14 @@ export interface QueryBookmarkFoldersRequest { export interface QueryBookmarkFoldersResponse { duration: string; - /** * List of bookmark folders matching the query */ bookmark_folders: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20048,25 +15231,18 @@ export interface QueryBookmarkFoldersResponse { export interface QueryBookmarksRequest { enrich_own_fields?: boolean; - limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ filter?: Record; - /** * User request object */ @@ -20075,17 +15251,14 @@ export interface QueryBookmarksRequest { export interface QueryBookmarksResponse { duration: string; - /** * List of bookmarks matching the query */ bookmarks: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20094,20 +15267,14 @@ export interface QueryBookmarksResponse { export interface QueryCallMembersRequest { id: string; - type: string; - limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -20119,36 +15286,24 @@ export interface QueryCallMembersResponse { * Duration of the request in milliseconds */ duration: string; - members: Array; - next?: string; - prev?: string; } export interface QueryCallParticipantSessionsResponse { call_id: string; - call_session_id: string; - call_type: string; - /** * Duration of the request in milliseconds */ duration: number; - total_participant_duration: number; - total_participant_sessions: number; - participants_sessions: Array; - next?: string; - prev?: string; - session?: CallSessionResponse; } @@ -20161,18 +15316,13 @@ export interface QueryCallParticipantsRequest { export interface QueryCallParticipantsResponse { duration: string; - total_participants: number; - members: Array; - own_capabilities: Array; - /** * List of call participants */ participants: Array; - /** * Represents a call */ @@ -20181,64 +15331,43 @@ export interface QueryCallParticipantsResponse { export interface QueryCallSessionParticipantStatsResponse { call_id: string; - call_session_id: string; - call_type: string; - /** * Duration of the request in milliseconds */ duration: string; - participants: Array; - counts: CallStatsParticipantCounts; - call_ended_at?: Date; - call_started_at?: Date; - next?: string; - prev?: string; - tmp_data_source?: string; - call_events?: Array; } export interface QueryCallSessionParticipantStatsTimelineResponse { call_id: string; - call_session_id: string; - call_type: string; - /** * Duration of the request in milliseconds */ duration: string; - user_id: string; - user_session_id: string; - events: Array; } export interface QueryCallSessionStatsRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -20250,59 +15379,39 @@ export interface QueryCallSessionStatsResponse { * Duration of the request in milliseconds */ duration: string; - call_stats: Array; - next?: string; - prev?: string; } export interface QueryCallStatsMapResponse { call_id: string; - call_session_id: string; - call_type: string; - /** * Duration of the request in milliseconds */ duration: string; - counts: CallStatsParticipantCounts; - call_ended_at?: Date; - call_started_at?: Date; - data_source?: string; - end_time?: Date; - generated_at?: Date; - start_time?: Date; - publishers?: CallStatsMapPublishers; - sfus?: CallStatsMapSFUs; - subscribers?: CallStatsMapSubscribers; } export interface QueryCallStatsRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -20314,26 +15423,19 @@ export interface QueryCallStatsResponse { * Duration of the request in milliseconds */ duration: string; - reports: Array; - next?: string; - prev?: string; } export interface QueryCallsRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -20345,25 +15447,17 @@ export interface QueryCallsResponse { * Duration of the request in milliseconds */ duration: string; - calls: Array; - next?: string; - prev?: string; } export interface QueryCampaignsRequest { limit?: number; - next?: string; - prev?: string; - user_limit?: number; - sort?: Array; - /** * Filter to apply to the query */ @@ -20375,11 +15469,8 @@ export interface QueryCampaignsResponse { * Duration of the request in milliseconds */ duration: string; - campaigns: Array; - next?: string; - prev?: string; } @@ -20388,56 +15479,44 @@ export interface QueryChannelsRequest { * Number of channels to limit */ limit?: number; - /** * Number of members to limit */ member_limit?: number; - /** * Number of messages to limit */ message_limit?: number; - /** * Channel pagination offset */ offset?: number; - /** * ID of a predefined filter to use instead of filter_conditions */ predefined_filter?: string; - /** * Whether to update channel state or not */ state?: boolean; - user_id?: string; - /** * Top-level keys of the message sender's channel-member custom data to include under member.custom (max 8 keys, 64 chars each) */ member_custom_include?: Array; - /** * List of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ filter_conditions?: Record; - /** * Values to interpolate into the predefined filter template */ filter_values?: Record; - sort_values?: Record; - /** * User request object */ @@ -20449,34 +15528,26 @@ export interface QueryChannelsResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of channels */ channels: Array; - predefined_filter?: ParsedPredefinedFilterResponse; } export interface QueryCollectionsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ filter?: Record; - /** * User request object */ @@ -20485,17 +15556,14 @@ export interface QueryCollectionsRequest { export interface QueryCollectionsResponse { duration: string; - /** * List of collections matching the query */ collections: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20504,13 +15572,9 @@ export interface QueryCollectionsResponse { export interface QueryCommentReactionsRequest { limit?: number; - next?: string; - prev?: string; - sort?: Array; - /** * Filters to apply to the query */ @@ -20522,11 +15586,8 @@ export interface QueryCommentReactionsResponse { * Duration of the request in milliseconds */ duration: string; - reactions: Array; - next?: string; - prev?: string; } @@ -20535,29 +15596,21 @@ export interface QueryCommentsRequest { * Filter to apply to the query */ filter: Record; - /** * Returns the comment with the specified ID along with surrounding comments for context */ id_around?: string; - /** * Maximum number of comments to return */ limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ - sort?: 'first' | 'last' | 'top' | 'best' | 'controversial'; - user_id?: string; - /** * User request object */ @@ -20566,17 +15619,14 @@ export interface QueryCommentsRequest { export interface QueryCommentsResponse { duration: string; - /** * List of comments matching the query */ comments: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20585,23 +15635,17 @@ export interface QueryCommentsResponse { export interface QueryDraftsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ filter?: Record; - /** * User request object */ @@ -20613,29 +15657,22 @@ export interface QueryDraftsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Drafts */ drafts: Array; - next?: string; - prev?: string; } export interface QueryFeedMembersRequest { limit?: number; - next?: string; - prev?: string; - /** * Sort parameters for the query */ sort?: Array; - /** * Filter parameters for the query */ @@ -20644,17 +15681,14 @@ export interface QueryFeedMembersRequest { export interface QueryFeedMembersResponse { duration: string; - /** * List of feed members */ members: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20666,17 +15700,14 @@ export interface QueryFeedModerationTemplate { * When the template was created */ created_at: Date; - /** * Name of the moderation template */ name: string; - /** * When the template was last updated */ updated_at: Date; - /** * Configuration for a feeds moderation template */ @@ -20685,7 +15716,6 @@ export interface QueryFeedModerationTemplate { export interface QueryFeedModerationTemplatesResponse { duration: string; - /** * List of moderation templates */ @@ -20694,23 +15724,17 @@ export interface QueryFeedModerationTemplatesResponse { export interface QueryFeedsRequest { enrich_own_fields?: boolean; - limit?: number; - next?: string; - prev?: string; - /** * Whether to subscribe to realtime updates */ watch?: boolean; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ @@ -20719,17 +15743,14 @@ export interface QueryFeedsRequest { export interface QueryFeedsResponse { duration: string; - /** * List of feeds matching the query */ feeds: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20741,7 +15762,6 @@ export interface QueryFeedsUsageStatsRequest { * Start date in YYYY-MM-DD format (optional, defaults to 30 days ago) */ from?: string; - /** * End date in YYYY-MM-DD format (optional, defaults to today) */ @@ -20750,30 +15770,21 @@ export interface QueryFeedsUsageStatsRequest { export interface QueryFeedsUsageStatsResponse { duration: string; - activities: DailyMetricStatsResponse; - api_requests: DailyMetricStatsResponse; - follows: DailyMetricStatsResponse; - openai_requests: DailyMetricStatsResponse; - emau?: EMAUStatsResponse; } export interface QueryFollowsRequest { limit?: number; - next?: string; - prev?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ @@ -20782,17 +15793,14 @@ export interface QueryFollowsRequest { export interface QueryFollowsResponse { duration: string; - /** * List of follow relationships matching the query */ follows: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20801,40 +15809,30 @@ export interface QueryFollowsResponse { export interface QueryFutureChannelBansPayload { created_at_after?: Date; - created_at_after_or_equal?: Date; - created_at_before?: Date; - created_at_before_or_equal?: Date; - /** * Whether to exclude expired bans or not */ exclude_expired_bans?: boolean; - /** * When true, the response includes the total number of bans matching the query filter (independent of limit and offset, capped at 100000) */ include_total?: boolean; - /** * Number of records to return */ limit?: number; - /** * Number of records to offset */ offset?: number; - /** * Filter by the target user ID. Server-side: returns all bans against this user. Client-side: narrows the authenticated user's own bans to this target. */ target_user_id?: string; - user_id?: string; - /** * User request object */ @@ -20846,12 +15844,10 @@ export interface QueryFutureChannelBansResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of found future channel bans */ bans: Array; - /** * Total number of bans matching the query filter, computed at query time and capped at 100000. Only present when include_total is set on the request; omitted when computing the total timed out */ @@ -20860,23 +15856,17 @@ export interface QueryFutureChannelBansResponse { export interface QueryLabelResultsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters */ sort?: Array; - /** * Filter conditions */ filter?: Record; - /** * User request object */ @@ -20885,56 +15875,37 @@ export interface QueryLabelResultsRequest { export interface QueryLabelResultsResponse { duration: string; - /** * List of moderation label results */ label_results: Array; - next?: string; - prev?: string; } export interface QueryMembersPayload { type: string; - created_at_after?: Date; - created_at_after_or_equal?: Date; - created_at_before?: Date; - created_at_before_or_equal?: Date; - id?: string; - limit?: number; - offset?: number; - user_id?: string; - user_id_gt?: string; - user_id_gte?: string; - user_id_lt?: string; - user_id_lte?: string; - members?: Array; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ filter_conditions?: Record; - /** * User request object */ @@ -20943,16 +15914,12 @@ export interface QueryMembersPayload { export interface QueryMembershipLevelsRequest { limit?: number; - next?: string; - prev?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ @@ -20961,14 +15928,11 @@ export interface QueryMembershipLevelsRequest { export interface QueryMembershipLevelsResponse { duration: string; - membership_levels: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -20977,26 +15941,20 @@ export interface QueryMembershipLevelsResponse { export interface QueryMessageFlagsPayload { limit?: number; - offset?: number; - /** * Whether to include deleted messages in the results */ show_deleted_messages?: boolean; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ filter_conditions?: Record; - /** * User request object */ @@ -21008,7 +15966,6 @@ export interface QueryMessageFlagsResponse { * Duration of the request in milliseconds */ duration: string; - /** * The flags that match the query */ @@ -21020,13 +15977,9 @@ export interface QueryMessageHistoryRequest { * Filter to apply to the query */ filter: Record; - limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ @@ -21038,36 +15991,27 @@ export interface QueryMessageHistoryResponse { * Duration of the request in milliseconds */ duration: string; - /** * Message history entries */ message_history: Array; - next?: string; - prev?: string; } export interface QueryModerationConfigsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the results */ sort?: Array; - /** * Filter conditions for moderation configs */ filter?: Record; - /** * User request object */ @@ -21076,26 +16020,19 @@ export interface QueryModerationConfigsRequest { export interface QueryModerationConfigsResponse { duration: string; - /** * List of moderation configurations */ configs: Array; - next?: string; - prev?: string; } export interface QueryModerationFlagsRequest { limit?: number; - next?: string; - prev?: string; - sort?: Array; - /** * Filter conditions for moderation flags */ @@ -21107,33 +16044,24 @@ export interface QueryModerationFlagsResponse { * Duration of the request in milliseconds */ duration: string; - flags: Array; - next?: string; - prev?: string; } export interface QueryModerationLogsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the results */ sort?: Array; - /** * Filter conditions for moderation logs */ filter?: Record; - /** * User request object */ @@ -21142,36 +16070,27 @@ export interface QueryModerationLogsRequest { export interface QueryModerationLogsResponse { duration: string; - /** * List of moderation action logs */ logs: Array; - next?: string; - prev?: string; } export interface QueryModerationRulesRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Sorting parameters for the results */ sort?: Array; - /** * Filter conditions for moderation rules */ filter?: Record; - /** * User request object */ @@ -21180,71 +16099,55 @@ export interface QueryModerationRulesRequest { export interface QueryModerationRulesResponse { duration: string; - /** * AI image label definitions with metadata for dashboard rendering */ ai_image_label_definitions: Array; - /** * Available harm labels for closed caption rules */ closed_caption_labels: Array; - /** * Deprecated: use keyframe_label_classifications instead. Available L1 harm labels for keyframe rules */ keyframe_labels: Array; - /** * Available harm labels for OCR-based rule conditions (keyframe_ocr_rule and ocr_content). Mirrors `closed_caption_labels` today but kept as a separate field so the pickers can diverge later. */ ocr_labels: Array; - /** * List of moderation rules */ rules: Array; - /** * Stream L1 to leaf-level label name mapping for AI image rules */ ai_image_subclassifications: Record>; - /** * Default LLM label descriptions */ default_llm_labels: Record; - /** * Recommended LLM label descriptions for username-scoped policies (key starts with 'username:'). Used by /moderation/v2/labels fast-path. */ default_username_llm_labels: Record; - /** * L1 to L2 mapping of keyframe harm label classifications */ keyframe_label_classifications: Record>; - next?: string; - prev?: string; } export interface QueryPinnedActivitiesRequest { enrich_own_fields?: boolean; - limit?: number; - next?: string; - prev?: string; - /** * Sorting parameters for the query */ sort?: Array; - /** * Filters to apply to the query */ @@ -21253,17 +16156,14 @@ export interface QueryPinnedActivitiesRequest { export interface QueryPinnedActivitiesResponse { duration: string; - /** * List of pinned activities matching the query */ pinned_activities: Array; - /** * Cursor for next page */ next?: string; - /** * Cursor for previous page */ @@ -21272,16 +16172,12 @@ export interface QueryPinnedActivitiesResponse { export interface QueryPollVotesRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ @@ -21290,16 +16186,12 @@ export interface QueryPollVotesRequest { export interface QueryPollsRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ @@ -21311,14 +16203,11 @@ export interface QueryPollsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Polls data returned by the query */ polls: Array; - next?: string; - prev?: string; } @@ -21327,36 +16216,27 @@ export interface QueryPredefinedFiltersResponse { * Duration of the request in milliseconds */ duration: string; - /** * Predefined filters */ predefined_filters: Array; - next?: string; - prev?: string; } export interface QueryReactionsRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ filter?: Record; - /** * User request object */ @@ -21368,33 +16248,24 @@ export interface QueryReactionsResponse { * Duration of the request in milliseconds */ duration: string; - reactions: Array; - next?: string; - prev?: string; } export interface QueryRemindersRequest { limit?: number; - next?: string; - prev?: string; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ filter?: Record; - /** * User request object */ @@ -21406,58 +16277,44 @@ export interface QueryRemindersResponse { * Duration of the request in milliseconds */ duration: string; - /** * MessageReminders data returned by the query */ reminders: Array; - next?: string; - prev?: string; } export interface QueryReviewQueueRequest { exclude_default_action_config?: boolean; - limit?: number; - /** * Number of items to lock (1-25) */ lock_count?: number; - /** * Duration for which items should be locked */ lock_duration?: number; - /** * Whether to lock items for review (true), unlock items (false), or just fetch (nil) */ lock_items?: boolean; - next?: string; - prev?: string; - /** * Whether to return only statistics */ stats_only?: boolean; - user_id?: string; - /** * Sorting parameters for the results */ sort?: Array; - /** * Filter conditions for review queue items. Accepts built-in fields (e.g. status, channel_cid, severity, recommended_action) and customer-supplied moderation_payload.custom keys: any key that is not a built-in field is matched against the item's custom moderation data (e.g. {"location_id": "loc-42"}). Use filter_config.filterable_custom_keys to discover which custom keys the app exposes as chips. */ filter?: Record; - /** * User request object */ @@ -21466,28 +16323,21 @@ export interface QueryReviewQueueRequest { export interface QueryReviewQueueResponse { duration: string; - /** * List of review queue items */ items: Array; - /** * Configuration for moderation actions */ action_config: Record>; - /** * Statistics about the review queue */ stats: Record; - next?: string; - prev?: string; - default_action_config?: Record>; - filter_config?: FilterConfigResponse; } @@ -21496,13 +16346,9 @@ export interface QueryRevisionHistoryRequest { * Filter to apply to the query */ filter: Record; - limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ @@ -21514,14 +16360,11 @@ export interface QueryRevisionHistoryResponse { * Duration of the request in milliseconds */ duration: string; - /** * Revision history entries */ revisions: Array; - next?: string; - prev?: string; } @@ -21530,19 +16373,15 @@ export interface QuerySegmentTargetsRequest { * Limit */ limit?: number; - /** * Next */ next?: string; - /** * Prev */ prev?: string; - sort?: Array; - filter?: Record; } @@ -21551,14 +16390,11 @@ export interface QuerySegmentTargetsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Targets */ targets: Array; - next?: string; - prev?: string; } @@ -21567,13 +16403,9 @@ export interface QuerySegmentsRequest { * Filter to apply to the query */ filter: Record; - limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ @@ -21585,14 +16417,11 @@ export interface QuerySegmentsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Segments */ segments: Array; - next?: string; - prev?: string; } @@ -21601,27 +16430,22 @@ export interface QueryTeamUsageStatsRequest { * End date in YYYY-MM-DD format. Used with start_date for custom date range. Returns daily breakdown. */ end_date?: string; - /** * Maximum number of teams to return per page (default: 30, max: 30) */ limit?: number; - /** * Month in YYYY-MM format (e.g., '2026-01'). Mutually exclusive with start_date/end_date. Returns aggregated monthly values. */ month?: string; - /** * Cursor for pagination to fetch next page of teams */ next?: string; - /** * Start date in YYYY-MM-DD format. Used with end_date for custom date range. Returns daily breakdown. */ start_date?: string; - /** * Filter results to a single team ID. Empty string selects users not assigned to any team. Mutually exclusive with 'next'. */ @@ -21633,12 +16457,10 @@ export interface QueryTeamUsageStatsResponse { * Duration of the request in milliseconds */ duration: string; - /** * Array of team usage statistics */ teams: Array; - /** * Cursor for pagination to fetch next page */ @@ -21647,35 +16469,26 @@ export interface QueryTeamUsageStatsResponse { export interface QueryThreadsRequest { limit?: number; - member_limit?: number; - next?: string; - /** * Limit the number of participants returned per each thread */ participant_limit?: number; - prev?: string; - /** * Limit the number of replies returned per each thread */ reply_limit?: number; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter to apply to the query */ filter?: Record; - /** * User request object */ @@ -21687,29 +16500,22 @@ export interface QueryThreadsResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of enriched thread states */ threads: Array; - next?: string; - prev?: string; } export interface QueryUserFeedbackRequest { limit?: number; - next?: string; - prev?: string; - /** * Array of sort parameters */ sort?: Array; - /** * Filter conditions to apply to the query */ @@ -21721,11 +16527,8 @@ export interface QueryUserFeedbackResponse { * Duration of the request in milliseconds */ duration: string; - user_feedback: Array; - next?: string; - prev?: string; } @@ -21734,30 +16537,19 @@ export interface QueryUsersPayload { * Filter conditions to apply to the query */ filter_conditions: Record; - id_gt?: string; - id_gte?: string; - id_lt?: string; - id_lte?: string; - include_deactivated_users?: boolean; - limit?: number; - offset?: number; - presence?: boolean; - user_id?: string; - /** * Array of sort parameters */ sort?: Array; - /** * User request object */ @@ -21769,7 +16561,6 @@ export interface QueryUsersResponse { * Duration of the request in milliseconds */ duration: string; - /** * Array of users as result of filters applied. */ @@ -21781,7 +16572,6 @@ export interface QueueResponse { * Duration of the request in milliseconds */ duration: string; - queue?: ModerationQueueResponse; } @@ -21790,16 +16580,13 @@ export interface RTMPBroadcastRequest { * Name identifier for RTMP broadcast, must be unique in call */ name: string; - /** * URL for the RTMP server to send the call to */ stream_url: string; - /** * If provided, will override the call's RTMP settings quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560 */ - quality?: | '360p' | '480p' @@ -21811,12 +16598,10 @@ export interface RTMPBroadcastRequest { | 'portrait-720x1280' | 'portrait-1080x1920' | 'portrait-1440x2560'; - /** * If provided, will be appended at the end of stream_url */ stream_key?: string; - layout?: LayoutSettingsRequest; } @@ -21826,19 +16611,14 @@ export interface RTMPIngress { export interface RTMPLocation { name: string; - stream_key: string; - stream_url: string; } export interface RTMPSettings { enabled: boolean; - quality_name?: string; - layout?: LayoutSettings; - location?: RTMPLocation; } @@ -21847,11 +16627,9 @@ export interface RTMPSettingsRequest { * Whether RTMP broadcasting is enabled */ enabled?: boolean; - /** * Resolution to set for the RTMP stream. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560 */ - quality?: | '360p' | '480p' @@ -21863,15 +16641,12 @@ export interface RTMPSettingsRequest { | 'portrait-720x1280' | 'portrait-1080x1920' | 'portrait-1440x2560'; - layout?: LayoutSettingsRequest; } export interface RTMPSettingsResponse { enabled: boolean; - quality: string; - layout: LayoutSettingsResponse; } @@ -21879,19 +16654,15 @@ export interface RankingConfig { /** * Type of ranking algorithm. Required. One of: expression, interest */ - type: 'expression' | 'interest'; - /** * Scoring formula. Required when type is 'expression' or 'interest' */ score?: string; - /** * Default values for ranking */ defaults?: Record; - /** * Decay functions configuration */ @@ -21900,7 +16671,6 @@ export interface RankingConfig { export interface RawRecordSettings { mode: 'available' | 'disabled' | 'auto-on'; - audio_only?: boolean; } @@ -21912,9 +16682,7 @@ export interface RawRecordingSettingsRequest { /** * Recording mode. One of: available, disabled, auto-on */ - mode: 'available' | 'disabled' | 'auto-on'; - /** * If true, only audio tracks will be recorded */ @@ -21923,43 +16691,26 @@ export interface RawRecordingSettingsRequest { export interface RawRecordingSettingsResponse { mode: 'available' | 'disabled' | 'auto-on'; - audio_only?: boolean; } export interface Reaction { activity_id: string; - created_at: Date; - kind: string; - updated_at: Date; - user_id: string; - deleted_at?: Date; - id?: string; - parent?: string; - score?: number; - target_feeds?: Array; - children_counts?: Record; - data?: Record; - latest_children?: Record>; - moderation?: Record; - own_children?: Record>; - target_feeds_extra_data?: Record; - user?: User; } @@ -21968,67 +16719,51 @@ export interface ReactionDeletedEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "reaction.deleted" in this case */ type: string; - /** * The ID of the channel containing the message */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel containing the message */ channel_type?: string; - /** * The CID of the channel containing the message */ cid?: string; - message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - /** * The participants of the thread */ thread_participants?: Array; - channel_custom?: Record; - /** * Represents any chat message */ message?: MessageResponse; - reaction?: ReactionResponse; - user?: UserResponseCommonFields; } @@ -22037,22 +16772,18 @@ export interface ReactionGroupResponse { * Count is the number of reactions of this type. */ count: number; - /** * FirstReactionAt is the time of the first reaction of this type. This is the same also if all reaction of this type are deleted, because if someone will react again with the same type, will be preserved the sorting. */ first_reaction_at: Date; - /** * LastReactionAt is the time of the last reaction of this type. */ last_reaction_at: Date; - /** * SumScores is the sum of all scores of reactions of this type. Medium allows you to clap articles more than once and shows the sum of all claps from all users. For example, you can send `clap` x5 using `score: 5`. */ sum_scores: number; - /** * The most recent users who reacted with this type, ordered by most recent first. */ @@ -22064,12 +16795,10 @@ export interface ReactionGroupUserResponse { * The time when the user reacted. */ created_at: Date; - /** * The ID of the user who reacted. */ user_id: string; - /** * User response object */ @@ -22081,67 +16810,51 @@ export interface ReactionNewEvent { * Date/time of creation */ created_at: Date; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * The type of event: "reaction.new" in this case */ type: string; - /** * The ID of the channel containing the message */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel containing the message */ channel_type?: string; - /** * The CID of the channel containing the message */ cid?: string; - message_id?: string; - received_at?: Date; - /** * The team ID */ team?: string; - /** * The participants of the thread */ thread_participants?: Array; - channel_custom?: Record; - /** * Represents any chat message */ message?: MessageResponse; - reaction?: ReactionResponse; - user?: UserResponseCommonFields; } @@ -22150,26 +16863,20 @@ export interface ReactionRequest { * The type of reaction (e.g. 'like', 'laugh', 'wow') */ type: string; - /** * Date/time of creation */ created_at?: Date; - /** * Reaction score. If not specified reaction has score of 1 */ score?: number; - /** * Date/time of the last update */ updated_at?: Date; - user_id?: string; - custom?: Record; - /** * User request object */ @@ -22181,37 +16888,30 @@ export interface ReactionResponse { * Date/time of creation */ created_at: Date; - /** * Message ID */ message_id: string; - /** * Score of the reaction */ score: number; - /** * Type of reaction */ type: string; - /** * Date/time of the last update */ updated_at: Date; - /** * User ID */ user_id: string; - /** * Custom data for this object */ custom: Record; - /** * User response object */ @@ -22223,62 +16923,47 @@ export interface ReactionUpdatedEvent { * Date/time of creation */ created_at: Date; - message_id: string; - /** * Represents channel in chat */ channel: ChannelResponse; - custom: Record; - /** * Represents any chat message */ message: MessageResponse; - /** * The type of event: "reaction.updated" in this case */ type: string; - /** * The ID of the channel containing the message */ channel_id?: string; - /** * The number of members in the channel */ channel_member_count?: number; - /** * The number of messages in the channel */ channel_message_count?: number; - /** * The type of the channel containing the message */ channel_type?: string; - /** * The CID of the channel containing the message */ cid?: string; - received_at?: Date; - /** * The team ID */ team?: string; - channel_custom?: Record; - reaction?: ReactionResponse; - user?: UserResponseCommonFields; } @@ -22287,12 +16972,10 @@ export interface ReactivateUserRequest { * ID of the user who's reactivating the user */ created_by_id?: string; - /** * Set this field to put new name for the user */ name?: string; - /** * Restore previously deleted messages */ @@ -22304,7 +16987,6 @@ export interface ReactivateUserResponse { * Duration of the request in milliseconds */ duration: string; - /** * User response object */ @@ -22316,14 +16998,11 @@ export interface ReactivateUsersRequest { * User IDs to reactivate */ user_ids: Array; - /** * ID of the user who's reactivating the users */ created_by_id?: string; - restore_channels?: boolean; - /** * Restore previously deleted messages */ @@ -22335,13 +17014,11 @@ export interface ReactivateUsersResponse { * Duration of the request in milliseconds */ duration: string; - task_id: string; } export interface ReadCollectionsResponse { duration: string; - /** * List of collections matching the references */ @@ -22354,28 +17031,20 @@ export interface ReadReceiptsResponse { export interface ReadStateResponse { last_read: Date; - unread_messages: number; - /** * User response object */ user: UserResponse; - last_delivered_at?: Date; - last_delivered_message_id?: string; - last_read_message_id?: string; } export interface RecordSettings { mode: string; - audio_only?: boolean; - quality?: string; - layout?: LayoutSettings; } @@ -22383,18 +17052,14 @@ export interface RecordSettingsRequest { /** * Recording mode. One of: available, disabled, auto-on */ - mode: 'available' | 'disabled' | 'auto-on'; - /** * Whether to record audio only */ audio_only?: boolean; - /** * Recording quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560 */ - quality?: | '360p' | '480p' @@ -22406,17 +17071,13 @@ export interface RecordSettingsRequest { | 'portrait-720x1280' | 'portrait-1080x1920' | 'portrait-1440x2560'; - layout?: LayoutSettingsRequest; } export interface RecordSettingsResponse { audio_only: boolean; - mode: string; - quality: string; - layout: LayoutSettingsResponse; } @@ -22429,7 +17090,6 @@ export interface RejectAppealRequestPayload { export interface RejectFeedMemberInviteRequest { user_id?: string; - /** * User request object */ @@ -22438,7 +17098,6 @@ export interface RejectFeedMemberInviteRequest { export interface RejectFeedMemberInviteResponse { duration: string; - member: FeedMemberResponse; } @@ -22447,7 +17106,6 @@ export interface RejectFollowRequest { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ @@ -22456,7 +17114,6 @@ export interface RejectFollowRequest { export interface RejectFollowResponse { duration: string; - follow: FollowResponse; } @@ -22465,36 +17122,28 @@ export interface ReminderCreatedEvent { * The CID of the Channel for which the reminder was created */ cid: string; - /** * Date/time of creation */ created_at: Date; - /** * The ID of the message for which the reminder was created */ message_id: string; - /** * The ID of the user for whom the reminder was created */ user_id: string; - custom: Record; - reminder: ReminderResponseData; - /** * The type of event: "reminder.created" in this case */ type: string; - /** * The ID of the parent message, if the reminder is for a thread message */ parent_id?: string; - received_at?: Date; } @@ -22503,36 +17152,28 @@ export interface ReminderDeletedEvent { * The CID of the Channel for which the reminder was created */ cid: string; - /** * Date/time of creation */ created_at: Date; - /** * The ID of the message for which the reminder was created */ message_id: string; - /** * The ID of the user for whom the reminder was created */ user_id: string; - custom: Record; - reminder: ReminderResponseData; - /** * The type of event: "reminder.deleted" in this case */ type: string; - /** * The ID of the parent message, if the reminder is for a thread message */ parent_id?: string; - received_at?: Date; } @@ -22541,59 +17182,43 @@ export interface ReminderNotificationEvent { * The CID of the Channel for which the reminder was created */ cid: string; - /** * Date/time of creation */ created_at: Date; - /** * The ID of the message for which the reminder was created */ message_id: string; - /** * The ID of the user for whom the reminder was created */ user_id: string; - custom: Record; - reminder: ReminderResponseData; - /** * The type of event: "notification.reminder_due" in this case */ type: string; - parent_id?: string; - received_at?: Date; } export interface ReminderResponseData { channel_cid: string; - created_at: Date; - message_id: string; - updated_at: Date; - user_id: string; - remind_at?: Date; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ message?: MessageResponse; - /** * User response object */ @@ -22605,36 +17230,28 @@ export interface ReminderUpdatedEvent { * The CID of the Channel for which the reminder was created */ cid: string; - /** * Date/time of creation */ created_at: Date; - /** * The ID of the message for which the reminder was created */ message_id: string; - /** * The ID of the user for whom the reminder was created */ user_id: string; - custom: Record; - reminder: ReminderResponseData; - /** * The type of event: "reminder.updated" in this case */ type: string; - /** * The ID of the parent message, if the reminder is for a thread message */ parent_id?: string; - received_at?: Date; } @@ -22643,13 +17260,11 @@ export interface RemoveUserGroupMembersRequest { * List of user IDs to remove */ member_ids: Array; - team_id?: string; } export interface RemoveUserGroupMembersResponse { duration: string; - user_group?: UserGroupResponse; } @@ -22658,17 +17273,14 @@ export interface RepliesMeta { * True if the subtree was cut because the requested depth was reached. */ depth_truncated: boolean; - /** * True if more siblings exist in the database. */ has_more: boolean; - /** * Number of unread siblings that match current filters. */ remaining: number; - /** * Opaque cursor to request the next page of siblings. */ @@ -22677,13 +17289,9 @@ export interface RepliesMeta { export interface ReportByHistogramBucket { category: string; - count: number; - sum: number; - lower_bound?: Bound; - upper_bound?: Bound; } @@ -22703,15 +17311,12 @@ export interface ReportClientEventResponse { export interface ReportResponse { call: CallReportResponse; - participants: ParticipantReportResponse; - user_ratings: UserRatingReportResponse; } export interface ResolutionMetricsTimeSeries { height?: MetricTimeSeries; - width?: MetricTimeSeries; } @@ -22720,17 +17325,14 @@ export interface ResolveSipAuthRequest { * SIP caller number */ sip_caller_number: string; - /** * SIP trunk number to look up */ sip_trunk_number: string; - /** * Host from the SIP From header */ from_host?: string; - /** * Transport-layer source IP address of the SIP request */ @@ -22742,19 +17344,15 @@ export interface ResolveSipAuthResponse { * Authentication result: password, accept, or no_trunk_found */ auth_result: string; - duration: string; - /** * Password for digest authentication (when auth_result is password) */ password?: string; - /** * ID of the matched SIP trunk */ trunk_id?: string; - /** * Username for digest authentication (when auth_result is password) */ @@ -22766,27 +17364,22 @@ export interface ResolveSipInboundRequest { * SIP caller number */ sip_caller_number: string; - /** * SIP trunk number to resolve */ sip_trunk_number: string; - /** * Optional routing number for routing number-based call routing (10 digits) */ routing_number?: string; - /** * Optional pre-authenticated trunk ID (from PreAuth no-auth flow) */ trunk_id?: string; - /** * SIP digest challenge authentication data */ challenge?: SIPChallengeRequest; - /** * Optional SIP headers as key-value pairs */ @@ -22795,17 +17388,14 @@ export interface ResolveSipInboundRequest { export interface ResolveSipInboundResponse { duration: string; - /** * Credentials for SIP inbound call authentication */ credentials: SipInboundCredentials; - /** * SIP Inbound Routing Rule response */ sip_routing_rule?: SIPInboundRoutingRuleResponse; - /** * SIP trunk information */ @@ -22828,7 +17418,6 @@ export interface RestoreActionRequestPayload { export interface RestoreActivityRequest { user_id?: string; - /** * User request object */ @@ -22837,13 +17426,11 @@ export interface RestoreActivityRequest { export interface RestoreActivityResponse { duration: string; - activity: ActivityResponse; } export interface RestoreCommentRequest { user_id?: string; - /** * User request object */ @@ -22852,9 +17439,7 @@ export interface RestoreCommentRequest { export interface RestoreCommentResponse { duration: string; - activity: ActivityResponse; - comment: CommentResponse; } @@ -22862,7 +17447,6 @@ export interface RestoreFeedGroupRequest {} export interface RestoreFeedGroupResponse { duration: string; - feed_group: FeedGroupResponse; } @@ -22872,40 +17456,28 @@ export interface RestoreUsersRequest { export interface RetentionPolicy { app_pk: number; - enabled_at: Date; - policy: string; - config: PolicyConfig; } export interface RetentionRunResponse { app_pk: number; - date: string; - policy: string; - stats: RunStats; } export interface ReviewQueueItemNewEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - /** * The flags associated with this review queue item */ flags?: Array; - action?: ActionLogResponse; - review_queue_item?: ReviewQueueItemResponse; } @@ -22914,185 +17486,135 @@ export interface ReviewQueueItemResponse { * AI-determined text severity */ ai_text_severity: string; - /** * When the item was created */ created_at: Date; - /** * ID of the entity being reviewed */ entity_id: string; - /** * Type of entity being reviewed */ entity_type: string; - /** * Whether the item has been escalated */ escalated: boolean; - flags_count: number; - /** * Unique identifier of the review queue item */ id: string; - latest_moderator_action: string; - /** * Suggested moderation action */ recommended_action: string; - /** * ID of the moderator who reviewed the item */ reviewed_by: string; - /** * Severity level of the content */ severity: number; - /** * Current status of the review */ status: string; - /** * When the item was last updated */ updated_at: Date; - /** * Moderation actions taken */ actions: Array; - /** * Associated ban records */ bans: Array; - /** * Associated flag records */ flags: Array; - /** * Detected languages in the content */ languages: Array; - /** * When the review was completed */ completed_at?: Date; - /** * Highest per-label confidence (0-1) any provider reported across the item's flags; absent when no flag carried one */ confidence_score?: number; - config_key?: string; - /** * ID of who created the entity */ entity_creator_id?: string; - /** * When the item was escalated */ escalated_at?: Date; - /** * ID of the moderator who escalated the item */ escalated_by?: string; - /** * When the item was reviewed */ reviewed_at?: Date; - /** * Teams associated with this item */ teams?: Array; - activity?: EnrichedActivity; - appeal?: AppealItemResponse; - /** * User response object */ assigned_to?: UserResponse; - call?: ModerationCallResponse; - entity_creator?: EntityCreatorResponse; - escalation_metadata?: EscalationMetadata; - feeds_v2_activity?: EnrichedActivity; - feeds_v2_reaction?: Reaction; - feeds_v3_activity?: FeedsV3ActivityResponse; - feeds_v3_comment?: FeedsV3CommentResponse; - message?: ChatMessageResponse; - /** * Content payload for moderation */ moderation_payload?: ModerationPayloadResponse; - reaction?: Reaction; } export interface ReviewQueueItemUpdatedEvent { created_at: Date; - custom: Record; - type: string; - received_at?: Date; - /** * The flags associated with this review queue item */ flags?: Array; - action?: ActionLogResponse; - review_queue_item?: ReviewQueueItemResponse; } export interface RevisionHistoryResponse { action_type: string; - actor_type: string; - created_at: Date; - object_id: string; - object_type: string; - user_id: string; - changed_fields?: Array; - previous_obj_serialized?: Record; } @@ -23101,27 +17623,31 @@ export interface RingCallRequest { * Indicate if call should be video */ video?: boolean; - /** * Members that should receive the ring. If no ids are provided, all call members who are not already in the call will receive ring notifications. */ members_ids?: Array; + /** + * Opaque context stored on the ring attempt; refs and IDs only + */ + custom?: Record; } export interface RingCallResponse { duration: string; - /** * List of members ringing notification was sent to */ members_ids: Array; + /** + * The ring this call created, for correlating the accept, reject and missed outcomes that follow + */ + ring_id?: string; } export interface RingSettings { auto_cancel_timeout_ms: number; - incoming_call_timeout_ms: number; - missed_call_timeout_ms: number; } @@ -23130,12 +17656,10 @@ export interface RingSettingsRequest { * When none of the callees accept a ring call in this time a rejection will be sent by the caller with reason 'timeout' by the SDKs */ auto_cancel_timeout_ms: number; - /** * When a callee is online but doesn't answer a ring call in this time a rejection will be sent with reason 'timeout' by the SDKs */ incoming_call_timeout_ms: number; - /** * When a callee doesn't accept or reject a ring call in this time a missed call event will be sent */ @@ -23144,9 +17668,7 @@ export interface RingSettingsRequest { export interface RingSettingsResponse { auto_cancel_timeout_ms: number; - incoming_call_timeout_ms: number; - missed_call_timeout_ms: number; } @@ -23155,22 +17677,18 @@ export interface Role { * Date/time of creation */ created_at: Date; - /** * Whether this is a custom role or built-in */ custom: boolean; - /** * Unique role name */ name: string; - /** * Date/time of the last update */ updated_at: Date; - /** * List of scopes where this role is currently present. `.app` means that role is present in app-level grants */ @@ -23179,9 +17697,7 @@ export interface Role { export interface RuleBuilderAction { reason?: string; - skip_inbox?: boolean; - type?: | 'ban_user' | 'flag_user' @@ -23200,115 +17716,70 @@ export interface RuleBuilderAction { | 'warning' | 'call_warning' | 'webhook_only'; - ban_options?: BanOptions; - call_options?: CallActionOptions; - flag_user_options?: FlagUserOptions; } export interface RuleBuilderCondition { confidence?: number; - type?: string; - call_custom_property_params?: CallCustomPropertyParameters; - call_type_rule_params?: CallTypeRuleParameters; - call_violation_count_params?: CallViolationCountParameters; - channel_message_count_rule_params?: ChannelMessageCountRuleParameters; - closed_caption_rule_params?: ClosedCaptionRuleParameters; - content_count_rule_params?: ContentCountRuleParameters; - content_custom_property_count_params?: ContentCustomPropertyCountParameters; - content_custom_property_params?: ContentCustomPropertyParameters; - content_flag_count_rule_params?: FlagCountRuleParameters; - flood_identical_params?: FloodIdenticalRuleParameters; - flood_similar_params?: FloodSimilarRuleParameters; - image_content_params?: ImageContentParameters; - image_rule_params?: ImageRuleParameters; - ip_content_count_rule_params?: IPContentCountRuleParameters; - ip_flag_count_rule_params?: IPFlagCountRuleParameters; - keyframe_ocr_rule_params?: KeyframeOCRRuleParameters; - keyframe_rule_params?: KeyframeRuleParameters; - ocr_content_params?: OCRContentParameters; - text_content_params?: TextContentParameters; - text_rule_params?: TextRuleParameters; - user_created_within_params?: UserCreatedWithinParameters; - user_custom_property_params?: UserCustomPropertyParameters; - user_flag_count_rule_params?: FlagCountRuleParameters; - user_identical_content_count_params?: UserIdenticalContentCountParameters; - user_identical_image_count_params?: UserIdenticalImageCountParameters; - user_reaction_count_params?: UserReactionCountRuleParameters; - user_role_params?: UserRoleParameters; - user_rule_params?: UserRuleParameters; - video_content_params?: VideoContentParameters; - video_rule_params?: VideoRuleParameters; } export interface RuleBuilderConditionGroup { logic?: string; - conditions?: Array; } export interface RuleBuilderConfig { async?: boolean; - rules?: Array; } export interface RuleBuilderRule { rule_type: string; - cooldown_period?: string; - id?: string; - logic?: string; - action_sequences?: Array; - conditions?: Array; - groups?: Array; - action?: RuleBuilderAction; } export interface RunStats { activities_deleted?: number; - channels_deleted?: number; - messages_deleted?: number; } @@ -23317,17 +17788,14 @@ export interface S3Request { * The AWS region where the bucket is hosted */ s3_region: string; - /** * The AWS API key. To use Amazon S3 as your storage provider, you have two authentication options: IAM role or API key. If you do not specify the `s3_api_key` parameter, Stream will use IAM role authentication. In that case make sure to have the correct IAM role configured for your application. */ s3_api_key?: string; - /** * The custom endpoint for S3. If you want to use a custom endpoint, you must also provide the `s3_api_key` and `s3_secret` parameters. */ s3_custom_endpoint_url?: string; - /** * The AWS API Secret */ @@ -23344,19 +17812,15 @@ export interface SDKUsageReportResponse { export interface SFULocationResponse { datacenter: string; - id: string; - /** * Geographic coordinates */ coordinates: CoordinatesResponse; - /** * Geographic location metadata */ location: LocationResponse; - count?: number; } @@ -23379,7 +17843,6 @@ export interface SIPCallerConfigsRequest { * Unique identifier for the caller (handlebars template) */ id: string; - /** * Custom data associated with the caller (values are handlebars templates) */ @@ -23391,7 +17854,6 @@ export interface SIPCallerConfigsResponse { * Unique identifier for the caller */ id: string; - /** * Custom data associated with the caller */ @@ -23403,77 +17865,62 @@ export interface SIPChallengeRequest { * Deprecated: A1 hash for backward compatibility */ a1?: string; - /** * Hash algorithm (e.g., MD5, SHA-256) */ algorithm?: string; - /** * Character set */ charset?: string; - /** * Client nonce for qop=auth */ cnonce?: string; - /** * SIP method (e.g., INVITE) */ method?: string; - /** * Nonce count for qop=auth */ nc?: string; - /** * Server nonce */ nonce?: string; - /** * Opaque value */ opaque?: string; - /** * Authentication realm */ realm?: string; - /** * Digest response hash from client */ response?: string; - /** * Whether the nonce is stale */ stale?: boolean; - /** * Request URI */ uri?: string; - /** * Whether to hash the username */ userhash?: boolean; - /** * Username for authentication */ username?: string; - /** * Domain list */ domain?: Array; - /** * Quality of protection options */ @@ -23485,7 +17932,6 @@ export interface SIPDirectRoutingRuleCallConfigsRequest { * ID of the call (handlebars template) */ call_id: string; - /** * Type of the call */ @@ -23497,7 +17943,6 @@ export interface SIPDirectRoutingRuleCallConfigsResponse { * ID of the call */ call_id: string; - /** * Type of the call */ @@ -23509,22 +17954,18 @@ export interface SIPInboundRoutingRulePinConfigsRequest { * Optional webhook URL for custom PIN handling */ custom_webhook_url?: string; - /** * Prompt message for failed PIN attempts */ pin_failed_attempt_prompt?: string; - /** * Prompt message for hangup after PIN input */ pin_hangup_prompt?: string; - /** * Prompt message for PIN input */ pin_prompt?: string; - /** * Prompt message for successful PIN input */ @@ -23536,22 +17977,18 @@ export interface SIPInboundRoutingRulePinConfigsResponse { * Optional webhook URL for custom PIN handling */ custom_webhook_url?: string; - /** * Prompt message for failed PIN attempts */ pin_failed_attempt_prompt?: string; - /** * Prompt message for hangup after PIN input */ pin_hangup_prompt?: string; - /** * Prompt message for PIN input */ pin_prompt?: string; - /** * Prompt message for successful PIN input */ @@ -23563,42 +18000,34 @@ export interface SIPInboundRoutingRuleRequest { * Name of the SIP Inbound Routing Rule */ name: string; - /** * List of SIP trunk IDs */ trunk_ids: Array; - /** * Configuration for SIP caller settings */ caller_configs: SIPCallerConfigsRequest; - /** * List of called numbers */ called_numbers?: Array; - /** * List of caller numbers (optional) */ caller_numbers?: Array; - /** * Configuration for SIP call settings */ call_configs?: SIPCallConfigsRequest; - /** * Configuration for direct routing rule calls */ direct_routing_configs?: SIPDirectRoutingRuleCallConfigsRequest; - /** * Configuration for PIN protection settings */ pin_protection_configs?: SIPPinProtectionConfigsRequest; - /** * Configuration for PIN routing rule calls */ @@ -23610,59 +18039,47 @@ export interface SIPInboundRoutingRuleResponse { * Creation timestamp */ created_at: Date; - duration: string; - /** * Unique identifier of the SIP Inbound Routing Rule */ id: string; - /** * Name of the SIP Inbound Routing Rule */ name: string; - /** * Last update timestamp */ updated_at: Date; - /** * List of called numbers */ called_numbers: Array; - /** * List of SIP trunk IDs */ trunk_ids: Array; - /** * List of caller numbers */ caller_numbers?: Array; - /** * SIP call configuration response */ call_configs?: SIPCallConfigsResponse; - /** * SIP caller configuration response */ caller_configs?: SIPCallerConfigsResponse; - /** * Direct routing rule call configuration response */ direct_routing_configs?: SIPDirectRoutingRuleCallConfigsResponse; - /** * PIN protection configuration response */ pin_protection_configs?: SIPPinProtectionConfigsResponse; - /** * PIN routing rule call configuration response */ @@ -23674,17 +18091,14 @@ export interface SIPPinProtectionConfigsRequest { * Default PIN to use if there is no PIN set on the call object */ default_pin?: string; - /** * Whether PIN protection is enabled */ enabled?: boolean; - /** * Maximum number of PIN attempts allowed */ max_attempts?: number; - /** * Number of digits required for the PIN */ @@ -23696,17 +18110,14 @@ export interface SIPPinProtectionConfigsResponse { * Whether PIN protection is enabled */ enabled: boolean; - /** * Default PIN to use if there is no PIN set on the call object */ default_pin?: string; - /** * Maximum number of PIN attempts allowed */ max_attempts?: number; - /** * Number of digits required for the PIN */ @@ -23718,42 +18129,34 @@ export interface SIPTrunkResponse { * Creation timestamp */ created_at: Date; - /** * Unique identifier for the SIP trunk */ id: string; - /** * Name of the SIP trunk */ name: string; - /** * Password for SIP trunk authentication */ password: string; - /** * Last update timestamp */ updated_at: Date; - /** * The URI for the SIP trunk */ uri: string; - /** * Username for SIP trunk authentication */ username: string; - /** * Allowed IPv4/IPv6 addresses or CIDR blocks */ allowed_ips: Array; - /** * Phone numbers associated with this SIP trunk */ @@ -23766,33 +18169,25 @@ export interface SRTIngress { export interface ScoreBands { good?: number; - ok?: number; - poor?: number; } export interface ScreensharingSettings { access_request_enabled: boolean; - enabled: boolean; - target_resolution?: TargetResolution; } export interface ScreensharingSettingsRequest { access_request_enabled?: boolean; - enabled?: boolean; - target_resolution?: TargetResolution; } export interface ScreensharingSettingsResponse { access_request_enabled: boolean; - enabled: boolean; - target_resolution?: TargetResolution; } @@ -23801,41 +18196,32 @@ export interface SearchPayload { * Channel filter conditions */ filter_conditions: Record; - force_default_search?: boolean; - force_sql_v2_backend?: boolean; - /** * Number of messages to return */ limit?: number; - /** * Pagination parameter. Cannot be used with non-zero offset. */ next?: string; - /** * Pagination offset. Cannot be used with sort or next. */ offset?: number; - /** * Search phrase */ query?: string; - /** * Sort parameters. Cannot be used with non-zero offset */ sort?: Array; - /** * Message filter conditions */ message_filter_conditions?: Record; - message_options?: MessageOptions; } @@ -23844,22 +18230,18 @@ export interface SearchResponse { * Duration of the request in milliseconds */ duration: string; - /** * Search results */ results: Array; - /** * Value to pass to the next search query in order to paginate */ next?: string; - /** * Value that points to the previous page. Pass as the next value in a search query to paginate backwards */ previous?: string; - results_warning?: SearchWarning; } @@ -23869,123 +18251,72 @@ export interface SearchResult { export interface SearchResultMessage { cid: string; - created_at: Date; - deleted_reply_count: number; - html: string; - id: string; - mentioned_channel: boolean; - mentioned_here: boolean; - pinned: boolean; - reply_count: number; - shadowed: boolean; - silent: boolean; - text: string; - type: string; - updated_at: Date; - attachments: Array; - latest_reactions: Array; - mentioned_users: Array; - own_reactions: Array; - restricted_visibility: Array; - custom: Record; - reaction_counts: Record; - reaction_scores: Record; - /** * User response object */ user: UserResponse; - command?: string; - deleted_at?: Date; - deleted_for_me?: boolean; - message_text_updated_at?: Date; - mml?: string; - parent_id?: string; - pin_expires?: Date; - pinned_at?: Date; - poll_id?: string; - quoted_message_id?: string; - show_in_channel?: boolean; - mentioned_group_ids?: Array; - mentioned_groups?: Array; - mentioned_roles?: Array; - thread_participants?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - draft?: DraftResponse; - i18n?: Record; - image_labels?: Record>; - member?: ChannelMemberPartialResponse; - mentioned_channel_members?: Record; - moderation?: ModerationV2Response; - /** * User response object */ pinned_by?: UserResponse; - poll?: PollResponseData; - /** * Represents any chat message */ quoted_message?: MessageResponse; - reaction_groups?: Record; - reminder?: ReminderResponseData; - shared_location?: SharedLocationResponseData; } export interface SearchRolesResponse { duration: string; - /** * Matching roles, sorted ascending by name */ @@ -23994,7 +18325,6 @@ export interface SearchRolesResponse { export interface SearchUserGroupsResponse { duration: string; - /** * List of matching user groups */ @@ -24006,17 +18336,14 @@ export interface SearchWarning { * Code corresponding to the warning */ warning_code: number; - /** * Description of the warning */ warning_description: string; - /** * Number of channels searched */ channel_search_count?: number; - /** * Channel CIDs for the searched channels */ @@ -24025,83 +18352,52 @@ export interface SearchWarning { export interface Segment { all_sender_channels: boolean; - all_users: boolean; - created_at: Date; - id: string; - name: string; - size: number; - type: string; - updated_at: Date; - deleted_at?: Date; - description?: string; - task_id?: string; - filter?: Record; } export interface SegmentResponse { all_sender_channels: boolean; - all_users: boolean; - created_at: Date; - deleted_at: Date; - description: string; - id: string; - name: string; - size: number; - type: string; - updated_at: Date; - filter: Record; } export interface SegmentTargetResponse { app_pk: number; - created_at: Date; - segment_id: string; - target_id: string; } export interface Segments { by_country_reason: string; - by_browser: Array; - by_country: Array; - by_delivery_zone: Array; - by_os: Array; - by_sdk: Array; } export interface SendCallEventRequest { user_id?: string; - custom?: Record; - /** * User request object */ @@ -24117,21 +18413,13 @@ export interface SendCallEventResponse { export interface SendClosedCaptionRequest { speaker_id: string; - text: string; - end_time?: Date; - language?: string; - service?: string; - start_time?: Date; - translated?: boolean; - user_id?: string; - /** * User request object */ @@ -24151,27 +18439,19 @@ export interface SendMessageRequest { * Message data for creating or updating a message */ message: MessageRequest; - force_moderation?: boolean; - /** * When true, the response includes channel_context: a slim channel object with cid, type, id and created_by */ include_channel_context?: boolean; - /** * When true, the response includes mentioned_members: for each mentioned user, whether that user is currently a channel member. Requires the ReadChannelMembers permission */ include_mentioned_members?: boolean; - keep_channel_hidden?: boolean; - pending?: boolean; - skip_enrich_url?: boolean; - skip_push?: boolean; - pending_message_metadata?: Record; } @@ -24180,22 +18460,18 @@ export interface SendMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message: MessageResponse; - /** * Slim channel object: identity plus creator */ channel_context?: ChannelContextResponse; - /** * Map of mentioned user ID to whether that user is currently an active channel member. Only set when include_mentioned_members was requested; omitted when the message has no mentions or the membership lookup failed */ mentioned_members?: Record; - /** * Pending message metadata */ @@ -24207,12 +18483,10 @@ export interface SendReactionRequest { * Represents user reaction to a message */ reaction: ReactionRequest; - /** * Whether to replace all existing user reactions */ enforce_unique?: boolean; - /** * Skips any mobile push notifications */ @@ -24224,12 +18498,10 @@ export interface SendReactionResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message: MessageResponse; - reaction: ReactionResponse; } @@ -24239,13 +18511,9 @@ export interface SendUserCustomEventRequest { export interface SessionClient { ip?: string; - name?: string; - network_type?: string; - version?: string; - location?: CallStatsLocation; } @@ -24263,15 +18531,12 @@ export interface SessionSettingsResponse { export interface SessionWarningResponse { code: string; - warning: string; - time?: Date; } export interface SetRetentionPolicyRequest { max_age_hours: number; - policy: 'old-messages' | 'inactive-channels'; } @@ -24280,21 +18545,15 @@ export interface SetRetentionPolicyResponse { * Duration of the request in milliseconds */ duration: string; - policy: RetentionPolicy; } export interface SetupSession { created_at: Date; - current_step: string; - status: string; - updated_at: Date; - setup_data: Record; - completed_at?: Date; } @@ -24310,12 +18569,10 @@ export interface ShareResponse { * ID of the sharing (child) activity */ activity_id: string; - /** * When the share occurred */ created_at: Date; - /** * User response object */ @@ -24324,11 +18581,8 @@ export interface ShareResponse { export interface SharedLocation { latitude: number; - longitude: number; - created_by_device_id?: string; - end_at?: Date; } @@ -24337,54 +18591,43 @@ export interface SharedLocationResponse { * Channel CID */ channel_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Device ID that created the live location */ created_by_device_id: string; - duration: string; - /** * Latitude coordinate */ latitude: number; - /** * Longitude coordinate */ longitude: number; - /** * Message ID */ message_id: string; - /** * Date/time of the last update */ updated_at: Date; - /** * User ID */ user_id: string; - /** * Time when the live location expires */ end_at?: Date; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ @@ -24393,28 +18636,18 @@ export interface SharedLocationResponse { export interface SharedLocationResponseData { channel_cid: string; - created_at: Date; - created_by_device_id: string; - latitude: number; - longitude: number; - message_id: string; - updated_at: Date; - user_id: string; - end_at?: Date; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ @@ -24423,13 +18656,11 @@ export interface SharedLocationResponseData { export interface SharedLocationsResponse { duration: string; - active_live_locations: Array; } export interface ShowChannelRequest { user_id?: string; - /** * User request object */ @@ -24445,9 +18676,7 @@ export interface ShowChannelResponse { export interface SingleFollowResponse { duration: string; - follow: FollowResponse; - /** * Whether a notification activity was successfully created */ @@ -24459,32 +18688,26 @@ export interface SipInboundCredentials { * API key for the application */ api_key: string; - /** * ID of the call */ call_id: string; - /** * Type of the call */ call_type: string; - /** * Authentication token for the call */ token: string; - /** * User ID for the call */ user_id: string; - /** * Custom data associated with the call */ call_custom_data: Record; - /** * Custom data associated with the user */ @@ -24493,9 +18716,7 @@ export interface SipInboundCredentials { export interface SortParam { direction: number; - field: string; - type: string; } @@ -24504,12 +18725,10 @@ export interface SortParamRequest { * Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1 */ direction?: number; - /** * Name of field to sort by */ field?: string; - /** * Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean */ @@ -24518,33 +18737,25 @@ export interface SortParamRequest { export interface SourceHealth { co_host_peak: number; - dead_air_s: number; - interruptions: Array; - publisher_sessions: Array; } export interface SourceInterruption { at_offset_min: number; - dead_air_s: number; - kind: string; - seamless?: boolean; } export interface SpeechSegmentConfig { max_speech_caption_ms?: number; - silence_duration_ms?: number; } export interface StartCampaignRequest { scheduled_for?: Date; - stop_at?: Date; } @@ -24553,9 +18764,7 @@ export interface StartCampaignResponse { * Duration of the request in milliseconds */ duration: string; - campaign?: CampaignResponse; - users?: PagerResponse; } @@ -24564,16 +18773,13 @@ export interface StartClosedCaptionsRequest { * Enable transcriptions along with closed captions */ enable_transcription?: boolean; - /** * Which external storage to use for transcriptions (only applicable if enable_transcription is true) */ external_storage?: string; - /** * The spoken language in the call, if not provided the language defined in the transcription settings will be used. One of: auto, ar, bg, ca, cs, da, de, el, en, es, et, fi, fr, he, hi, hr, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sk, sl, sv, ta, th, tl, tr, uk, zh */ - language?: | 'auto' | 'en' @@ -24612,7 +18818,6 @@ export interface StartClosedCaptionsRequest { | 'et' | 'sl' | 'sk'; - speech_segment_config?: SpeechSegmentConfig; } @@ -24635,7 +18840,6 @@ export interface StartHLSBroadcastingRequest {} export interface StartHLSBroadcastingResponse { duration: string; - /** * the URL of the HLS playlist */ @@ -24674,11 +18878,9 @@ export interface StartTranscriptionRequest { * Enable closed captions along with transcriptions */ enable_closed_captions?: boolean; - /** * The spoken language in the call, if not provided the language defined in the transcription settings will be used. One of: auto, ar, bg, ca, cs, da, de, el, en, es, et, fi, fr, he, hi, hr, hu, id, it, ja, ko, ms, nl, no, pl, pt, ro, ru, sk, sl, sv, ta, th, tl, tr, uk, zh */ - language?: | 'auto' | 'en' @@ -24717,7 +18919,6 @@ export interface StartTranscriptionRequest { | 'et' | 'sl' | 'sk'; - /** * Store transcriptions in this external storage */ @@ -24773,25 +18974,17 @@ export interface StopHLSBroadcastingResponse { export interface StopLiveRequest { continue_closed_caption?: boolean; - continue_composite_recording?: boolean; - continue_hls?: boolean; - continue_individual_recording?: boolean; - continue_raw_recording?: boolean; - continue_recording?: boolean; - continue_rtmp_broadcasts?: boolean; - continue_transcription?: boolean; } export interface StopLiveResponse { duration: string; - /** * Represents a call */ @@ -24832,7 +19025,6 @@ export interface StoriesConfig { * Whether to skip already watched stories */ skip_watched?: boolean; - /** * Whether to track watched status for stories */ @@ -24844,33 +19036,25 @@ export interface StoriesFeedUpdatedEvent { * Date/time of creation */ created_at: Date; - /** * The ID of the feed */ fid: string; - custom: Record; - /** * The type of event: "feeds.stories_feed.updated" in this case */ type: string; - feed_visibility?: string; - received_at?: Date; - /** * Individual activities for stories feeds */ activities?: Array; - /** * Aggregated activities for stories feeds */ aggregated_activities?: Array; - user?: UserResponseCommonFields; } @@ -24878,7 +19062,6 @@ export interface SubmitActionRequest { /** * Type of moderation action to perform. One of: mark_reviewed, delete_message, delete_activity, delete_comment, delete_reaction, ban, custom, unban, restore, delete_user, delete_user_messages, unblock, block, shadow_block, unmask, kick_user, end_call, escalate, de_escalate */ - action_type: | 'flag' | 'mark_reviewed' @@ -24902,103 +19085,81 @@ export interface SubmitActionRequest { | 'escalate' | 'de_escalate' | 'bypass'; - /** * UUID of the appeal to act on (required for reject_appeal, optional for other actions) */ appeal_id?: string; - /** * UUID of the review queue item to act on */ item_id?: string; - user_id?: string; - /** * Configuration for ban moderation action */ ban?: BanActionRequestPayload; - /** * Configuration for block action */ block?: BlockActionRequestPayload; - bypass?: BypassActionRequest; - /** * Configuration for custom moderation action */ custom?: CustomActionRequestPayload; - /** * Configuration for activity deletion action */ delete_activity?: DeleteActivityRequestPayload; - /** * Configuration for comment deletion action */ delete_comment?: DeleteCommentRequestPayload; - /** * Configuration for message deletion action */ delete_message?: DeleteMessageRequestPayload; - /** * Configuration for reaction deletion action */ delete_reaction?: DeleteReactionRequestPayload; - /** * Configuration for user deletion action */ delete_user?: DeleteUserRequestPayload; - /** * Configuration for deleting all of a user's chat messages without banning them or deleting their account */ delete_user_messages?: DeleteUserMessagesRequestPayload; - /** * Configuration for escalation action */ escalate?: EscalatePayload; - flag?: FlagRequest; - /** * Configuration for mark reviewed action */ mark_reviewed?: MarkReviewedRequestPayload; - /** * Configuration for rejecting an appeal */ reject_appeal?: RejectAppealRequestPayload; - /** * Configuration for restore action. State-aware: reverses whichever of a delete, a block, or a shadow block currently applies to the content (including both a delete and a block/shadow block at once). */ restore?: RestoreActionRequestPayload; - /** * Configuration for shadow block action */ shadow_block?: ShadowBlockActionRequestPayload; - /** * Configuration for unban moderation action */ unban?: UnbanActionRequestPayload; - /** * Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action. */ unblock?: UnblockActionRequestPayload; - /** * User request object */ @@ -25007,14 +19168,11 @@ export interface SubmitActionRequest { export interface SubmitActionResponse { duration: string; - /** * Present when the appeal was accepted but the entity could not be restored automatically. The moderator should restore it manually. */ auto_restore_warning?: string; - appeal_item?: AppealItemResponse; - item?: ReviewQueueItemResponse; } @@ -25023,42 +19181,34 @@ export interface SubmitModerationFeedbackRequest { * The moderated content the moderator is providing feedback on */ message: string; - /** * Original publication time of the moderated content (RFC3339) */ published_at: string; - /** * Provider-side reference identifying the moderated content */ reference: string; - /** * Optional moderation channel UUID for context */ channel_id?: string; - /** * Action originally produced by the moderation system */ current_recommended_action?: string; - /** * Optional free-form note explaining why the classification was wrong */ description?: string; - /** * Optional moderator-supplied action */ expected_recommended_action?: string; - /** * Classifications originally produced by the moderation system */ current_labels?: Array; - /** * Optional moderator-supplied classifications (up to 16 entries) */ @@ -25071,33 +19221,25 @@ export interface SubmitModerationFeedbackResponse { export interface SubscriberAllMetrics { audio?: SubscriberAudioMetrics; - rtt_ms?: ActiveCallsLatencyStats; - video?: SubscriberVideoMetrics; } export interface SubscriberAudioMetrics { concealment_pct?: ActiveCallsLatencyStats; - jitter_ms?: ActiveCallsLatencyStats; - packets_lost_pct?: ActiveCallsLatencyStats; } export interface SubscriberStatsResponse { total: number; - total_subscribed_duration_seconds: number; - unique: number; } export interface SubscriberVideoMetrics { fps_30?: ActiveCallsFPSStats; - jitter_ms?: ActiveCallsLatencyStats; - packets_lost_pct?: ActiveCallsLatencyStats; } @@ -25107,17 +19249,13 @@ export interface SubscribersMetrics { export interface Supporting { delivery_incident_windows: Array; - edge_outlier_zones: Array; - source_drop_windows: Array; } export interface TargetResolution { height: number; - width: number; - bitrate?: number; } @@ -25126,82 +19264,66 @@ export interface TeamUsageStats { * Team identifier (empty string for users not assigned to any team) */ team: string; - /** * Statistics for a single metric with optional daily breakdown */ concurrent_connections: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ concurrent_users: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ image_moderations_daily: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ messages_daily: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ messages_last_24_hours: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ messages_last_30_days: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ messages_month_to_date: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ messages_total: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ translations_daily: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_daily: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_engaged_last_30_days: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_engaged_month_to_date: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_last_24_hours: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_last_30_days: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ users_month_to_date: MetricStats; - /** * Statistics for a single metric with optional daily breakdown */ @@ -25210,71 +19332,48 @@ export interface TeamUsageStats { export interface TextContentParameters { contains_url?: boolean; - label_operator?: string; - severity?: string; - text_length?: number; - text_length_operator?: string; - blocklist_match?: Array; - harm_labels?: Array; - llm_harm_labels?: Record; } export interface TextRuleParameters { contains_url?: boolean; - semantic_filter_min_threshold?: number; - severity?: string; - threshold?: number; - time_window?: string; - blocklist_match?: Array; - harm_labels?: Array; - semantic_filter_names?: Array; - llm_harm_labels?: Record; } export interface ThreadParticipant { channel_cid: string; - /** * Date/time of creation */ created_at: Date; - last_read_at: Date; - custom: Record; - last_thread_message_at?: Date; - /** * Left Thread At is the time when the user left the thread */ left_thread_at?: Date; - /** * Thead ID is unique string identifier of the thread */ thread_id?: string; - /** * User ID is unique string identifier of the user */ user_id?: string; - /** * User response object */ @@ -25286,77 +19385,62 @@ export interface ThreadResponse { * Active Participant Count */ active_participant_count: number; - /** * Channel CID */ channel_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Created By User ID */ created_by_user_id: string; - /** * Parent Message ID */ parent_message_id: string; - /** * Participant Count */ participant_count: number; - /** * Reply Count */ reply_count: number; - /** * Title */ title: string; - /** * Date/time of the last update */ updated_at: Date; - /** * Custom data for this object */ custom: Record; - /** * Deleted At */ deleted_at?: Date; - /** * Last Message At */ last_message_at?: Date; - /** * Thread Participants */ thread_participants?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * User response object */ created_by?: UserResponse; - /** * Represents any chat message */ @@ -25368,83 +19452,65 @@ export interface ThreadStateResponse { * Active Participant Count */ active_participant_count: number; - /** * Channel CID */ channel_cid: string; - /** * Date/time of creation */ created_at: Date; - /** * Created By User ID */ created_by_user_id: string; - /** * Parent Message ID */ parent_message_id: string; - /** * Participant Count */ participant_count: number; - /** * Reply Count */ reply_count: number; - /** * Title */ title: string; - /** * Date/time of the last update */ updated_at: Date; - latest_replies: Array; - /** * Custom data for this object */ custom: Record; - /** * Deleted At */ deleted_at?: Date; - /** * Last Message At */ last_message_at?: Date; - read?: Array; - /** * Thread Participants */ thread_participants?: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * User response object */ created_by?: UserResponse; - draft?: DraftResponse; - /** * Represents any chat message */ @@ -25453,100 +19519,62 @@ export interface ThreadStateResponse { export interface ThreadUpdatedEvent { created_at: Date; - custom: Record; - type: string; - channel_id?: string; - channel_type?: string; - cid?: string; - received_at?: Date; - thread?: ThreadResponse; } export interface ThreadedCommentResponse { bookmark_count: number; - confidence_score: number; - created_at: Date; - downvote_count: number; - id: string; - object_id: string; - object_type: string; - reaction_count: number; - reply_count: number; - score: number; - /** * Status of the comment. One of: active, deleted, removed, hidden */ - status: 'active' | 'deleted' | 'removed' | 'hidden' | 'shadow_blocked'; - updated_at: Date; - upvote_count: number; - mentioned_users: Array; - own_reactions: Array; - /** * User response object */ user: UserResponse; - controversy_score?: number; - deleted_at?: Date; - edited_at?: Date; - parent_id?: string; - text?: string; - attachments?: Array; - latest_reactions?: Array; - /** * Slice of nested comments (may be empty). */ replies?: Array; - custom?: Record; - i18n?: Record; - /** * Cursor & depth information for a comment's direct replies. Mirrors Reddit's 'load more replies' semantics. */ meta?: RepliesMeta; - moderation?: ModerationV2Response; - reaction_groups?: Record; } export interface Thresholds { explicit?: LabelThresholds; - spam?: LabelThresholds; - toxic?: LabelThresholds; } @@ -25570,17 +19598,13 @@ export interface Time {} export interface TimeWindow { from: string; - to: string; } export interface TopBroadcast { call_cid: string; - hours_watched: number; - peak_concurrent_viewers: number; - poor_pct?: number; } @@ -25589,12 +19613,10 @@ export interface TrackActivityMetricsEvent { * The ID of the activity to track the metric for */ activity_id: string; - /** * The metric name (e.g. views, clicks, impressions). Alphanumeric and underscores only. */ metric: string; - /** * The amount to increment (positive) or decrement (negative). Defaults to 1. The absolute value counts against rate limits. */ @@ -25606,17 +19628,14 @@ export interface TrackActivityMetricsEventResult { * The activity ID from the request */ activity_id: string; - /** * Whether the metric was counted (false if rate-limited) */ allowed: boolean; - /** * The metric name from the request */ metric: string; - /** * Error message if processing failed */ @@ -25628,9 +19647,7 @@ export interface TrackActivityMetricsRequest { * List of metric events to track (max 100 per request) */ events: Array; - user_id?: string; - /** * User request object */ @@ -25639,7 +19656,6 @@ export interface TrackActivityMetricsRequest { export interface TrackActivityMetricsResponse { duration: string; - /** * Results for each event in the request, in the same order */ @@ -25648,7 +19664,6 @@ export interface TrackActivityMetricsResponse { export interface TrackStatsResponse { duration_seconds: number; - track_type: string; } @@ -25656,13 +19671,10 @@ export interface TranscriptionSettings { /** * One of: available, disabled, auto-on */ - closed_caption_mode: 'available' | 'disabled' | 'auto-on'; - /** * The language used in this call as a two letter code */ - language: | 'auto' | 'en' @@ -25701,17 +19713,13 @@ export interface TranscriptionSettings { | 'et' | 'sl' | 'sk'; - mode: 'available' | 'disabled' | 'auto-on'; - speech_segment_config?: SpeechSegmentConfig; - translation?: TranslationSettings; } export interface TranscriptionSettingsRequest { closed_caption_mode?: 'available' | 'disabled' | 'auto-on'; - language?: | 'auto' | 'en' @@ -25750,17 +19758,13 @@ export interface TranscriptionSettingsRequest { | 'et' | 'sl' | 'sk'; - mode?: 'available' | 'disabled' | 'auto-on'; - speech_segment_config?: SpeechSegmentConfig; - translation?: TranslationSettings; } export interface TranscriptionSettingsResponse { closed_caption_mode: 'available' | 'disabled' | 'auto-on'; - language: | 'auto' | 'en' @@ -25799,11 +19803,8 @@ export interface TranscriptionSettingsResponse { | 'et' | 'sl' | 'sk'; - mode: 'available' | 'disabled' | 'auto-on'; - speech_segment_config?: SpeechSegmentConfig; - translation?: TranslationSettings; } @@ -25819,7 +19820,6 @@ export interface TranslateActivityResponse { * Duration of the request in milliseconds */ duration: string; - activity: ActivityResponse; } @@ -25835,7 +19835,6 @@ export interface TranslateCommentResponse { * Duration of the request in milliseconds */ duration: string; - comment: CommentResponse; } @@ -25843,7 +19842,6 @@ export interface TranslateMessageRequest { /** * Language to translate message to */ - language: | 'af' | 'sq' @@ -25909,7 +19907,6 @@ export interface TranslateMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ @@ -25918,7 +19915,6 @@ export interface TranslateMessageResponse { export interface TranslationSettings { enabled?: boolean; - languages?: Array; } @@ -25927,27 +19923,22 @@ export interface TriggeredRuleResponse { * ID of the moderation rule that triggered */ rule_id: string; - /** * Action types resolved from the rule's action sequence */ actions: Array; - /** * Name of the moderation rule that triggered */ rule_name?: string; - /** * Type of the moderation rule that triggered (content, user, or call) */ type?: string; - /** * Violation count for action sequence rules (1-based) */ violation_number?: number; - call_options?: CallActionOptions; } @@ -25956,29 +19947,23 @@ export interface TruncateChannelRequest { * Permanently delete channel data (messages, reactions, etc.) */ hard_delete?: boolean; - /** * When `message` is set disables all push notifications for it */ skip_push?: boolean; - /** * Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at` */ truncated_at?: Date; - user_id?: string; - /** * List of member IDs to hide message history for. If empty, truncates the channel for all members */ member_ids?: Array; - /** * Message data for creating or updating a message */ message?: MessageRequest; - /** * User request object */ @@ -25990,12 +19975,10 @@ export interface TruncateChannelResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ @@ -26011,17 +19994,14 @@ export interface UnbanActionRequestPayload { * Channel CID for channel-specific unban */ channel_cid?: string; - /** * Reason for the appeal decision */ decision_reason?: string; - /** * Also remove the future channels ban for this user */ remove_future_channels_ban?: boolean; - /** * Optional: unban user directly without review item */ @@ -26034,7 +20014,6 @@ export interface UnbanRequest { * ID of the user performing the unban Deprecated: not used by the unban flow */ unbanned_by_id?: string; - /** * User request object */ @@ -26068,9 +20047,7 @@ export interface UnblockUserResponse { export interface UnblockUsersRequest { blocked_user_id: string; - user_id?: string; - /** * User request object */ @@ -26086,14 +20063,11 @@ export interface UnblockUsersResponse { export interface UnblockedUserEvent { call_cid: string; - created_at: Date; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.unblocked_user" in this case */ @@ -26112,7 +20086,6 @@ export interface UndeleteMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ @@ -26124,12 +20097,10 @@ export interface UnfollowBatchRequest { * List of follow relationships to remove, each with optional keep_history */ follows: Array; - /** * Whether to delete the corresponding notification activity (default: false) */ delete_notification_activity?: boolean; - /** * If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ @@ -26138,7 +20109,6 @@ export interface UnfollowBatchRequest { export interface UnfollowBatchResponse { duration: string; - /** * List of follow relationships that were removed */ @@ -26150,12 +20120,10 @@ export interface UnfollowPair { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ target: string; - /** * When true, activities from the unfollowed feed will remain in the source feed's timeline (default: false) */ @@ -26164,7 +20132,6 @@ export interface UnfollowPair { export interface UnfollowResponse { duration: string; - follow: FollowResponse; } @@ -26173,14 +20140,11 @@ export interface UnmuteChannelRequest { * Duration of mute in milliseconds */ expiration?: number; - user_id?: string; - /** * Channel CIDs to mute (if multiple channels) */ channel_cids?: Array; - /** * User request object */ @@ -26192,9 +20156,7 @@ export interface UnmuteRequest { * User IDs to unmute */ target_ids: Array; - user_id?: string; - /** * User request object */ @@ -26203,7 +20165,6 @@ export interface UnmuteRequest { export interface UnmuteResponse { duration: string; - /** * A list of users that can't be found. Common cause for this is deleted users */ @@ -26212,17 +20173,14 @@ export interface UnmuteResponse { export interface UnpinActivityResponse { duration: string; - /** * Fully qualified ID of the feed the activity was unpinned from */ feed: string; - /** * ID of the user who unpinned the activity */ user_id: string; - activity: ActivityResponse; } @@ -26231,7 +20189,6 @@ export interface UnpinRequest { * the session ID of the user who pinned the message */ session_id: string; - /** * the user ID of the user who pinned the message */ @@ -26254,47 +20211,34 @@ export interface UnreadCountsBatchResponse { * Duration of the request in milliseconds */ duration: string; - counts_by_user: Record; } export interface UnreadCountsChannel { channel_id: string; - last_read: Date; - unread_count: number; } export interface UnreadCountsChannelType { channel_count: number; - channel_type: string; - unread_count: number; } export interface UnreadCountsResponse { total_unread_count: number; - total_unread_threads_count: number; - channel_type: Array; - channels: Array; - threads: Array; - total_unread_count_by_team?: Record; } export interface UnreadCountsThread { last_read: Date; - last_read_message_id: string; - parent_message_id: string; - unread_count: number; } @@ -26303,7 +20247,6 @@ export interface UpdateActivitiesPartialBatchRequest { * List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset */ changes: Array; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ @@ -26312,7 +20255,6 @@ export interface UpdateActivitiesPartialBatchRequest { export interface UpdateActivitiesPartialBatchResponse { duration: string; - /** * List of successfully updated activities */ @@ -26324,23 +20266,19 @@ export interface UpdateActivityPartialChangeRequest { * ID of the activity to update */ activity_id: string; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * When true and 'mentioned_user_ids' is updated, automatically creates or deletes mention notifications for added/removed users. Only applicable for client-side requests (ignored for server-side requests) */ handle_mention_notifications?: boolean; - /** * List of field names to remove. Supported fields: 'custom', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids'. Use dot-notation for nested custom fields (e.g., 'custom.field_name') */ unset?: Array; - /** * Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'visibility_tag', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_user_ids'. For custom fields, use dot-notation (e.g., 'custom.field_name') */ @@ -26353,39 +20291,31 @@ export interface UpdateActivityPartialRequest { * Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ force_moderation?: boolean; - /** * If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned */ handle_mention_notifications?: boolean; - /** * If true, runs activity processors on the updated activity. Processors will only run if the activity text and/or attachments are changed. Defaults to false. */ run_activity_processors?: boolean; - user_id?: string; - /** * List of field names to remove. Supported fields: 'custom', 'visibility_tag', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids', 'search_data'. Use dot-notation for nested custom fields (e.g., 'custom.field_name') */ unset?: Array; - /** * Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'visibility_tag', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_user_ids', 'search_data'. For custom fields, use dot-notation (e.g., 'custom.field_name') */ set?: Record; - /** * User request object */ @@ -26394,7 +20324,6 @@ export interface UpdateActivityPartialRequest { export interface UpdateActivityPartialResponse { duration: string; - activity: ActivityResponse; } @@ -26404,108 +20333,84 @@ export interface UpdateActivityRequest { * Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * Time when the activity will expire */ expires_at?: Date; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ force_moderation?: boolean; - /** * If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned */ handle_mention_notifications?: boolean; - /** * Poll ID */ poll_id?: string; - /** * Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody */ - restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody'; - /** * If true, runs activity processors on the updated activity. Processors will only run if the activity text and/or attachments are changed. Defaults to false. */ run_activity_processors?: boolean; - /** * Whether to skip URL enrichment for the activity */ skip_enrich_url?: boolean; - /** * The text content of the activity */ text?: string; - user_id?: string; - /** * Visibility setting for the activity */ - visibility?: 'public' | 'private' | 'tag'; - /** * If visibility is 'tag', this is the tag name and is required */ visibility_tag?: string; - /** * List of attachments for the activity */ attachments?: Array; - /** * Collections that this activity references */ collection_refs?: Array; - /** * List of feeds the activity is present in */ feeds?: Array; - /** * Tags used for filtering the activity */ filter_tags?: Array; - /** * Tags indicating interest categories */ interest_tags?: Array; - /** * List of user IDs mentioned in the activity */ mentioned_user_ids?: Array; - /** * Custom data for the activity */ custom?: Record; - location?: Location; - /** * Additional data for search indexing */ search_data?: Record; - /** * User request object */ @@ -26514,23 +20419,16 @@ export interface UpdateActivityRequest { export interface UpdateActivityResponse { duration: string; - activity: ActivityResponse; } export interface UpdateAppRequest { async_url_enrich_enabled?: boolean; - auto_translation_enabled?: boolean; - before_message_send_hook_attempt_timeout_ms?: number; - before_message_send_hook_url?: string; - cdn_expiration_seconds?: number; - channel_hide_members_only?: boolean; - chat_primary_use_case?: | 'messaging' | 'customer-support' @@ -26545,73 +20443,39 @@ export interface UpdateAppRequest { | 'financial' | 'sports' | 'real-money-gaming'; - custom_action_handler_url?: string; - disable_auth_checks?: boolean; - disable_permissions_checks?: boolean; - enable_hook_payload_compression?: boolean; - enforce_unique_usernames?: 'no' | 'app' | 'team'; - feed_audit_logs_enabled?: boolean; - feeds_moderation_enabled?: boolean; - feeds_v2_region?: string; - guest_user_creation_disabled?: boolean; - image_moderation_enabled?: boolean; - max_aggregated_activities_length?: number; - member_custom_on_mentioned_users_enabled?: boolean; - member_custom_on_messages_enabled?: boolean; - member_custom_on_typing_events_enabled?: boolean; - migrate_permissions_to_v2?: boolean; - moderation_analytics_enabled?: boolean; - moderation_enabled?: boolean; - moderation_onboarding_complete?: boolean; - moderation_s3_image_access_role_arn?: string; - moderation_webhook_url?: string; - multi_tenant_enabled?: boolean; - permission_version?: 'v1' | 'v2'; - reminders_interval?: number; - reminders_max_members?: number; - reminders_max_per_user?: number; - revoke_tokens_issued_before?: Date; - sns_key?: string; - sns_secret?: string; - sns_topic_arn?: string; - sqs_key?: string; - sqs_secret?: string; - sqs_url?: string; - user_response_time_enabled?: boolean; - video_primary_use_case?: | 'video-calling' | 'voice-calling' @@ -26620,64 +20484,38 @@ export interface UpdateAppRequest { | 'ai-agents' | 'live-shopping' | 'other'; - webhook_url?: string; - allowed_flag_reasons?: Array; - event_hooks?: Array; - image_moderation_block_labels?: Array; - image_moderation_labels?: Array; - user_search_disallowed_roles?: Array; - webhook_events?: Array; - activity_metrics_config?: Record; - apn_config?: APNConfig; - async_moderation_config?: AsyncModerationConfiguration; - datadog_info?: DataDogInfo; - file_upload_config?: FileUploadConfig; - firebase_config?: FirebaseConfig; - grants?: Record>; - huawei_config?: HuaweiConfig; - image_upload_config?: FileUploadConfig; - moderation_dashboard_preferences?: ModerationDashboardPreferences; - push_config?: PushConfig; - xiaomi_config?: XiaomiConfig; } export interface UpdateBlockListRequest { is_confusable_folding_enabled?: boolean; - is_leet_check_enabled?: boolean; - is_plural_check_enabled?: boolean; - is_substring_matching_enabled?: boolean; - team?: string; - user_id?: string; - /** * List of words to block */ words?: Array; - /** * User request object */ @@ -26689,7 +20527,6 @@ export interface UpdateBlockListResponse { * Duration of the request in milliseconds */ duration: string; - /** * Block list contains restricted words */ @@ -26701,14 +20538,11 @@ export interface UpdateBookmarkFolderRequest { * Name of the folder */ name?: string; - user_id?: string; - /** * Custom data for the folder */ custom?: Record; - /** * User request object */ @@ -26717,7 +20551,6 @@ export interface UpdateBookmarkFolderRequest { export interface UpdateBookmarkFolderResponse { duration: string; - bookmark_folder: BookmarkFolderResponse; } @@ -26726,21 +20559,16 @@ export interface UpdateBookmarkRequest { * ID of the folder containing the bookmark */ folder_id?: string; - /** * Move the bookmark to this folder (empty string removes the folder) */ new_folder_id?: string; - user_id?: string; - /** * Custom data for the bookmark */ custom?: Record; - new_folder?: AddFolderRequest; - /** * User request object */ @@ -26749,7 +20577,6 @@ export interface UpdateBookmarkRequest { export interface UpdateBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } @@ -26758,7 +20585,6 @@ export interface UpdateCallMembersRequest { * List of userID to remove */ remove_members?: Array; - /** * List of members to update or insert */ @@ -26770,7 +20596,6 @@ export interface UpdateCallMembersResponse { * Duration of the request in milliseconds */ duration: string; - members: Array; } @@ -26779,22 +20604,17 @@ export interface UpdateCallRequest { * the time the call is scheduled to start */ starts_at?: Date; - /** * Custom data for this object */ custom?: Record; - settings_override?: CallSettingsRequest; } export interface UpdateCallResponse { duration: string; - members: Array; - own_capabilities: Array; - /** * Represents a call */ @@ -26803,11 +20623,8 @@ export interface UpdateCallResponse { export interface UpdateCallTypeRequest { external_storage?: string; - grants?: Record>; - notification_settings?: NotificationSettingsRequest; - settings?: CallSettingsRequest; } @@ -26816,28 +20633,21 @@ export interface UpdateCallTypeResponse { * the time the call type was created */ created_at: Date; - duration: string; - /** * the name of the call type */ name: string; - /** * the time the call type was last updated */ updated_at: Date; - /** * the permissions granted to each role */ grants: Record>; - notification_settings: NotificationSettingsResponse; - settings: CallSettingsResponse; - /** * the external storage for the call type */ @@ -26846,41 +20656,25 @@ export interface UpdateCallTypeResponse { export interface UpdateCampaignRequest { sender_id: string; - message_template: CampaignMessageTemplate; - create_channels?: boolean; - description?: string; - id?: string; - name?: string; - sender_mode?: 'exclude' | 'include'; - sender_visibility?: 'hidden' | 'archived'; - show_channels?: boolean; - skip_push?: boolean; - skip_webhook?: boolean; - segment_ids?: Array; - user_ids?: Array; - channel_template?: CampaignChannelTemplate; } export interface UpdateChannelPartialRequest { user_id?: string; - unset?: Array; - set?: Record; - /** * User request object */ @@ -26892,12 +20686,10 @@ export interface UpdateChannelPartialResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of updated members */ members: Array; - /** * Represents channel in chat */ @@ -26909,81 +20701,64 @@ export interface UpdateChannelRequest { * Set to `true` to accept the invite */ accept_invite?: boolean; - /** * Sets cool down period for the channel in seconds */ cooldown?: number; - /** * Set to `true` to hide channel's history when adding new members */ hide_history?: boolean; - /** * If set, hides channel's history before this time when adding new members. Takes precedence over `hide_history` when both are provided. Must be in RFC3339 format (e.g., "2024-01-01T10:00:00Z") and in the past. */ hide_history_before?: Date; - /** * Set to `true` to reject the invite */ reject_invite?: boolean; - /** * When `message` is set disables all push notifications for it */ skip_push?: boolean; - user_id?: string; - /** * List of filter tags to add to the channel */ add_filter_tags?: Array; - /** * List of user IDs to add to the channel */ add_members?: Array; - /** * List of user IDs to make channel moderators */ add_moderators?: Array; - /** * List of channel member role assignments. If any specified user is not part of the channel, the request will fail */ assign_roles?: Array; - /** * List of user IDs to take away moderators status from */ demote_moderators?: Array; - /** * List of user IDs to invite to the channel */ invites?: Array; - /** * List of filter tags to remove from the channel */ remove_filter_tags?: Array; - /** * List of user IDs to remove from the channel */ remove_members?: Array; - data?: ChannelInputRequest; - /** * Message data for creating or updating a message */ message?: MessageRequest; - /** * User request object */ @@ -26995,17 +20770,14 @@ export interface UpdateChannelResponse { * Duration of the request in milliseconds */ duration: string; - /** * List of channel members */ members: Array; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * Represents any chat message */ @@ -27014,166 +20786,92 @@ export interface UpdateChannelResponse { export interface UpdateChannelTypeRequest { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - max_message_length: number; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - connect_events?: boolean; - count_messages?: boolean; - custom_events?: boolean; - delivery_events?: boolean; - mark_messages_pending?: boolean; - message_retention?: string; - mutes?: boolean; - partition_size?: number; - partition_ttl?: string; - polls?: boolean; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - push_notifications?: boolean; - quotes?: boolean; - reactions?: boolean; - read_events?: boolean; - reminders?: boolean; - replies?: boolean; - search?: boolean; - shared_locations?: boolean; - skip_last_msg_update_for_system_msgs?: boolean; - typing_events?: boolean; - uploads?: boolean; - url_enrichment?: boolean; - user_message_reminders?: boolean; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * List of commands that channel supports */ commands?: Array; - permissions?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; - grants?: Record>; } export interface UpdateChannelTypeResponse { automod: 'disabled' | 'simple' | 'AI'; - automod_behavior: 'flag' | 'block' | 'shadow_block'; - connect_events: boolean; - count_messages: boolean; - created_at: Date; - custom_events: boolean; - delivery_events: boolean; - duration: string; - mark_messages_pending: boolean; - max_message_length: number; - message_retention: string; - mutes: boolean; - name: string; - polls: boolean; - push_notifications: boolean; - quotes: boolean; - reactions: boolean; - read_events: boolean; - reminders: boolean; - replies: boolean; - search: boolean; - shared_locations: boolean; - skip_last_msg_update_for_system_msgs: boolean; - typing_events: boolean; - updated_at: Date; - uploads: boolean; - url_enrichment: boolean; - user_message_reminders: boolean; - commands: Array; - permissions: Array; - grants: Record>; - blocklist?: string; - blocklist_behavior?: 'flag' | 'block' | 'shadow_block'; - partition_size?: number; - partition_ttl?: string; - push_level?: 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'; - allowed_flag_reasons?: Array; - blocklists?: Array; - /** * Sets thresholds for AI moderation */ automod_thresholds?: Thresholds; - chat_preferences?: ChatPreferences; } @@ -27182,12 +20880,10 @@ export interface UpdateCollectionRequest { * Unique identifier for the collection within its name */ id: string; - /** * Name/type of the collection */ name: string; - /** * Custom data for the collection (required, must contain at least one key) */ @@ -27199,9 +20895,7 @@ export interface UpdateCollectionsRequest { * List of collections to update (only custom data is updatable) */ collections: Array; - user_id?: string; - /** * User request object */ @@ -27210,7 +20904,6 @@ export interface UpdateCollectionsRequest { export interface UpdateCollectionsResponse { duration: string; - /** * List of updated collections */ @@ -27222,12 +20915,10 @@ export interface UpdateCommandRequest { * Description, shown in commands auto-completion */ description: string; - /** * Arguments help text, shown in commands auto-completion */ args?: string; - /** * Set name used for grouping commands */ @@ -27236,7 +20927,6 @@ export interface UpdateCommandRequest { export interface UpdateCommandResponse { duration: string; - /** * Represents custom chat command */ @@ -27248,21 +20938,16 @@ export interface UpdateCommentBookmarkRequest { * ID of the folder containing the bookmark */ folder_id?: string; - /** * Move the bookmark to this folder (empty string removes the folder) */ new_folder_id?: string; - user_id?: string; - /** * Custom data for the bookmark */ custom?: Record; - new_folder?: AddFolderRequest; - /** * User request object */ @@ -27271,7 +20956,6 @@ export interface UpdateCommentBookmarkRequest { export interface UpdateCommentBookmarkResponse { duration: string; - bookmark: BookmarkResponse; } @@ -27281,39 +20965,31 @@ export interface UpdateCommentPartialRequest { * Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ force_moderation?: boolean; - /** * Whether to handle mention notification changes */ handle_mention_notifications?: boolean; - /** * Whether to skip URL enrichment */ skip_enrich_url?: boolean; - /** * Whether to skip push notifications */ skip_push?: boolean; - user_id?: string; - /** * List of field names to remove. Supported fields: 'custom', 'attachments', 'mentioned_user_ids', 'status'. Use dot-notation for nested custom fields (e.g., 'custom.field_name') */ unset?: Array; - /** * Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'mentioned_user_ids', 'status'. Use dot-notation for nested custom fields (e.g., 'custom.field_name') */ set?: Record; - /** * User request object */ @@ -27322,7 +20998,6 @@ export interface UpdateCommentPartialRequest { export interface UpdateCommentPartialResponse { duration: string; - comment: CommentResponse; } @@ -27331,47 +21006,37 @@ export interface UpdateCommentRequest { * Updated text content of the comment */ comment?: string; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ force_moderation?: boolean; - /** * If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned */ handle_mention_notifications?: boolean; - /** * Whether to skip URL enrichment for this comment */ skip_enrich_url?: boolean; - skip_push?: boolean; - user_id?: string; - /** * Updated media attachments for the comment. Providing this field will replace all existing attachments. */ attachments?: Array; - /** * List of user IDs mentioned in the comment */ mentioned_user_ids?: Array; - /** * Updated custom data for the comment */ custom?: Record; - /** * User request object */ @@ -27380,7 +21045,6 @@ export interface UpdateCommentRequest { export interface UpdateCommentResponse { duration: string; - comment: CommentResponse; } @@ -27389,25 +21053,19 @@ export interface UpdateExternalStorageRequest { * The name of the bucket on the service provider */ bucket: string; - /** * The type of storage to use */ - storage_type: 's3' | 'gcs' | 'abs'; - gcs_credentials?: string; - /** * The path prefix to use for storing files */ path?: string; - /** * Config for creating Amazon S3 storage. */ aws_s3?: S3Request; - /** * Config for creating Azure Blob Storage storage */ @@ -27416,16 +21074,12 @@ export interface UpdateExternalStorageRequest { export interface UpdateExternalStorageResponse { bucket: string; - /** * Duration of the request in milliseconds */ duration: string; - name: string; - path: string; - type: 's3' | 'gcs' | 'abs'; } @@ -27434,49 +21088,35 @@ export interface UpdateFeedGroupRequest { * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval */ default_follower_role?: string; - /** * Default visibility for the feed group. One of: public, visible, followers, members, private */ - default_visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; - /** * Configuration for activity processors */ activity_processors?: Array; - /** * Configuration for activity selectors */ activity_selectors?: Array; - activity_filter?: ActivityFilterConfig; - activity_marks?: ActivityMarksConfig; - activity_processing?: ActivityProcessingConfig; - aggregation?: AggregationConfig; - /** * Custom data for the feed group */ custom?: Record; - notification?: NotificationConfig; - push_notification?: PushNotificationConfig; - ranking?: RankingConfig; - stories?: StoriesConfig; } export interface UpdateFeedGroupResponse { duration: string; - feed_group: FeedGroupResponse; } @@ -27484,15 +21124,10 @@ export interface UpdateFeedMembersRequest { /** * Type of update operation to perform. One of: upsert, remove, set */ - operation: 'upsert' | 'remove' | 'set'; - limit?: number; - next?: string; - prev?: string; - /** * List of members to upsert, remove, or set */ @@ -27504,11 +21139,8 @@ export interface UpdateFeedMembersResponse { * Duration of the request in milliseconds */ duration: string; - added: Array; - removed_ids: Array; - updated: Array; } @@ -27517,43 +21149,35 @@ export interface UpdateFeedRequest { * If true, removes the geographic location from the feed */ clear_location?: boolean; - /** * ID of the new feed creator (owner) */ created_by_id?: string; - /** * Description of the feed */ description?: string; - /** * If true, enriches the feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * Name of the feed */ name?: string; - /** * Tags used for filtering feeds */ filter_tags?: Array; - /** * Custom data for the feed */ custom?: Record; - location?: Location; } export interface UpdateFeedResponse { duration: string; - feed: FeedResponse; } @@ -27562,15 +21186,12 @@ export interface UpdateFeedViewRequest { * Updated configuration for selecting activities */ activity_selectors?: Array; - aggregation?: AggregationConfig; - ranking?: RankingConfig; } export interface UpdateFeedViewResponse { duration: string; - feed_view: FeedViewResponse; } @@ -27583,7 +21204,6 @@ export interface UpdateFeedVisibilityRequest { export interface UpdateFeedVisibilityResponse { duration: string; - feed_visibility: FeedVisibilityResponse; } @@ -27592,60 +21212,47 @@ export interface UpdateFollowRequest { * Fully qualified ID of the source feed */ source: string; - /** * Fully qualified ID of the target feed */ target: string; - /** * Maximum number of historical activities to copy from the target feed when the follow is first materialized. Not set = unlimited (default). 0 = copy nothing. Range: 0-1000. */ activity_copy_limit?: number; - /** * @deprecated * Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead */ copy_custom_to_notification?: boolean; - /** * Whether to create a notification activity for this follow */ create_notification_activity?: boolean; - /** * If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. Use directly on single follow endpoints (Follow, GetOrCreateFollow). On batch endpoints (FollowBatch, GetOrCreateFollows), use the top-level create_users field; per-item follows[i].create_users is rejected. */ create_users?: boolean; - /** * If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * Optional role for the follower in the follow relationship. Server-side only. Either a built-in ('feed_follower' (the default) or 'feed_member_viewer') or any role your app has defined; grants are not inspected. */ follower_role?: string; - /** * Push preference for the follow relationship */ - push_preference?: 'all' | 'none'; - /** * Whether to skip push for this follow */ skip_push?: boolean; - /** * Status of the follow relationship. One of: accepted, pending, rejected */ - status?: 'accepted' | 'pending' | 'rejected'; - /** * Custom data for the follow relationship */ @@ -27654,7 +21261,6 @@ export interface UpdateFollowRequest { export interface UpdateFollowResponse { duration: string; - follow: FollowResponse; } @@ -27663,17 +21269,14 @@ export interface UpdateLiveLocationRequest { * Live location ID */ message_id: string; - /** * Time when the live location expires */ end_at?: Date; - /** * Latitude coordinate */ latitude?: number; - /** * Longitude coordinate */ @@ -27682,7 +21285,6 @@ export interface UpdateLiveLocationRequest { export interface UpdateMemberPartialRequest { unset?: Array; - set?: Record; } @@ -27691,7 +21293,6 @@ export interface UpdateMemberPartialResponse { * Duration of the request in milliseconds */ duration: string; - channel_member?: ChannelMemberResponse; } @@ -27700,22 +21301,18 @@ export interface UpdateMembershipLevelRequest { * Optional description of the membership level */ description?: string; - /** * Display name for the membership level */ name?: string; - /** * Priority level (higher numbers = higher priority) */ priority?: number; - /** * Activity tags this membership level gives access to */ tags?: Array; - /** * Custom data for the membership level */ @@ -27724,7 +21321,6 @@ export interface UpdateMembershipLevelRequest { export interface UpdateMembershipLevelResponse { duration: string; - membership_level: MembershipLevelResponse; } @@ -27733,21 +21329,16 @@ export interface UpdateMessagePartialRequest { * Skip enriching the URL in the message */ skip_enrich_url?: boolean; - skip_push?: boolean; - user_id?: string; - /** * Array of field names to unset */ unset?: Array; - /** * Sets new field values */ set?: Record; - /** * User request object */ @@ -27759,12 +21350,10 @@ export interface UpdateMessagePartialResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message?: MessageResponse; - /** * Pending message metadata */ @@ -27776,12 +21365,10 @@ export interface UpdateMessageRequest { * Message data for creating or updating a message */ message: MessageRequest; - /** * Skip enrich URL */ skip_enrich_url?: boolean; - skip_push?: boolean; } @@ -27790,12 +21377,10 @@ export interface UpdateMessageResponse { * Duration of the request in milliseconds */ duration: string; - /** * Represents any chat message */ message: MessageResponse; - pending_message_metadata?: Record; } @@ -27804,19 +21389,15 @@ export interface UpdatePollOptionRequest { * Option ID */ id: string; - /** * Option text */ text: string; - user_id?: string; - /** * Custom data for this object */ custom?: Record; - /** * User request object */ @@ -27825,17 +21406,14 @@ export interface UpdatePollOptionRequest { export interface UpdatePollPartialRequest { user_id?: string; - /** * Array of field names to unset */ unset?: Array; - /** * Sets new field values */ set?: Record; - /** * User request object */ @@ -27847,60 +21425,47 @@ export interface UpdatePollRequest { * Poll ID */ id: string; - /** * Poll name */ name: string; - /** * Allow answers */ allow_answers?: boolean; - /** * Allow user suggested options */ allow_user_suggested_options?: boolean; - /** * Poll description */ description?: string; - /** * Enforce unique vote */ enforce_unique_vote?: boolean; - /** * Is closed */ is_closed?: boolean; - /** * Max votes allowed */ max_votes_allowed?: number; - user_id?: string; - /** * Voting visibility */ - voting_visibility?: 'anonymous' | 'public'; - /** * Poll options */ options?: Array; - /** * Custom data for this object */ custom?: Record; - /** * User request object */ @@ -27911,19 +21476,15 @@ export interface UpdatePredefinedFilterRequest { /** * The operation this filter is for (e.g., QueryChannels) */ - operation: 'QueryChannels'; - /** * Filter to apply to the query */ filter: Record; - /** * The description of the predefined filter */ description?: string; - sort?: Array>; } @@ -27932,21 +21493,15 @@ export interface UpdatePredefinedFilterResponse { * Duration of the request in milliseconds */ duration: string; - predefined_filter?: PredefinedFilterResponse; } export interface UpdateQueueRequest { description?: string; - name?: string; - user_id?: string; - sort?: Array>; - filters?: Record; - /** * User request object */ @@ -27955,9 +21510,7 @@ export interface UpdateQueueRequest { export interface UpdateReminderRequest { remind_at?: Date; - user_id?: string; - /** * User request object */ @@ -27969,7 +21522,6 @@ export interface UpdateReminderResponse { * Duration of the request in milliseconds */ duration: string; - reminder: ReminderResponseData; } @@ -27978,42 +21530,34 @@ export interface UpdateSIPInboundRoutingRuleRequest { * Name of the SIP Inbound Routing Rule */ name: string; - /** * List of SIP trunk IDs */ trunk_ids: Array; - /** * Configuration for SIP caller settings */ caller_configs: SIPCallerConfigsRequest; - /** * List of called numbers */ called_numbers?: Array; - /** * List of caller numbers (optional) */ caller_numbers?: Array; - /** * Configuration for SIP call settings */ call_configs?: SIPCallConfigsRequest; - /** * Configuration for direct routing rule calls */ direct_routing_configs?: SIPDirectRoutingRuleCallConfigsRequest; - /** * Configuration for PIN protection settings */ pin_protection_configs?: SIPPinProtectionConfigsRequest; - /** * Configuration for PIN routing rule calls */ @@ -28022,7 +21566,6 @@ export interface UpdateSIPInboundRoutingRuleRequest { export interface UpdateSIPInboundRoutingRuleResponse { duration: string; - /** * SIP Inbound Routing Rule response */ @@ -28034,17 +21577,14 @@ export interface UpdateSIPTrunkRequest { * Name of the SIP trunk */ name: string; - /** * Phone numbers associated with this SIP trunk */ numbers: Array; - /** * Optional password for SIP trunk authentication */ password?: string; - /** * Optional list of allowed IPv4/IPv6 addresses or CIDR blocks */ @@ -28053,7 +21593,6 @@ export interface UpdateSIPTrunkRequest { export interface UpdateSIPTrunkResponse { duration: string; - /** * SIP trunk information */ @@ -28065,12 +21604,10 @@ export interface UpdateSegmentRequest { * The description of the segment (max 256 characters) */ description?: string; - /** * The name of the segment (max 128 characters) */ name?: string; - /** * Filter to apply to the query */ @@ -28082,23 +21619,19 @@ export interface UpdateSegmentResponse { * Duration of the request in milliseconds */ duration: string; - segment: SegmentResponse; } export interface UpdateThreadPartialRequest { user_id?: string; - /** * Array of field names to unset */ unset?: Array; - /** * Sets new field values */ set?: Record; - /** * User request object */ @@ -28110,7 +21643,6 @@ export interface UpdateThreadPartialResponse { * Duration of the request in milliseconds */ duration: string; - thread: ThreadResponse; } @@ -28119,18 +21651,15 @@ export interface UpdateUserGroupRequest { * The new description for the group */ description?: string; - /** * The new name of the user group */ name?: string; - team_id?: string; } export interface UpdateUserGroupResponse { duration: string; - user_group?: UserGroupResponse; } @@ -28139,17 +21668,13 @@ export interface UpdateUserPartialRequest { * User ID to update */ id: string; - unset?: Array; - set?: Record; } export interface UpdateUserPermissionsRequest { user_id: string; - grant_permissions?: Array; - revoke_permissions?: Array; } @@ -28176,13 +21701,11 @@ export interface UpdateUsersResponse { * Duration of the request in milliseconds */ duration: string; - /** * @deprecated * Deprecated: always empty. Removing a user from a team no longer deletes their memberships in that team's channels, so there is no task to poll */ membership_deletion_task_id: string; - /** * Object containing users */ @@ -28191,19 +21714,15 @@ export interface UpdateUsersResponse { export interface UpdatedCallPermissionsEvent { call_cid: string; - created_at: Date; - /** * The capabilities of the current user */ own_capabilities: Array; - /** * User response object */ user: UserResponse; - /** * The type of event: "call.permissions_updated" in this case */ @@ -28215,7 +21734,6 @@ export interface UploadChannelFileRequest { * file field */ file?: string; - user?: OnlyUserID; } @@ -28224,14 +21742,11 @@ export interface UploadChannelFileResponse { * Duration of the request in milliseconds */ duration: string; - /** * URL to the uploaded asset. Should be used to put to `asset_url` attachment field */ file?: string; - moderation_action?: string; - /** * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field */ @@ -28240,12 +21755,10 @@ export interface UploadChannelFileResponse { export interface UploadChannelRequest { file?: string; - /** * field with JSON-encoded array of image size configurations */ upload_sizes?: Array; - user?: OnlyUserID; } @@ -28254,13 +21767,9 @@ export interface UploadChannelResponse { * Duration of the request in milliseconds */ duration: string; - file?: string; - moderation_action?: string; - thumb_url?: string; - /** * Array of image size configurations */ @@ -28269,19 +21778,12 @@ export interface UploadChannelResponse { export interface UpsertActionConfigItem { action: string; - entity_type: string; - order: number; - description?: string; - icon?: string; - id?: string; - queue_type?: string; - custom?: Record; } @@ -28290,47 +21792,38 @@ export interface UpsertActionConfigRequest { * The action to perform (e.g. ban, delete_message, custom) */ action: string; - /** * Type of entity this action applies to (e.g. stream:chat:v1:message) */ entity_type: string; - /** * Display order in the dashboard (0–100, lower numbers shown first) */ order: number; - /** * Human-readable label for the dashboard button */ description?: string; - /** * Icon identifier for the dashboard button */ icon?: string; - /** * UUID of an existing action config to update; omit to create a new record */ id?: string; - /** * Queue this config belongs to; null means the default queue */ queue_type?: string; - /** * Optional user ID to associate with the audit log entry */ user_id?: string; - /** * Action-specific parameters passed to the action handler */ custom?: Record; - /** * User request object */ @@ -28339,7 +21832,6 @@ export interface UpsertActionConfigRequest { export interface UpsertActionConfigResponse { duration: string; - /** * Configuration for a moderation action */ @@ -28351,17 +21843,14 @@ export interface UpsertActivitiesRequest { * List of activities to create or update */ activities: Array; - /** * Server-side only. If true, auto-creates users referenced by activity user_id values that don't already exist. Default: false. */ create_users?: boolean; - /** * If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. */ enrich_own_fields?: boolean; - /** * If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field. */ @@ -28370,12 +21859,10 @@ export interface UpsertActivitiesRequest { export interface UpsertActivitiesResponse { duration: string; - /** * List of created or updated activities */ activities: Array; - /** * Total number of mention notification activities created for mentioned users across all activities */ @@ -28391,7 +21878,6 @@ export interface UpsertCollectionsRequest { export interface UpsertCollectionsResponse { duration: string; - /** * List of upserted collections */ @@ -28403,89 +21889,61 @@ export interface UpsertConfigRequest { * Unique identifier for the moderation configuration */ key: string; - /** * Whether moderation should be performed asynchronously */ async?: boolean; - /** * Team associated with the configuration */ team?: string; - /** * Optional user ID to associate with the audit log entry */ user_id?: string; - ai_audio_config?: AIAudioConfigRequest; - ai_image_config?: AIImageConfig; - ai_text_config?: AITextConfig; - ai_video_config?: AIVideoConfigRequest; - automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig; - automod_semantic_filters_config?: AutomodSemanticFiltersConfig; - automod_toxicity_config?: AutomodToxicityConfig; - aws_rekognition_config?: AIImageConfig; - block_list_config?: BlockListConfig; - bodyguard_config?: AITextConfig; - flood_config?: FloodConfig; - google_vision_config?: GoogleVisionConfig; - llm_config?: LLMConfig; - rule_builder_config?: RuleBuilderConfig; - /** * User request object */ user?: UserRequest; - velocity_filter_config?: VelocityFilterConfig; - video_call_rule_config?: VideoCallRuleConfig; } export interface UpsertConfigResponse { duration: string; - config?: ConfigResponse; } export interface UpsertExternalStorageAWSS3Request { bucket: string; - region: string; - role_arn: string; - path_prefix?: string; } export interface UpsertExternalStorageGCSRequest { bucket: string; - credentials: string; - path_prefix?: string; } export interface UpsertExternalStorageRequest { type: 'aws_s3' | 'gcs'; - aws_s3?: UpsertExternalStorageAWSS3Request; - gcs?: UpsertExternalStorageGCSRequest; } @@ -28501,64 +21959,51 @@ export interface UpsertModerationRuleRequest { * Unique rule name */ name: string; - /** * Type of rule: user, content, call, or flood */ rule_type: string; - /** * Duration before rule can trigger again (e.g. 24h, 7d) */ cooldown_period?: string; - /** * Optional description of the rule */ description?: string; - /** * Whether the rule is active */ enabled?: boolean; - /** * Logical operator between conditions/groups: AND or OR */ logic?: string; - /** * Team scope for the rule */ team?: string; - /** * Optional user ID to associate with the audit log entry */ user_id?: string; - /** * Escalation sequences for call rules */ action_sequences?: Array; - /** * Flat list of conditions (legacy) */ conditions?: Array; - /** * List of config keys this rule applies to */ config_keys?: Array; - /** * Nested condition groups */ groups?: Array; - action?: RuleBuilderAction; - /** * User request object */ @@ -28570,7 +22015,6 @@ export interface UpsertModerationRuleResponse { * Duration of the request in milliseconds */ duration: string; - rule?: ModerationRuleV2Response; } @@ -28579,7 +22023,6 @@ export interface UpsertModerationTemplateRequest { * Name of the moderation template */ name: string; - /** * Configuration for a feeds moderation template */ @@ -28591,19 +22034,15 @@ export interface UpsertModerationTemplateResponse { * When the template was created */ created_at: Date; - duration: string; - /** * Name of the moderation template */ name: string; - /** * When the template was last updated */ updated_at: Date; - /** * Configuration for a feeds moderation template */ @@ -28622,7 +22061,6 @@ export interface UpsertPushPreferencesResponse { * Duration of the request in milliseconds */ duration: string; - /** * The channel specific push notification preferences, only returned for channels you've edited. */ @@ -28630,7 +22068,6 @@ export interface UpsertPushPreferencesResponse { string, Record >; - /** * The user preferences, always returned regardless if you edited it */ @@ -28646,7 +22083,6 @@ export interface UpsertPushProviderResponse { * Duration of the request in milliseconds */ duration: string; - push_provider: PushProviderResponse; } @@ -28654,7 +22090,6 @@ export interface UpsertPushTemplateRequest { /** * Event type. One of: message.new, message.updated, reaction.new, notification.reminder_due, feeds.activity.added, feeds.comment.added, feeds.activity.reaction.added, feeds.comment.reaction.added, feeds.follow.created, feeds.notification_feed.updated */ - event_type: | 'message.new' | 'message.updated' @@ -28666,23 +22101,18 @@ export interface UpsertPushTemplateRequest { | 'feeds.comment.reaction.added' | 'feeds.follow.created' | 'feeds.notification_feed.updated'; - /** * Push provider type. One of: firebase, apn, huawei, xiaomi */ - push_provider_type: 'firebase' | 'apn' | 'huawei' | 'xiaomi'; - /** * Whether to send push notification for this event */ enable_push?: boolean; - /** * Push provider name */ push_provider_name?: string; - /** * Push template */ @@ -28694,7 +22124,6 @@ export interface UpsertPushTemplateResponse { * Duration of the request in milliseconds */ duration: string; - template?: PushTemplateResponse; } @@ -28702,15 +22131,11 @@ export interface UpsertSetupSessionRequest { /** * The current step of the setup wizard. One of: welcome, input, configure, live */ - current_step: 'welcome' | 'input' | 'configure' | 'live'; - /** * The status of the setup session. One of: in_progress, completed */ - status: 'in_progress' | 'completed'; - /** * Per-step data keyed by step name (welcome, input, configure, live) */ @@ -28719,7 +22144,6 @@ export interface UpsertSetupSessionRequest { export interface UpsertSetupSessionResponse { duration: string; - setup_session?: SetupSession; } @@ -28732,7 +22156,6 @@ export interface UpsertUserInterestsRequest { export interface UpsertUserInterestsResponse { duration: string; - /** * All interest tags of the user after the write */ @@ -28741,7 +22164,6 @@ export interface UpsertUserInterestsResponse { export interface User { id: string; - data?: Record; } @@ -28750,66 +22172,49 @@ export interface UserBannedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.banned" in this case */ type: string; - /** * The ID of the channel where the target user was banned */ channel_id?: string; - channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel where the target user was banned */ channel_type?: string; - /** * The CID of the channel where the target user was banned */ cid?: string; - /** * The expiration date of the ban */ expiration?: Date; - /** * The reason for the ban */ reason?: string; - received_at?: Date; - /** * ID of the review queue item (flagged message) that triggered the ban, if the ban was applied from the moderation review queue */ review_queue_item_id?: string; - /** * Whether the user was shadow banned */ shadow?: boolean; - /** * The team of the channel where the target user was banned */ team?: string; - total_bans?: number; - channel_custom?: Record; - created_by?: UserResponseCommonFields; } @@ -28819,13 +22224,11 @@ export interface UserCreatedWithinParameters { export interface UserCustomEventRequest { type: string; - custom?: Record; } export interface UserCustomPropertyParameters { operator?: string; - property_key?: string; } @@ -28834,18 +22237,13 @@ export interface UserDeactivatedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.deactivated" in this case */ type: string; - received_at?: Date; - created_by?: UserResponseCommonFields; } @@ -28854,52 +22252,41 @@ export interface UserDeletedEvent { * Date/time of creation */ created_at: Date; - /** * The type of deletion that was used for the user's conversations. One of: hard, soft, pruning, (empty string) */ delete_conversation: string; - /** * Whether the user's conversation channels were deleted */ delete_conversation_channels: boolean; - /** * The type of deletion that was used for the user's messages. One of: hard, soft, pruning, (empty string) */ delete_messages: string; - /** * The type of deletion that was used for the user. One of: hard, soft, pruning, (empty string) */ delete_user: string; - /** * Whether the user was hard deleted */ hard_delete: boolean; - /** * Whether the user's messages were marked as deleted */ mark_messages_deleted: boolean; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.deleted" in this case */ type: string; - received_at?: Date; } export interface UserFeedbackReport { unreported_count: number; - count_by_rating: Record; } @@ -28909,21 +22296,13 @@ export interface UserFeedbackReportResponse { export interface UserFeedbackResponse { cid: string; - rating: number; - reason: string; - sdk: string; - sdk_version: string; - session_id: string; - user_id: string; - platform: PlatformDataResponse; - custom?: Record; } @@ -28932,51 +22311,36 @@ export interface UserFlaggedEvent { * Date/time of creation */ created_at: Date; - /** * The reason for the flag */ reason: string; - /** * The total number of flags for the user */ total_flags: number; - user: UserResponseCommonFields; - /** * The type of event: "user.flagged" in this case */ type: string; - received_at?: Date; - /** * Custom data */ custom?: Record; - target_user?: UserResponseCommonFields; } export interface UserGroup { app_pk: number; - created_at: Date; - id: string; - name: string; - updated_at: Date; - created_by?: string; - description?: string; - team_id?: string; - members?: Array; } @@ -28985,18 +22349,13 @@ export interface UserGroupCreatedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "user_group.created" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; - user_group?: UserGroup; } @@ -29005,30 +22364,21 @@ export interface UserGroupDeletedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "user_group.deleted" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; - user_group?: UserGroup; } export interface UserGroupMember { app_pk: number; - created_at: Date; - group_id: string; - is_admin: boolean; - user_id: string; } @@ -29037,23 +22387,17 @@ export interface UserGroupMemberAddedEvent { * Date/time of creation */ created_at: Date; - /** * The user IDs that were added */ members: Array; - custom: Record; - /** * The type of event: "user_group.member_added" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; - user_group?: UserGroup; } @@ -29062,41 +22406,28 @@ export interface UserGroupMemberRemovedEvent { * Date/time of creation */ created_at: Date; - /** * The user IDs that were removed */ members: Array; - custom: Record; - /** * The type of event: "user_group.member_removed" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; - user_group?: UserGroup; } export interface UserGroupResponse { created_at: Date; - id: string; - name: string; - updated_at: Date; - created_by?: string; - description?: string; - team_id?: string; - members?: Array; } @@ -29105,34 +22436,25 @@ export interface UserGroupUpdatedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - /** * The type of event: "user_group.updated" in this case */ type: string; - received_at?: Date; - user?: UserResponseCommonFields; - user_group?: UserGroup; } export interface UserIdenticalContentCountParameters { threshold?: number; - time_window?: string; } export interface UserIdenticalImageCountParameters { match?: string; - similarity_distance?: number; - threshold?: number; - time_window?: string; } @@ -29141,7 +22463,6 @@ export interface UserInterestRequest { * The interest tag; trimmed and lower-cased like activity interest_tags */ tag: string; - /** * Ranking weight between -1.0 (dislike) and 1.0 (like). Defaults to 1.0 */ @@ -29153,62 +22474,46 @@ export interface UserMessagesDeletedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.messages.deleted" in this case */ type: string; - /** * The ID of the channel where the target user's messages were deleted */ channel_id?: string; - channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel where the target user's messages were deleted */ channel_type?: string; - /** * The CID of the channel where the target user's messages were deleted */ cid?: string; - /** * Whether Messages were hard deleted */ hard_delete?: boolean; - received_at?: Date; - /** * The team of the channel where the target user's messages were deleted */ team?: string; - channel_custom?: Record; } export interface UserMuteResponse { created_at: Date; - updated_at: Date; - expires?: Date; - /** * User response object */ target?: UserResponse; - /** * User response object */ @@ -29220,37 +22525,28 @@ export interface UserMutedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.muted" in this case */ type: string; - received_at?: Date; - /** * The target users that were muted */ target_users?: Array; - target_user?: UserResponseCommonFields; } export interface UserRatingReportResponse { average: number; - count: number; } export interface UserReactionCountRuleParameters { count?: string; - threshold?: number; - time_window?: string; } @@ -29259,18 +22555,13 @@ export interface UserReactivatedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.reactivated" in this case */ type: string; - received_at?: Date; - created_by?: UserResponseCommonFields; } @@ -29279,38 +22570,29 @@ export interface UserRequest { * User ID */ id: string; - /** * User's profile image URL */ image?: string; - invisible?: boolean; - language?: string; - /** * Optional name of user */ name?: string; - /** * User's global role */ role?: string; - /** * List of teams the user belongs to */ teams?: Array; - /** * Custom user data */ custom?: Record; - privacy_settings?: PrivacySettingsResponse; - /** * Map of team-specific roles for the user */ @@ -29322,187 +22604,126 @@ export interface UserResponse { * Whether a user is banned or not */ banned: boolean; - /** * Date/time of creation */ created_at: Date; - /** * Unique user identifier */ id: string; - invisible: boolean; - /** * Preferred language of a user */ language: string; - /** * Whether a user online or not */ online: boolean; - /** * Determines the set of user permissions */ role: string; - /** * Whether a user is shadow banned */ shadow_banned: boolean; - /** * Date/time of the last update */ updated_at: Date; - blocked_user_ids: Array; - /** * List of teams user is a part of */ teams: Array; - /** * Custom data for this object */ custom: Record; - avg_response_time?: number; - /** * Date when ban expires */ ban_expires?: Date; - bypass_moderation?: boolean; - /** * Date of deactivation */ deactivated_at?: Date; - /** * Date/time of deletion */ deleted_at?: Date; - image?: string; - /** * Date of last activity */ last_active?: Date; - /** * Optional name of user */ name?: string; - /** * Revocation date for tokens */ revoke_tokens_issued_before?: Date; - /** * List of devices user is using */ devices?: Array; - privacy_settings?: PrivacySettingsResponse; - push_notifications?: PushNotificationSettingsResponse; - teams_role?: Record; } export interface UserResponseCommonFields { banned: boolean; - created_at: Date; - id: string; - language: string; - online: boolean; - role: string; - updated_at: Date; - blocked_user_ids: Array; - teams: Array; - custom: Record; - avg_response_time?: number; - deactivated_at?: Date; - deleted_at?: Date; - image?: string; - last_active?: Date; - name?: string; - revoke_tokens_issued_before?: Date; - teams_role?: Record; } export interface UserResponsePrivacyFields { banned: boolean; - created_at: Date; - id: string; - language: string; - online: boolean; - role: string; - updated_at: Date; - blocked_user_ids: Array; - teams: Array; - custom: Record; - avg_response_time?: number; - deactivated_at?: Date; - deleted_at?: Date; - image?: string; - invisible?: boolean; - last_active?: Date; - name?: string; - revoke_tokens_issued_before?: Date; - privacy_settings?: PrivacySettingsResponse; - teams_role?: Record; } export interface UserRoleParameters { operator?: string; - role?: string; } @@ -29515,49 +22736,36 @@ export interface UserUnbannedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.unbanned" in this case */ type: string; - /** * The ID of the channel where the target user was unbanned */ channel_id?: string; - channel_member_count?: number; - channel_message_count?: number; - /** * The type of the channel where the target user was unbanned */ channel_type?: string; - /** * The CID of the channel where the target user was unbanned */ cid?: string; - received_at?: Date; - /** * Whether the target user was shadow unbanned */ shadow?: boolean; - /** * The team of the channel where the target user was unbanned */ team?: string; - channel_custom?: Record; - created_by?: UserResponseCommonFields; } @@ -29566,23 +22774,17 @@ export interface UserUnmutedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.unmuted" in this case */ type: string; - received_at?: Date; - /** * The target users that were unmuted */ target_users?: Array; - target_user?: UserResponseCommonFields; } @@ -29591,21 +22793,16 @@ export interface UserUnreadReminderEvent { * Date/time of creation */ created_at: Date; - /** * The channels with unread messages */ channels: Record; - custom: Record; - user: UserResponseCommonFields; - /** * The type of event: "user.unread_message_reminder" in this case */ type: string; - received_at?: Date; } @@ -29614,16 +22811,12 @@ export interface UserUpdatedEvent { * Date/time of creation */ created_at: Date; - custom: Record; - user: UserResponsePrivacyFields; - /** * The type of event: "user.updated" in this case */ type: string; - received_at?: Date; } @@ -29636,61 +22829,39 @@ export interface ValidateExternalStorageResponse { export interface VelocityFilterConfig { advanced_filters?: boolean; - async?: boolean; - cascading_actions?: boolean; - cids_per_user?: number; - enabled?: boolean; - first_message_only?: boolean; - rules?: Array; } export interface VelocityFilterConfigRule { action: 'flag' | 'shadow' | 'remove' | 'ban'; - ban_duration?: number; - cascading_action?: 'flag' | 'shadow' | 'remove' | 'ban'; - cascading_threshold?: number; - check_message_context?: boolean; - fast_spam_threshold?: number; - fast_spam_ttl?: number; - ip_ban?: boolean; - probation_period?: number; - shadow_ban?: boolean; - slow_spam_ban_duration?: number; - slow_spam_threshold?: number; - slow_spam_ttl?: number; - url_only?: boolean; } export interface VideoCallRuleConfig { flag_all_labels?: boolean; - flagged_labels?: Array; - rules?: Array; } export interface VideoContentParameters { label_operator?: string; - harm_labels?: Array; } @@ -29704,88 +22875,62 @@ export interface VideoReactionOverTimeResponse { export interface VideoReactionResponse { type: string; - /** * User response object */ user: UserResponse; - emoji_code?: string; - custom?: Record; } export interface VideoReactionsResponse { reaction: string; - count_over_time?: VideoReactionOverTimeResponse; } export interface VideoRuleParameters { threshold?: number; - time_window?: string; - harm_labels?: Array; } export interface VideoSettings { access_request_enabled: boolean; - camera_default_on: boolean; - camera_facing: 'front' | 'back' | 'external'; - enabled: boolean; - target_resolution: TargetResolution; } export interface VideoSettingsRequest { access_request_enabled?: boolean; - camera_default_on?: boolean; - camera_facing?: 'front' | 'back' | 'external'; - enabled?: boolean; - target_resolution?: TargetResolution; } export interface VideoSettingsResponse { access_request_enabled: boolean; - camera_default_on: boolean; - camera_facing: 'front' | 'back' | 'external'; - enabled: boolean; - target_resolution: TargetResolution; } export interface ViewerBehavior { connection_duration_p50_s: number; - connections_per_viewer_mean: number; - median_watch_min: number; - note: string; - p90_watch_min: number; - bounce_rate_pct?: number; - connections_under_30s_pct?: number; - return_visit_rate_pct?: number; } export interface VoteData { answer_text?: string; - option_id?: string; } @@ -29996,66 +23141,40 @@ export interface WHIPIngress { export interface WSEvent { created_at: Date; - type: string; - custom: Record; - automoderation?: boolean; - channel_id?: string; - channel_last_message_at?: Date; - channel_type?: string; - cid?: string; - connection_id?: string; - parent_id?: string; - reason?: string; - team?: string; - thread_id?: string; - user_id?: string; - watcher_count?: number; - automoderation_scores?: ModerationResponse; - /** * Represents channel in chat */ channel?: ChannelResponse; - /** * User response object */ created_by?: UserResponse; - me?: OwnUserResponse; - member?: ChannelMemberResponse; - /** * Represents any chat message */ message?: MessageResponse; - message_update?: MessageUpdate; - poll?: PollResponseData; - poll_vote?: PollVoteResponseData; - reaction?: ReactionResponse; - thread?: ThreadResponse; - /** * User response object */ @@ -30064,23 +23183,14 @@ export interface WSEvent { export interface WebhookFailoverConfig { gcs_bucket?: string; - gcs_credentials?: string; - gcs_path?: string; - s3_api_key?: string; - s3_bucket?: string; - s3_path?: string; - s3_region?: string; - s3_role_arn?: string; - s3_secret?: string; - type?: string; } @@ -30089,32 +23199,22 @@ export interface WrappedUnreadCountsResponse { * Duration of the request in milliseconds */ duration: string; - total_unread_count: number; - total_unread_threads_count: number; - channel_type: Array; - channels: Array; - threads: Array; - total_unread_count_by_team?: Record; } export interface XiaomiConfig { disabled?: boolean; - package_name?: string; - secret?: string; } export interface XiaomiConfigFields { enabled: boolean; - package_name?: string; - secret?: string; } diff --git a/src/gen/moderation/ModerationApi.ts b/src/gen/moderation/ModerationApi.ts index a43d62c..84f20d2 100644 --- a/src/gen/moderation/ModerationApi.ts +++ b/src/gen/moderation/ModerationApi.ts @@ -259,6 +259,7 @@ export class ModerationApi { async_response: request?.async_response, config_key: request?.config_key, content_published_at: request?.content_published_at, + country_code: request?.country_code, entity_creator_id: request?.entity_creator_id, entity_id: request?.entity_id, entity_type: request?.entity_type, @@ -477,6 +478,7 @@ export class ModerationApi { config_key: request?.config_key, config_team: request?.config_team, content_published_at: request?.content_published_at, + country_code: request?.country_code, test_mode: request?.test_mode, user_id: request?.user_id, config: request?.config, diff --git a/src/gen/video/VideoApi.ts b/src/gen/video/VideoApi.ts index 97d94f7..c6d10c0 100644 --- a/src/gen/video/VideoApi.ts +++ b/src/gen/video/VideoApi.ts @@ -783,6 +783,7 @@ export class VideoApi { const body = { video: request?.video, members_ids: request?.members_ids, + custom: request?.custom, }; const response = await this.apiClient.sendRequest<