openapi: 3.2.0 info: title: Stream product:chat Product:feeds API version: v228.3.0 servers: - description: Stream API url: https://chat.stream-io-api.com security: - JWT: [] api_key: [] stream-auth-type: [] - api_key: [] stream-auth-type: [] tags: - name: Product Feeds paths: /api/v2/feeds/activities: post: description: Create a new activity or update an existing one operationId: AddActivity requestBody: content: application/json: schema: $ref: '#/components/schemas/AddActivityRequest' description: Activity Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddActivityResponse' description: Add Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add a single activity tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/bookmarks: delete: description: Deletes a bookmark from an activity operationId: DeleteBookmark parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: query name: folder_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteBookmarkResponse' description: Delete Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a bookmark tags: - Product Feeds patch: description: Updates a bookmark for an activity operationId: UpdateBookmark parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBookmarkRequest' description: Update Bookmark Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateBookmarkResponse' description: Update Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update bookmark tags: - Product Feeds post: description: Adds a bookmark to an activity operationId: AddBookmark parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddBookmarkRequest' description: Add Bookmark Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddBookmarkResponse' description: Add Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add bookmark tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/feedback: post: description: Submit feedback for an activity including options to show less, hide, report, or mute the user operationId: ActivityFeedback parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/ActivityFeedbackRequest' description: Activity Feedback Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ActivityFeedbackResponse' description: Activity Feedback Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Provide feedback on an activity tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote: post: description: 'Cast a vote on a poll Sends events: - feeds.poll.vote_casted - feeds.poll.vote_changed - feeds.poll.vote_removed - poll.vote_casted - poll.vote_changed - poll.vote_removed' operationId: CastPollVote parameters: - in: path name: activity_id required: true schema: type: string writeOnly: true x-stream-index: '002' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/CastPollVoteRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Cast vote tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/polls/{poll_id}/vote/{vote_id}: delete: description: 'Delete a vote from a poll Sends events: - feeds.poll.vote_removed - poll.vote_removed' operationId: DeletePollVote parameters: - in: path name: activity_id required: true schema: type: string writeOnly: true x-stream-index: '003' - in: path name: poll_id required: true schema: description: Poll ID maxLength: 255 title: string type: string x-stream-index: '004' - in: path name: vote_id required: true schema: description: Vote ID maxLength: 255 title: string type: string x-stream-index: '005' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PollVoteResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete vote tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/reactions: post: description: Adds a reaction to an activity operationId: AddActivityReaction parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddReactionRequest' description: Add Reaction Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddReactionResponse' description: Add Reaction Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add reaction tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/reactions/{type}: delete: description: Removes a reaction from an activity operationId: DeleteActivityReaction parameters: - in: path name: activity_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: delete_notification_activity schema: description: 'Whether to delete the corresponding notification activity (default: false)' title: Delete Notification Activity type: boolean writeOnly: true x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '004.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteActivityReactionResponse' description: Delete Activity Reaction Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Remove reaction tags: - Product Feeds /api/v2/feeds/activities/{activity_id}/reactions/query: post: operationId: QueryActivityReactions parameters: - in: path name: activity_id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryActivityReactionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryActivityReactionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query activity reactions tags: - Product Feeds /api/v2/feeds/activities/{id}: delete: description: Delete a single activity by its ID operationId: DeleteActivity parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: query name: hard_delete schema: description: Whether to permanently delete the activity instead of soft delete title: Hard Delete type: boolean writeOnly: true x-stream-index: '002' - in: query name: delete_notification_activity schema: description: Whether to also delete any notification activities created from mentions in this activity title: Delete Notification Activity type: boolean writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteActivityResponse' description: Delete Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a single activity tags: - Product Feeds get: description: Returns activity by ID operationId: GetActivity parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: comment_sort schema: description: 'Order of comments in the activity. One of: first, last, popular' enum: - first - last - popular title: Comment Sort type: string writeOnly: true x-stream-index: '002' - in: query name: comment_limit schema: description: Maximum number of comments to return format: int32 maximum: 20 minimum: 0 title: Comment Limit type: integer writeOnly: true x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '004.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetActivityResponse' description: Get Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get activity tags: - Product Feeds patch: description: 'Updates certain fields of the activity. Use ''set'' to update specific fields and ''unset'' to remove fields. This allows you to update only the fields you need without replacing the entire activity. Useful for updating reply restrictions (''restrict_replies''), mentioned users, or custom data. Sends events: - feeds.activity.updated' operationId: UpdateActivityPartial parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateActivityPartialRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateActivityPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial activity update tags: - Product Feeds put: description: 'Replaces an activity with the provided data. Use this to update text, attachments, reply restrictions (''restrict_replies''), mentioned users, and other activity fields. Note: This is a full update - any fields not provided will be cleared. Sends events: - feeds.activity.updated' operationId: UpdateActivity parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateActivityRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateActivityResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Full activity update tags: - Product Feeds /api/v2/feeds/activities/{id}/restore: post: description: Restores a soft-deleted, moderation-removed, or shadow-blocked activity by its ID. Deleted activities can be restored by the owner (client-side). Moderation-blocked activities can only be restored server-side. operationId: RestoreActivity parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: query name: enrich_own_fields schema: type: boolean writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreActivityRequest' description: Restore Activity Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RestoreActivityResponse' description: Restore Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore an activity tags: - Product Feeds /api/v2/feeds/activities/batch: post: description: Create new activities or update existing ones in a batch operation operationId: UpsertActivities requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertActivitiesRequest' description: Upsert Activities Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertActivitiesResponse' description: Upsert Activities Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert multiple activities tags: - Product Feeds /api/v2/feeds/activities/batch/partial: patch: description: 'Updates certain fields of multiple activities in a batch. Use ''set'' to update specific fields and ''unset'' to remove fields. Activities that fail due to not found, permission denied, or no changes detected are silently skipped and not included in the response. However, validation errors (e.g., updating reserved fields, invalid field values) will fail the entire batch request. Sends events: - feeds.activity.updated' operationId: UpdateActivitiesPartialBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateActivitiesPartialBatchRequest' description: Update Activities Partial Batch Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateActivitiesPartialBatchResponse' description: Update Activities Partial Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Batch partial activity update tags: - Product Feeds /api/v2/feeds/activities/delete: post: description: Delete one or more activities by their IDs operationId: DeleteActivities requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteActivitiesRequest' description: Delete Activities Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteActivitiesResponse' description: Delete Activities Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Remove multiple activities tags: - Product Feeds /api/v2/feeds/activities/metrics/track: post: description: Track metric events (views, clicks, impressions) for activities. Supports batching up to 100 events per request. Each event is independently rate-limited per user per activity per metric. Server-side calls must include user_id. operationId: TrackActivityMetrics requestBody: content: application/json: schema: $ref: '#/components/schemas/TrackActivityMetricsRequest' description: Track Activity Metrics Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/TrackActivityMetricsResponse' description: Track Activity Metrics Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Track activity metrics tags: - Product Feeds /api/v2/feeds/activities/query: post: description: Query activities based on filters with pagination and sorting options operationId: QueryActivities requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryActivitiesRequest' description: Query Activities Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryActivitiesResponse' description: Query Activities Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query activities tags: - Product Feeds /api/v2/feeds/bookmark_folders/{folder_id}: delete: description: Delete a bookmark folder by its ID operationId: DeleteBookmarkFolder parameters: - in: path name: folder_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteBookmarkFolderResponse' description: Delete Bookmark Folder Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a bookmark folder tags: - Product Feeds patch: description: Update a bookmark folder by its ID operationId: UpdateBookmarkFolder parameters: - in: path name: folder_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBookmarkFolderRequest' description: Update Bookmark Folder Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateBookmarkFolderResponse' description: Update Bookmark Folder Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a bookmark folder tags: - Product Feeds /api/v2/feeds/bookmark_folders/query: post: description: Query bookmark folders with filter query operationId: QueryBookmarkFolders requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryBookmarkFoldersRequest' description: Query Bookmark Folders Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryBookmarkFoldersResponse' description: Query Bookmark Folders Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query bookmark folders tags: - Product Feeds /api/v2/feeds/bookmarks/query: post: description: Query bookmarks with filter query operationId: QueryBookmarks requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryBookmarksRequest' description: Query Bookmarks Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryBookmarksResponse' description: Query Bookmarks Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query bookmarks tags: - Product Feeds /api/v2/feeds/collections: delete: description: Delete collections in a batch operation. Users can only delete their own collections. operationId: DeleteCollections parameters: - in: query name: collection_refs required: true schema: description: List of collections to delete items: type: string maxItems: 100 minItems: 1 title: Collection references type: array writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCollectionsResponse' description: Delete Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete multiple collections tags: - Product Feeds get: description: Read collections by their references. By default, users can only read their own collections. operationId: ReadCollections parameters: - in: query name: collection_refs schema: description: List of collection references in format 'name:id' items: type: string maxItems: 100 title: Collection References type: array writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ReadCollectionsResponse' description: Read Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Read collections tags: - Product Feeds patch: description: Update existing collections in a batch operation. Only the custom data field is updatable. Users can only update their own collections. operationId: UpdateCollections requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCollectionsRequest' description: Update Collections Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateCollectionsResponse' description: Update Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update multiple collections tags: - Product Feeds post: description: Create new collections in a batch operation. Collections are data objects that can be attached to activities for managing shared data across multiple activities. operationId: CreateCollections requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCollectionsRequest' description: Create Collections Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateCollectionsResponse' description: Create Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create multiple collections tags: - Product Feeds put: description: Insert new collections or update existing ones in a batch operation. Only the custom data field is updatable for existing collections. operationId: UpsertCollections requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertCollectionsRequest' description: Upsert Collections Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpsertCollectionsResponse' description: Upsert Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert multiple collections tags: - Product Feeds /api/v2/feeds/collections/query: post: description: Query collections with filter query operationId: QueryCollections requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCollectionsRequest' description: Query Collections Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCollectionsResponse' description: Query Collections Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query collections tags: - Product Feeds /api/v2/feeds/comments: get: description: Retrieve a threaded list of comments for a specific object (e.g., activity), with configurable depth, sorting, and pagination operationId: GetComments parameters: - in: query name: object_id required: true schema: description: ID of the object to get comments for title: Object ID type: string writeOnly: true x-stream-index: '001' - in: query name: object_type required: true schema: description: Type of the object to get comments for enum: - activity title: Object Type type: string writeOnly: true x-stream-index: '002' - in: query name: depth schema: description: Maximum nested depth to return (0 = only first level) format: int32 maximum: 5 minimum: 0 title: Max Depth type: integer writeOnly: true x-stream-index: '003' - in: query name: sort schema: description: Sort order for the comments enum: - first - last - top - best - controversial title: Sort Order type: string writeOnly: true x-stream-index: '004' - in: query name: replies_limit schema: format: int32 maximum: 20 minimum: 0 type: integer writeOnly: true x-stream-index: '005' - in: query name: id_around schema: description: Returns the comment with the specified ID along with surrounding comments for context title: ID Around type: string writeOnly: true x-stream-index: '006' - in: query name: user_id schema: description: User ID for server-side requests to populate OwnReactions (server-side only) title: User ID type: string writeOnly: true x-stream-index: '007.001' - in: query name: limit schema: description: Max number of top‑level comments to return format: int32 maximum: 100 minimum: 0 title: Root Limit type: integer writeOnly: true x-stream-index: '008.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '008.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '008.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCommentsResponse' description: Get Comments Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get comments for an object tags: - Product Feeds post: description: Adds a comment to an object (e.g., activity) or a reply to an existing comment, and broadcasts appropriate events operationId: AddComment requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCommentRequest' description: Add Comment Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddCommentResponse' description: Add Comment Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add a comment or reply tags: - Product Feeds /api/v2/feeds/comments/{comment_id}/bookmarks: delete: description: Deletes a bookmark from a comment operationId: DeleteCommentBookmark parameters: - in: path name: comment_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: query name: folder_id schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCommentBookmarkResponse' description: Delete Comment Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a comment bookmark tags: - Product Feeds patch: description: Updates a bookmark for a comment operationId: UpdateCommentBookmark parameters: - in: path name: comment_id required: true schema: description: ID of the comment maxLength: 255 title: Comment ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommentBookmarkRequest' description: Update Comment Bookmark Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateCommentBookmarkResponse' description: Update Comment Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update comment bookmark tags: - Product Feeds post: description: Adds a bookmark to a comment operationId: AddCommentBookmark parameters: - in: path name: comment_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCommentBookmarkRequest' description: Add Comment Bookmark Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddCommentBookmarkResponse' description: Add Comment Bookmark Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add comment bookmark tags: - Product Feeds /api/v2/feeds/comments/{id}: delete: description: Deletes a comment from an object (e.g., activity) and broadcasts appropriate events operationId: DeleteComment parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: hard_delete schema: description: Whether to permanently delete the comment instead of soft delete title: Hard Delete type: boolean writeOnly: true x-stream-index: '002' - in: query name: delete_notification_activity schema: description: 'Whether to delete the corresponding notification activity (default: false)' title: Delete Notification Activity type: boolean writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCommentResponse' description: Delete Comment Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a comment tags: - Product Feeds get: description: Get a comment by ID operationId: GetComment parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '002.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCommentResponse' description: Get Comment Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get comment tags: - Product Feeds patch: description: Updates a comment on an object (e.g., activity) and broadcasts appropriate events operationId: UpdateComment parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommentRequest' description: Update Comment Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateCommentResponse' description: Update Comment Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a comment tags: - Product Feeds /api/v2/feeds/comments/{id}/partial: post: description: 'Updates certain fields of the comment. Use ''set'' to update specific fields and ''unset'' to remove fields. Sends events: - feeds.activity.updated - feeds.comment.updated' operationId: UpdateCommentPartial parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCommentPartialRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateCommentPartialResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Partial comment update tags: - Product Feeds /api/v2/feeds/comments/{id}/reactions: post: description: Adds a reaction to a comment operationId: AddCommentReaction parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCommentReactionRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddCommentReactionResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add comment reaction tags: - Product Feeds /api/v2/feeds/comments/{id}/reactions/{type}: delete: description: Deletes a reaction from a comment operationId: DeleteCommentReaction parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: type required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: delete_notification_activity schema: description: 'Whether to delete the corresponding notification activity (default: false)' title: Delete Notification Activity type: boolean writeOnly: true x-stream-index: '003' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '004.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteCommentReactionResponse' description: Delete Comment Reaction Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete comment reaction tags: - Product Feeds /api/v2/feeds/comments/{id}/reactions/query: post: operationId: QueryCommentReactions parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCommentReactionsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCommentReactionsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query comment reactions tags: - Product Feeds /api/v2/feeds/comments/{id}/replies: get: description: Retrieve a threaded list of replies for a single comment, with configurable depth, sorting, and pagination operationId: GetCommentReplies parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: depth schema: description: Maximum nested depth to return (0 = unlimited) format: int32 maximum: 5 minimum: 0 title: Max Depth type: integer writeOnly: true x-stream-index: '002' - in: query name: sort schema: description: 'first (oldest), last (newest) or top. One of: first, last, top, best, controversial' enum: - first - last - top - best - controversial title: Sort Order type: string writeOnly: true x-stream-index: '003' - in: query name: replies_limit schema: description: Max number of replies to return format: int32 minimum: 0 title: Replies Limit type: integer writeOnly: true x-stream-index: '004' - in: query name: id_around schema: description: Returns the reply with the specified ID along with surrounding replies for context title: ID Around type: string writeOnly: true x-stream-index: '005' - in: query name: user_id schema: description: User ID for server-side requests to populate OwnReactions (server-side only) title: User ID type: string writeOnly: true x-stream-index: '006.001' - in: query name: limit schema: description: Max number of direct replies to return format: int32 maximum: 100 minimum: 0 title: Reply Limit type: integer writeOnly: true x-stream-index: '007.001' - in: query name: prev schema: type: string writeOnly: true x-stream-index: '007.002' - in: query name: next schema: type: string writeOnly: true x-stream-index: '007.003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetCommentRepliesResponse' description: Get Comment Replies Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get replies for a comment tags: - Product Feeds /api/v2/feeds/comments/{id}/restore: post: description: Restores a soft-deleted, moderation-removed, or shadow-blocked comment by its ID. The comment and all its descendants are restored. Deleted comments can be restored client-side. Moderation-blocked comments can only be restored server-side. operationId: RestoreComment parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreCommentRequest' description: Restore Comment Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RestoreCommentResponse' description: Restore Comment Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore a comment tags: - Product Feeds /api/v2/feeds/comments/batch: post: description: Adds multiple comments in a single request. Each comment must specify the object type and ID. operationId: AddCommentsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCommentsBatchRequest' description: Add Comments Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AddCommentsBatchResponse' description: Add Comments Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Add multiple comments in a batch tags: - Product Feeds /api/v2/feeds/comments/query: post: description: Query comments using MongoDB-style filters with pagination and sorting options operationId: QueryComments requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryCommentsRequest' description: Query Comments Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryCommentsResponse' description: Query Comments Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query comments tags: - Product Feeds /api/v2/feeds/feed_groups: get: description: List all feed groups for the application operationId: ListFeedGroups parameters: - in: query name: include_soft_deleted schema: type: boolean writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListFeedGroupsResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List all feed groups tags: - Product Feeds post: description: Creates a new feed group with the specified configuration operationId: CreateFeedGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFeedGroupRequest' description: Create Feed Group Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateFeedGroupResponse' description: Upsert Feed Group Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create a new feed group tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}: delete: description: Delete a single feed by its ID operationId: DeleteFeed parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: query name: hard_delete schema: description: Whether to permanently delete the feed instead of soft delete title: Hard Delete type: boolean writeOnly: true x-stream-index: '003' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteFeedResponse' description: Delete Feed Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a single feed tags: - Product Feeds post: description: Create a single feed for a given feed group operationId: GetOrCreateFeed parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedRequest' description: ClientRequest required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create a new feed tags: - Product Feeds put: description: Update an existing feed operationId: UpdateFeed parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFeedRequest' description: Update Feed Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateFeedResponse' description: Update Feed Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a feed tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/{activity_id}/pin: delete: description: Unpin an activity from a feed. This removes the pin, so the activity will no longer be displayed at the top of the feed. operationId: UnpinActivity parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: path name: activity_id required: true schema: type: string writeOnly: true x-stream-index: '003' - in: query name: enrich_own_fields schema: description: If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean writeOnly: true x-stream-index: '004' - in: query name: user_id schema: type: string writeOnly: true x-stream-index: '005.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnpinActivityResponse' description: Unpin Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unpin an activity from a feed tags: - Product Feeds post: description: Pin an activity to a feed. Pinned activities are typically displayed at the top of a feed. operationId: PinActivity parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' - in: path name: activity_id required: true schema: type: string writeOnly: true x-stream-index: '003' requestBody: content: application/json: schema: $ref: '#/components/schemas/PinActivityRequest' description: Pin Activity Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/PinActivityResponse' description: Pin Activity Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Pin an activity to a feed tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/activities/mark/batch: post: description: Mark activities as read/seen/watched. Can mark by timestamp (seen), activity IDs (read), or all as read. operationId: MarkActivity parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/MarkActivityRequest' description: Mark Activity Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Mark activities as read/seen/watched tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/change_visibility: post: description: Changes the visibility of an existing feed. Follow reconciliation (rewriting pending follows on loosening, or removing disallowed follows/members on tightening) runs asynchronously in the background; the response returns optimistically with the intended visibility. operationId: ChangeFeedVisibility parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeFeedVisibilityRequest' description: Change Feed Visibility Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ChangeFeedVisibilityResponse' description: Change Feed Visibility Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Change a feed's visibility tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members: patch: description: Add, remove, or set members for a feed operationId: UpdateFeedMembers parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFeedMembersRequest' description: Update Feed Members Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateFeedMembersResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update feed members tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/accept: post: description: Accepts a pending feed member request operationId: AcceptFeedMemberInvite parameters: - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/AcceptFeedMemberInviteRequest' description: Accept Feed Member Invite Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AcceptFeedMemberInviteResponse' description: Accept Feed Member Invite Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Accept a feed member request tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/query: post: description: Query feed members based on filters with pagination and sorting options operationId: QueryFeedMembers parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryFeedMembersRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryFeedMembersResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query feed members tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/members/reject: post: description: Rejects a pending feed member request operationId: RejectFeedMemberInvite parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/RejectFeedMemberInviteRequest' description: Reject Feed Member Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RejectFeedMemberInviteResponse' description: Reject Feed Member Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reject an invite to become a feed member tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}/pinned_activities/query: post: description: Query pinned activities for a feed with filter query operationId: QueryPinnedActivities parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: path name: feed_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '002' requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryPinnedActivitiesRequest' description: Query Pinned Activities Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryPinnedActivitiesResponse' description: Query Pinned Activities Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query pinned activities tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/follow_suggestions: get: description: Get follow suggestions for a feed group operationId: GetFollowSuggestions parameters: - in: path name: feed_group_id required: true schema: description: The ID of the feed group to get suggestions for maxLength: 255 title: Feed Group ID type: string writeOnly: true x-stream-index: '001' - in: query name: limit schema: description: Maximum number of suggestions to return format: int32 maximum: 100 minimum: 1 title: Limit type: integer writeOnly: true x-stream-index: '002' - in: query name: user_id schema: description: The ID of the user requesting suggestions (optional, defaults to current user) title: User ID type: string writeOnly: true x-stream-index: '003.001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetFollowSuggestionsResponse' description: Follow Suggestions Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get follow suggestions tags: - Product Feeds /api/v2/feeds/feed_groups/{feed_group_id}/restore: post: description: Restores a soft-deleted feed group by its ID. Only clears DeletedAt in the database; no other fields are updated. operationId: RestoreFeedGroup parameters: - in: path name: feed_group_id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '201': content: application/json: schema: $ref: '#/components/schemas/RestoreFeedGroupResponse' description: Restore Feed Group Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Restore a feed group tags: - Product Feeds /api/v2/feeds/feed_groups/{id}: delete: description: Delete a feed group by its ID. Can perform a soft delete (default) or hard delete. operationId: DeleteFeedGroup parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' - in: query name: hard_delete schema: description: Whether to perform a hard delete (true) or soft delete (false, default) title: Hard Delete type: boolean writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteFeedGroupResponse' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a feed group tags: - Product Feeds get: description: Get a feed group by ID operationId: GetFeedGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' - in: query name: include_soft_deleted schema: type: boolean writeOnly: true x-stream-index: '002' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetFeedGroupResponse' description: Get Feed Group Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get a feed group tags: - Product Feeds post: description: Get an existing feed group or create a new one if it doesn't exist operationId: GetOrCreateFeedGroup parameters: - in: path name: id required: true schema: description: Unique identifier for the feed group maxLength: 255 title: Feed Group ID type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedGroupRequest' description: Get Or Create Feed Group Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedGroupResponse' description: Get Or Create Feed Group Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create a feed group tags: - Product Feeds put: description: Update a feed group by ID operationId: UpdateFeedGroup parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFeedGroupRequest' description: Update Feed Group Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateFeedGroupResponse' description: Update Feed Group Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a feed group tags: - Product Feeds /api/v2/feeds/feed_views: get: description: List all feed views for a feed group operationId: ListFeedViews responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListFeedViewsResponse' description: List Feed Views Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List all feed views tags: - Product Feeds post: description: Create a custom view for a feed group with specific selectors, ranking, or aggregation options operationId: CreateFeedView requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFeedViewRequest' description: Create Feed View Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateFeedViewResponse' description: Create Feed View Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create a new feed view tags: - Product Feeds /api/v2/feeds/feed_views/{id}: delete: description: Delete an existing custom feed view operationId: DeleteFeedView parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeleteFeedViewResponse' description: Delete Feed View Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete a feed view tags: - Product Feeds get: description: Get a feed view by its ID operationId: GetFeedView parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetFeedViewResponse' description: Get Feed View Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get a feed view tags: - Product Feeds post: description: Get an existing feed view or create a new one if it doesn't exist operationId: GetOrCreateFeedView parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedViewRequest' description: Get Or Create Feed View Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/GetOrCreateFeedViewResponse' description: Get Or Create Feed View Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get or create a feed view tags: - Product Feeds put: description: Update an existing custom feed view with new selectors, ranking, or aggregation options operationId: UpdateFeedView parameters: - in: path name: id required: true schema: maxLength: 255 type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFeedViewRequest' description: Update Feed View Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateFeedViewResponse' description: Update Feed View Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a feed view tags: - Product Feeds /api/v2/feeds/feed_visibilities: get: description: Gets all available feed visibility configurations and their permissions operationId: ListFeedVisibilities responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListFeedVisibilitiesResponse' description: List Feed Visibilities Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: List feed visibilities tags: - Product Feeds /api/v2/feeds/feed_visibilities/{name}: get: description: Gets feed visibility configuration and permissions operationId: GetFeedVisibility parameters: - in: path name: name required: true schema: description: 'Name of the feed visibility level. One of: public, visible, followers, members, private' enum: - public - visible - followers - members - private title: Visibility Name type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetFeedVisibilityResponse' description: Get Feed Visibility Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get feed visibility tags: - Product Feeds put: description: Updates an existing predefined feed visibility configuration operationId: UpdateFeedVisibility parameters: - in: path name: name required: true schema: enum: - public - visible - followers - members - private type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFeedVisibilityRequest' description: Update Feed Visibility Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UpdateFeedVisibilityResponse' description: Update Feed Visibility Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update Feed Visibility tags: - Product Feeds /api/v2/feeds/feeds/batch: post: description: Create multiple feeds at once for a given feed group operationId: CreateFeedsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFeedsBatchRequest' description: Create Feeds Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateFeedsBatchResponse' description: Create Feeds Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create multiple feeds at once tags: - Product Feeds /api/v2/feeds/feeds/delete: post: description: Delete multiple feeds by their IDs. All feeds must exist. This endpoint is server-side only. operationId: DeleteFeedsBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteFeedsBatchRequest' description: Delete Feeds Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteFeedsBatchResponse' description: Delete Feeds Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete multiple feeds tags: - Product Feeds /api/v2/feeds/feeds/own/batch: post: description: Retrieves own_follows, own_capabilities, and/or own_membership for multiple feeds in a single request. If fields are not specified, all three fields are returned. operationId: OwnBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/OwnBatchRequest' description: Own Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/OwnBatchResponse' description: Own Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get own fields for multiple feeds tags: - Product Feeds /api/v2/feeds/feeds/query: post: description: Query feeds with filter query operationId: QueryFeeds requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryFeedsRequest' description: Query Feeds Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryFeedsResponse' description: Query Feeds Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query feeds tags: - Product Feeds /api/v2/feeds/feeds/rate_limits: get: description: 'Retrieve current rate limit status for feeds operations. Returns information about limits, usage, and remaining quota for various feed operations.' operationId: GetFeedsRateLimits parameters: - in: query name: endpoints schema: description: Comma-separated list of endpoint names to filter (optional, returns all if empty) title: Endpoints type: string writeOnly: true x-stream-index: '001' - in: query name: android schema: description: Include Android platform limits title: Android type: boolean writeOnly: true x-stream-index: '002' - in: query name: ios schema: description: Include iOS platform limits title: iOS type: boolean writeOnly: true x-stream-index: '003' - in: query name: web schema: description: Include Web platform limits title: Web type: boolean writeOnly: true x-stream-index: '004' - in: query name: server_side schema: description: Include server-side platform limits title: Server Side type: boolean writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetFeedsRateLimitsResponse' description: Get Feeds Rate Limits Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Get Feeds Rate Limits tags: - Product Feeds /api/v2/feeds/follows: patch: description: Updates a follow's custom data, push preference, and follower role. Source owner can update custom data and push preference. Follower role can only be updated via server-side requests. operationId: UpdateFollow requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFollowRequest' description: Update Follow Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateFollowResponse' description: Update Follow Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update a follow tags: - Product Feeds post: description: Creates a follow and broadcasts FollowAddedEvent operationId: Follow requestBody: content: application/json: schema: $ref: '#/components/schemas/FollowRequest' description: Follow Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SingleFollowResponse' description: Follow Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create a follow tags: - Product Feeds /api/v2/feeds/follows/{source}/{target}: delete: description: Removes a follow and broadcasts FollowRemovedEvent operationId: Unfollow parameters: - in: path name: source required: true schema: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed type: string writeOnly: true x-stream-index: '001' - in: path name: target required: true schema: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed type: string writeOnly: true x-stream-index: '002' - in: query name: delete_notification_activity schema: description: 'Whether to delete the corresponding notification activity (default: false)' title: Delete Notification Activity type: boolean writeOnly: true x-stream-index: '003' - in: query name: keep_history schema: description: 'When true, activities from the unfollowed feed will remain in the source feed''s timeline (default: false)' title: Keep History type: boolean writeOnly: true x-stream-index: '004' - in: query name: enrich_own_fields schema: description: 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. title: Enrich Own Fields type: boolean writeOnly: true x-stream-index: '005' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UnfollowResponse' description: Unfollow Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unfollow a feed tags: - Product Feeds /api/v2/feeds/follows/accept: post: description: Accepts a pending follow request operationId: AcceptFollow requestBody: content: application/json: schema: $ref: '#/components/schemas/AcceptFollowRequest' description: Accept Follow Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/AcceptFollowResponse' description: Accept Follow Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Accept a follow request tags: - Product Feeds /api/v2/feeds/follows/batch: post: description: Creates multiple follows at once and broadcasts FollowAddedEvent for each follow operationId: FollowBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/FollowBatchRequest' description: Follow Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FollowBatchResponse' description: Follow Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create multiple follows at once tags: - Product Feeds /api/v2/feeds/follows/batch/upsert: post: description: Creates or updates multiple follows at once. Does not return an error if follows already exist. Broadcasts FollowAddedEvent only for newly created follows. operationId: GetOrCreateFollows requestBody: content: application/json: schema: $ref: '#/components/schemas/FollowBatchRequest' description: Follow Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FollowBatchResponse' description: Follow Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Upsert multiple follows at once tags: - Product Feeds /api/v2/feeds/follows/query: post: description: Query follows based on filters with pagination and sorting options operationId: QueryFollows requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryFollowsRequest' description: Query Follows Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryFollowsResponse' description: Query Follows Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query follows tags: - Product Feeds /api/v2/feeds/follows/reject: post: description: Rejects a pending follow request operationId: RejectFollow requestBody: content: application/json: schema: $ref: '#/components/schemas/RejectFollowRequest' description: Reject Follow Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/RejectFollowResponse' description: Reject Follow Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Reject a follow request tags: - Product Feeds /api/v2/feeds/membership_levels: post: description: Create a new membership level with tag-based access controls operationId: CreateMembershipLevel requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateMembershipLevelRequest' description: Create Membership Level Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CreateMembershipLevelResponse' description: Create Membership Level Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Create membership level tags: - Product Feeds /api/v2/feeds/membership_levels/{id}: delete: description: Delete a membership level by its UUID. This operation is irreversible. operationId: DeleteMembershipLevel parameters: - in: path name: id required: true schema: description: The UUID of the membership level to delete maxLength: 255 title: ID type: string writeOnly: true x-stream-index: '001' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Response' description: Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete membership level tags: - Product Feeds patch: description: Update a membership level with partial updates. Only specified fields will be updated. operationId: UpdateMembershipLevel parameters: - in: path name: id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMembershipLevelRequest' description: Update Membership Level Request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdateMembershipLevelResponse' description: Update Membership Level Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Update membership level tags: - Product Feeds /api/v2/feeds/membership_levels/query: post: description: Query membership levels with filter query operationId: QueryMembershipLevels requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryMembershipLevelsRequest' description: Query Membership Levels Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryMembershipLevelsResponse' description: Query Membership Levels Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query membership levels tags: - Product Feeds /api/v2/feeds/revisions/query: post: description: Queries revision history for activities and comments operationId: QueryRevisionHistory requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryRevisionHistoryRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryRevisionHistoryResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query revision history tags: - Product Feeds /api/v2/feeds/stats/usage: post: description: 'Retrieve usage statistics for feeds including activity count, follow count, and API request count. Returns data aggregated by day with pagination support via from/to date parameters. This endpoint is server-side only.' operationId: QueryFeedsUsageStats requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryFeedsUsageStatsRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/QueryFeedsUsageStatsResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Query Feed Usage Statistics tags: - Product Feeds /api/v2/feeds/unfollow/batch: post: description: Removes multiple follows at once and broadcasts FollowRemovedEvent for each one operationId: UnfollowBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/UnfollowBatchRequest' description: Unfollow Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnfollowBatchResponse' description: Unfollow Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unfollow multiple feeds at once tags: - Product Feeds /api/v2/feeds/unfollow/batch/upsert: post: description: Removes multiple follows and broadcasts FollowRemovedEvent for each. Does not return an error if follows don't exist. operationId: GetOrCreateUnfollows requestBody: content: application/json: schema: $ref: '#/components/schemas/UnfollowBatchRequest' description: Unfollow Batch Request required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UnfollowBatchResponse' description: Unfollow Batch Response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Unfollow multiple feeds (idempotent) tags: - Product Feeds /api/v2/feeds/users/{user_id}/delete: post: description: 'Delete all feed data for a user including: feeds, activities, follows, comments, feed reactions, bookmark folders, bookmarks, and collections owned by the user' operationId: DeleteFeedUserData parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: '001' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteFeedUserDataRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeleteFeedUserDataResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Delete all feed data for a user tags: - Product Feeds /api/v2/feeds/users/{user_id}/export: post: description: 'Export all feed data for a user including: user profile, feeds, activities, follows, comments, feed reactions, bookmark folders, bookmarks, and collections owned by the user' operationId: ExportFeedUserData parameters: - in: path name: user_id required: true schema: type: string writeOnly: true x-stream-index: '001' responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExportFeedUserDataResponse' description: Successful response '400': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Bad request '429': content: application/json: schema: $ref: '#/components/schemas/APIError' description: Too many requests summary: Export all feed data for a user tags: - Product Feeds components: schemas: UpdateCommentBookmarkRequest: properties: custom: additionalProperties: {} description: Custom data for the bookmark title: Custom Data type: object x-stream-index: '005' folder_id: description: ID of the folder containing the bookmark maxLength: 255 title: Folder ID type: string x-stream-index: '002' new_folder: $ref: '#/components/schemas/AddFolderRequest' description: Create a new folder and move the bookmark into it title: New Folder x-stream-index: '004' new_folder_id: description: Move the bookmark to this folder (empty string removes the folder) maxLength: 255 title: New Folder ID type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' title: Update Comment Bookmark Request type: - object - 'null' EMAUStatsResponse: properties: daily: description: Per-day unique engaged user counts items: $ref: '#/components/schemas/DailyMetricResponse' title: Daily type: array x-stream-index: '001' last_30_days: description: Rolling 30-day engaged user count snapshots items: $ref: '#/components/schemas/DailyMetricResponse' title: Last 30 Days type: array x-stream-index: '002' month_to_date: description: Calendar month-to-date engaged user count snapshots items: $ref: '#/components/schemas/DailyMetricResponse' title: Month To Date type: array x-stream-index: '003' required: - daily - last_30_days - month_to_date type: object DeleteActivitiesResponse: properties: deleted_ids: description: List of activity IDs that were successfully deleted items: type: string title: Deleted Activity IDs type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - deleted_ids - duration title: Delete Activities Response type: - object - 'null' UserRequest: description: User request object properties: custom: additionalProperties: {} description: Custom user data title: Custom type: object x-stream-index: '004' id: description: User ID title: ID type: string x-stream-index: '001' image: description: User's profile image URL title: Image type: string x-stream-index: '003' invisible: type: boolean x-stream-index: '006' language: type: string x-stream-index: '005' name: description: Optional name of user title: Name type: string x-stream-index: '002' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' x-stream-index: '007' role: description: User's global role title: Role type: string x-stream-index: 008 teams: description: List of teams the user belongs to items: type: string title: Teams type: array x-stream-index: '010' teams_role: additionalProperties: type: string description: Map of team-specific roles for the user title: TeamsRole type: object x-stream-index: 009 required: - id title: UserRequest type: object UpdateActivitiesPartialBatchRequest: properties: changes: description: List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset items: $ref: '#/components/schemas/UpdateActivityPartialChangeRequest' maxItems: 100 minItems: 1 title: Changes type: array x-stream-index: '001' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: '002' required: - changes title: Update Activities Partial Batch Request type: - object - 'null' AcceptFollowRequest: properties: follower_role: description: Optional role for the follower in the follow relationship title: Follower Role type: string x-stream-index: '003' source: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed ID type: string x-stream-index: '001' target: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed ID type: string x-stream-index: '002' required: - source - target title: Accept Follow Request type: - object - 'null' UpdateCommentBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The updated comment bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Update Comment Bookmark Response type: - object - 'null' CommentResponse: properties: attachments: description: Attachments associated with the comment items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '011' bookmark_count: format: int32 type: integer x-stream-index: '022' confidence_score: description: Confidence score of the comment format: float title: Confidence Score type: number x-stream-index: '024' controversy_score: description: Controversy score of the comment format: float title: Controversy Score type: number x-stream-index: '025' created_at: description: When the comment was created format: date-time title: Created At type: number x-stream-index: '014' custom: additionalProperties: {} description: Custom data for the comment title: Custom Data type: object x-stream-index: '006' deleted_at: description: When the comment was deleted format: date-time title: Deleted At type: number x-stream-index: '017' downvote_count: description: Number of downvotes for this comment format: int32 title: Downvote Count type: integer x-stream-index: '021' edited_at: description: When the comment was last edited format: date-time title: Edited At type: number x-stream-index: '016' id: description: Unique identifier for the comment title: ID type: string x-stream-index: '001' latest_reactions: description: Recent reactions to the comment items: $ref: '#/components/schemas/FeedsReactionResponse' title: Latest Reactions type: array x-stream-index: 009 mentioned_users: description: Users mentioned in the comment items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: '012' moderation: $ref: '#/components/schemas/ModerationV2Response' description: Moderation details for the comment title: Moderation x-stream-index: 018 object_id: description: ID of the object this comment is associated with title: Object ID type: string x-stream-index: '002' object_type: description: Type of the object this comment is associated with title: Object Type type: string x-stream-index: '003' own_reactions: description: Current user's reactions to this activity items: $ref: '#/components/schemas/FeedsReactionResponse' title: Own Reactions type: array x-stream-index: '026' parent_id: description: ID of parent comment for nested replies title: Parent ID type: string x-stream-index: '007' reaction_count: description: Number of reactions to this comment format: int32 title: Reaction Count type: integer x-stream-index: 008 reaction_groups: additionalProperties: $ref: '#/components/schemas/FeedsReactionGroupResponse' description: Grouped reactions by type title: Reaction Groups type: object x-stream-index: '010' reply_count: description: Number of replies to this comment format: int32 title: Reply Count type: integer x-stream-index: 019 score: description: Score of the comment based on reactions format: int32 title: Score type: integer x-stream-index: '023' status: description: 'Status of the comment. One of: active, deleted, removed, hidden' enum: - active - deleted - removed - hidden - shadow_blocked title: Status type: string x-stream-index: '013' text: description: Text content of the comment title: Text type: string x-stream-index: '005' updated_at: description: When the comment was last updated format: date-time title: Updated At type: number x-stream-index: '015' upvote_count: description: Number of upvotes for this comment format: int32 title: Upvote Count type: integer x-stream-index: '020' user: $ref: '#/components/schemas/UserResponse' description: User who created the comment title: User x-stream-index: '004' required: - id - object_id - object_type - user - reaction_count - mentioned_users - status - created_at - updated_at - reply_count - upvote_count - downvote_count - bookmark_count - score - confidence_score - own_reactions title: Comment type: object UpdateFeedVisibilityRequest: properties: grants: additionalProperties: items: type: string type: array description: Updated permission grants for each role title: Grants type: object x-stream-index: '002' title: Update Feed Visibility Request type: - object - 'null' RejectFeedMemberInviteResponse: properties: duration: type: string x-stream-index: '002.001' member: $ref: '#/components/schemas/FeedMemberResponse' description: The feed member after rejecting the invite title: Feed Member x-stream-index: '001' required: - member - duration title: Reject Feed Member Response type: - object - 'null' TypingIndicatorsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object OwnBatchRequest: description: Request to get own_follows, own_followings, own_capabilities, and/or own_membership for multiple feeds. If fields is not specified, all fields are returned. properties: feeds: description: List of feed IDs to get own fields for items: type: string maxItems: 100 minItems: 1 title: Feed IDs type: array x-stream-index: '001' fields: description: Optional list of specific fields to return. If not specified, all fields (own_follows, own_followings, own_capabilities, own_membership) are returned items: type: string title: Fields type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' required: - feeds title: Own Batch Request type: - object - 'null' AcceptFeedMemberInviteResponse: properties: duration: type: string x-stream-index: '002.001' member: $ref: '#/components/schemas/FeedMemberResponse' description: The feed member after accepting the invite title: Feed Member x-stream-index: '001' required: - member - duration title: Accept Feed Member Invite Response type: - object - 'null' MarkActivityRequest: properties: mark_all_read: description: Whether to mark all activities as read title: Mark All Read type: boolean x-stream-index: '005' mark_all_seen: description: Whether to mark all activities as seen title: Mark All Seen type: boolean x-stream-index: '003' mark_read: description: List of activity IDs to mark as read items: type: string title: Mark Read type: array x-stream-index: '004' mark_seen: description: List of activity IDs to mark as seen items: type: string title: Mark Seen type: array x-stream-index: '006' mark_watched: description: List of activity IDs to mark as watched (for stories) items: type: string title: Mark Watched type: array x-stream-index: '007' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' title: Mark Activity Request type: - object - 'null' DeleteFeedsBatchRequest: properties: feeds: description: 'List of fully qualified feed IDs (format: group_id:feed_id) to delete' items: type: string maxItems: 100 minItems: 1 title: Feed IDs type: array x-stream-index: '001' hard_delete: description: Whether to permanently delete the feeds instead of soft delete title: Hard Delete type: boolean x-stream-index: '002' required: - feeds title: Delete Feeds Batch Request type: - object - 'null' PollVoteResponseData: properties: answer_text: type: string x-stream-index: '005' created_at: format: date-time type: number x-stream-index: 008 id: type: string x-stream-index: '002' is_answer: type: boolean x-stream-index: '004' option_id: type: string x-stream-index: '003' poll_id: type: string x-stream-index: '001' updated_at: format: date-time type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' x-stream-index: '007' user_id: type: string x-stream-index: '006' required: - poll_id - id - option_id - created_at - updated_at type: - object - 'null' GetFeedViewResponse: properties: duration: type: string x-stream-index: '002.001' feed_view: $ref: '#/components/schemas/FeedViewResponse' description: The requested feed view title: Feed View x-stream-index: '001' required: - feed_view - duration title: Get Feed View Response type: - object - 'null' UpdateFeedMembersRequest: properties: limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '006.001' members: description: List of members to upsert, remove, or set items: $ref: '#/components/schemas/FeedMemberRequest' title: Members type: array x-stream-index: '004' next: type: string x-stream-index: '006.002' operation: description: 'Type of update operation to perform. One of: upsert, remove, set' enum: - upsert - remove - set title: Operation type: string x-stream-index: '003' prev: type: string x-stream-index: '006.003' required: - operation title: Update Feed Members Request type: - object - 'null' FeedsReactionGroupResponse: properties: count: format: int32 type: integer x-stream-index: '001' first_reaction_at: format: date-time type: number x-stream-index: '002' last_reaction_at: format: date-time type: number x-stream-index: '003' required: - count - first_reaction_at - last_reaction_at type: object ActivityFeedbackRequest: description: Request to provide feedback on an activity properties: hide: description: Whether to hide this activity title: bool type: boolean x-stream-index: '003' show_less: description: Whether to show less content like this title: bool type: boolean x-stream-index: '002' show_more: description: Whether to show more content like this title: bool type: boolean x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' title: Activity Feedback Request type: - object - 'null' QueryActivitiesResponse: properties: activities: description: List of activities matching the query items: $ref: '#/components/schemas/ActivityResponse' title: Activities type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - activities - duration title: Query Activities Response type: - object - 'null' PrivacySettingsResponse: properties: delivery_receipts: $ref: '#/components/schemas/DeliveryReceiptsResponse' x-stream-index: '003' read_receipts: $ref: '#/components/schemas/ReadReceiptsResponse' x-stream-index: '002' typing_indicators: $ref: '#/components/schemas/TypingIndicatorsResponse' x-stream-index: '001' type: object UpdateCommentRequest: properties: attachments: description: Updated media attachments for the comment. Providing this field will replace all existing attachments. items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '003' comment: description: Updated text content of the comment title: Comment type: string x-stream-index: '002' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: 009 custom: additionalProperties: {} description: Updated custom data for the comment title: Custom Data type: object x-stream-index: '004' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: '010' handle_mention_notifications: description: If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned title: Handle Mention Notifications type: boolean x-stream-index: 008 mentioned_user_ids: description: List of user IDs mentioned in the comment items: type: string maxItems: 25 title: Mentioned User IDs type: array x-stream-index: '005' skip_enrich_url: description: Whether to skip URL enrichment for this comment title: Skip URL Enrichment type: boolean x-stream-index: '007' skip_push: type: boolean x-stream-index: '006' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '011.002' user_id: type: string x-stream-index: '011.001' title: Update Comment Request type: - object - 'null' AddCommentReactionRequest: properties: copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '005' create_notification_activity: description: Whether to create a notification activity for this reaction title: Create Notification Activity type: boolean x-stream-index: '004' custom: additionalProperties: {} description: Optional custom data to add to the reaction title: Custom Data type: object x-stream-index: '003' enforce_unique: description: Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one) title: Enforce Unique type: boolean x-stream-index: '007' skip_push: type: boolean x-stream-index: '006' type: description: The type of reaction, eg upvote, like, ... maxLength: 255 title: Type type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' required: - type type: - object - 'null' PinActivityRequest: properties: enrich_own_fields: description: If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '004' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' title: Pin Activity Request type: - object - 'null' QueryCommentsRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query title: Filter type: object x-stream-filter-fields: comment_text: operators: - $q type: string confidence_score: operators: - $gt - $gte - $lt - $lte type: number controversy_score: operators: - $gt - $gte - $lt - $lte type: number created_at: operators: - $eq - $gt - $gte - $lt - $lte type: date downvote_count: operators: - $gt - $gte - $lt - $lte type: number id: operators: - $eq - $in type: string object_id: operators: - $eq - $in type: string object_type: operators: - $eq - $in type: string parent_id: operators: - $eq - $in type: string reply_count: operators: - $gt - $gte - $lt - $lte type: number score: operators: - $gt - $gte - $lt - $lte type: number status: operators: - $eq - $in type: string upvote_count: operators: - $gt - $gte - $lt - $lte type: number user_id: operators: - $eq - $in type: string x-stream-index: '001' id_around: description: Returns the comment with the specified ID along with surrounding comments for context title: ID Around type: string x-stream-index: '003' limit: description: Maximum number of comments to return format: int32 maximum: 100 minimum: 0 title: Limit type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters enum: - first - last - top - best - controversial title: Sort type: string x-stream-index: '002' x-stream-sort-combinations: - - created_at - - score - - confidence_score - - upvote_count - - downvote_count - - controversy_score x-stream-sort-fields: - confidence_score - controversy_score - created_at - downvote_count - score - upvote_count user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' required: - filter title: Query Comments Request type: - object - 'null' Location: properties: lat: description: Latitude coordinate format: float maximum: 90 minimum: 1.8446744073709552e+19 title: Latitude type: number x-stream-index: '001' lng: description: Longitude coordinate format: float maximum: 180 minimum: 1.8446744073709552e+19 title: Longitude type: number x-stream-index: '002' required: - lat - lng title: Activity Location type: object BookmarkResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The bookmarked activity (set when object_type is activity) title: Activity x-stream-index: '004' activity_id: type: string x-stream-index: '010' comment: $ref: '#/components/schemas/CommentResponse' description: The bookmarked comment (set when object_type is comment) title: Comment x-stream-index: '005' created_at: description: When the bookmark was created format: date-time title: Created At type: number x-stream-index: 008 custom: additionalProperties: {} description: Custom data for the bookmark title: Custom Data type: object x-stream-index: '007' folder: $ref: '#/components/schemas/BookmarkFolderResponse' description: Folder containing this bookmark title: Folder x-stream-index: '006' object_id: description: ID of the bookmarked object title: Object ID type: string x-stream-index: '002' object_type: description: Type of the bookmarked object (activity or comment) title: Object Type type: string x-stream-index: '001' updated_at: description: When the bookmark was last updated format: date-time title: Updated At type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' description: User who created the bookmark title: User x-stream-index: '003' required: - object_type - object_id - user - activity - created_at - updated_at title: Bookmark type: object AddReactionRequest: properties: copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '005' create_notification_activity: description: Whether to create a notification activity for this reaction title: Create Notification Activity type: boolean x-stream-index: '004' create_users: description: 'Server-side only. If true, auto-creates the reacting user identified by user_id when they don''t already exist. Default: false.' title: Create Users type: boolean x-stream-index: 008 custom: additionalProperties: {} description: Custom data for the reaction title: Custom Data type: object x-stream-index: '003' enforce_unique: description: Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one) title: Enforce Unique type: boolean x-stream-index: '007' skip_push: type: boolean x-stream-index: '006' type: description: Type of reaction maxLength: 255 title: Reaction Type type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' required: - type title: Add Reaction Request type: - object - 'null' GetFeedVisibilityResponse: properties: duration: type: string x-stream-index: '002.001' feed_visibility: $ref: '#/components/schemas/FeedVisibilityResponse' description: Feed visibility configuration and permissions title: Feed Visibility x-stream-index: '001' required: - feed_visibility - duration title: Get Feed Visibility Response type: - object - 'null' UpdateFeedGroupRequest: properties: activity_filter: $ref: '#/components/schemas/ActivityFilterConfig' description: Activity filter configuration. Controls which activities are included in feed reads. Not supported on the notification, story, or stories built-in groups — those requests are rejected with 400. title: Activity Filter x-stream-index: '002.010' activity_processors: description: Configuration for activity processors items: $ref: '#/components/schemas/ActivityProcessorConfig' maxItems: 10 title: Activity Processors type: array x-stream-index: '002.006' activity_selectors: description: Configuration for activity selectors items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.007' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for activity aggregation title: Aggregation x-stream-index: '002.009' custom: additionalProperties: {} description: Custom data for the feed group title: Custom Data type: object x-stream-index: '002.004' default_visibility: enum: - public - visible - followers - members - private type: string x-stream-index: '002.005' notification: $ref: '#/components/schemas/NotificationConfig' description: Configuration for notifications title: Notification x-stream-index: '002.001' push_notification: $ref: '#/components/schemas/PushNotificationConfig' x-stream-index: '002.002' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for activity ranking title: Ranking x-stream-index: '002.008' stories: $ref: '#/components/schemas/StoriesConfig' description: Configuration for stories functionality title: Stories x-stream-index: '002.003' title: Update Feed Group Request type: - object - 'null' AddCommentResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: The created comment title: Comment x-stream-index: '001' duration: type: string x-stream-index: '004.001' mention_notifications_created: description: Number of mention notification activities created for mentioned users format: int32 title: Mention Notifications Created type: integer x-stream-index: '003' notification_created: description: Whether a notification activity was successfully created title: Notification Created type: boolean x-stream-index: '002' required: - comment - duration title: Add Comment Response type: - object - 'null' GetOrCreateFeedViewRequest: properties: activity_selectors: description: Configuration for selecting activities items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.001' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for aggregating activities title: Aggregation x-stream-index: '002.003' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for ranking activities title: Ranking x-stream-index: '002.002' title: Get Or Create Feed View Request type: - object - 'null' UpsertCollectionsResponse: properties: collections: description: List of upserted collections items: $ref: '#/components/schemas/CollectionResponse' title: Collections type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - collections - duration title: Upsert Collections Response type: - object - 'null' RejectFollowResponse: properties: duration: type: string x-stream-index: '002.001' follow: $ref: '#/components/schemas/FollowResponse' description: The rejected follow relationship title: Follow x-stream-index: '001' required: - follow - duration title: Reject Follow Response type: - object - 'null' DeleteCollectionsResponse: properties: duration: type: string x-stream-index: '001.001' required: - duration title: Delete Collections Response type: - object - 'null' UpsertActivitiesResponse: properties: activities: description: List of created or updated activities items: $ref: '#/components/schemas/ActivityResponse' title: Activities type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' mention_notifications_created: description: Total number of mention notification activities created for mentioned users across all activities format: int32 title: Mention Notifications Created type: integer x-stream-index: '002' required: - activities - duration title: Upsert Activities Response type: - object - 'null' FeedMemberRequest: properties: custom: additionalProperties: {} description: Custom data for the member title: Custom Data type: object x-stream-index: '004' invite: description: Whether this is an invite to become a member title: Invite type: boolean x-stream-index: '005' membership_level: description: ID of the membership level to assign to the member maxLength: 255 title: Membership Level type: string x-stream-index: '003' role: description: Role of the member in the feed maxLength: 255 title: Role type: string x-stream-index: '002' user_id: description: ID of the user to add as a member maxLength: 255 title: User ID type: string x-stream-index: '001' required: - user_id title: Feed Member Payload type: object UpdateCollectionRequest: properties: custom: additionalProperties: {} description: Custom data for the collection (required, must contain at least one key) minimum: 1 title: Custom Data type: object x-stream-index: '003' id: description: Unique identifier for the collection within its name maxLength: 128 title: ID type: string x-stream-index: '002' name: description: Name/type of the collection maxLength: 128 title: Name type: string x-stream-index: '001' required: - name - id - custom title: Update Collection Request type: object RankingConfig: properties: defaults: additionalProperties: {} description: Default values for ranking title: Defaults type: object x-stream-index: '003' functions: additionalProperties: $ref: '#/components/schemas/DecayFunctionConfig' description: Decay functions configuration title: Functions type: object x-stream-index: '004' score: description: Scoring formula. Required when type is 'expression' or 'interest' title: Score type: string x-stream-index: '002' type: description: 'Type of ranking algorithm. Required. One of: expression, interest' enum: - expression - interest title: Type type: string x-stream-index: '001' required: - type title: Ranking Configuration type: object UpdateFeedViewRequest: properties: activity_selectors: description: Updated configuration for selecting activities items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.001' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Updated configuration for aggregating activities title: Aggregation x-stream-index: '002.003' ranking: $ref: '#/components/schemas/RankingConfig' description: Updated configuration for ranking activities title: Ranking x-stream-index: '002.002' title: Update Feed View Request type: - object - 'null' CreateCollectionsRequest: properties: collections: description: List of collections to create items: $ref: '#/components/schemas/CollectionRequest' maxItems: 100 minItems: 1 title: Collections type: array x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' required: - collections title: Create Collections Request type: - object - 'null' ReadCollectionsResponse: properties: collections: description: List of collections matching the references items: $ref: '#/components/schemas/CollectionResponse' title: Collections type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - collections - duration title: Read Collections Response type: - object - 'null' ChangeFeedVisibilityResponse: properties: duration: type: string x-stream-index: '002.001' feed: $ref: '#/components/schemas/FeedResponse' description: The feed with the intended new visibility. The DB is updated asynchronously; a subsequent GET may briefly return the previous visibility until the background reconciliation task commits. Numeric fields (follower_count, member_count, pending-follow counts) reflect pre-change state and should be considered stale until reconciliation completes. title: Feed x-stream-index: '001' required: - feed - duration title: Change Feed Visibility Response type: - object - 'null' ActivityResponse: properties: attachments: description: Media attachments for the activity items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '010' bookmark_count: description: Number of bookmarks on the activity format: int32 title: Bookmark Count type: integer x-stream-index: '032' collections: additionalProperties: $ref: '#/components/schemas/EnrichedCollectionResponse' description: Enriched collection data referenced by this activity title: Collections type: object x-stream-index: '040' comment_count: description: Number of comments on the activity format: int32 title: Comment Count type: integer x-stream-index: '031' comments: description: Latest 5 comments of this activity (comment replies excluded) items: $ref: '#/components/schemas/CommentResponse' title: Comments type: array x-stream-index: 018 created_at: description: When the activity was created format: date-time title: Created At type: number x-stream-index: 008 current_feed: $ref: '#/components/schemas/FeedResponse' description: Feed context for this activity view. If an activity is added only to one feed, it's always set. If an activity is added to multiple feeds, it's only set when calling the GetOrCreateFeed endpoint. title: Current Feed x-stream-index: '043' custom: additionalProperties: {} description: Custom data for the activity title: Custom Data type: object x-stream-index: '012' deleted_at: description: When the activity was deleted format: date-time title: Deleted At type: number x-stream-index: '024' edited_at: description: When the activity was last edited format: date-time title: Edited At type: number x-stream-index: '023' expires_at: description: When the activity will expire format: date-time title: Expires At type: number x-stream-index: '025' feeds: description: List of feed IDs containing this activity items: type: string title: Feeds type: array x-stream-index: '004' filter_tags: description: Tags for filtering items: type: string title: Filter Tags type: array x-stream-index: '027' friend_reaction_count: description: Total count of reactions from friends on this activity format: int32 title: Friend Reaction Count type: integer x-stream-index: '042' friend_reactions: description: Reactions from users the current user follows or has mutual follows with items: $ref: '#/components/schemas/FeedsReactionResponse' title: Friend Reactions type: array x-stream-index: '041' hidden: description: If this activity is hidden by this user (using activity feedback) title: Hidden type: boolean x-stream-index: '044' id: description: Unique identifier for the activity title: ID type: string x-stream-index: '001' interest_tags: description: Tags for user interests items: type: string title: Interest Tags type: array x-stream-index: 028 is_read: description: Whether this activity has been read. Only set for feed groups with notification config (track_seen/track_read enabled). title: Is Read type: boolean x-stream-index: 048 is_seen: description: Whether this activity has been seen. Only set for feed groups with notification config (track_seen/track_read enabled). title: Is Seen type: boolean x-stream-index: '047' is_watched: type: boolean x-stream-index: '046' latest_reactions: description: Recent reactions to the activity items: $ref: '#/components/schemas/FeedsReactionResponse' title: Latest Reactions type: array x-stream-index: '036' location: $ref: '#/components/schemas/Location' description: Geographic location related to the activity title: Location x-stream-index: '020' mentioned_users: description: Users mentioned in the activity items: $ref: '#/components/schemas/UserResponse' title: Mentioned Users type: array x-stream-index: '011' metrics: additionalProperties: format: int64 type: integer type: object x-stream-index: '035' moderation: $ref: '#/components/schemas/ModerationV2Response' description: Moderation information title: Moderation x-stream-index: 029 moderation_action: type: string x-stream-index: '030' notification_context: $ref: '#/components/schemas/NotificationContext' description: Notification context data for the activity (if this is a reaction, comment, follow, etc.) title: Notification Context x-stream-index: '013' own_bookmarks: description: Current user's bookmarks for this activity items: $ref: '#/components/schemas/BookmarkResponse' title: Own Bookmarks type: array x-stream-index: 039 own_reactions: description: Current user's reactions to this activity items: $ref: '#/components/schemas/FeedsReactionResponse' title: Own Reactions type: array x-stream-index: 038 parent: $ref: '#/components/schemas/ActivityResponse' description: Parent activity (if this is a reply/comment) title: Parent x-stream-index: '021' poll: $ref: '#/components/schemas/PollResponseData' description: Poll attached to this activity title: Poll x-stream-index: '022' popularity: description: Popularity score of the activity format: int32 title: Popularity type: integer x-stream-index: '014' preview: description: If this activity is obfuscated for this user. For premium content where you want to show a preview title: Preview type: boolean x-stream-index: '045' reaction_count: description: Number of reactions to the activity format: int32 title: Reaction Count type: integer x-stream-index: '034' reaction_groups: additionalProperties: $ref: '#/components/schemas/FeedsReactionGroupResponse' description: Grouped reactions by type title: Reaction Groups type: object x-stream-index: '037' restrict_replies: description: 'Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody' enum: - everyone - people_i_follow - nobody title: Restrict Replies type: string x-stream-index: '007' score: description: Ranking score for this activity format: float title: Score type: number x-stream-index: '015' score_vars: additionalProperties: {} description: Variable values used at ranking time. Only included when include_score_vars is enabled in enrichment options. title: Score Variables type: object x-stream-index: '016' search_data: additionalProperties: {} description: Data for search indexing title: Search Data type: object x-stream-index: '026' selector_source: description: Which activity selector provided this activity (e.g., 'following', 'popular', 'interest'). Only set when using multiple activity selectors with ranking. title: Selector Source type: string x-stream-index: '017' share_count: description: Number of times the activity was shared format: int32 title: Share Count type: integer x-stream-index: '033' text: description: Text content of the activity title: Text type: string x-stream-index: 019 type: description: Type of activity title: Type type: string x-stream-index: '002' updated_at: description: When the activity was last updated format: date-time title: Updated At type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' description: User who created the activity title: User x-stream-index: '003' visibility: description: 'Visibility setting for the activity. One of: public, private, tag' enum: - public - private - tag title: Visibility type: string x-stream-index: '005' visibility_tag: description: If visibility is 'tag', this is the tag name title: Visibility Tag type: string x-stream-index: '006' required: - id - type - user - feeds - visibility - restrict_replies - created_at - updated_at - attachments - mentioned_users - custom - popularity - score - comments - search_data - filter_tags - interest_tags - comment_count - bookmark_count - share_count - reaction_count - latest_reactions - reaction_groups - own_reactions - own_bookmarks - collections - hidden - preview title: Base Activity type: object FeedSuggestionResponse: properties: activity_count: format: int32 type: integer x-stream-index: '001.014' algorithm_scores: additionalProperties: format: float type: number type: object x-stream-index: '004' created_at: description: When the feed was created format: date-time title: Created At type: number x-stream-index: '001.020' created_by: $ref: '#/components/schemas/UserResponse' description: User who created the feed title: Created By x-stream-index: '001.010' custom: additionalProperties: {} description: Custom data for the feed title: Custom Data type: object x-stream-index: '001.006' deleted_at: description: When the feed was deleted format: date-time title: Deleted At type: number x-stream-index: '001.022' description: description: Description of the feed title: Description type: string x-stream-index: '001.005' feed: description: Fully qualified feed ID (group_id:id) title: FID type: string x-stream-index: '001.003' filter_tags: description: Tags used for filtering feeds items: type: string title: Filter Tags type: array x-stream-index: '001.008' follower_count: description: Number of followers of this feed format: int32 title: Follower Count type: integer x-stream-index: '001.012' following_count: description: Number of feeds this feed follows format: int32 title: Following Count type: integer x-stream-index: '001.013' group_id: description: Group this feed belongs to title: Group ID type: string x-stream-index: '001.001' id: description: Unique identifier for the feed title: ID type: string x-stream-index: '001.002' location: $ref: '#/components/schemas/Location' description: Geographic location for the feed title: Location x-stream-index: '001.007' member_count: description: Number of members in this feed format: int32 title: Member Count type: integer x-stream-index: '001.011' name: description: Name of the feed title: Name type: string x-stream-index: '001.004' own_capabilities: description: Capabilities the current user has for this feed items: $ref: '#/components/schemas/FeedOwnCapability' title: Own Capabilities type: array x-stream-index: '001.018' own_followings: description: Follow relationships where the feed owner’s feeds are following the current user's feeds items: $ref: '#/components/schemas/FollowResponse' title: Own Followings type: array x-stream-index: '001.017' own_follows: description: Follow relationships where the current user's feeds are following this feed items: $ref: '#/components/schemas/FollowResponse' title: Own Follows type: array x-stream-index: '001.016' own_membership: $ref: '#/components/schemas/FeedMemberResponse' description: Membership information for the current user in this feed title: Own Membership x-stream-index: '001.019' pin_count: description: Number of pinned activities in this feed format: int32 title: Pin Count type: integer x-stream-index: '001.015' reason: type: string x-stream-index: '003' recommendation_score: format: float type: number x-stream-index: '002' updated_at: description: When the feed was last updated format: date-time title: Updated At type: number x-stream-index: '001.021' visibility: description: Visibility setting for the feed enum: - public - visible - followers - members - private title: Visibility type: string x-stream-index: '001.009' required: - group_id - id - feed - name - description - created_by - member_count - follower_count - following_count - activity_count - pin_count - created_at - updated_at title: Feed type: object UpdateActivityPartialResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The updated activity title: ActivityResponse x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activity - duration type: - object - 'null' FeedViewResponse: properties: activity_selectors: description: Configured activity selectors items: $ref: '#/components/schemas/ActivitySelectorConfigResponse' title: Activity Selectors type: array x-stream-index: '002' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for activity aggregation title: Aggregation x-stream-index: '004' id: description: Unique identifier for the custom feed view title: View ID type: string x-stream-index: '001' last_used_at: description: When the feed view was last used format: date-time title: Last Used At type: number x-stream-index: '005' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for activity ranking title: Ranking x-stream-index: '003' required: - id title: Feed View type: object DeleteFeedUserDataResponse: description: Response for deleting feed user data properties: duration: type: string x-stream-index: '002.001' task_id: description: The task ID for the deletion task title: Task ID type: string x-stream-index: '001' required: - task_id - duration type: - object - 'null' PushNotificationConfig: properties: enable_push: description: Whether push notifications are enabled for this feed group title: Enable Push type: boolean x-stream-index: '001' push_types: description: List of notification types that should trigger push notifications (e.g., follow, comment, reaction, comment_reaction, mention) items: type: string title: Push Types type: array x-stream-index: '002' title: Push Notification Configuration type: object QueryFeedsResponse: properties: duration: type: string x-stream-index: '003.001' feeds: description: List of feeds matching the query items: $ref: '#/components/schemas/FeedResponse' title: Feeds type: array x-stream-index: '001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - feeds - duration title: Query Feeds Response type: - object - 'null' GetFollowSuggestionsResponse: properties: algorithm_used: type: string x-stream-index: '002' duration: type: string x-stream-index: '003.001' suggestions: description: List of suggested feeds to follow items: $ref: '#/components/schemas/FeedSuggestionResponse' title: Suggestions type: array x-stream-index: '001' required: - suggestions - duration title: Follow Suggestions Response type: - object - 'null' QueryFollowsResponse: properties: duration: type: string x-stream-index: '003.001' follows: description: List of follow relationships matching the query items: $ref: '#/components/schemas/FollowResponse' title: Follows type: array x-stream-index: '001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - follows - duration title: Query Follows Response type: - object - 'null' PagerRequest: properties: limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '001' next: type: string x-stream-index: '002' prev: type: string x-stream-index: '003' type: object NotificationTrigger: properties: comment: $ref: '#/components/schemas/NotificationComment' description: Information about the comment that triggered the notification (for comment and comment_reply types) title: Comment x-stream-index: '003' custom: additionalProperties: {} description: Custom data from the trigger object (comment, reaction, etc.) title: Custom Data type: object x-stream-index: '004' text: description: Human-readable text describing the notification title: Notification Text type: string x-stream-index: '002' type: description: The type of notification (mention, reaction, comment, follow, etc.) title: Notification Type type: string x-stream-index: '001' required: - type - text title: NotificationTrigger type: object QueryFeedsRequest: properties: enrich_own_fields: type: boolean x-stream-index: '004' filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '003' watch: description: Whether to subscribe to realtime updates title: Watch type: boolean x-stream-index: '002' title: Query Feeds Request type: - object - 'null' TrackActivityMetricsEvent: description: A single metric event to track for an activity properties: activity_id: description: The ID of the activity to track the metric for maxLength: 255 title: Activity ID type: string x-stream-index: '001' delta: description: The amount to increment (positive) or decrement (negative). Defaults to 1. The absolute value counts against rate limits. format: int64 title: Delta type: integer x-stream-index: '003' metric: description: The metric name (e.g. views, clicks, impressions). Alphanumeric and underscores only. maxLength: 64 title: Metric type: string x-stream-index: '002' required: - activity_id - metric title: Track Activity Metrics Event type: object UpdateFeedGroupResponse: properties: duration: type: string x-stream-index: '002.001' feed_group: $ref: '#/components/schemas/FeedGroupResponse' description: The updated feed group title: Feed Group x-stream-index: '001' required: - feed_group - duration title: Update Feed Group Response type: - object - 'null' AddCommentsBatchRequest: properties: comments: description: List of comments to add items: $ref: '#/components/schemas/AddCommentRequest' title: Comments type: array x-stream-index: '001' required: - comments title: Add Comments Batch Request type: - object - 'null' RevisionHistoryResponse: properties: action_type: type: string x-stream-index: '004' actor_type: type: string x-stream-index: '005' changed_fields: items: type: string type: array x-stream-index: '006' created_at: format: date-time type: number x-stream-index: 008 object_id: type: string x-stream-index: '001' object_type: type: string x-stream-index: '002' previous_obj_serialized: readOnly: true type: object x-stream-index: '007' user_id: type: string x-stream-index: '003' required: - object_id - object_type - user_id - action_type - actor_type - created_at type: - object - 'null' GetOrCreateFeedViewResponse: properties: duration: type: string x-stream-index: '003.001' feed_view: $ref: '#/components/schemas/FeedViewResponse' description: The feed view (either existing or newly created) title: Feed View x-stream-index: '001' was_created: description: Indicates whether the feed view was newly created (true) or already existed (false) title: Was Created type: boolean x-stream-index: '002' required: - feed_view - was_created - duration title: Get Or Create Feed View Response type: - object - 'null' NotificationStatusResponse: properties: last_read_at: description: When notifications were last read format: date-time title: Last Read At type: number x-stream-index: '006' last_seen_at: description: When notifications were last seen format: date-time title: Last Seen At type: number x-stream-index: '005' read_activities: description: 'Deprecated: use is_read on each activity/group instead. IDs of activities that have been read. Capped at ~101 entries for aggregated feeds.' items: type: string title: Read Activities type: array x-stream-index: '003' seen_activities: description: 'Deprecated: use is_seen on each activity/group instead. IDs of activities that have been seen. Capped at ~101 entries for aggregated feeds.' items: type: string title: Seen Activities type: array x-stream-index: '004' unread: description: Number of unread notifications format: int32 title: Unread type: integer x-stream-index: '001' unseen: description: Number of unseen notifications format: int32 title: Unseen type: integer x-stream-index: '002' required: - unread - unseen title: Notification Status type: object TrackActivityMetricsEventResult: description: Result of tracking a single metric event properties: activity_id: description: The activity ID from the request title: Activity ID type: string x-stream-index: '001' allowed: description: Whether the metric was counted (false if rate-limited) title: Allowed type: boolean x-stream-index: '003' error: description: Error message if processing failed title: Error type: string x-stream-index: '004' metric: description: The metric name from the request title: Metric type: string x-stream-index: '002' required: - activity_id - metric - allowed title: Track Activity Metrics Event Result type: object FeedVisibilityResponse: properties: grants: additionalProperties: items: type: string type: array description: Permission grants for each role title: Grants type: object x-stream-index: '002' name: description: Name of the feed visibility level title: Name type: string x-stream-index: '001' permissions: description: List of permission policies items: $ref: '#/components/schemas/Permission' title: Permissions type: array x-stream-index: '003' required: - name - grants - permissions title: Feed Visibility Response type: object CreateFeedGroupRequest: properties: activity_filter: $ref: '#/components/schemas/ActivityFilterConfig' description: Activity filter configuration. Controls which activities are included in feed reads. Not supported on the notification, story, or stories built-in groups — those requests are rejected with 400. title: Activity Filter x-stream-index: '002.010' activity_processors: description: Configuration for activity processors items: $ref: '#/components/schemas/ActivityProcessorConfig' maxItems: 10 title: Activity Processors type: array x-stream-index: '002.006' activity_selectors: description: Configuration for activity selectors items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.007' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for activity aggregation title: Aggregation x-stream-index: '002.009' custom: additionalProperties: {} description: Custom data for the feed group title: Custom Data type: object x-stream-index: '002.004' default_visibility: description: 'Default visibility for the feed group, can be ''public'', ''visible'', ''followers'', ''members'', or ''private''. Defaults to ''visible'' if not provided. ' enum: - public - visible - followers - members - private title: Default Visibility type: string x-stream-index: '002.005' id: description: Unique identifier for the feed group maxLength: 255 title: Feed Group ID type: string x-stream-index: '001' notification: $ref: '#/components/schemas/NotificationConfig' description: Configuration for notifications title: Notification x-stream-index: '002.001' push_notification: $ref: '#/components/schemas/PushNotificationConfig' x-stream-index: '002.002' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for activity ranking title: Ranking x-stream-index: '002.008' stories: $ref: '#/components/schemas/StoriesConfig' description: Configuration for stories functionality title: Stories x-stream-index: '002.003' required: - id title: Create Feed Group Request type: - object - 'null' UpdateBookmarkFolderRequest: properties: custom: additionalProperties: {} description: Custom data for the folder title: Custom Data type: object x-stream-index: '003' name: description: Name of the folder maxLength: 255 title: Name type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' title: Update Bookmark Folder Request type: - object - 'null' UpdateActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The updated activity title: ActivityResponse x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activity - duration type: - object - 'null' UpdateMembershipLevelRequest: description: Partial update request for membership level fields. Only specified fields will be updated. properties: custom: additionalProperties: {} description: Custom data for the membership level title: Custom Data type: object x-stream-index: '006' description: description: Optional description of the membership level maxLength: 1000 title: Description type: string x-stream-index: '003' name: description: Display name for the membership level maxLength: 255 title: Name type: string x-stream-index: '002' priority: description: Priority level (higher numbers = higher priority) format: int32 minimum: 0 title: Priority type: integer x-stream-index: '004' tags: description: Activity tags this membership level gives access to items: type: string title: Tags type: array x-stream-index: '005' title: Update Membership Level Request type: - object - 'null' Images: properties: fixed_height: $ref: '#/components/schemas/ImageData' x-stream-index: '002' fixed_height_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '004' fixed_height_still: $ref: '#/components/schemas/ImageData' x-stream-index: '003' fixed_width: $ref: '#/components/schemas/ImageData' x-stream-index: '005' fixed_width_downsampled: $ref: '#/components/schemas/ImageData' x-stream-index: '007' fixed_width_still: $ref: '#/components/schemas/ImageData' x-stream-index: '006' original: $ref: '#/components/schemas/ImageData' x-stream-index: '001' required: - original - fixed_height - fixed_height_still - fixed_height_downsampled - fixed_width - fixed_width_still - fixed_width_downsampled type: object NotificationComment: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: '004' comment: type: string x-stream-index: '003' id: type: string x-stream-index: '001' user_id: type: string x-stream-index: '002' required: - id - user_id - comment type: object QueryMembershipLevelsRequest: properties: filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' title: Query Membership Levels Request type: - object - 'null' GetOrCreateFeedResponse: description: Basic response information properties: activities: items: $ref: '#/components/schemas/ActivityResponse' type: array x-stream-index: '002' aggregated_activities: items: $ref: '#/components/schemas/AggregatedActivityResponse' type: array x-stream-index: '003' created: type: boolean x-stream-index: '012' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '014.001' feed: $ref: '#/components/schemas/FeedResponse' x-stream-index: '001' followers: items: $ref: '#/components/schemas/FollowResponse' type: array x-stream-index: '005' followers_pagination: $ref: '#/components/schemas/PagerResponse' x-stream-index: 009 following: items: $ref: '#/components/schemas/FollowResponse' type: array x-stream-index: '006' following_pagination: $ref: '#/components/schemas/PagerResponse' x-stream-index: '010' member_pagination: $ref: '#/components/schemas/PagerResponse' x-stream-index: 008 members: items: $ref: '#/components/schemas/FeedMemberResponse' type: array x-stream-index: '004' next: type: string x-stream-index: '013.001' notification_status: $ref: '#/components/schemas/NotificationStatusResponse' x-stream-index: '011' pinned_activities: items: $ref: '#/components/schemas/ActivityPinResponse' type: array x-stream-index: '007' prev: type: string x-stream-index: '013.002' required: - feed - activities - aggregated_activities - members - followers - following - pinned_activities - created - duration title: Response type: - object - 'null' CreateMembershipLevelResponse: properties: duration: type: string x-stream-index: '002.001' membership_level: $ref: '#/components/schemas/MembershipLevelResponse' description: The created membership level title: Membership Level x-stream-index: '001' required: - membership_level - duration title: Create Membership Level Response type: - object - 'null' AggregatedActivityResponse: properties: activities: description: List of activities in this aggregation items: $ref: '#/components/schemas/ActivityResponse' title: Activities type: array x-stream-index: '001' activity_count: description: Number of activities in this aggregation format: int32 title: Activity Count type: integer x-stream-index: '002' created_at: description: When the aggregation was created format: date-time title: Created At type: number x-stream-index: '007' group: description: Grouping identifier title: Group type: string x-stream-index: '005' is_read: description: Whether this aggregated group has been read. Only set for feed groups with notification config (track_seen/track_read enabled). title: Is Read type: boolean x-stream-index: '011' is_seen: description: Whether this aggregated group has been seen. Only set for feed groups with notification config (track_seen/track_read enabled). title: Is Seen type: boolean x-stream-index: '010' is_watched: type: boolean x-stream-index: 009 score: description: Ranking score for this aggregation format: float title: Score type: number x-stream-index: '006' updated_at: description: When the aggregation was last updated format: date-time title: Updated At type: number x-stream-index: 008 user_count: description: Number of unique users in this aggregation format: int32 title: User Count type: integer x-stream-index: '003' user_count_truncated: description: Whether this activity group has been truncated due to exceeding the group size limit title: User Count Truncated type: boolean x-stream-index: '004' required: - activities - activity_count - user_count - user_count_truncated - group - score - created_at - updated_at title: Aggregated Activity type: object FollowRequest: properties: activity_copy_limit: description: '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.' format: int32 maximum: 1000 minimum: 0 title: Activity Copy Limit type: integer x-stream-index: 008 copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '005' create_notification_activity: description: Whether to create a notification activity for this follow title: Create Notification Activity type: boolean x-stream-index: '004' create_users: description: If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. For FollowBatch/GetOrCreateFollows, use the top-level create_users field; per-item follows[i].create_users is rejected. title: Create Users type: boolean x-stream-index: '010' custom: additionalProperties: {} description: Custom data for the follow relationship title: Custom Data type: object x-stream-index: '002' enrich_own_fields: description: 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. title: Enrich Own Fields type: boolean x-stream-index: 009 push_preference: description: Push preference for the follow relationship enum: - all - none title: Push Preference type: string x-stream-index: '003' skip_push: description: Whether to skip push for this follow title: Skip Push type: boolean x-stream-index: '006' source: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed type: string x-stream-index: '001.001' status: description: 'Status of the follow relationship. One of: accepted, pending, rejected' enum: - accepted - pending - rejected title: Status type: string x-stream-index: '007' target: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed type: string x-stream-index: '001.002' required: - source - target title: Follow Request type: - object - 'null' CreateMembershipLevelRequest: properties: custom: additionalProperties: {} description: Custom data for the membership level title: Custom Data type: object x-stream-index: '006' description: description: Optional description of the membership level maxLength: 1000 title: Description type: string x-stream-index: '003' id: description: Unique identifier for the membership level maxLength: 255 title: ID type: string x-stream-index: '001' name: description: Display name for the membership level maxLength: 255 title: Name type: string x-stream-index: '002' priority: description: Priority level (higher numbers = higher priority) format: int32 minimum: 0 title: Priority type: integer x-stream-index: '004' tags: description: Activity tags this membership level gives access to items: type: string title: Tags type: array x-stream-index: '005' required: - id - name title: Create Membership Level Request type: - object - 'null' AddCommentBookmarkRequest: properties: custom: additionalProperties: {} description: Custom data for the bookmark title: Custom Data type: object x-stream-index: '004' folder_id: description: ID of the folder to add the bookmark to maxLength: 255 title: Folder ID type: string x-stream-index: '002' new_folder: $ref: '#/components/schemas/AddFolderRequest' description: Create a new folder for this bookmark title: New Folder x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' title: Add Comment Bookmark Request type: - object - 'null' RestoreCommentRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' title: Restore Comment Request type: - object - 'null' GetCommentRepliesResponse: properties: comments: description: Threaded listing of replies to the comment items: $ref: '#/components/schemas/ThreadedCommentResponse' title: Comments type: array x-stream-index: '001' duration: type: string x-stream-index: '004.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' sort: description: Sort order used for the replies (first, last, top, best, controversial) title: Sort Order type: string x-stream-index: '002' required: - comments - sort - duration title: Get Comment Replies Response type: - object - 'null' ExportFeedUserDataResponse: description: Response for exporting feed user data properties: duration: type: string x-stream-index: '002.001' task_id: description: The task ID for the export task title: Task ID type: string x-stream-index: '001' required: - task_id - duration type: - object - 'null' UpdateBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The updated bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Update Bookmark Response type: - object - 'null' QueryBookmarkFoldersRequest: properties: filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '002' title: Query Bookmark Folders Request type: - object - 'null' ReadReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object FriendReactionsOptions: description: Options to control fetching reactions from friends (users you follow or have mutual follows with). properties: enabled: description: 'Default: false. When true, fetches friend reactions for activities.' title: Enabled type: boolean x-stream-index: '001' limit: description: 'Default: 3, Max: 10. The maximum number of friend reactions to return per activity.' format: int32 maximum: 10 minimum: 1 title: Limit type: integer x-stream-index: '003' type: description: 'Default: ''following''. The type of friend relationship to use. ''following'' = users you follow, ''mutual'' = users with mutual follows. One of: following, mutual' enum: - following - mutual title: Friend Type type: string x-stream-index: '002' title: Friend Reactions Options type: object APIError: properties: StatusCode: description: Response HTTP status code format: int32 title: Status code type: integer x-stream-index: '004' code: description: API error code format: int32 title: Code type: integer x-stream-index: '001' details: description: Additional error-specific information items: type: integer title: Details type: array x-stream-index: '007' duration: description: Request duration title: Duration type: string x-stream-index: '005' exception_fields: additionalProperties: type: string description: Additional error info title: Exception fields type: object x-stream-index: '003' message: description: Message describing an error title: Message type: string x-stream-index: '002' more_info: description: URL with additional information title: More info type: string x-stream-index: '006' unrecoverable: description: Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it title: Unrecoverable type: boolean x-stream-index: 008 required: - code - message - StatusCode - duration - more_info - details title: Error response type: - object - 'null' UnpinActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The unpinned activity title: Activity x-stream-index: '001' duration: type: string x-stream-index: '004.001' feed: description: Fully qualified ID of the feed the activity was unpinned from title: Feed ID type: string x-stream-index: '002' user_id: description: ID of the user who unpinned the activity title: User ID type: string x-stream-index: '003' required: - activity - feed - user_id - duration title: Unpin Activity Response type: - object - 'null' QueryCommentReactionsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' reactions: items: $ref: '#/components/schemas/FeedsReactionResponse' type: array x-stream-index: '001' required: - reactions - duration title: Response type: - object - 'null' QueryCommentReactionsRequest: properties: filter: additionalProperties: {} type: object x-stream-index: '002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 type: array x-stream-index: '003' type: - object - 'null' CreateFeedGroupResponse: properties: duration: type: string x-stream-index: '002.001' feed_group: $ref: '#/components/schemas/FeedGroupResponse' description: The upserted feed group title: Feed Group x-stream-index: '001' required: - feed_group - duration title: Upsert Feed Group Response type: - object - 'null' OwnBatchResponse: properties: data: additionalProperties: $ref: '#/components/schemas/FeedOwnData' description: Map of feed ID to own fields data title: Data type: object x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - data - duration title: Own Batch Response type: - object - 'null' ListFeedGroupsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '002.001' groups: additionalProperties: $ref: '#/components/schemas/FeedGroupResponse' type: object x-stream-index: '001' required: - groups - duration title: Response type: - object - 'null' UnfollowBatchResponse: properties: duration: type: string x-stream-index: '002.001' follows: description: List of follow relationships that were removed items: $ref: '#/components/schemas/FollowResponse' title: Follows type: array x-stream-index: '001' required: - follows - duration title: Unfollow Batch Response type: - object - 'null' UpsertActivitiesRequest: properties: activities: description: List of activities to create or update items: $ref: '#/components/schemas/ActivityRequest' maxItems: 100 minItems: 1 title: Activities type: array x-stream-index: '001' create_users: description: 'Server-side only. If true, auto-creates users referenced by activity user_id values that don''t already exist. Default: false.' title: Create Users type: boolean x-stream-index: '004' enrich_own_fields: description: If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '002' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: '003' required: - activities title: Upsert Activities Request type: - object - 'null' AddCommentReactionResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: The comment the reaction was added to title: Comment x-stream-index: '001' duration: description: Duration of the request title: Duration type: string x-stream-index: '004.001' notification_created: description: Whether a notification activity was successfully created title: Notification Created type: boolean x-stream-index: '003' reaction: $ref: '#/components/schemas/FeedsReactionResponse' description: The created or updated reaction title: Reaction x-stream-index: '002' required: - comment - reaction - duration type: - object - 'null' AddBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The created bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Add Bookmark Response type: - object - 'null' QueryActivityReactionsResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' reactions: items: $ref: '#/components/schemas/FeedsReactionResponse' type: array x-stream-index: '001' required: - reactions - duration title: Response type: - object - 'null' ModerationV2Response: properties: action: type: string x-stream-index: '001' blocklist_matched: type: string x-stream-index: '005' blocklists_matched: items: type: string type: array x-stream-index: '006' image_harms: items: type: string type: array x-stream-index: '004' original_text: type: string x-stream-index: '002' platform_circumvented: type: boolean x-stream-index: 008 semantic_filter_matched: type: string x-stream-index: '007' text_harms: items: type: string type: array x-stream-index: '003' required: - action - original_text type: object AddFolderRequest: properties: custom: additionalProperties: {} description: Custom data for the folder title: Custom Data type: object x-stream-index: '002' name: description: Name of the folder maxLength: 255 title: Name type: string x-stream-index: '001' required: - name title: Add Folder Request type: object RejectFollowRequest: properties: source: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed ID type: string x-stream-index: '001' target: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed ID type: string x-stream-index: '002' required: - source - target title: Reject Follow Request type: - object - 'null' GetOrCreateFeedGroupResponse: properties: duration: type: string x-stream-index: '003.001' feed_group: $ref: '#/components/schemas/FeedGroupResponse' description: The feed group that was retrieved or created title: Feed Group x-stream-index: '001' was_created: description: Indicates whether the feed group was created (true) or already existed (false) title: Was Created type: boolean x-stream-index: '002' required: - feed_group - was_created - duration title: Get Or Create Feed Group Response type: - object - 'null' UpdateFollowResponse: properties: duration: type: string x-stream-index: '002.001' follow: $ref: '#/components/schemas/FollowResponse' description: Details of the updated follow relationship title: Follow x-stream-index: '001' required: - follow - duration title: Update Follow Response type: - object - 'null' LimitInfoResponse: properties: limit: description: The maximum number of API calls allowed per time window format: int64 title: Limit type: integer x-stream-index: '001' remaining: description: The number of remaining calls in the current window format: int64 title: Remaining type: integer x-stream-index: '002' reset: description: The Unix timestamp when the rate limit resets format: int64 title: Reset type: integer x-stream-index: '003' required: - limit - remaining - reset title: LimitInfo type: object x-stream-docs-page-id: rate_limits QueryPinnedActivitiesResponse: properties: duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' pinned_activities: description: List of pinned activities matching the query items: $ref: '#/components/schemas/ActivityPinResponse' title: Pinned Activities type: array x-stream-index: '001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - pinned_activities - duration title: Query Pinned Activities Response type: - object - 'null' UpdateBookmarkRequest: properties: custom: additionalProperties: {} description: Custom data for the bookmark title: Custom Data type: object x-stream-index: '005' folder_id: description: ID of the folder containing the bookmark maxLength: 255 title: Folder ID type: string x-stream-index: '002' new_folder: $ref: '#/components/schemas/AddFolderRequest' description: Create a new folder and move the bookmark into it title: New Folder x-stream-index: '004' new_folder_id: description: Move the bookmark to this folder (empty string removes the folder) maxLength: 255 title: New Folder ID type: string x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '006.002' user_id: type: string x-stream-index: '006.001' title: Update Bookmark Request type: - object - 'null' GetOrCreateFeedRequest: description: Client request properties: data: $ref: '#/components/schemas/FeedInput' x-stream-index: '003' enrichment_options: $ref: '#/components/schemas/EnrichmentOptions' x-stream-index: '012' external_ranking: additionalProperties: {} type: object x-stream-index: '006' filter: additionalProperties: {} type: object x-stream-index: 008 followers_pagination: $ref: '#/components/schemas/PagerRequest' x-stream-index: '010' following_pagination: $ref: '#/components/schemas/PagerRequest' x-stream-index: '011' friend_reactions_options: $ref: '#/components/schemas/FriendReactionsOptions' x-stream-index: '013' id_around: type: string x-stream-index: '015.004' interest_weights: additionalProperties: format: float type: number type: object x-stream-index: '007' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '015.001' member_pagination: $ref: '#/components/schemas/PagerRequest' x-stream-index: 009 next: type: string x-stream-index: '015.002' prev: type: string x-stream-index: '015.003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '016.002' user_id: type: string x-stream-index: '016.001' view: type: string x-stream-index: '005' watch: type: boolean x-stream-index: '004' title: ClientRequest type: - object - 'null' UpdateCommentResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: The updated comment title: Comment x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - comment - duration title: Update Comment Response type: - object - 'null' RestoreActivityRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' title: Restore Activity Request type: - object - 'null' CreateCollectionsResponse: properties: collections: description: List of created collections items: $ref: '#/components/schemas/CollectionResponse' title: Collections type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - collections - duration title: Create Collections Response type: - object - 'null' AcceptFollowResponse: properties: duration: type: string x-stream-index: '002.001' follow: $ref: '#/components/schemas/FollowResponse' description: The accepted follow relationship title: Follow x-stream-index: '001' required: - follow - duration title: Accept Follow Response type: - object - 'null' StoriesConfig: properties: skip_watched: description: Whether to skip already watched stories title: Skip Watched type: boolean x-stream-index: '001' track_watched: description: Whether to track watched status for stories title: Track Watched type: boolean x-stream-index: '002' title: Stories Configuration type: object UnfollowBatchRequest: properties: delete_notification_activity: description: 'Whether to delete the corresponding notification activity (default: false)' title: Delete Notification Activity type: boolean x-stream-index: '002' enrich_own_fields: description: 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. title: Enrich Own Fields type: boolean x-stream-index: '003' follows: description: List of follow relationships to remove, each with optional keep_history items: $ref: '#/components/schemas/UnfollowPair' maxItems: 100 minItems: 1 title: Follows type: array x-stream-index: '001' required: - follows title: Unfollow Batch Request type: - object - 'null' MembershipLevelResponse: properties: created_at: description: When the membership level was created format: date-time title: Created At type: number x-stream-index: '007' custom: additionalProperties: {} description: Custom data for the membership level title: Custom Data type: object x-stream-index: '006' description: description: Description of the membership level title: Description type: string x-stream-index: '003' id: description: Unique identifier for the membership level title: ID type: string x-stream-index: '001' name: description: Display name for the membership level title: Name type: string x-stream-index: '002' priority: description: Priority level format: int32 title: Priority type: integer x-stream-index: '004' tags: description: Activity tags this membership level gives access to items: type: string title: Tags type: array x-stream-index: '005' updated_at: description: When the membership level was last updated format: date-time title: Updated At type: number x-stream-index: 008 required: - id - name - priority - tags - created_at - updated_at title: Membership Level Response type: object UpdateBookmarkFolderResponse: properties: bookmark_folder: $ref: '#/components/schemas/BookmarkFolderResponse' description: The updated bookmark folder title: Bookmark Folder x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark_folder - duration title: Update Bookmark Folder Response type: - object - 'null' FeedResponse: properties: activity_count: format: int32 type: integer x-stream-index: '014' created_at: description: When the feed was created format: date-time title: Created At type: number x-stream-index: '020' created_by: $ref: '#/components/schemas/UserResponse' description: User who created the feed title: Created By x-stream-index: '010' custom: additionalProperties: {} description: Custom data for the feed title: Custom Data type: object x-stream-index: '006' deleted_at: description: When the feed was deleted format: date-time title: Deleted At type: number x-stream-index: '022' description: description: Description of the feed title: Description type: string x-stream-index: '005' feed: description: Fully qualified feed ID (group_id:id) title: FID type: string x-stream-index: '003' filter_tags: description: Tags used for filtering feeds items: type: string title: Filter Tags type: array x-stream-index: 008 follower_count: description: Number of followers of this feed format: int32 title: Follower Count type: integer x-stream-index: '012' following_count: description: Number of feeds this feed follows format: int32 title: Following Count type: integer x-stream-index: '013' group_id: description: Group this feed belongs to title: Group ID type: string x-stream-index: '001' id: description: Unique identifier for the feed title: ID type: string x-stream-index: '002' location: $ref: '#/components/schemas/Location' description: Geographic location for the feed title: Location x-stream-index: '007' member_count: description: Number of members in this feed format: int32 title: Member Count type: integer x-stream-index: '011' name: description: Name of the feed title: Name type: string x-stream-index: '004' own_capabilities: description: Capabilities the current user has for this feed items: $ref: '#/components/schemas/FeedOwnCapability' title: Own Capabilities type: array x-stream-index: 018 own_followings: description: Follow relationships where the feed owner’s feeds are following the current user's feeds items: $ref: '#/components/schemas/FollowResponse' title: Own Followings type: array x-stream-index: '017' own_follows: description: Follow relationships where the current user's feeds are following this feed items: $ref: '#/components/schemas/FollowResponse' title: Own Follows type: array x-stream-index: '016' own_membership: $ref: '#/components/schemas/FeedMemberResponse' description: Membership information for the current user in this feed title: Own Membership x-stream-index: 019 pin_count: description: Number of pinned activities in this feed format: int32 title: Pin Count type: integer x-stream-index: '015' updated_at: description: When the feed was last updated format: date-time title: Updated At type: number x-stream-index: '021' visibility: description: Visibility setting for the feed enum: - public - visible - followers - members - private title: Visibility type: string x-stream-index: 009 required: - group_id - id - feed - name - description - created_by - member_count - follower_count - following_count - activity_count - pin_count - created_at - updated_at title: Feed type: object RestoreActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The restored activity with full enrichment title: Activity x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activity - duration title: Restore Activity Response type: - object - 'null' UpdateFeedViewResponse: properties: duration: type: string x-stream-index: '002.001' feed_view: $ref: '#/components/schemas/FeedViewResponse' description: The updated feed view title: Feed View x-stream-index: '001' required: - feed_view - duration title: Update Feed View Response type: - object - 'null' DecayFunctionConfig: properties: base: description: Base value for decay function title: Base type: string x-stream-index: '001' decay: description: Decay rate title: Decay type: string x-stream-index: '005' direction: description: Direction of decay title: Direction type: string x-stream-index: '006' offset: description: Offset value for decay function title: Offset type: string x-stream-index: '004' origin: description: Origin value for decay function title: Origin type: string x-stream-index: '002' scale: description: Scale factor for decay function title: Scale type: string x-stream-index: '003' title: Decay Function Configuration type: object RestoreFeedGroupResponse: properties: duration: type: string x-stream-index: '002.001' feed_group: $ref: '#/components/schemas/FeedGroupResponse' description: The restored feed group title: Feed Group x-stream-index: '001' required: - feed_group - duration title: Restore Feed Group Response type: - object - 'null' UpsertCollectionsRequest: properties: collections: description: List of collections to upsert (insert if new, update if existing) items: $ref: '#/components/schemas/CollectionRequest' maxItems: 100 minItems: 1 title: Collections type: array x-stream-index: '001' required: - collections title: Upsert Collections Request type: - object - 'null' DeleteActivitiesRequest: properties: delete_notification_activity: description: Whether to also delete any notification activities created from mentions in these activities title: Delete Notification Activity type: boolean x-stream-index: '003' hard_delete: description: Whether to permanently delete the activities title: Hard Delete type: boolean x-stream-index: '002' ids: description: List of activity IDs to delete items: type: string maxItems: 100 minItems: 1 title: Activity IDs type: array x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' required: - ids title: Delete Activities Request type: - object - 'null' Field: properties: short: type: boolean x-stream-index: '003' title: type: string x-stream-index: '001' value: type: string x-stream-index: '002' required: - title - value - short type: - object - 'null' DailyMetricResponse: properties: date: description: Date in YYYY-MM-DD format title: Date type: string x-stream-index: '001' value: description: Metric value for this date format: int64 title: Value type: integer x-stream-index: '002' required: - date - value type: object CreateFeedViewResponse: properties: duration: type: string x-stream-index: '002.001' feed_view: $ref: '#/components/schemas/FeedViewResponse' description: The created feed view title: Feed View x-stream-index: '001' required: - feed_view - duration title: Create Feed View Response type: - object - 'null' ActivityProcessorConfig: properties: type: description: Type of activity processor (required) title: Type type: string x-stream-index: '001' required: - type title: Activity Processor Configuration type: - object - 'null' DeleteBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The deleted bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Delete Bookmark Response type: - object - 'null' UnfollowPair: properties: keep_history: description: 'When true, activities from the unfollowed feed will remain in the source feed''s timeline (default: false)' title: Keep History type: boolean x-stream-index: '003' source: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed type: string x-stream-index: '001' target: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed type: string x-stream-index: '002' required: - source - target title: UnfollowPair type: object UpdateCommentPartialResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: The updated comment title: CommentResponse x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - comment - duration type: - object - 'null' ChangeFeedVisibilityRequest: properties: pending_follows_action: description: 'What to do with existing pending follows when loosening visibility from ''followers'': auto_approve (default) or reject' enum: - auto_approve - reject title: Pending Follows Action type: string x-stream-index: '004' visibility: description: 'Feed visibility level: public, visible, followers, members, or private' enum: - public - visible - followers - members - private title: Visibility type: string x-stream-index: '003' required: - visibility title: Change Feed Visibility Request type: - object - 'null' UpdateFeedRequest: properties: clear_location: description: If true, removes the geographic location from the feed title: Clear Location type: boolean x-stream-index: 008 created_by_id: description: ID of the new feed creator (owner) title: Created By ID type: string x-stream-index: '003' custom: additionalProperties: {} description: Custom data for the feed title: Custom Data type: object x-stream-index: '006' description: description: Description of the feed maxLength: 1000 title: Description type: string x-stream-index: '005' enrich_own_fields: description: If true, enriches the feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '010' filter_tags: description: Tags used for filtering feeds items: type: string title: Filter Tags type: array x-stream-index: 009 location: $ref: '#/components/schemas/Location' description: Geographic location for the feed title: Location x-stream-index: '007' name: description: Name of the feed maxLength: 255 title: Name type: string x-stream-index: '004' title: Update Feed Request type: - object - 'null' QueryFeedsUsageStatsResponse: properties: activities: $ref: '#/components/schemas/DailyMetricStatsResponse' description: Activities statistics with daily breakdown and total title: Activities x-stream-index: '002' api_requests: $ref: '#/components/schemas/DailyMetricStatsResponse' description: API requests statistics with daily breakdown and total title: API Requests x-stream-index: '004' duration: type: string x-stream-index: '001.001' emau: $ref: '#/components/schemas/EMAUStatsResponse' description: Engaged Monthly Active Users snapshots within the requested date range. Omitted when EMAU is not enabled for the app, and also omitted when EMAU is enabled but there are no matching rows in core_feed_daily_usage for the requested date range (JSON omitempty). title: EMAU x-stream-index: '006' follows: $ref: '#/components/schemas/DailyMetricStatsResponse' description: Follows statistics with daily breakdown and total title: Follows x-stream-index: '003' openai_requests: $ref: '#/components/schemas/DailyMetricStatsResponse' description: OpenAI requests statistics with daily breakdown and total title: OpenAI Requests x-stream-index: '005' required: - duration - activities - follows - api_requests - openai_requests type: - object - 'null' QueryBookmarkFoldersResponse: properties: bookmark_folders: description: List of bookmark folders matching the query items: $ref: '#/components/schemas/BookmarkFolderResponse' title: Bookmark Folders type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - bookmark_folders - duration title: Query Bookmark Folders Response type: - object - 'null' SortParamRequest: properties: direction: description: 'Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1' format: int32 title: Direction type: integer x-stream-index: '003' field: description: Name of field to sort by title: Field type: string x-stream-index: '001' type: description: 'Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean' title: Type type: string x-stream-index: '002' type: - object - 'null' QueryActivitiesRequest: properties: enrich_own_fields: type: boolean x-stream-index: '006' filter: additionalProperties: {} description: Filters to apply to the query. Supports location-based queries with 'near' and 'within_bounds' operators. title: Filter type: object x-stream-index: '001' include_expired_activities: description: When true, include both expired and non-expired activities in the result. title: Include Expired Activities type: boolean x-stream-index: '004' include_private_activities: type: boolean x-stream-index: '003' include_soft_deleted_activities: description: When true, include soft-deleted activities in the result. title: Include Soft Deleted Activities type: boolean x-stream-index: '005' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '007.001' next: type: string x-stream-index: '007.002' prev: type: string x-stream-index: '007.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' title: Query Activities Request type: - object - 'null' GetActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The requested activity title: Activity x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activity - duration title: Get Activity Response type: - object - 'null' RejectFeedMemberInviteRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' title: Reject Feed Member Request type: - object - 'null' FeedOwnCapability: description: Represents a feed capability value and enumerates all possible capability strings. enum: - add-activity - add-activity-bookmark - add-activity-reaction - add-comment - add-comment-reaction - create-feed - delete-any-activity - delete-any-comment - delete-feed - delete-own-activity - delete-own-activity-bookmark - delete-own-activity-reaction - delete-own-comment - delete-own-comment-reaction - follow - pin-activity - query-feed-members - query-follows - read-activities - read-feed - unfollow - update-any-activity - update-any-comment - update-feed - update-feed-followers - update-feed-members - update-own-activity - update-own-activity-bookmark - update-own-comment title: FeedOwnCapability type: string PollResponseData: properties: allow_answers: type: boolean x-stream-index: 008 allow_user_suggested_options: type: boolean x-stream-index: '007' answers_count: format: int32 type: integer x-stream-index: '012' created_at: format: date-time type: number x-stream-index: 019 created_by: $ref: '#/components/schemas/UserResponse' x-stream-index: 018 created_by_id: type: string x-stream-index: '017' custom: additionalProperties: {} type: object x-stream-index: '021' description: type: string x-stream-index: '003' enforce_unique_vote: type: boolean x-stream-index: '005' id: type: string x-stream-index: '001' is_closed: type: boolean x-stream-index: 009 latest_answers: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '015' latest_votes_by_option: additionalProperties: items: $ref: '#/components/schemas/PollVoteResponseData' type: array type: object x-stream-index: '014' max_votes_allowed: format: int32 type: integer x-stream-index: '006' name: type: string x-stream-index: '002' options: items: $ref: '#/components/schemas/PollOptionResponseData' type: array x-stream-index: '011' own_votes: items: $ref: '#/components/schemas/PollVoteResponseData' type: array x-stream-index: '016' updated_at: format: date-time type: number x-stream-index: '020' vote_count: format: int32 type: integer x-stream-index: '010' vote_counts_by_option: additionalProperties: format: int32 type: integer type: object x-stream-index: '013' voting_visibility: type: string x-stream-index: '004' required: - id - name - description - voting_visibility - enforce_unique_vote - allow_user_suggested_options - allow_answers - vote_count - options - answers_count - vote_counts_by_option - latest_votes_by_option - latest_answers - own_votes - created_by_id - created_at - updated_at - custom type: object QueryBookmarksRequest: properties: enrich_own_fields: type: boolean x-stream-index: '003' filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' title: Query Bookmarks Request type: - object - 'null' QueryRevisionHistoryResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' next: type: string x-stream-index: '002.001' prev: type: string x-stream-index: '002.002' revisions: description: Revision history entries items: $ref: '#/components/schemas/RevisionHistoryResponse' title: RevisionHistoryResponseList type: array x-stream-index: '001' required: - revisions - duration type: - object - 'null' AddCommentBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The created comment bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Add Comment Bookmark Response type: - object - 'null' DeleteFeedGroupResponse: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001.001' required: - duration title: Response type: - object - 'null' FeedsReactionResponse: properties: activity_id: type: string x-stream-index: '002' comment_id: type: string x-stream-index: '003' created_at: format: date-time type: number x-stream-index: '006' custom: additionalProperties: {} type: object x-stream-index: '005' type: type: string x-stream-index: '004' updated_at: format: date-time type: number x-stream-index: '007' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001' required: - user - activity_id - type - created_at - updated_at type: object GetCommentResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: Comment title: Comment x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - comment - duration title: Get Comment Response type: - object - 'null' FeedInput: properties: custom: additionalProperties: {} type: object x-stream-index: '004' description: maxLength: 1000 type: string x-stream-index: '002' filter_tags: items: type: string type: array x-stream-index: '006' location: $ref: '#/components/schemas/Location' x-stream-index: '005' members: items: $ref: '#/components/schemas/FeedMemberRequest' type: array x-stream-index: '007' name: maxLength: 255 type: string x-stream-index: '001' visibility: enum: - public - visible - followers - members - private type: string x-stream-index: '003' type: object VoteData: properties: answer_text: type: string x-stream-index: '002' option_id: maxLength: 255 type: string x-stream-index: '001' type: object FeedGroupResponse: properties: activity_filter: $ref: '#/components/schemas/ActivityFilterConfig' description: Activity filter configuration. Controls which activities are included in feed reads. Not supported on the notification, story, or stories built-in groups — those requests are rejected with 400. title: Activity Filter x-stream-index: '014' activity_processors: description: Configuration for activity processors items: $ref: '#/components/schemas/ActivityProcessorConfig' title: Activity Processors type: array x-stream-index: '010' activity_selectors: description: Configuration for activity selectors items: $ref: '#/components/schemas/ActivitySelectorConfigResponse' title: Activity Selectors type: array x-stream-index: '011' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for activity aggregation title: Aggregation x-stream-index: '013' created_at: description: When the feed group was created format: date-time title: Created At type: number x-stream-index: '006' custom: additionalProperties: {} description: Custom data for the feed group title: Custom Data type: object x-stream-index: '005' default_visibility: description: 'Default visibility for activities. One of: public, visible, followers, members, private' enum: - public - visible - followers - members - private title: Default Visibility type: string x-stream-index: '004' deleted_at: format: date-time type: number x-stream-index: 008 id: description: Identifier within the group title: Feed Group ID type: string x-stream-index: '001' notification: $ref: '#/components/schemas/NotificationConfig' description: Configuration for notifications title: Notification x-stream-index: '002' push_notification: $ref: '#/components/schemas/PushNotificationConfig' description: Configuration for push notifications title: Push Notification x-stream-index: '003' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for activity ranking title: Ranking x-stream-index: '012' stories: $ref: '#/components/schemas/StoriesConfig' description: Configuration for stories feature title: Stories x-stream-index: 009 updated_at: description: When the feed group was last updated format: date-time title: Updated At type: number x-stream-index: '007' required: - id - created_at - updated_at title: Feed Group type: object QueryPinnedActivitiesRequest: properties: enrich_own_fields: type: boolean x-stream-index: '005' filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '003' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '006.001' next: type: string x-stream-index: '006.002' prev: type: string x-stream-index: '006.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '004' title: Query Pinned Activities Request type: - object - 'null' PinActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The pinned activity title: Activity x-stream-index: '001' created_at: description: When the activity was pinned format: date-time title: Created At type: number x-stream-index: '004' duration: type: string x-stream-index: '005.001' feed: description: Fully qualified ID of the feed the activity was pinned to title: Feed ID type: string x-stream-index: '002' user_id: description: ID of the user who pinned the activity title: User ID type: string x-stream-index: '003' required: - activity - feed - user_id - created_at - duration title: Pin Activity Response type: - object - 'null' QueryFollowsRequest: properties: filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' title: Query Follows Request type: - object - 'null' UnfollowResponse: properties: duration: type: string x-stream-index: '002.001' follow: $ref: '#/components/schemas/FollowResponse' description: The deleted follow relationship title: Follow x-stream-index: '001' required: - follow - duration title: Unfollow Response type: - object - 'null' UpdateFeedResponse: properties: duration: type: string x-stream-index: '002.001' feed: $ref: '#/components/schemas/FeedResponse' description: The updated feed title: Feed x-stream-index: '001' required: - feed - duration title: Update Feed Response type: - object - 'null' TrackActivityMetricsResponse: description: Response containing results for each tracked metric event properties: duration: type: string x-stream-index: '002.001' results: description: Results for each event in the request, in the same order items: $ref: '#/components/schemas/TrackActivityMetricsEventResult' title: Results type: array x-stream-index: '001' required: - results - duration title: Track Activity Metrics Response type: - object - 'null' Response: description: Basic response information properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '001' required: - duration title: Response type: - object - 'null' GetOrCreateFeedGroupRequest: properties: activity_filter: $ref: '#/components/schemas/ActivityFilterConfig' x-stream-index: '002.010' activity_processors: description: Configuration for activity processors items: $ref: '#/components/schemas/ActivityProcessorConfig' maxItems: 10 title: Activity Processors type: array x-stream-index: '002.006' activity_selectors: description: Configuration for activity selectors items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.007' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for activity aggregation title: Aggregation x-stream-index: '002.009' custom: additionalProperties: {} description: Custom data for the feed group title: Custom Data type: object x-stream-index: '002.004' default_visibility: description: 'Default visibility for the feed group, can be ''public'', ''visible'', ''followers'', ''members'', or ''private''. Defaults to ''visible'' if not provided. ' enum: - public - visible - followers - members - private title: Default Visibility type: string x-stream-index: '002.005' notification: $ref: '#/components/schemas/NotificationConfig' description: Configuration for notifications title: Notification x-stream-index: '002.001' push_notification: $ref: '#/components/schemas/PushNotificationConfig' x-stream-index: '002.002' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for activity ranking title: Ranking x-stream-index: '002.008' stories: $ref: '#/components/schemas/StoriesConfig' description: Configuration for stories functionality title: Stories x-stream-index: '002.003' title: Get Or Create Feed Group Request type: - object - 'null' ImageData: properties: frames: type: string x-stream-index: '005' height: type: string x-stream-index: '003' size: type: string x-stream-index: '004' url: type: string x-stream-index: '001' width: type: string x-stream-index: '002' required: - url - width - height - size - frames type: object AddBookmarkRequest: properties: custom: additionalProperties: {} description: Custom data for the bookmark title: Custom Data type: object x-stream-index: '004' folder_id: description: ID of the folder to add the bookmark to maxLength: 255 title: Folder ID type: string x-stream-index: '002' new_folder: $ref: '#/components/schemas/AddFolderRequest' description: Create a new folder for this bookmark title: New Folder x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' title: Add Bookmark Request type: - object - 'null' AddCommentsBatchResponse: properties: comments: description: List of comments added items: $ref: '#/components/schemas/CommentResponse' title: Comments type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - comments - duration title: Add Comments Batch Response type: - object - 'null' UpdateCommentPartialRequest: properties: copy_custom_to_notification: deprecated: true description: 'Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead' title: Copy Custom To Notification type: boolean x-stream-index: '007' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: 008 handle_mention_notifications: description: Whether to handle mention notification changes title: Handle Mention Notifications type: boolean x-stream-index: '006' set: additionalProperties: {} description: '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'')' title: Set type: object x-stream-index: '002' skip_enrich_url: description: Whether to skip URL enrichment title: Skip URL Enrichment type: boolean x-stream-index: '005' skip_push: description: Whether to skip push notifications title: Skip Push type: boolean x-stream-index: '004' unset: description: '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'')' items: type: string title: Unset type: array x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '009.002' user_id: type: string x-stream-index: '009.001' type: - object - 'null' ActivityPinResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The pinned activity title: Activity x-stream-index: '002' created_at: description: When the pin was created format: date-time title: Created At type: number x-stream-index: '004' feed: description: ID of the feed where activity is pinned title: Feed ID type: string x-stream-index: '003' updated_at: description: When the pin was last updated format: date-time title: Updated At type: number x-stream-index: '005' user: $ref: '#/components/schemas/UserResponse' description: User who pinned the activity title: User x-stream-index: '001' required: - user - activity - feed - created_at - updated_at title: Activity Pin type: object UpdateFeedMembersResponse: description: Basic response information properties: added: items: $ref: '#/components/schemas/FeedMemberResponse' type: array x-stream-index: '001' duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '004.001' removed_ids: items: type: string type: array x-stream-index: '003' updated: items: $ref: '#/components/schemas/FeedMemberResponse' type: array x-stream-index: '002' required: - added - updated - removed_ids - duration title: Response type: - object - 'null' GetCommentsResponse: properties: comments: description: Threaded listing for the activity items: $ref: '#/components/schemas/ThreadedCommentResponse' title: Comments type: array x-stream-index: '001' duration: type: string x-stream-index: '004.001' next: type: string x-stream-index: '003.001' prev: type: string x-stream-index: '003.002' sort: description: Sort order used for the comments (first, last, top, best, controversial) title: Sort Order type: string x-stream-index: '002' required: - comments - sort - duration title: Get Comments Response type: - object - 'null' DeleteActivityResponse: properties: duration: type: string x-stream-index: '001.001' required: - duration title: Delete Activity Response type: - object - 'null' UpdateFeedVisibilityResponse: properties: duration: type: string x-stream-index: '002.001' feed_visibility: $ref: '#/components/schemas/FeedVisibilityResponse' description: Feed visibility configuration and permissions title: Feed Visibility x-stream-index: '001' required: - feed_visibility - duration title: Update Feed Visibility Response type: - object - 'null' QueryBookmarksResponse: properties: bookmarks: description: List of bookmarks matching the query items: $ref: '#/components/schemas/BookmarkResponse' title: Bookmarks type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - bookmarks - duration title: Query Bookmarks Response type: - object - 'null' NotificationConfig: properties: deduplication_window: description: 'Time window for deduplicating notification activities (reactions and follows). Empty or ''0'' = always deduplicate (default). Examples: ''1h'', ''24h'', ''7d'', ''1w''' title: Deduplication Window type: string x-stream-index: '003' track_read: description: Whether to track read status title: Track Read type: boolean x-stream-index: '002' track_seen: description: Whether to track seen status title: Track Seen type: boolean x-stream-index: '001' title: Notification Configuration type: object DeleteFeedResponse: properties: duration: type: string x-stream-index: '002.001' task_id: description: The ID of the async task that will handle feed cleanup and hard deletion title: Task ID type: string x-stream-index: '001' required: - task_id - duration title: Delete Feed Response type: - object - 'null' UpdateFollowRequest: properties: activity_copy_limit: description: '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.' format: int32 maximum: 1000 minimum: 0 title: Activity Copy Limit type: integer x-stream-index: '001.008' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '001.005' create_notification_activity: description: Whether to create a notification activity for this follow title: Create Notification Activity type: boolean x-stream-index: '001.004' create_users: description: If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. For FollowBatch/GetOrCreateFollows, use the top-level create_users field; per-item follows[i].create_users is rejected. title: Create Users type: boolean x-stream-index: '001.010' custom: additionalProperties: {} description: Custom data for the follow relationship title: Custom Data type: object x-stream-index: '001.002' enrich_own_fields: description: 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. title: Enrich Own Fields type: boolean x-stream-index: '001.009' follower_role: type: string x-stream-index: '002' push_preference: description: Push preference for the follow relationship enum: - all - none title: Push Preference type: string x-stream-index: '001.003' skip_push: description: Whether to skip push for this follow title: Skip Push type: boolean x-stream-index: '001.006' source: description: Fully qualified ID of the source feed maxLength: 255 title: Source Feed type: string x-stream-index: 001.001.001 status: description: 'Status of the follow relationship. One of: accepted, pending, rejected' enum: - accepted - pending - rejected title: Status type: string x-stream-index: '001.007' target: description: Fully qualified ID of the target feed maxLength: 255 title: Target Feed type: string x-stream-index: 001.001.002 required: - source - target title: Update Follow Request type: - object - 'null' SingleFollowResponse: properties: duration: type: string x-stream-index: '003.001' follow: $ref: '#/components/schemas/FollowResponse' description: The created follow relationship title: Follow x-stream-index: '001' notification_created: description: Whether a notification activity was successfully created title: Notification Created type: boolean x-stream-index: '002' required: - follow - duration title: Follow Response type: - object - 'null' ThreadedCommentResponse: description: A comment with an optional, depth‑limited slice of nested replies. properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: '001.011' bookmark_count: format: int32 type: integer x-stream-index: '001.022' confidence_score: format: float type: number x-stream-index: '001.024' controversy_score: format: float type: number x-stream-index: '001.025' created_at: format: date-time type: number x-stream-index: '001.014' custom: additionalProperties: {} type: object x-stream-index: '001.006' deleted_at: format: date-time type: number x-stream-index: '001.017' downvote_count: format: int32 type: integer x-stream-index: '001.021' edited_at: format: date-time type: number x-stream-index: '001.016' id: type: string x-stream-index: '001.001' latest_reactions: items: $ref: '#/components/schemas/FeedsReactionResponse' type: array x-stream-index: '001.009' mentioned_users: items: $ref: '#/components/schemas/UserResponse' type: array x-stream-index: '001.012' meta: $ref: '#/components/schemas/RepliesMeta' description: Pagination & depth info for this node's direct replies. title: Replies Meta x-stream-index: '002' moderation: $ref: '#/components/schemas/ModerationV2Response' x-stream-index: '001.018' object_id: type: string x-stream-index: '001.002' object_type: type: string x-stream-index: '001.003' own_reactions: items: $ref: '#/components/schemas/FeedsReactionResponse' type: array x-stream-index: '001.026' parent_id: type: string x-stream-index: '001.007' reaction_count: format: int32 type: integer x-stream-index: '001.008' reaction_groups: additionalProperties: $ref: '#/components/schemas/FeedsReactionGroupResponse' type: object x-stream-index: '001.010' replies: description: Slice of nested comments (may be empty). items: $ref: '#/components/schemas/ThreadedCommentResponse' title: Replies type: array x-stream-index: '003' reply_count: format: int32 type: integer x-stream-index: '001.019' score: format: int32 type: integer x-stream-index: '001.023' status: description: 'Status of the comment. One of: active, deleted, removed, hidden' enum: - active - deleted - removed - hidden - shadow_blocked title: Status type: string x-stream-index: '001.013' text: type: string x-stream-index: '001.005' updated_at: format: date-time type: number x-stream-index: '001.015' upvote_count: format: int32 type: integer x-stream-index: '001.020' user: $ref: '#/components/schemas/UserResponse' x-stream-index: '001.004' required: - id - object_id - object_type - user - reaction_count - mentioned_users - status - created_at - updated_at - reply_count - upvote_count - downvote_count - bookmark_count - score - confidence_score - own_reactions title: Threaded Comment Response type: object RepliesMeta: description: Cursor & depth information for a comment's direct replies. Mirrors Reddit's 'load more replies' semantics. properties: depth_truncated: description: True if the subtree was cut because the requested depth was reached. title: Depth Truncated type: boolean x-stream-index: '004' has_more: description: True if more siblings exist in the database. title: Has More type: boolean x-stream-index: '001' next_cursor: description: Opaque cursor to request the next page of siblings. title: Next Cursor type: string x-stream-index: '002' remaining: description: Number of unread siblings that match current filters. format: int32 title: Remaining type: integer x-stream-index: '003' required: - has_more - remaining - depth_truncated title: Replies Meta type: object PollOptionResponseData: properties: custom: additionalProperties: {} type: object x-stream-index: '003' id: type: string x-stream-index: '001' text: type: string x-stream-index: '002' required: - id - text - custom type: - object - 'null' DeleteCommentResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The parent activity title: Activity x-stream-index: '002' comment: $ref: '#/components/schemas/CommentResponse' description: The deleted comment title: Comment x-stream-index: '001' duration: type: string x-stream-index: '003.001' required: - comment - activity - duration title: Delete Comment Response type: - object - 'null' QueryFeedMembersRequest: properties: filter: additionalProperties: {} description: Filter parameters for the query title: Filter type: object x-stream-index: '003' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '005.001' next: type: string x-stream-index: '005.002' prev: type: string x-stream-index: '005.003' sort: description: Sort parameters for the query items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '004' type: - object - 'null' CreateFeedViewRequest: properties: activity_selectors: description: Configuration for selecting activities items: $ref: '#/components/schemas/ActivitySelectorConfig' title: Activity Selectors type: array x-stream-index: '002.001' aggregation: $ref: '#/components/schemas/AggregationConfig' description: Configuration for aggregating activities title: Aggregation x-stream-index: '002.003' id: description: Unique identifier for the feed view maxLength: 255 title: View ID type: string x-stream-index: '001' ranking: $ref: '#/components/schemas/RankingConfig' description: Configuration for ranking activities title: Ranking x-stream-index: '002.002' required: - id title: Create Feed View Request type: - object - 'null' AddReactionResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' x-stream-index: '001' duration: type: string x-stream-index: '004.001' notification_created: description: Whether a notification activity was successfully created title: Notification Created type: boolean x-stream-index: '003' reaction: $ref: '#/components/schemas/FeedsReactionResponse' description: The created reaction title: Reaction x-stream-index: '002' required: - activity - reaction - duration title: Add Reaction Response type: - object - 'null' AddCommentRequest: properties: attachments: description: Media attachments for the reply items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '005' comment: description: Text content of the comment title: Comment type: string x-stream-index: '004' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '010' create_notification_activity: description: Whether to create a notification activity for this comment title: Create Notification Activity type: boolean x-stream-index: 009 custom: additionalProperties: {} description: Custom data for the comment title: Custom Data type: object x-stream-index: 008 force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: '013' id: description: Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated. maxLength: 255 title: Comment ID type: string x-stream-index: '001' mentioned_user_ids: description: List of users mentioned in the reply items: type: string title: Mentioned User IDs type: array x-stream-index: '006' object_id: description: ID of the object to comment on. Required for root comments title: Object ID type: string x-stream-index: '002' object_type: description: Type of the object to comment on. Required for root comments title: Object Type type: string x-stream-index: '003' parent_id: description: ID of parent comment for replies. When provided, object_id and object_type are automatically inherited from the parent comment. title: Parent ID type: string x-stream-index: '007' skip_enrich_url: description: Whether to skip URL enrichment for this comment title: Skip URL Enrichment type: boolean x-stream-index: '012' skip_push: type: boolean x-stream-index: '011' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '014.002' user_id: type: string x-stream-index: '014.001' title: Add Comment Request type: - object - 'null' GetFeedGroupResponse: properties: duration: type: string x-stream-index: '002.001' feed_group: $ref: '#/components/schemas/FeedGroupResponse' description: The requested feed group title: Feed Group x-stream-index: '001' required: - feed_group - duration title: Get Feed Group Response type: - object - 'null' DeleteFeedViewResponse: properties: duration: type: string x-stream-index: '001.001' required: - duration title: Delete Feed View Response type: - object - 'null' TrackActivityMetricsRequest: description: Batch request to track metric events for activities. Rate-limited per user/IP per activity per metric. properties: events: description: List of metric events to track (max 100 per request) items: $ref: '#/components/schemas/TrackActivityMetricsEvent' maxItems: 100 minItems: 1 title: Events type: array x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' required: - events title: Track Activity Metrics Request type: - object - 'null' CastPollVoteRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '005.002' user_id: type: string x-stream-index: '005.001' vote: $ref: '#/components/schemas/VoteData' description: Vote data title: VoteData x-stream-index: '004' type: - object - 'null' UpdateActivityPartialChangeRequest: properties: activity_id: description: ID of the activity to update maxLength: 255 title: Activity ID type: string x-stream-index: '001' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '005' handle_mention_notifications: description: 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) title: Handle Mention Notifications type: boolean x-stream-index: '004' set: additionalProperties: {} description: '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'')' title: Set type: object x-stream-index: '002' unset: description: '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'')' items: type: string title: Unset type: array x-stream-index: '003' required: - activity_id type: object FollowBatchRequest: properties: create_users: description: 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. title: Create Users type: boolean x-stream-index: '003' enrich_own_fields: description: 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. title: Enrich Own Fields type: boolean x-stream-index: '002' follows: description: List of follow relationships to create items: $ref: '#/components/schemas/FollowRequest' maxItems: 1000 minItems: 1 title: Follows type: array x-stream-index: '001' required: - follows title: Follow Batch Request type: - object - 'null' ActivitySelectorConfig: properties: cutoff_time: description: Time threshold for activity selection (string). Expected RFC3339 format (e.g., 2006-01-02T15:04:05Z07:00). Cannot be used together with cutoff_window title: Cutoff Time type: string x-stream-index: '004' cutoff_window: description: 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 title: Cutoff Window type: string x-stream-index: '006' filter: additionalProperties: {} description: Filter for activity selection title: Filter type: object x-stream-index: '002' min_popularity: description: Minimum popularity threshold. For the 'popular' selector, omit to use the default (5); values below 1 are rejected format: int32 minimum: 0 title: Minimum Popularity type: integer x-stream-index: 008 params: additionalProperties: {} type: object x-stream-index: 009 sort: description: Sort parameters for activity selection items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '003' type: description: 'Type of selector. One of: popular, proximity, following, current_feed, query, interest, follow_suggestion' enum: - popular - proximity - following - current_feed - query - interest - follow_suggestion title: Type type: string x-stream-index: '001' required: - type title: Activity Selector Configuration type: object NotificationTarget: properties: attachments: description: Attachments on the target activity (for activity targets) items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '005' comment: $ref: '#/components/schemas/NotificationComment' description: Information about the comment related to the notification (for reactions to comments and comments on comments) title: Comment x-stream-index: '007' custom: additionalProperties: {} description: Custom data from the target activity title: Custom Data type: object x-stream-index: 009 id: description: The ID of the target (activity ID or user ID) title: Target ID type: string x-stream-index: '001' name: description: The name of the target user (for user targets like follows) title: User Name type: string x-stream-index: '006' parent_activity: $ref: '#/components/schemas/NotificationParentActivity' description: The parent of the target activity (e.g. when target is a share/repost with no text) title: Parent Activity x-stream-index: 008 text: description: The text content of the target activity (for activity targets) title: Activity Text type: string x-stream-index: '004' type: description: The type of the target activity (for activity targets) title: Activity Type type: string x-stream-index: '003' user_id: description: The ID of the user who created the target activity (for activity targets) title: User ID type: string x-stream-index: '002' required: - id title: NotificationTarget type: object NotificationContext: properties: target: $ref: '#/components/schemas/NotificationTarget' description: Information about the target of the notification title: Notification Target x-stream-index: '002' trigger: $ref: '#/components/schemas/NotificationTrigger' description: Information about what triggered the notification title: Notification Trigger x-stream-index: '001' title: NotificationContext type: object PollVoteResponse: properties: duration: description: Duration of the request in milliseconds title: Duration type: string x-stream-index: '003.001' poll: $ref: '#/components/schemas/PollResponseData' description: Poll title: PollResponseData x-stream-index: '002' vote: $ref: '#/components/schemas/PollVoteResponseData' description: Poll vote title: PollVoteResponseData x-stream-index: '001' required: - duration type: - object - 'null' UpdateActivityPartialRequest: properties: copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '005' enrich_own_fields: description: If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '007' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: 008 handle_mention_notifications: description: If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned title: Handle Mention Notifications type: boolean x-stream-index: '004' run_activity_processors: description: 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. title: Run Activity Processors type: boolean x-stream-index: '006' set: additionalProperties: {} description: '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'')' title: Set type: object x-stream-index: '002' unset: description: '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'')' items: type: string title: Unset type: array x-stream-index: '003' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '010.002' user_id: type: string x-stream-index: '010.001' type: - object - 'null' UpdateCollectionsRequest: properties: collections: description: List of collections to update (only custom data is updatable) items: $ref: '#/components/schemas/UpdateCollectionRequest' maxItems: 100 minItems: 1 title: Collections type: array x-stream-index: '001' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '002.002' user_id: type: string x-stream-index: '002.001' required: - collections title: Update Collections Request type: - object - 'null' AcceptFeedMemberInviteRequest: properties: user: $ref: '#/components/schemas/UserRequest' x-stream-index: '003.002' user_id: type: string x-stream-index: '003.001' title: Accept Feed Member Invite Request type: - object - 'null' Attachment: description: An attachment is a message object that represents a file uploaded by a user. properties: actions: items: $ref: '#/components/schemas/Action' type: array x-stream-index: '015' asset_url: type: string x-stream-index: '017' author_icon: type: string x-stream-index: '007' author_link: type: string x-stream-index: '006' author_name: type: string x-stream-index: '005' color: type: string x-stream-index: '003' custom: additionalProperties: {} type: object x-stream-index: 018 fallback: type: string x-stream-index: '002' fields: items: $ref: '#/components/schemas/Field' type: array x-stream-index: '016' footer: type: string x-stream-index: '013' footer_icon: type: string x-stream-index: '014' giphy: $ref: '#/components/schemas/Images' x-stream-index: 019 image_url: type: string x-stream-index: '011' og_scrape_url: type: string x-stream-index: '020' original_height: format: int32 type: integer x-stream-index: '022' original_width: format: int32 type: integer x-stream-index: '021' pretext: type: string x-stream-index: '004' text: type: string x-stream-index: '010' thumb_url: type: string x-stream-index: '012' title: type: string x-stream-index: 008 title_link: type: string x-stream-index: 009 type: description: Attachment type (e.g. image, video, url) title: Type type: string x-stream-index: '001' required: - custom title: Attachment type: - object - 'null' x-stream-docs-page-id: file_uploads QueryCollectionsResponse: properties: collections: description: List of collections matching the query items: $ref: '#/components/schemas/CollectionResponse' title: Collections type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - collections - duration title: Query Collections Response type: - object - 'null' EnrichedCollectionResponse: properties: created_at: description: When the collection was created format: date-time title: Created At type: number x-stream-index: '001.005' custom: additionalProperties: {} description: Custom data for the collection title: Custom Data type: object x-stream-index: '001.003' id: description: Unique identifier for the collection within its name title: ID type: string x-stream-index: '001.002' name: description: Name/type of the collection title: Name type: string x-stream-index: '001.001' status: description: 'Enrichment status of the collection. One of: ok, notfound' enum: - ok - notfound title: Status type: string x-stream-index: '002' updated_at: description: When the collection was last updated format: date-time title: Updated At type: number x-stream-index: '001.006' user_id: description: ID of the user who owns this collection title: User ID type: string x-stream-index: '001.004' required: - name - id - status title: Enriched Collection Response type: object Action: properties: name: type: string x-stream-index: '001' style: type: string x-stream-index: '003' text: type: string x-stream-index: '002' type: type: string x-stream-index: '004' value: type: string x-stream-index: '005' required: - name - text - type type: - object - 'null' NotificationParentActivity: properties: attachments: items: $ref: '#/components/schemas/Attachment' type: array x-stream-index: '005' id: type: string x-stream-index: '001' text: type: string x-stream-index: '004' type: type: string x-stream-index: '003' user_id: type: string x-stream-index: '002' required: - id type: object DailyMetricStatsResponse: properties: daily: description: Array of daily metric values items: $ref: '#/components/schemas/DailyMetricResponse' title: Daily type: array x-stream-index: '001' total: description: Total value across all days in the date range format: int64 title: Total type: integer x-stream-index: '002' required: - daily - total type: object DeleteFeedUserDataRequest: description: Request for deleting feed user data properties: hard_delete: description: Whether to perform a hard delete instead of a soft delete title: Hard Delete type: boolean x-stream-index: '002' type: - object - 'null' FeedMemberResponse: properties: created_at: description: When the membership was created format: date-time title: Created At type: number x-stream-index: 008 custom: additionalProperties: {} description: Custom data for the membership title: Custom Data type: object x-stream-index: '007' invite_accepted_at: description: When the invite was accepted format: date-time title: Invite Accepted At type: number x-stream-index: '005' invite_rejected_at: description: When the invite was rejected format: date-time title: Invite Rejected At type: number x-stream-index: '006' membership_level: $ref: '#/components/schemas/MembershipLevelResponse' description: Membership level assigned to the member title: Membership Level x-stream-index: '004' role: description: Role of the member in the feed title: Role type: string x-stream-index: '002' status: description: 'Status of the membership. One of: member, pending, rejected' enum: - member - pending - rejected title: Status type: string x-stream-index: '003' updated_at: description: When the membership was last updated format: date-time title: Updated At type: number x-stream-index: 009 user: $ref: '#/components/schemas/UserResponse' description: User who is a member title: User x-stream-index: '001' required: - user - role - status - created_at - updated_at title: Feed Member type: object UpdateCollectionsResponse: properties: collections: description: List of updated collections items: $ref: '#/components/schemas/CollectionResponse' title: Collections type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - collections - duration title: Update Collections Response type: - object - 'null' QueryFeedMembersResponse: properties: duration: type: string x-stream-index: '003.001' members: description: List of feed members items: $ref: '#/components/schemas/FeedMemberResponse' title: Members type: array x-stream-index: '001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - members - duration type: - object - 'null' CollectionResponse: properties: created_at: description: When the collection was created format: date-time title: Created At type: number x-stream-index: '005' custom: additionalProperties: {} description: Custom data for the collection title: Custom Data type: object x-stream-index: '003' id: description: Unique identifier for the collection within its name title: ID type: string x-stream-index: '002' name: description: Name/type of the collection title: Name type: string x-stream-index: '001' updated_at: description: When the collection was last updated format: date-time title: Updated At type: number x-stream-index: '006' user_id: description: ID of the user who owns this collection title: User ID type: string x-stream-index: '004' required: - name - id title: Collection Response type: object UpdateActivityRequest: properties: attachments: description: List of attachments for the activity items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '003' collection_refs: description: Collections that this activity references items: type: string title: Collection Refs type: array x-stream-index: '012' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: 019 custom: additionalProperties: {} description: Custom data for the activity title: Custom Data type: object x-stream-index: '004' enrich_own_fields: description: If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '021' expires_at: description: Time when the activity will expire format: date-time title: Expires At type: number x-stream-index: 009 feeds: description: List of feeds the activity is present in items: type: string title: Feeds type: array x-stream-index: '014' filter_tags: description: Tags used for filtering the activity items: type: string maxItems: 50 title: Filter Tags type: array x-stream-index: '010' force_moderation: description: 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. title: Force Moderation type: boolean x-stream-index: '022' handle_mention_notifications: description: If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned title: Handle Mention Notifications type: boolean x-stream-index: '017' interest_tags: description: Tags indicating interest categories items: type: string title: Interest Tags type: array x-stream-index: '011' location: $ref: '#/components/schemas/Location' description: Geographic location for the activity title: Location x-stream-index: 008 mentioned_user_ids: description: List of user IDs mentioned in the activity items: type: string maxItems: 25 title: Mentioned User IDs type: array x-stream-index: '016' poll_id: description: Poll ID title: Poll ID type: string x-stream-index: '013' restrict_replies: description: 'Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody' enum: - everyone - people_i_follow - nobody title: Restrict Replies type: string x-stream-index: '007' run_activity_processors: description: 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. title: Run Activity Processors type: boolean x-stream-index: 018 search_data: additionalProperties: {} description: Additional data for search indexing title: Search Data type: object x-stream-index: '020' skip_enrich_url: description: Whether to skip URL enrichment for the activity title: Skip URL Enrichment type: boolean x-stream-index: '015' text: description: The text content of the activity title: Text type: string x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '024.002' user_id: type: string x-stream-index: '024.001' visibility: description: Visibility setting for the activity enum: - public - private - tag title: Visibility type: string x-stream-index: '005' visibility_tag: description: If visibility is 'tag', this is the tag name and is required maxLength: 32 title: Visibility Tag type: string x-stream-index: '006' type: - object - 'null' QueryCollectionsRequest: properties: filter: additionalProperties: {} description: Filters to apply to the query title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '003.001' next: type: string x-stream-index: '003.002' prev: type: string x-stream-index: '003.003' sort: description: Sorting parameters for the query items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '002' user: $ref: '#/components/schemas/UserRequest' x-stream-index: '004.002' user_id: type: string x-stream-index: '004.001' title: Query Collections Request type: - object - 'null' AddActivityResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The created activity title: Activity x-stream-index: '001' duration: type: string x-stream-index: '003.001' mention_notifications_created: description: Number of mention notification activities created for mentioned users format: int32 title: Mention Notifications Created type: integer x-stream-index: '002' required: - activity - duration title: Add Activity Response type: - object - 'null' FollowBatchResponse: properties: created: description: List of newly created follow relationships items: $ref: '#/components/schemas/FollowResponse' title: Created type: array x-stream-index: '002' duration: type: string x-stream-index: '003.001' follows: description: List of current follow relationships items: $ref: '#/components/schemas/FollowResponse' title: Follows type: array x-stream-index: '001' required: - follows - created - duration title: Follow Batch Response type: - object - 'null' BookmarkFolderResponse: properties: created_at: description: When the folder was created format: date-time title: Created At type: number x-stream-index: '005' custom: additionalProperties: {} description: Custom data for the folder title: Custom Data type: object x-stream-index: '004' id: description: Unique identifier for the folder title: ID type: string x-stream-index: '001' name: description: Name of the folder title: Name type: string x-stream-index: '003' updated_at: description: When the folder was last updated format: date-time title: Updated At type: number x-stream-index: '006' user: $ref: '#/components/schemas/UserResponse' description: User who created the folder title: User x-stream-index: '002' required: - id - user - name - created_at - updated_at title: Bookmark Folder type: object DeleteFeedsBatchResponse: properties: duration: type: string x-stream-index: '002.001' task_id: description: The ID of the async task that will handle feed cleanup and hard deletion title: Task ID type: string x-stream-index: '001' required: - task_id - duration title: Delete Feeds Batch Response type: - object - 'null' QueryMembershipLevelsResponse: properties: duration: type: string x-stream-index: '003.001' membership_levels: items: $ref: '#/components/schemas/MembershipLevelResponse' type: array x-stream-index: '001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - membership_levels - duration title: Query Membership Levels Response type: - object - 'null' UpdateActivitiesPartialBatchResponse: properties: activities: description: List of successfully updated activities items: $ref: '#/components/schemas/ActivityResponse' title: Activities type: array x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activities - duration title: Update Activities Partial Batch Response type: - object - 'null' ActivityFeedbackResponse: description: Response for activity feedback submission properties: activity_id: description: The ID of the activity that received feedback title: Activity ID type: string x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - activity_id - duration title: Activity Feedback Response type: - object - 'null' GetFeedsRateLimitsResponse: properties: android: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Rate limits for Android platform (endpoint name -> limit info) title: Android type: object x-stream-index: '002' duration: type: string x-stream-index: '001.001' ios: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Rate limits for iOS platform (endpoint name -> limit info) title: iOS type: object x-stream-index: '003' server_side: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Rate limits for server-side platform (endpoint name -> limit info) title: Server Side type: object x-stream-index: '005' web: additionalProperties: $ref: '#/components/schemas/LimitInfoResponse' description: Rate limits for Web platform (endpoint name -> limit info) title: Web type: object x-stream-index: '004' required: - duration title: Get Feeds Rate Limits Response type: - object - 'null' DeleteActivityReactionResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' x-stream-index: '001' duration: type: string x-stream-index: '003.001' reaction: $ref: '#/components/schemas/FeedsReactionResponse' x-stream-index: '002' required: - activity - reaction - duration title: Delete Activity Reaction Response type: - object - 'null' QueryActivityReactionsRequest: properties: filter: additionalProperties: {} type: object x-stream-index: '002' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 type: array x-stream-index: '003' type: - object - 'null' ActivityRequest: properties: attachments: description: List of attachments for the activity items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '006' collection_refs: description: Collections that this activity references items: type: string title: Collection References type: array x-stream-index: '016' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '022' create_notification_activity: description: Whether to create notification activities for mentioned users title: Create Notification Activity type: boolean x-stream-index: '021' custom: additionalProperties: {} description: Custom data for the activity title: Custom Data type: object x-stream-index: 019 expires_at: description: Expiration time for the activity title: Expires At type: string x-stream-index: '011' feeds: description: List of feeds to add the activity to with a default max limit of 25 feeds items: type: string minItems: 1 title: Feed IDs type: array x-stream-index: '004' filter_tags: description: Tags for filtering activities items: type: string maxItems: 50 title: Filter Tags type: array x-stream-index: '014' id: description: Optional ID for the activity maxLength: 255 title: Activity ID type: string x-stream-index: '001' interest_tags: description: Tags for indicating user interests items: type: string title: Interest Tags type: array x-stream-index: '015' location: $ref: '#/components/schemas/Location' description: Geographic location related to the activity title: Location x-stream-index: '010' mentioned_user_ids: description: List of users mentioned in the activity items: type: string title: Mentioned User IDs type: array x-stream-index: '012' parent_id: description: ID of parent activity for replies/comments maxLength: 255 title: Parent ID type: string x-stream-index: '017' poll_id: description: ID of a poll to attach to activity title: Poll ID type: string x-stream-index: 018 restrict_replies: description: 'Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody' enum: - everyone - people_i_follow - nobody title: Restrict Replies type: string x-stream-index: 009 search_data: additionalProperties: {} description: Additional data for search indexing title: Search Data type: object x-stream-index: '013' skip_enrich_url: description: Whether to skip URL enrichment for the activity title: Skip URL Enrichment type: boolean x-stream-index: '020' skip_push: description: Whether to skip push notifications title: Skip Push type: boolean x-stream-index: '023' text: description: Text content of the activity title: Text type: string x-stream-index: '005' type: description: Type of activity maxLength: 255 title: Activity Type type: string x-stream-index: '002' user_id: description: ID of the user creating the activity maxLength: 255 title: User ID type: string x-stream-index: '003' visibility: description: 'Visibility setting for the activity. One of: public, private, tag' enum: - public - private - tag title: Visibility type: string x-stream-index: '007' visibility_tag: description: If visibility is 'tag', this is the tag name and is required maxLength: 32 title: Visibility Tag type: string x-stream-index: 008 required: - type - feeds title: Activity Request type: object UserResponse: description: User response object properties: avg_response_time: format: int32 type: integer x-stream-index: '001.018' ban_expires: description: Date when ban expires format: date-time title: Ban expires type: number x-stream-index: '004' banned: description: Whether a user is banned or not title: Banned type: boolean x-stream-index: '001.012' blocked_user_ids: items: type: string type: array x-stream-index: '001.017' bypass_moderation: type: boolean x-stream-index: '003' created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '001.009' custom: additionalProperties: {} description: Custom data for this object title: Custom data type: object x-stream-index: '001.004' deactivated_at: description: Date of deactivation format: date-time title: Deactivated at type: number x-stream-index: '001.016' deleted_at: description: Date/time of deletion format: date-time title: Deleted at type: number x-stream-index: '001.011' devices: description: List of devices user is using items: $ref: '#/components/schemas/DeviceResponse' title: Devices type: array x-stream-index: '007' id: description: Unique user identifier title: ID type: string x-stream-index: '001.001' image: title: Image type: string x-stream-index: '001.003' invisible: type: boolean x-stream-index: 008 language: description: Preferred language of a user title: Language type: string x-stream-index: '001.005' last_active: description: Date of last activity format: date-time title: Last active type: number x-stream-index: '001.014' name: description: Optional name of user title: Name type: string x-stream-index: '001.002' online: description: Whether a user online or not title: Online type: boolean x-stream-index: '001.013' privacy_settings: $ref: '#/components/schemas/PrivacySettingsResponse' description: User privacy settings title: Privacy settings x-stream-index: '006' push_notifications: $ref: '#/components/schemas/PushNotificationSettingsResponse' description: User push notification settings title: Push notifications x-stream-index: '005' revoke_tokens_issued_before: description: Revocation date for tokens format: date-time title: Revoke tokens issued before type: number x-stream-index: '001.015' role: description: Determines the set of user permissions title: Role type: string x-stream-index: '001.006' shadow_banned: description: Whether a user is shadow banned title: Shadow banned type: boolean x-stream-index: '002' teams: description: List of teams user is a part of items: type: string title: Teams type: array x-stream-index: '001.007' teams_role: additionalProperties: type: string type: object x-stream-index: '001.008' updated_at: description: Date/time of the last update format: date-time title: Updated at type: number x-stream-index: '001.010' required: - id - custom - language - role - teams - created_at - updated_at - banned - online - blocked_user_ids - shadow_banned - invisible title: UserResponse type: object CreateFeedsBatchRequest: properties: enrich_own_fields: description: If true, enriches the created feeds with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance. title: Enrich Own Fields type: boolean x-stream-index: '002' feeds: description: List of feeds to create items: $ref: '#/components/schemas/FeedRequest' maxItems: 1000 minItems: 1 title: Feeds type: array x-stream-index: '001' required: - feeds title: Create Feeds Batch Request type: - object - 'null' QueryCommentsResponse: properties: comments: description: List of comments matching the query items: $ref: '#/components/schemas/CommentResponse' title: Comments type: array x-stream-index: '001' duration: type: string x-stream-index: '003.001' next: description: Cursor for next page title: Next type: string x-stream-index: '002.001' prev: description: Cursor for previous page title: Previous type: string x-stream-index: '002.002' required: - comments - duration title: Query Comments Response type: - object - 'null' DeleteCommentBookmarkResponse: properties: bookmark: $ref: '#/components/schemas/BookmarkResponse' description: The deleted comment bookmark title: Bookmark x-stream-index: '001' duration: type: string x-stream-index: '002.001' required: - bookmark - duration title: Delete Comment Bookmark Response type: - object - 'null' AddActivityRequest: properties: attachments: description: List of attachments for the activity items: $ref: '#/components/schemas/Attachment' title: Attachments type: array x-stream-index: '001.006' collection_refs: description: Collections that this activity references items: type: string title: Collection References type: array x-stream-index: '001.016' copy_custom_to_notification: deprecated: true description: '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' title: Copy Custom To Notification type: boolean x-stream-index: '001.022' create_notification_activity: description: Whether to create notification activities for mentioned users title: Create Notification Activity type: boolean x-stream-index: '001.021' create_users: type: boolean x-stream-index: '004' custom: additionalProperties: {} description: Custom data for the activity title: Custom Data type: object x-stream-index: '001.019' enrich_own_fields: type: boolean x-stream-index: '002' expires_at: description: Expiration time for the activity title: Expires At type: string x-stream-index: '001.011' feeds: description: List of feeds to add the activity to with a default max limit of 25 feeds items: type: string minItems: 1 title: Feed IDs type: array x-stream-index: '001.004' filter_tags: description: Tags for filtering activities items: type: string maxItems: 50 title: Filter Tags type: array x-stream-index: '001.014' force_moderation: type: boolean x-stream-index: '003' id: description: Optional ID for the activity maxLength: 255 title: Activity ID type: string x-stream-index: '001.001' interest_tags: description: Tags for indicating user interests items: type: string title: Interest Tags type: array x-stream-index: '001.015' location: $ref: '#/components/schemas/Location' description: Geographic location related to the activity title: Location x-stream-index: '001.010' mentioned_user_ids: description: List of users mentioned in the activity items: type: string title: Mentioned User IDs type: array x-stream-index: '001.012' parent_id: description: ID of parent activity for replies/comments maxLength: 255 title: Parent ID type: string x-stream-index: '001.017' poll_id: description: ID of a poll to attach to activity title: Poll ID type: string x-stream-index: '001.018' restrict_replies: description: 'Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody' enum: - everyone - people_i_follow - nobody title: Restrict Replies type: string x-stream-index: '001.009' search_data: additionalProperties: {} description: Additional data for search indexing title: Search Data type: object x-stream-index: '001.013' skip_enrich_url: description: Whether to skip URL enrichment for the activity title: Skip URL Enrichment type: boolean x-stream-index: '001.020' skip_push: description: Whether to skip push notifications title: Skip Push type: boolean x-stream-index: '001.023' text: description: Text content of the activity title: Text type: string x-stream-index: '001.005' type: description: Type of activity maxLength: 255 title: Activity Type type: string x-stream-index: '001.002' user_id: description: ID of the user creating the activity maxLength: 255 title: User ID type: string x-stream-index: '001.003' visibility: description: 'Visibility setting for the activity. One of: public, private, tag' enum: - public - private - tag title: Visibility type: string x-stream-index: '001.007' visibility_tag: description: If visibility is 'tag', this is the tag name and is required maxLength: 32 title: Visibility Tag type: string x-stream-index: '001.008' required: - type - feeds title: Activity Request type: - object - 'null' Permission: properties: action: description: Action name this permission is for (e.g. SendMessage) title: Action type: string x-stream-index: '004' condition: additionalProperties: {} description: MongoDB style condition which decides whether or not the permission is granted title: Condition type: object x-stream-index: '007' custom: description: Whether this is a custom permission or built-in title: Custom type: boolean x-stream-index: 009 description: description: Description of the permission title: Description type: string x-stream-index: '003' id: description: Unique permission ID title: ID type: string x-stream-index: '001' level: description: 'Level at which permission could be applied (app or channel). One of: app, channel' title: Level type: string x-stream-index: '010' name: description: Name of the permission title: Name type: string x-stream-index: '002' owner: description: Whether this permission applies to resource owner or not title: Owner type: boolean x-stream-index: '005' same_team: description: Whether this permission applies to teammates (multi-tenancy mode only) title: Same team type: boolean x-stream-index: '006' tags: description: List of tags of the permission items: type: string title: Tags type: array x-stream-index: '011' required: - id - name - description - action - owner - same_team - custom - level - tags type: object PushNotificationSettingsResponse: properties: disabled: type: boolean x-stream-index: '001' disabled_until: format: date-time type: number x-stream-index: '002' type: object DeviceResponse: description: Response for Device properties: created_at: description: Date/time of creation format: date-time title: Created at type: number x-stream-index: '004' disabled: description: Whether device is disabled or not title: Disabled type: boolean x-stream-index: '005' disabled_reason: description: Reason explaining why device had been disabled title: Reason type: string x-stream-index: '006' id: description: Device ID title: ID type: string x-stream-index: '003' push_provider: description: Push provider title: PushProvider type: string x-stream-index: '001' push_provider_name: description: Push provider name title: PushProviderName type: string x-stream-index: '002' user_id: description: User ID title: UserID type: string x-stream-index: 008 voip: description: When true the token is for Apple VoIP push notifications title: Voip type: boolean x-stream-index: '007' required: - push_provider - id - created_at - user_id title: DeviceResponse type: - object - 'null' FeedRequest: properties: created_by_id: description: ID of the feed creator title: Created By ID type: string x-stream-index: '003' custom: additionalProperties: {} description: Custom data for the feed title: Custom Data type: object x-stream-index: '004.004' description: description: Description of the feed maxLength: 1000 title: Description type: string x-stream-index: '004.002' feed_group_id: description: ID of the feed group maxLength: 255 title: Feed Group ID type: string x-stream-index: '001' feed_id: description: ID of the feed maxLength: 255 title: Feed ID type: string x-stream-index: '002' filter_tags: description: Tags used for filtering feeds items: type: string title: Filter Tags type: array x-stream-index: '004.006' location: $ref: '#/components/schemas/Location' description: Geographic location for the feed title: Location x-stream-index: '004.005' members: description: Initial members for the feed items: $ref: '#/components/schemas/FeedMemberRequest' title: Members type: array x-stream-index: '004.007' name: description: Name of the feed maxLength: 255 title: Name type: string x-stream-index: '004.001' visibility: description: 'Visibility setting for the feed. One of: public, visible, followers, members, private' enum: - public - visible - followers - members - private title: Visibility type: string x-stream-index: '004.003' required: - feed_group_id - feed_id title: Feed Payload type: object RestoreCommentResponse: properties: activity: $ref: '#/components/schemas/ActivityResponse' description: The parent activity with updated counts title: Activity x-stream-index: '002' comment: $ref: '#/components/schemas/CommentResponse' description: The restored comment title: Comment x-stream-index: '001' duration: type: string x-stream-index: '003.001' required: - comment - activity - duration title: Restore Comment Response type: - object - 'null' DeleteCommentReactionResponse: properties: comment: $ref: '#/components/schemas/CommentResponse' description: The comment after reaction removal title: Comment x-stream-index: '001' duration: type: string x-stream-index: '003.001' reaction: $ref: '#/components/schemas/FeedsReactionResponse' description: The removed reaction title: Reaction x-stream-index: '002' required: - comment - reaction - duration title: Delete Comment Reaction Response type: - object - 'null' QueryRevisionHistoryRequest: properties: filter: additionalProperties: {} description: Filter to apply to the query maximum: 5 minimum: 1 title: Filter type: object x-stream-index: '001' limit: format: int32 maximum: 100 minimum: 0 type: integer x-stream-index: '004.001' next: type: string x-stream-index: '004.002' prev: type: string x-stream-index: '004.003' sort: description: Array of sort parameters items: $ref: '#/components/schemas/SortParamRequest' maxItems: 5 title: Sort type: array x-stream-index: '002' required: - filter type: - object - 'null' CreateFeedsBatchResponse: properties: duration: type: string x-stream-index: '002.001' feeds: description: List of created feeds items: $ref: '#/components/schemas/FeedResponse' title: Feeds type: array x-stream-index: '001' required: - feeds - duration title: Create Feeds Batch Response type: - object - 'null' ActivityFilterConfig: properties: exclude_owner_activities: description: When true, activities authored by the feed owner are excluded from feed reads title: Exclude Owner Activities type: boolean x-stream-index: '001' title: Activity Filter Configuration type: object DeliveryReceiptsResponse: properties: enabled: type: boolean x-stream-index: '001' type: object EnrichmentOptions: description: Options to skip specific enrichments to improve performance. Default is false (enrichments are included). Setting a field to true skips that enrichment. properties: enrich_own_followings: description: 'Default: false. When true, includes fetching and enriching own_followings (follows where activity author''s feeds follow current user''s feeds).' title: Enrich Own Followings type: boolean x-stream-index: '016' include_flat_activities: description: 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. title: Include Flat Activities type: boolean x-stream-index: '020' include_score_vars: description: 'Default: false. When true, includes score_vars in activity responses containing variable values used at ranking time.' title: Include Score Variables type: boolean x-stream-index: 019 skip_activity: description: 'Default: false. When true, skips all activity enrichments.' title: Skip Activity type: boolean x-stream-index: '001' skip_activity_collections: description: 'Default: false. When true, skips enriching collections on activities.' title: Skip Activity Collections type: boolean x-stream-index: 008 skip_activity_comments: description: 'Default: false. When true, skips enriching comments on activities.' title: Skip Activity Comments type: boolean x-stream-index: '005' skip_activity_current_feed: description: 'Default: false. When true, skips enriching current_feed on activities. Note: CurrentFeed is still computed for permission checks, but enrichment is skipped.' title: Skip Activity Current Feed type: boolean x-stream-index: '010' skip_activity_mentioned_users: description: 'Default: false. When true, skips enriching mentioned users on activities.' title: Skip Activity Mentioned Users type: boolean x-stream-index: '006' skip_activity_own_bookmarks: description: 'Default: false. When true, skips enriching own bookmarks on activities.' title: Skip Activity Own Bookmarks type: boolean x-stream-index: '004' skip_activity_parents: description: 'Default: false. When true, skips enriching parent activities.' title: Skip Activity Parents type: boolean x-stream-index: '002' skip_activity_poll: description: 'Default: false. When true, skips enriching poll data on activities.' title: Skip Activity Poll type: boolean x-stream-index: '007' skip_activity_reactions: description: '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.' title: Skip Activity Reactions type: boolean x-stream-index: '003' skip_activity_refresh_image_urls: description: 'Default: false. When true, skips refreshing image URLs on activities.' title: Skip Activity Refresh Image URLs type: boolean x-stream-index: 009 skip_all: description: 'Default: false. When true, skips all enrichments.' title: Skip All type: boolean x-stream-index: 018 skip_feed_member_user: description: 'Default: false. When true, skips enriching user data on feed members.' title: Skip Feed Member User type: boolean x-stream-index: '012' skip_followers: description: 'Default: false. When true, skips fetching and enriching followers. Note: If followers_pagination is explicitly provided, followers will be fetched regardless of this setting.' title: Skip Followers type: boolean x-stream-index: '013' skip_following: description: 'Default: false. When true, skips fetching and enriching following. Note: If following_pagination is explicitly provided, following will be fetched regardless of this setting.' title: Skip Following type: boolean x-stream-index: '014' skip_own_capabilities: description: 'Default: false. When true, skips computing and including capabilities for feeds.' title: Skip Own Capabilities type: boolean x-stream-index: '017' skip_own_follows: description: 'Default: false. When true, skips fetching and enriching own_follows (follows where user''s feeds follow target feeds).' title: Skip Own Follows type: boolean x-stream-index: '015' skip_pins: description: 'Default: false. When true, skips enriching pinned activities.' title: Skip Pins type: boolean x-stream-index: '011' title: Enrichment Options type: object PagerResponse: properties: next: type: string x-stream-index: '001' prev: type: string x-stream-index: '002' type: object QueryFeedsUsageStatsRequest: properties: from: description: Start date in YYYY-MM-DD format (optional, defaults to 30 days ago) title: From type: string x-stream-index: '002' to: description: End date in YYYY-MM-DD format (optional, defaults to today) title: To type: string x-stream-index: '003' type: - object - 'null' FeedOwnData: properties: own_capabilities: description: Capabilities the current user has for this feed items: $ref: '#/components/schemas/FeedOwnCapability' title: Own Capabilities type: array x-stream-index: '003' own_followings: description: Follow relationships where the feed owner's feeds are following the current user's feeds (up to 5 total) items: $ref: '#/components/schemas/FollowResponse' title: Own Followings type: array x-stream-index: '002' own_follows: description: Follow relationships where the current user's feeds are following this feed items: $ref: '#/components/schemas/FollowResponse' title: Own Follows type: array x-stream-index: '001' own_membership: $ref: '#/components/schemas/FeedMemberResponse' description: Membership information for the current user in this feed title: Own Membership x-stream-index: '004' title: Feed Own Data type: object DeleteBookmarkFolderResponse: properties: duration: type: string x-stream-index: '001.001' required: - duration title: Delete Bookmark Folder Response type: - object - 'null' UpdateMembershipLevelResponse: properties: duration: type: string x-stream-index: '002.001' membership_level: $ref: '#/components/schemas/MembershipLevelResponse' description: The updated membership level title: Membership Level x-stream-index: '001' required: - membership_level - duration title: Update Membership Level Response type: - object - 'null' CollectionRequest: properties: custom: additionalProperties: {} description: Custom data for the collection (required, must contain at least one key) minimum: 1 title: Custom Data type: object x-stream-index: '003' id: description: Unique identifier for the collection within its name (optional, will be auto-generated if not provided) maxLength: 128 title: ID type: string x-stream-index: '002' name: description: Name/type of the collection maxLength: 128 title: Name type: string x-stream-index: '001' user_id: description: ID of the user who owns this collection title: User ID type: string x-stream-index: '004' required: - name - custom title: Collection Request type: object ListFeedViewsResponse: properties: duration: type: string x-stream-index: '002.001' views: additionalProperties: $ref: '#/components/schemas/FeedViewResponse' description: Map of feed view ID to feed view title: Views type: object x-stream-index: '001' required: - views - duration title: List Feed Views Response type: - object - 'null' AggregationConfig: properties: activities_sort: description: '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.' enum: - created_at_asc - created_at_desc title: Activities Sort type: string x-stream-index: '003' format: description: Format for activity aggregation minLength: 1 title: Format type: string x-stream-index: '001' score_strategy: description: 'Strategy for computing aggregated group scores from member activity scores when ranking is enabled. Valid values: sum, max, avg' enum: - sum - max - avg title: Score Strategy type: string x-stream-index: '002' title: Aggregation Configuration type: object ListFeedVisibilitiesResponse: properties: duration: type: string x-stream-index: '002.001' feed_visibilities: additionalProperties: $ref: '#/components/schemas/FeedVisibilityResponse' description: Map of feed visibility configurations by name title: Feed Visibilities type: object x-stream-index: '001' required: - feed_visibilities - duration title: List Feed Visibilities Response type: - object - 'null' FollowResponse: properties: created_at: description: When the follow relationship was created format: date-time title: Created At type: number x-stream-index: 009 custom: additionalProperties: {} description: Custom data for the follow relationship title: Custom Data type: object x-stream-index: '004' follower_role: description: Role of the follower (source user) in the follow relationship title: Follower Role type: string x-stream-index: 008 push_preference: description: 'Push preference for notifications. One of: all, none' enum: - all - none title: Push Preference type: string x-stream-index: '003' request_accepted_at: description: When the follow request was accepted format: date-time title: Request Accepted At type: number x-stream-index: '005' request_rejected_at: description: When the follow request was rejected format: date-time title: Request Rejected At type: number x-stream-index: '006' source_feed: $ref: '#/components/schemas/FeedResponse' description: Source feed object title: Source Feed x-stream-index: '001' status: description: 'Status of the follow relationship. One of: accepted, pending, rejected' enum: - accepted - pending - rejected title: Status type: string x-stream-index: '007' target_feed: $ref: '#/components/schemas/FeedResponse' description: Target feed object title: Target Feed x-stream-index: '002' updated_at: description: When the follow relationship was last updated format: date-time title: Updated At type: number x-stream-index: '010' required: - source_feed - target_feed - push_preference - status - follower_role - created_at - updated_at title: Follow type: object ActivitySelectorConfigResponse: properties: cutoff_time: description: Time threshold for activity selection (timestamp) format: date-time title: Cutoff Time type: number x-stream-index: '004' cutoff_window: description: Flexible relative time window for activity selection (e.g., '1h', '3d', '1y') title: Cutoff Window type: string x-stream-index: '005' filter: additionalProperties: {} description: Filter for activity selection title: Filter type: object x-stream-index: '002' min_popularity: description: Minimum popularity threshold. For the 'popular' selector, values below 1 are normalized to the default (5) at read time. format: int32 title: Minimum Popularity type: integer x-stream-index: '006' params: additionalProperties: {} description: Generic params for selector-specific configuration title: Params type: object x-stream-index: '007' sort: description: Sort parameters for activity selection items: $ref: '#/components/schemas/SortParamRequest' title: Sort type: array x-stream-index: '003' type: description: Type of selector enum: - popular - proximity - following - current_feed - query - interest - follow_suggestion title: Type type: string x-stream-index: '001' required: - type title: Activity Selector Configuration Response type: object securitySchemes: JWT: description: 'JWT should be always provided when stream-auth-type=jwt. Using JWT auth request could be authenticated as user or as server-side. When using user authentication permission checking is going to be applied to requests based on the user that is performing a request. The `authorization` header should be a JWT string signed using the secret attached to the API key used to perform requests. **WARNING** all client-side official SDK do not ship with token generation; this is to make sure that the API secret is not shared with an untrusted party such as a browser or a iOS/Android application. Tokens **must** be generated server-side. If you wish, you can configure your application to ignore authentication (see `disable_auth_check`) The JWT string must include only the user_id claim and can include any built-in JWT claim such as iat, exp as well. ' in: header name: Authorization type: apiKey api_key: description: Application API key should be always set in order to authenticate the request. in: query name: api_key type: apiKey stream-auth-type: description: 'Stream-Auth-Type should be always set in order to authenticate the request. Possible values: `jwt` or `anonymous`. `jwt` allows you to authenticate as a user. With this auth type you should also provide valid JWT in Authorization header. `anonymous` allows you to authenticate as anonymous user. Please note that most advanced features are not available to anonymous users.' in: header name: Stream-Auth-Type type: apiKey