Appearance
Feeds
About 22307 wordsAbout 74 min
Curl SDK - Feeds API
Table of Contents
- AddActivity
- UpsertActivities
- UpdateActivitiesPartialBatch
- DeleteActivities
- TrackActivityMetrics
- QueryActivities
- AddBookmark
- UpdateBookmark
- DeleteBookmark
- ActivityFeedback
- CastPollVote
- DeletePollVote
- AddActivityReaction
- QueryActivityReactions
- DeleteActivityReaction
- GetActivity
- UpdateActivity
- UpdateActivityPartial
- DeleteActivity
- RestoreActivity
- QueryBookmarkFolders
- UpdateBookmarkFolder
- DeleteBookmarkFolder
- QueryBookmarks
- ReadCollections
- CreateCollections
- UpsertCollections
- UpdateCollections
- DeleteCollections
- QueryCollections
- GetComments
- AddComment
- AddCommentsBatch
- QueryComments
- AddCommentBookmark
- UpdateCommentBookmark
- DeleteCommentBookmark
- GetComment
- UpdateComment
- DeleteComment
- UpdateCommentPartial
- AddCommentReaction
- QueryCommentReactions
- DeleteCommentReaction
- GetCommentReplies
- RestoreComment
- ListFeedGroups
- CreateFeedGroup
- GetOrCreateFeed
- UpdateFeed
- DeleteFeed
- MarkActivity
- PinActivity
- UnpinActivity
- UpdateFeedMembers
- AcceptFeedMemberInvite
- QueryFeedMembers
- RejectFeedMemberInvite
- QueryPinnedActivities
- GetFollowSuggestions
- RestoreFeedGroup
- GetFeedGroup
- GetOrCreateFeedGroup
- UpdateFeedGroup
- DeleteFeedGroup
- ListFeedViews
- CreateFeedView
- GetFeedView
- GetOrCreateFeedView
- UpdateFeedView
- DeleteFeedView
- ListFeedVisibilities
- GetFeedVisibility
- UpdateFeedVisibility
- CreateFeedsBatch
- DeleteFeedsBatch
- OwnBatch
- QueryFeeds
- GetFeedsRateLimits
- Follow
- UpdateFollow
- AcceptFollow
- FollowBatch
- GetOrCreateFollows
- QueryFollows
- RejectFollow
- Unfollow
- CreateMembershipLevel
- QueryMembershipLevels
- UpdateMembershipLevel
- DeleteMembershipLevel
- QueryFeedsUsageStats
- UnfollowBatch
- GetOrCreateUnfollows
- DeleteFeedUserData
- ExportFeedUserData
- Types Reference
AddActivity
Add a single activity to a feed, allowing users to share updates or events. Use this when you want to introduce new content to a feed.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"type": "messaging",
"id": "example-id",
"user_id": "user-123"
}'Example: with text and skip_push
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"type": "messaging",
"skip_push": true,
"text": "Hello, World!"
}'Example: with visibility and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"type": "messaging",
"enrich_own_fields": true,
"visibility": "example_value"
}'Example: with expires_at and filter_tags
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"type": "messaging",
"expires_at": "example_value",
"filter_tags": ["value1", "value2"]
}'Response: AddActivityResponse
Parameters
Request Body:
attachments([]Attachment): List of attachments for the activitycollection_refs([]string): Collections that this activity referencescopy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create notification activities for mentioned userscustom(object): Custom data for the activityenrich_own_fields(bool)expires_at(string): Expiration time for the activityfeeds([]string) (required): List of feeds to add the activity to with a default max limit of 25 feedsfilter_tags([]string): Tags for filtering activitiesforce_moderation(bool)id(string): Optional ID for the activityinterest_tags([]string): Tags for indicating user interestslocation(Location): Geographic location related to the activitymentioned_user_ids([]string): List of users mentioned in the activityparent_id(string): ID of parent activity for replies/commentspoll_id(string): ID of a poll to attach to activityrestrict_replies(string): Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobodysearch_data(object): Additional data for search indexingskip_enrich_url(bool): Whether to skip URL enrichment for the activityskip_push(bool): Whether to skip push notificationstext(string): Text content of the activitytype(string) (required): Type of activityuser_id(string): ID of the user creating the activityvisibility(string): Visibility setting for the activity. One of: public, private, tagvisibility_tag(string): If visibility is 'tag', this is the tag name and is required
UpsertActivities
Add or update multiple activities in a batch, optimizing feed management by ensuring activities are current and efficiently handled. Use this for bulk operations where activities might need to be created or modified.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"activities": [{ "feeds": ["value1", "value2"], "type": "messaging", "attachments": [{ "custom": {}, "actions": [{ "name": "Example Name", "text": "Hello, World!", "type": "messaging", "style": "example_value" }] }] }],
"enrich_own_fields": true,
"force_moderation": true
}'Response: UpsertActivitiesResponse
Parameters
Request Body:
activities([]ActivityRequest) (required): List of activities to create or updateenrich_own_fields(bool): If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.force_moderation(bool): 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.
UpdateActivitiesPartialBatch
Use this method to update specific fields of multiple activities in bulk without overwriting the entire activity data, ideal for making incremental changes efficiently.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/batch/partial" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"changes": [{ "activity_id": "example_value", "copy_custom_to_notification": {} }],
"force_moderation": true
}'Response: UpdateActivitiesPartialBatchResponse
Parameters
Request Body:
changes([]UpdateActivityPartialChangeRequest) (required): List of activity changes to apply. Each change specifies an activity ID and the fields to set/unsetforce_moderation(bool): 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.
DeleteActivities
Remove multiple activities from a feed to keep it relevant and tidy. Use this when you need to clear outdated or unwanted content from a feed.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"ids": ["id-1", "id-2"],
"hard_delete": true,
"user_id": "user-123"
}'Example: with user and delete_notification_activity
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"ids": ["id-1", "id-2"],
"delete_notification_activity": true,
"user": { "id": "example-id", "custom": {} }
}'Response: DeleteActivitiesResponse
Parameters
Request Body:
delete_notification_activity(bool): Whether to also delete any notification activities created from mentions in these activitieshard_delete(bool): Whether to permanently delete the activitiesids([]string) (required): List of activity IDs to deleteuser(UserRequest)user_id(string)
TrackActivityMetrics
Monitors and records user interactions with activities, providing insights into user engagement and behavior. Use this to analyze activity trends and optimize content strategy.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/metrics/track" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"events": [{ "activity_id": "example_value", "metric": "example_value", "delta": 1 }],
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: TrackActivityMetricsResponse
Parameters
Request Body:
events([]TrackActivityMetricsEvent) (required): List of metric events to track (max 100 per request)user(UserRequest)user_id(string)
QueryActivities
Retrieve a list of activities based on specific criteria, enabling users to access relevant content quickly. Use this to filter and display activities that match certain conditions.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"user_id": "user-123"
}'Example: with filter and sort
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"sort": [{ "direction": 1 }]
}'Example: with include_soft_deleted_activities and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"include_soft_deleted_activities": true
}'Example: with next and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"prev": "example_value"
}'Response: QueryActivitiesResponse
Parameters
Request Body:
enrich_own_fields(bool)filter(object): Filters to apply to the query. Supports location-based queries with 'near' and 'within_bounds' operators.include_expired_activities(bool): When true, include both expired and non-expired activities in the result.include_private_activities(bool)include_soft_deleted_activities(bool): When true, include soft-deleted activities in the result.limit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the queryuser(UserRequest)user_id(string)
AddBookmark
Save a specific item or activity for easy retrieval later, enhancing user experience by allowing quick access to important content. Use this to enable users to mark favorites or important items.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"folder_id": "example_value",
"user_id": "user-123"
}'Example: with new_folder and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"new_folder": { "name": "Example Name", "custom": {} },
"user": { "id": "example-id", "custom": {} }
}'Example: with custom
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {}
}'Response: AddBookmarkResponse
Parameters
Path Parameters:
activity_id(string) (required)
Request Body:
custom(object): Custom data for the bookmarkfolder_id(string): ID of the folder to add the bookmark tonew_folder(AddFolderRequest): Create a new folder for this bookmarkuser(UserRequest)user_id(string)
UpdateBookmark
Modify the details of an existing bookmark to keep saved content accurate and useful. Use this when there is a need to change the information associated with a bookmark.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"folder_id": "example_value",
"user_id": "user-123"
}'Example: with new_folder and new_folder_id
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"new_folder": { "name": "Example Name", "custom": {} },
"new_folder_id": "example_value"
}'Example: with user and custom
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"user": { "id": "example-id", "custom": {} }
}'Response: UpdateBookmarkResponse
Parameters
Path Parameters:
activity_id(string) (required)
Request Body:
custom(object): Custom data for the bookmarkfolder_id(string): ID of the folder containing the bookmarknew_folder(AddFolderRequest): Create a new folder and move the bookmark into itnew_folder_id(string): Move the bookmark to this folder (empty string removes the folder)user(UserRequest)user_id(string)
DeleteBookmark
Remove a bookmark from the saved list to declutter a user's stored items. Use this when a bookmarked item is no longer needed or relevant.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/bookmarks?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteBookmarkResponse
Parameters
Path Parameters:
activity_id(string) (required)
Query Parameters:
folder_id(string)user_id(string)
ActivityFeedback
Submit user feedback on an activity to enhance personalization and content relevance. Use this to gather user preferences and improve content recommendations.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/feedback" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"show_less": true,
"user_id": "user-123"
}'Example: with show_more and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/feedback" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"show_more": true,
"user": { "id": "example-id", "custom": {} }
}'Example: with hide
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/feedback" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"hide": true
}'Response: ActivityFeedbackResponse
Parameters
Path Parameters:
activity_id(string) (required)
Request Body:
hide(bool): Whether to hide this activityshow_less(bool): Whether to show less content like thisshow_more(bool): Whether to show more content like thisuser(UserRequest)user_id(string)
CastPollVote
Register a user’s vote in a poll, contributing to collective decision-making or opinion-sharing. Use this to capture user opinions in polls.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/polls/example_value/vote" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Example: with vote
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/polls/example_value/vote" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"vote": { "answer_text": "example_value" }
}'Response: PollVoteResponse
Parameters
Path Parameters:
activity_id(string) (required)poll_id(string) (required)
Request Body:
user(UserRequest)user_id(string)vote(VoteData): Vote data
DeletePollVote
Remove a user's vote from a poll, allowing for changes in decision or corrections. Use this when a user needs to retract or alter their vote in a poll.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/polls/example_value/vote/example_value?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: PollVoteResponse
Parameters
Path Parameters:
activity_id(string) (required)poll_id(string) (required)vote_id(string) (required)
Query Parameters:
user_id(string)
AddActivityReaction
Add a reaction to a specified activity to engage users and track interactions. Use this method to express preferences or sentiments towards an activity.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"skip_push": true,
"user_id": "user-123"
}'Example: with custom and enforce_unique
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"custom": {},
"enforce_unique": true
}'Example: with copy_custom_to_notification and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"copy_custom_to_notification": {},
"user": { "id": "example-id", "custom": {} }
}'Example: with create_notification_activity
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"create_notification_activity": true
}'Response: AddReactionResponse
Parameters
Path Parameters:
activity_id(string) (required)
Request Body:
copy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create a notification activity for this reactioncustom(object): Custom data for the reactionenforce_unique(bool): Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one)skip_push(bool)type(string) (required): Type of reactionuser(UserRequest)user_id(string)
QueryActivityReactions
Retrieve a list of reactions associated with a specific activity to analyze user engagement and response patterns. Use this to gain insights into activity interactions.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryActivityReactionsResponse
Parameters
Path Parameters:
activity_id(string) (required)
Request Body:
filter(object)limit(int)next(string)prev(string)sort([]SortParamRequest)
DeleteActivityReaction
Remove a reaction from an activity to update user feedback or correct erroneous inputs. Use this when a reaction needs to be retracted or modified.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/activities/activity-123/reactions/messaging?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteActivityReactionResponse
Parameters
Path Parameters:
activity_id(string) (required)type(string) (required)
Query Parameters:
delete_notification_activity(bool)user_id(string)
GetActivity
Fetch details of a specific activity to view or display the current state and content. Use this to retrieve complete information about an activity for further processing or display.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id?comment_limit=1&user_id=user-123" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with comment_sort
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id?comment_sort=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetActivityResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
comment_sort(string)comment_limit(int)user_id(string)
UpdateActivity
Replace all information of a specific activity to reflect new content or corrections. Use this when a full update of the activity's data is necessary.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"text": "Hello, World!",
"user_id": "user-123"
}'Example: with feeds and visibility
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"visibility": "example_value"
}'Example: with enrich_own_fields and expires_at
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"expires_at": 1.0
}'Example: with attachments and filter_tags
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"attachments": [{ "custom": {}, "actions": [{ "name": "Example Name", "text": "Hello, World!", "type": "messaging", "style": "example_value" }] }],
"filter_tags": ["value1", "value2"]
}'Response: UpdateActivityResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
attachments([]Attachment): List of attachments for the activitycollection_refs([]string): Collections that this activity referencescopy_custom_to_notification(bool): 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 insteadcustom(object): Custom data for the activityenrich_own_fields(bool): If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.expires_at(float): Time when the activity will expirefeeds([]string): List of feeds the activity is present infilter_tags([]string): Tags used for filtering the activityforce_moderation(bool): 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.handle_mention_notifications(bool): If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentionedinterest_tags([]string): Tags indicating interest categorieslocation(Location): Geographic location for the activitymentioned_user_ids([]string): List of user IDs mentioned in the activitypoll_id(string): Poll IDrestrict_replies(string): Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobodyrun_activity_processors(bool): 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.search_data(object): Additional data for search indexingskip_enrich_url(bool): Whether to skip URL enrichment for the activitytext(string): The text content of the activityuser(UserRequest)user_id(string)visibility(string): Visibility setting for the activityvisibility_tag(string): If visibility is 'tag', this is the tag name and is required
UpdateActivityPartial
Modify selected fields of an activity to make incremental changes without altering the entire activity. Use this for efficient updates when only specific attributes need adjustment.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"user_id": "user-123"
}'Example: with force_moderation and handle_mention_notifications
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"force_moderation": true,
"handle_mention_notifications": true
}'Example: with run_activity_processors and set
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"run_activity_processors": true,
"set": {}
}'Example: with unset and user
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"unset": ["value1", "value2"],
"user": { "id": "example-id", "custom": {} }
}'Response: UpdateActivityPartialResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
copy_custom_to_notification(bool): 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 insteadenrich_own_fields(bool): If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.force_moderation(bool): 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.handle_mention_notifications(bool): If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentionedrun_activity_processors(bool): 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.set(object): 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')unset([]string): List of field names to remove. Supported fields: 'custom', 'visibility_tag', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids', 'search_data'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')user(UserRequest)user_id(string)
DeleteActivity
Remove a specific activity from the feed to maintain relevance or manage content lifecycle. Use this when an activity is no longer needed or should not be displayed.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteActivityResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
hard_delete(bool)delete_notification_activity(bool)
RestoreActivity
Restore a previously soft-deleted activity to make it active again, useful for recovering activities that were unintentionally removed or need to be reinstated.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id/restore?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Example: with enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/activities/example-id/restore?enrich_own_fields=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
}'Response: RestoreActivityResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
enrich_own_fields(bool)
Request Body:
user(UserRequest)user_id(string)
QueryBookmarkFolders
Retrieve a list of bookmark folders to organize and access saved activities quickly. Use this to manage user bookmarks and improve content retrieval efficiency.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryBookmarkFoldersResponse
Parameters
Request Body:
filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the query
UpdateBookmarkFolder
Modify the details of a bookmark folder to reorganize or rename it for better management. Use this when you need to update folder attributes for improved user experience.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"name": "Example Name",
"user_id": "user-123"
}'Example: with user and custom
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"user": { "id": "example-id", "custom": {} }
}'Response: UpdateBookmarkFolderResponse
Parameters
Path Parameters:
folder_id(string) (required)
Request Body:
custom(object): Custom data for the foldername(string): Name of the folderuser(UserRequest)user_id(string)
DeleteBookmarkFolder
Remove a bookmark folder to declutter or reorganize saved content. Use this when a folder is no longer needed or should be consolidated with others.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/bookmark_folders/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteBookmarkFolderResponse
Parameters
Path Parameters:
folder_id(string) (required)
QueryBookmarks
Retrieve a list of bookmarks based on specified criteria, useful for accessing saved or frequently accessed items quickly.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmarks/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmarks/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with prev and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/bookmarks/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"prev": "example_value"
}'Response: QueryBookmarksResponse
Parameters
Request Body:
enrich_own_fields(bool)filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the query
ReadCollections
Fetch details of existing collections, enabling users to view and manage grouped data easily.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/collections?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ReadCollectionsResponse
Parameters
Query Parameters:
collection_refs([]string)user_id(string)
CreateCollections
Create new collections in bulk, ideal for organizing large sets of data into manageable groups at once.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/collections" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"collections": [{ "custom": {}, "name": "Example Name", "id": "example-id" }],
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: CreateCollectionsResponse
Parameters
Request Body:
collections([]CollectionRequest) (required): List of collections to createuser(UserRequest)user_id(string)
UpsertCollections
Insert new collections or update existing ones in a single operation, ensuring your data is current without multiple requests.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/collections" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"collections": [{ "custom": {}, "name": "Example Name", "id": "example-id" }]
}'Response: UpsertCollectionsResponse
Parameters
Request Body:
collections([]CollectionRequest) (required): List of collections to upsert (insert if new, update if existing)
UpdateCollections
Modify existing collections by changing their attributes, facilitating the maintenance and customization of grouped data.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/collections" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"collections": [{ "custom": {}, "id": "example-id", "name": "Example Name" }],
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: UpdateCollectionsResponse
Parameters
Request Body:
collections([]UpdateCollectionRequest) (required): List of collections to update (only custom data is updatable)user(UserRequest)user_id(string)
DeleteCollections
Remove multiple collections at once, useful for cleaning up and organizing data by eliminating unneeded sets.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/collections?collection_refs=value1,value2" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteCollectionsResponse
Parameters
Query Parameters:
collection_refs([]string) (required)
QueryCollections
Retrieves data from specified collections, allowing you to access and filter stored information efficiently. Use this when you need to extract specific data from your collections for analysis or display.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/collections/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"user_id": "user-123"
}'Example: with filter and sort
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/collections/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"sort": [{ "direction": 1 }]
}'Example: with next and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/collections/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"user": { "id": "example-id", "custom": {} }
}'Example: with prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/collections/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value"
}'Response: QueryCollectionsResponse
Parameters
Request Body:
filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the queryuser(UserRequest)user_id(string)
GetComments
Retrieve comments related to a specific object, providing insights and feedback from users or collaborators.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments?object_id=example_value&object_type=example_value&user_id=user-123&limit=10" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with sort and id_around
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments?object_id=example_value&object_type=example_value&sort=example_value&id_around=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with depth and replies_limit
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments?object_id=example_value&object_type=example_value&depth=1&replies_limit=1" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with prev and next
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments?object_id=example_value&object_type=example_value&prev=&next=" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCommentsResponse
Parameters
Query Parameters:
object_id(string) (required)object_type(string) (required)depth(int)sort(string)replies_limit(int)id_around(string)user_id(string)limit(int)prev(string)next(string)
AddComment
Post a new comment or reply to an existing one, fostering interaction and discussion around a particular object.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"user_id": "user-123"
}'Example: with skip_push and create_notification_activity
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"create_notification_activity": true,
"skip_push": true
}'Example: with custom and force_moderation
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"force_moderation": true
}'Example: with attachments and mentioned_user_ids
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"attachments": [{ "custom": {}, "actions": [{ "name": "Example Name", "text": "Hello, World!", "type": "messaging", "style": "example_value" }] }],
"mentioned_user_ids": ["user-123", "user-456"]
}'Response: AddCommentResponse
Parameters
Request Body:
attachments([]Attachment): Media attachments for the replycomment(string): Text content of the commentcopy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create a notification activity for this commentcustom(object): Custom data for the commentforce_moderation(bool): 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.id(string): Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated.mentioned_user_ids([]string): List of users mentioned in the replyobject_id(string): ID of the object to comment on. Required for root commentsobject_type(string): Type of the object to comment on. Required for root commentsparent_id(string): ID of parent comment for replies. When provided, object_id and object_type are automatically inherited from the parent comment.skip_enrich_url(bool): Whether to skip URL enrichment for this commentskip_push(bool)user(UserRequest)user_id(string)
AddCommentsBatch
Submit multiple comments in a single request, streamlining processes where multiple inputs are needed simultaneously.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"comments": [{ "attachments": [{ "custom": {}, "actions": [{ "name": "Example Name", "text": "Hello, World!", "type": "messaging", "style": "example_value" }] }] }]
}'Response: AddCommentsBatchResponse
Parameters
Request Body:
comments([]AddCommentRequest) (required): List of comments to add
QueryComments
Search for comments based on defined parameters, allowing users to filter and locate specific discussions efficiently.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1,
"user_id": "user-123"
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"prev": "example_value",
"sort": "example_value"
}'Example: with id_around and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"id_around": "example_value",
"user": { "id": "example-id", "custom": {} }
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"next": "example_value"
}'Response: QueryCommentsResponse
Parameters
Request Body:
filter(object) (required): Filter to apply to the queryid_around(string): Returns the comment with the specified ID along with surrounding comments for contextlimit(int): Maximum number of comments to returnnext(string)prev(string)sort(string): Array of sort parametersuser(UserRequest)user_id(string)
AddCommentBookmark
Allows users to bookmark a comment for easy future reference. Use this to enable users to save important comments for quick access later.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"folder_id": "example_value",
"user_id": "user-123"
}'Example: with new_folder and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"new_folder": { "name": "Example Name", "custom": {} },
"user": { "id": "example-id", "custom": {} }
}'Example: with custom
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {}
}'Response: AddCommentBookmarkResponse
Parameters
Path Parameters:
comment_id(string) (required)
Request Body:
custom(object): Custom data for the bookmarkfolder_id(string): ID of the folder to add the bookmark tonew_folder(AddFolderRequest): Create a new folder for this bookmarkuser(UserRequest)user_id(string)
UpdateCommentBookmark
Modifies an existing comment bookmark to reflect changes or updates. Use this to ensure that user bookmarks remain relevant and up-to-date.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"folder_id": "example_value",
"user_id": "user-123"
}'Example: with new_folder and new_folder_id
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"new_folder": { "name": "Example Name", "custom": {} },
"new_folder_id": "example_value"
}'Example: with user and custom
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"user": { "id": "example-id", "custom": {} }
}'Response: UpdateCommentBookmarkResponse
Parameters
Path Parameters:
comment_id(string) (required)
Request Body:
custom(object): Custom data for the bookmarkfolder_id(string): ID of the folder containing the bookmarknew_folder(AddFolderRequest): Create a new folder and move the bookmark into itnew_folder_id(string): Move the bookmark to this folder (empty string removes the folder)user(UserRequest)user_id(string)
DeleteCommentBookmark
Removes a bookmarked comment, freeing up space and reducing clutter. Use this when a bookmarked comment is no longer needed by the user.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/comments/example_value/bookmarks?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteCommentBookmarkResponse
Parameters
Path Parameters:
comment_id(string) (required)
Query Parameters:
folder_id(string)user_id(string)
GetComment
Retrieve a specific comment by its ID to view details or perform further operations. Use this method when you need to access the content or metadata of a particular comment.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCommentResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
user_id(string)
UpdateComment
Modify the content or metadata of an existing comment. Use this method when you want to edit a comment's text or update its properties.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"skip_push": true,
"user_id": "user-123"
}'Example: with copy_custom_to_notification and custom
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"copy_custom_to_notification": {},
"custom": {}
}'Example: with force_moderation and handle_mention_notifications
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"force_moderation": true,
"handle_mention_notifications": true
}'Example: with mentioned_user_ids and skip_enrich_url
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"mentioned_user_ids": ["user-123", "user-456"],
"skip_enrich_url": "https://example.com"
}'Response: UpdateCommentResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
attachments([]Attachment): Updated media attachments for the comment. Providing this field will replace all existing attachments.comment(string): Updated text content of the commentcopy_custom_to_notification(bool): 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 insteadcustom(object): Updated custom data for the commentforce_moderation(bool): 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.handle_mention_notifications(bool): If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentionedmentioned_user_ids([]string): List of user IDs mentioned in the commentskip_enrich_url(bool): Whether to skip URL enrichment for this commentskip_push(bool)user(UserRequest)user_id(string)
DeleteComment
Remove a comment from a feed. Use this method to permanently delete a comment when it is no longer needed.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteCommentResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
hard_delete(bool)delete_notification_activity(bool)
UpdateCommentPartial
Applies partial updates to a comment, allowing for specific fields to be modified without altering the entire comment. Use this to efficiently update comment content or metadata.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/partial" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"skip_push": true,
"user_id": "user-123"
}'Example: with handle_mention_notifications and set
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/partial" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"handle_mention_notifications": true,
"set": {}
}'Example: with skip_enrich_url and copy_custom_to_notification
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/partial" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"copy_custom_to_notification": {},
"skip_enrich_url": "https://example.com"
}'Example: with unset and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/partial" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"unset": ["value1", "value2"],
"user": { "id": "example-id", "custom": {} }
}'Response: UpdateCommentPartialResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
copy_custom_to_notification(bool): Whether to copy custom data to notification activities Deprecated: use notification_context.trigger.custom and notification_context.target.custom insteadforce_moderation(bool): 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.handle_mention_notifications(bool): Whether to handle mention notification changesset(object): 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')skip_enrich_url(bool): Whether to skip URL enrichmentskip_push(bool): Whether to skip push notificationsunset([]string): List of field names to remove. Supported fields: 'custom', 'attachments', 'mentioned_user_ids', 'status'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')user(UserRequest)user_id(string)
AddCommentReaction
Attach a reaction, such as a like or emoji, to a comment. Use this method to allow users to express their sentiments about a comment.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"skip_push": true,
"user_id": "user-123"
}'Example: with custom and enforce_unique
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"custom": {},
"enforce_unique": true
}'Example: with copy_custom_to_notification and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"copy_custom_to_notification": {},
"user": { "id": "example-id", "custom": {} }
}'Example: with create_notification_activity
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"type": "messaging",
"create_notification_activity": true
}'Response: AddCommentReactionResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
copy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create a notification activity for this reactioncustom(object): Optional custom data to add to the reactionenforce_unique(bool): Whether to enforce unique reactions per user (remove other reaction types from the user when adding this one)skip_push(bool)type(string) (required): The type of reaction, eg upvote, like, ...user(UserRequest)user_id(string)
QueryCommentReactions
Retrieve all reactions associated with a specific comment. Use this method to view how users have interacted with a comment through various reactions.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryCommentReactionsResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
filter(object)limit(int)next(string)prev(string)sort([]SortParamRequest)
DeleteCommentReaction
Remove a specific reaction from a comment. Use this method when you need to retract or correct a reaction added to a comment.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/reactions/messaging?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteCommentReactionResponse
Parameters
Path Parameters:
id(string) (required)type(string) (required)
Query Parameters:
delete_notification_activity(bool)user_id(string)
GetCommentReplies
Fetch all replies associated with a specific comment. Use this method to view or manage the conversation thread stemming from a comment.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/replies?user_id=user-123&limit=10" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with sort and id_around
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/replies?sort=example_value&id_around=example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with depth and replies_limit
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/replies?depth=1&replies_limit=1" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with prev and next
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/replies?prev=&next=" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetCommentRepliesResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
depth(int)sort(string)replies_limit(int)id_around(string)user_id(string)limit(int)prev(string)next(string)
RestoreComment
Reactivates a comment that was previously soft-deleted, making it visible again. Use this to recover comments that were mistakenly deleted or need to be reinstated.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/comments/example-id/restore" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: RestoreCommentResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
user(UserRequest)user_id(string)
ListFeedGroups
Retrieve a list of all available feed groups within the application. Use this method to explore or manage different categories of feeds.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListFeedGroupsResponse
Parameters
Query Parameters:
include_soft_deleted(bool)
CreateFeedGroup
Establish a new feed group to categorize and organize related feeds. Use this method when you need to create a new grouping for feeds based on specific criteria or topics.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"activity_processors": [{ "type": "messaging" }],
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }]
}'Example: with aggregation and custom
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"aggregation": { "activities_sort": "example_value" },
"custom": {}
}'Example: with default_visibility and notification
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"default_visibility": "example_value",
"notification": { "deduplication_window": "example_value" }
}'Example: with push_notification and ranking
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"push_notification": { "enable_push": true },
"ranking": { "type": "messaging", "defaults": {} }
}'Response: CreateFeedGroupResponse
Parameters
Request Body:
activity_processors([]ActivityProcessorConfig): Configuration for activity processorsactivity_selectors([]ActivitySelectorConfig): Configuration for activity selectorsaggregation(AggregationConfig): Configuration for activity aggregationcustom(object): Custom data for the feed groupdefault_visibility(string): Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'private'. Defaults to 'visible' if not provided.id(string) (required): Unique identifier for the feed groupnotification(NotificationConfig): Configuration for notificationspush_notification(PushNotificationConfig)ranking(RankingConfig): Configuration for activity rankingstories(StoriesConfig): Configuration for stories functionality
GetOrCreateFeed
Retrieve an existing feed or create a new one if it doesn't exist. Use this method to ensure a feed is available for content posting or interaction.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"limit": 1,
"user_id": "user-123"
}'Example: with filter and data
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"data": { "custom": {} },
"filter": {}
}'Example: with followers_pagination and following_pagination
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"followers_pagination": { "limit": 1 },
"following_pagination": { "limit": 1 }
}'Example: with friend_reactions_options and id_around
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"friend_reactions_options": { "enabled": true },
"id_around": "example_value"
}'Response: GetOrCreateFeedResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
data(FeedInput)enrichment_options(EnrichmentOptions)external_ranking(object)filter(object)followers_pagination(PagerRequest)following_pagination(PagerRequest)friend_reactions_options(FriendReactionsOptions)id_around(string)interest_weights(object)limit(int)member_pagination(PagerRequest)next(string)prev(string)user(UserRequest)user_id(string)view(string)watch(bool)
UpdateFeed
Modify the details or settings of an existing feed to keep it current and relevant. Use this method when you want to change aspects like feed name, description, or settings.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"created_by_id": "example_value",
"name": "Example Name"
}'Example: with custom and description
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"description": "example_value"
}'Example: with enrich_own_fields and filter_tags
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"filter_tags": ["value1", "value2"]
}'Example: with location and clear_location
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"clear_location": true,
"location": { "lat": 1.0, "lng": 1.0 }
}'Response: UpdateFeedResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
clear_location(bool): If true, removes the geographic location from the feedcreated_by_id(string): ID of the new feed creator (owner)custom(object): Custom data for the feeddescription(string): Description of the feedenrich_own_fields(bool): If true, enriches the feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.filter_tags([]string): Tags used for filtering feedslocation(Location): Geographic location for the feedname(string): Name of the feed
DeleteFeed
Remove a specific feed permanently to clean up unused or obsolete data. This is useful when a feed is no longer needed and should be completely erased from your system.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteFeedResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Query Parameters:
hard_delete(bool)
MarkActivity
Designate specific activities as read, seen, or watched to help users track their interactions and stay informed about new content. Use it to manage activity notifications and ensure users only see what is relevant to them.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/mark/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"mark_all_seen": true,
"user_id": "user-123"
}'Example: with mark_read and mark_seen
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/mark/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"mark_read": ["value1", "value2"],
"mark_seen": ["value1", "value2"]
}'Example: with mark_watched and user
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/mark/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"mark_watched": ["value1", "value2"],
"user": { "id": "example-id", "custom": {} }
}'Example: with mark_all_read
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/mark/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"mark_all_read": true
}'Response: Response
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
mark_all_read(bool): Whether to mark all activities as readmark_all_seen(bool): Whether to mark all activities as seenmark_read([]string): List of activity IDs to mark as readmark_seen([]string): List of activity IDs to mark as seenmark_watched([]string): List of activity IDs to mark as watched (for stories)user(UserRequest)user_id(string)
PinActivity
Highlight or prioritize an activity by pinning it to the top of a feed, ensuring it remains visible and easily accessible. This is useful for emphasizing important updates or content.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/activity-123/pin" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Example: with enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/activity-123/pin" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true
}'Response: PinActivityResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)activity_id(string) (required)
Request Body:
enrich_own_fields(bool): If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.user(UserRequest)user_id(string)
UnpinActivity
Remove a pinned activity from its prioritized position, allowing it to move naturally within the feed. Use this method when the activity no longer needs special emphasis.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/activities/activity-123/pin?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: UnpinActivityResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)activity_id(string) (required)
Query Parameters:
enrich_own_fields(bool)user_id(string)
UpdateFeedMembers
Modify the list of members associated with a feed, adding or removing individuals as necessary. This method is beneficial for managing access and collaboration within a feed.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"operation": "example_value",
"limit": 1,
"members": ["user-123", "user-456"]
}'Example: with next and prev
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"operation": "example_value",
"next": "example_value",
"prev": "example_value"
}'Response: UpdateFeedMembersResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
limit(int)members([]FeedMemberRequest): List of members to upsert, remove, or setnext(string)operation(string) (required): Type of update operation to perform. One of: upsert, remove, setprev(string)
AcceptFeedMemberInvite
Confirm and accept an invitation to join a feed as a member, facilitating collaboration and shared access. Use this method when you wish to join a feed you have been invited to.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members/accept" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: AcceptFeedMemberInviteResponse
Parameters
Path Parameters:
feed_id(string) (required)feed_group_id(string) (required)
Request Body:
user(UserRequest)user_id(string)
QueryFeedMembers
Retrieve a list of all members associated with a specific feed to understand who has access and manage member interactions. This is useful for auditing and managing feed membership.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryFeedMembersResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
filter(object): Filter parameters for the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sort parameters for the query
RejectFeedMemberInvite
Decline an invitation to join a feed, preventing unwanted participation or access. Use this when you do not wish to be part of a feed you have been invited to.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/members/reject" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Response: RejectFeedMemberInviteResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
user(UserRequest)user_id(string)
QueryPinnedActivities
Retrieves a list of activities that have been pinned for prominence in a feed. Use this to highlight important or popular activities to your users.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/pinned_activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/pinned_activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with prev and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/feeds/feed-xyz/pinned_activities/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"prev": "example_value"
}'Response: QueryPinnedActivitiesResponse
Parameters
Path Parameters:
feed_group_id(string) (required)feed_id(string) (required)
Request Body:
enrich_own_fields(bool)filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the query
GetFollowSuggestions
Receive personalized recommendations on which feeds or users to follow, enhancing user engagement and discovery of relevant content. This method is helpful for users looking to expand their network or interests.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/follow_suggestions?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetFollowSuggestionsResponse
Parameters
Path Parameters:
feed_group_id(string) (required)
Query Parameters:
limit(int)user_id(string)
RestoreFeedGroup
Restores a previously deleted feed group, reinstating its activities and user interactions. Use this to recover a feed group that needs to be active again after deletion.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example_value/restore" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: RestoreFeedGroupResponse
Parameters
Path Parameters:
feed_group_id(string) (required)
GetFeedGroup
Retrieve details of an existing feed group to manage or display its contents effectively.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetFeedGroupResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
include_soft_deleted(bool)
GetOrCreateFeedGroup
Obtain an existing feed group or create a new one if it doesn't exist, ensuring your application can seamlessly manage feed group resources.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"activity_processors": [{ "type": "messaging" }],
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }]
}'Example: with aggregation and custom
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"aggregation": { "activities_sort": "example_value" },
"custom": {}
}'Example: with default_visibility and notification
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"default_visibility": "example_value",
"notification": { "deduplication_window": "example_value" }
}'Example: with push_notification and ranking
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"push_notification": { "enable_push": true },
"ranking": { "type": "messaging", "defaults": {} }
}'Response: GetOrCreateFeedGroupResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
activity_processors([]ActivityProcessorConfig): Configuration for activity processorsactivity_selectors([]ActivitySelectorConfig): Configuration for activity selectorsaggregation(AggregationConfig): Configuration for activity aggregationcustom(object): Custom data for the feed groupdefault_visibility(string): Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'private'. Defaults to 'visible' if not provided.notification(NotificationConfig): Configuration for notificationspush_notification(PushNotificationConfig)ranking(RankingConfig): Configuration for activity rankingstories(StoriesConfig): Configuration for stories functionality
UpdateFeedGroup
Modify the properties of an existing feed group to keep its information up-to-date and relevant to your application's needs.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"activity_processors": [{ "type": "messaging" }],
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }]
}'Example: with aggregation and custom
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"aggregation": { "activities_sort": "example_value" },
"custom": {}
}'Example: with default_visibility and notification
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"default_visibility": "example_value",
"notification": { "deduplication_window": "example_value" }
}'Example: with push_notification and ranking
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"push_notification": { "enable_push": true },
"ranking": { "type": "messaging", "defaults": {} }
}'Response: UpdateFeedGroupResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
activity_processors([]ActivityProcessorConfig): Configuration for activity processorsactivity_selectors([]ActivitySelectorConfig): Configuration for activity selectorsaggregation(AggregationConfig): Configuration for activity aggregationcustom(object): Custom data for the feed groupdefault_visibility(string)notification(NotificationConfig): Configuration for notificationspush_notification(PushNotificationConfig)ranking(RankingConfig): Configuration for activity rankingstories(StoriesConfig): Configuration for stories functionality
DeleteFeedGroup
Remove an existing feed group to free up resources or when the feed group is no longer needed in your application.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/feed_groups/example-id?" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteFeedGroupResponse
Parameters
Path Parameters:
id(string) (required)
Query Parameters:
hard_delete(bool)
ListFeedViews
Retrieve a list of all feed views to easily navigate and manage the available views in an application.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_views" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListFeedViewsResponse
CreateFeedView
Generate a new feed view to organize and present feed data in a customized manner for users.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_views" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }],
"aggregation": { "activities_sort": "example_value" }
}'Example: with ranking
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_views" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"ranking": { "type": "messaging", "defaults": {} }
}'Response: CreateFeedViewResponse
Parameters
Request Body:
activity_selectors([]ActivitySelectorConfig): Configuration for selecting activitiesaggregation(AggregationConfig): Configuration for aggregating activitiesid(string) (required): Unique identifier for the feed viewranking(RankingConfig): Configuration for ranking activities
GetFeedView
Access specific details of an existing feed view to analyze or display its configuration and content.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetFeedViewResponse
Parameters
Path Parameters:
id(string) (required)
GetOrCreateFeedView
Retrieve an existing feed view or create a new one if it doesn't exist, ensuring your application can always access the necessary view configurations.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }],
"aggregation": { "activities_sort": "example_value" }
}'Example: with ranking
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"ranking": { "type": "messaging", "defaults": {} }
}'Response: GetOrCreateFeedViewResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
activity_selectors([]ActivitySelectorConfig): Configuration for selecting activitiesaggregation(AggregationConfig): Configuration for aggregating activitiesranking(RankingConfig): Configuration for ranking activities
UpdateFeedView
Alter the settings or content of an existing feed view to reflect changes in data presentation or user requirements.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"activity_selectors": [{ "type": "messaging", "cutoff_time": "example_value" }],
"aggregation": { "activities_sort": "example_value" }
}'Example: with ranking
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"ranking": { "type": "messaging", "defaults": {} }
}'Response: UpdateFeedViewResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
activity_selectors([]ActivitySelectorConfig): Updated configuration for selecting activitiesaggregation(AggregationConfig): Updated configuration for aggregating activitiesranking(RankingConfig): Updated configuration for ranking activities
DeleteFeedView
Remove an existing feed view when it is no longer required, helping to maintain an organized and efficient feed view collection.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/feed_views/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: DeleteFeedViewResponse
Parameters
Path Parameters:
id(string) (required)
ListFeedVisibilities
Retrieve a list of visibility settings for multiple feeds. Use this method to gain insights into which feeds are public, private, or have custom visibility rules.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_visibilities" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ListFeedVisibilitiesResponse
GetFeedVisibility
Obtain the visibility status of a specific feed. This method is useful for checking whether a feed is accessible to certain users or groups.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feed_visibilities/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetFeedVisibilityResponse
Parameters
Path Parameters:
name(string) (required)
UpdateFeedVisibility
Modify the visibility settings of a feed. Use this to change who can view or interact with a feed, enhancing content privacy or accessibility as needed.
Example
curl -X PUT "https://feeds.stream-io-api.com/api/v2/feeds/feed_visibilities/example_value" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"grants": {}
}'Response: UpdateFeedVisibilityResponse
Parameters
Path Parameters:
name(string) (required)
Request Body:
grants(object): Updated permission grants for each role
CreateFeedsBatch
Simultaneously create multiple feeds with a single request. This method is ideal for initializing multiple content streams efficiently.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": [{ "feed_group_id": "example_value", "feed_id": "example_value", "created_by_id": "example_value" }],
"enrich_own_fields": true
}'Response: CreateFeedsBatchResponse
Parameters
Request Body:
enrich_own_fields(bool): If true, enriches the created feeds with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.feeds([]FeedRequest) (required): List of feeds to create
DeleteFeedsBatch
Remove multiple feeds in one operation. Use this method to streamline the cleanup process by deleting several feeds at once.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"hard_delete": true
}'Response: DeleteFeedsBatchResponse
Parameters
Request Body:
feeds([]string) (required): List of fully qualified feed IDs (format: group_id:feed_id) to deletehard_delete(bool): Whether to permanently delete the feeds instead of soft delete
OwnBatch
Retrieve ownership details for multiple feeds. This is useful for managing or auditing which feeds you or your organization control.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/own/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"user": { "id": "example-id", "custom": {} },
"user_id": "user-123"
}'Example: with fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/own/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"feeds": ["value1", "value2"],
"fields": ["value1", "value2"]
}'Response: OwnBatchResponse
Parameters
Request Body:
feeds([]string) (required): List of feed IDs to get own fields forfields([]string): Optional list of specific fields to return. If not specified, all fields (own_follows, own_followings, own_capabilities, own_membership) are returneduser(UserRequest)user_id(string)
QueryFeeds
Search and filter feeds based on specific criteria. Use this method to efficiently locate feeds that match your interests or requirements.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with prev and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"enrich_own_fields": true,
"prev": "example_value"
}'Example: with watch
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/feeds/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"watch": true
}'Response: QueryFeedsResponse
Parameters
Request Body:
enrich_own_fields(bool)filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the querywatch(bool): Whether to subscribe to realtime updates
GetFeedsRateLimits
Check the rate limits associated with feed operations. This method helps you understand the frequency restrictions on feed interactions to avoid exceeding usage quotas.
Example
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feeds/rate_limits?endpoints=example_value&android=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with ios and web
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feeds/rate_limits?ios=true&web=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with server_side
curl -X GET "https://feeds.stream-io-api.com/api/v2/feeds/feeds/rate_limits?server_side=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: GetFeedsRateLimitsResponse
Parameters
Query Parameters:
endpoints(string)android(bool)ios(bool)web(bool)server_side(bool)
Follow
Establish a follow relationship with a feed, allowing you to receive updates or notifications about its content. Use this to stay informed about specific topics or creators.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"copy_custom_to_notification": {},
"skip_push": true
}'Example: with create_notification_activity and create_users
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"create_notification_activity": true,
"create_users": ["user-123", "user-456"]
}'Example: with custom and enrich_own_fields
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"custom": {},
"enrich_own_fields": true
}'Example: with push_preference and activity_copy_limit
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"activity_copy_limit": 1,
"push_preference": "example_value"
}'Response: SingleFollowResponse
Parameters
Request Body:
activity_copy_limit(int): 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.copy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create a notification activity for this followcreate_users(bool): 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.custom(object): Custom data for the follow relationshipenrich_own_fields(bool): 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.push_preference(string): Push preference for the follow relationshipskip_push(bool): Whether to skip push for this followsource(string) (required): Fully qualified ID of the source feedstatus(string): Status of the follow relationship. One of: accepted, pending, rejectedtarget(string) (required): Fully qualified ID of the target feed
UpdateFollow
Modify an existing follow relationship. This method can be used to change your notification preferences or unfollow a feed when it is no longer relevant.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"copy_custom_to_notification": {},
"skip_push": true
}'Example: with create_notification_activity and create_users
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"create_notification_activity": true,
"create_users": ["user-123", "user-456"]
}'Example: with custom and enrich_own_fields
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"custom": {},
"enrich_own_fields": true
}'Example: with follower_role and push_preference
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/follows" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"follower_role": "example_value",
"push_preference": "example_value"
}'Response: UpdateFollowResponse
Parameters
Request Body:
activity_copy_limit(int): 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.copy_custom_to_notification(bool): 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 insteadcreate_notification_activity(bool): Whether to create a notification activity for this followcreate_users(bool): 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.custom(object): Custom data for the follow relationshipenrich_own_fields(bool): 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.follower_role(string)push_preference(string): Push preference for the follow relationshipskip_push(bool): Whether to skip push for this followsource(string) (required): Fully qualified ID of the source feedstatus(string): Status of the follow relationship. One of: accepted, pending, rejectedtarget(string) (required): Fully qualified ID of the target feed
AcceptFollow
Approve a pending follow request to allow a user to follow your feed, useful for managing access in private or protected feeds.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/accept" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value",
"follower_role": "example_value"
}'Response: AcceptFollowResponse
Parameters
Request Body:
follower_role(string): Optional role for the follower in the follow relationshipsource(string) (required): Fully qualified ID of the source feedtarget(string) (required): Fully qualified ID of the target feed
FollowBatch
Add multiple followers to a feed simultaneously, ideal for quickly expanding your feed's audience.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"follows": [{ "source": "example_value", "target": "example_value", "activity_copy_limit": 1 }],
"create_users": ["user-123", "user-456"],
"enrich_own_fields": true
}'Response: FollowBatchResponse
Parameters
Request Body:
create_users(bool): 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.enrich_own_fields(bool): 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.follows([]FollowRequest) (required): List of follow relationships to create
GetOrCreateFollows
Ensure specified follows exist by either retrieving existing ones or creating them as needed, simplifying follow management.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/batch/upsert" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"follows": [{ "source": "example_value", "target": "example_value", "activity_copy_limit": 1 }],
"create_users": ["user-123", "user-456"],
"enrich_own_fields": true
}'Response: FollowBatchResponse
Parameters
Request Body:
create_users(bool): 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.enrich_own_fields(bool): 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.follows([]FollowRequest) (required): List of follow relationships to create
QueryFollows
Retrieve a list of users who are following a specific feed, helping you analyze and manage your audience.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryFollowsResponse
Parameters
Request Body:
filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the query
RejectFollow
Deny a follow request to prevent a user from following your feed, useful for maintaining privacy or exclusivity.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/follows/reject" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"source": "example_value",
"target": "example_value"
}'Response: RejectFollowResponse
Parameters
Request Body:
source(string) (required): Fully qualified ID of the source feedtarget(string) (required): Fully qualified ID of the target feed
Unfollow
Remove a user from following a feed, helpful for managing your feed's audience or curating content access.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/follows/example_value/example_value?delete_notification_activity=true&keep_history=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Example: with enrich_own_fields
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/follows/example_value/example_value?enrich_own_fields=true" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: UnfollowResponse
Parameters
Path Parameters:
source(string) (required)target(string) (required)
Query Parameters:
delete_notification_activity(bool)keep_history(bool)enrich_own_fields(bool)
CreateMembershipLevel
Establish a new membership tier with specific benefits or access rights, allowing for tailored user engagement strategies.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"custom": {},
"description": "example_value"
}'Example: with priority and tags
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"id": "example-id",
"name": "Example Name",
"priority": 1,
"tags": ["value1", "value2"]
}'Response: CreateMembershipLevelResponse
Parameters
Request Body:
custom(object): Custom data for the membership leveldescription(string): Optional description of the membership levelid(string) (required): Unique identifier for the membership levelname(string) (required): Display name for the membership levelpriority(int): Priority level (higher numbers = higher priority)tags([]string): Activity tags this membership level gives access to
QueryMembershipLevels
Retrieve existing membership levels to review or assess the tiers available for users, aiding in membership management.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"filter": {},
"limit": 1
}'Example: with sort and prev
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"prev": "example_value",
"sort": [{ "direction": 1 }]
}'Example: with next
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/query" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"next": "example_value"
}'Response: QueryMembershipLevelsResponse
Parameters
Request Body:
filter(object): Filters to apply to the querylimit(int)next(string)prev(string)sort([]SortParamRequest): Sorting parameters for the query
UpdateMembershipLevel
Modify an existing membership tier to adjust benefits or access rights, supporting dynamic content or service offerings.
Example
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"description": "example_value",
"name": "Example Name"
}'Example: with custom and priority
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"custom": {},
"priority": 1
}'Example: with tags
curl -X PATCH "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"tags": ["value1", "value2"]
}'Response: UpdateMembershipLevelResponse
Parameters
Path Parameters:
id(string) (required)
Request Body:
custom(object): Custom data for the membership leveldescription(string): Optional description of the membership levelname(string): Display name for the membership levelpriority(int): Priority level (higher numbers = higher priority)tags([]string): Activity tags this membership level gives access to
DeleteMembershipLevel
Remove a membership level when it's no longer needed, streamlining your membership structure and offerings.
Example
curl -X DELETE "https://feeds.stream-io-api.com/api/v2/feeds/membership_levels/example-id" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: Response
Parameters
Path Parameters:
id(string) (required)
QueryFeedsUsageStats
Retrieve comprehensive usage statistics for a specific feed, helping you analyze engagement and performance trends over time.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/stats/usage" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"from": "example_value",
"to": "example_value"
}'Response: QueryFeedsUsageStatsResponse
Parameters
Request Body:
from(string): Start date in YYYY-MM-DD format (optional, defaults to 30 days ago)to(string): End date in YYYY-MM-DD format (optional, defaults to today)
UnfollowBatch
Efficiently unfollow multiple feeds in a single operation, ideal for streamlining feed management when you no longer wish to receive updates from several sources.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/unfollow/batch" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"follows": [{ "source": "example_value", "target": "example_value", "keep_history": true }],
"delete_notification_activity": true,
"enrich_own_fields": true
}'Response: UnfollowBatchResponse
Parameters
Request Body:
delete_notification_activity(bool): Whether to delete the corresponding notification activity (default: false)enrich_own_fields(bool): 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.follows([]UnfollowPair) (required): List of follow relationships to remove, each with optional keep_history
GetOrCreateUnfollows
Ensure feeds are unfollowed without duplication by using an idempotent operation that simplifies management when transitioning away from specific content sources.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/unfollow/batch/upsert" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"follows": [{ "source": "example_value", "target": "example_value", "keep_history": true }],
"delete_notification_activity": true,
"enrich_own_fields": true
}'Response: UnfollowBatchResponse
Parameters
Request Body:
delete_notification_activity(bool): Whether to delete the corresponding notification activity (default: false)enrich_own_fields(bool): 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.follows([]UnfollowPair) (required): List of follow relationships to remove, each with optional keep_history
DeleteFeedUserData
Permanently remove all data associated with a user's feed, useful for maintaining privacy and complying with data protection regulations when users request data deletion.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/users/user-123/delete" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt" \
-d '{
"hard_delete": true
}'Response: DeleteFeedUserDataResponse
Parameters
Path Parameters:
user_id(string) (required)
Request Body:
hard_delete(bool): Whether to perform a hard delete instead of a soft delete
ExportFeedUserData
Download a complete set of a user's feed data, allowing for backup, analysis, or migration to other systems while ensuring data portability.
Example
curl -X POST "https://feeds.stream-io-api.com/api/v2/feeds/users/user-123/export" \
-H "Authorization: Bearer $STREAM_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "stream-auth-type: jwt"Response: ExportFeedUserDataResponse
Parameters
Path Parameters:
user_id(string) (required)
Types Reference
This section documents the types/interfaces used in this API. These types are extracted from the OpenAPI specification.
AcceptFeedMemberInviteResponse
// AcceptFeedMemberInviteResponse
{
"duration": "string",
"member": FeedMemberResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| member | FeedMemberResponse | Yes | The feed member after accepting the invite |
AcceptFollowResponse
// AcceptFollowResponse
{
"duration": "string",
"follow": FollowResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follow | FollowResponse | Yes | The accepted follow relationship |
Action
// Action
{
"name": "string",
"style": "string",
"text": "string",
"type": "string",
"value": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | |
| text | string | Yes | |
| type | string | Yes | |
| style | string | No | |
| value | string | No |
ActivityFeedbackResponse
Response for activity feedback submission
// ActivityFeedbackResponse
{
"activity_id": "string",
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | The ID of the activity that received feedback |
| duration | string | Yes |
ActivityPinResponse
// ActivityPinResponse
{
"activity": ActivityResponse,
"created_at": 0,
"feed": "string",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The pinned activity |
| created_at | number | Yes | When the pin was created |
| feed | string | Yes | ID of the feed where activity is pinned |
| updated_at | number | Yes | When the pin was last updated |
| user | UserResponse | Yes | User who pinned the activity |
ActivityProcessorConfig
// ActivityProcessorConfig
{
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | Type of activity processor (required) |
ActivityRequest
// ActivityRequest
{
"attachments": [],
"collection_refs": [],
"copy_custom_to_notification": false,
"create_notification_activity": false,
"custom": {},
"expires_at": "string",
"feeds": [],
"filter_tags": [],
"id": "string",
"interest_tags": [],
"location": Location,
"mentioned_user_ids": [],
"parent_id": "string",
"poll_id": "string",
"restrict_replies": "everyone",
"search_data": {},
"skip_enrich_url": false,
"skip_push": false,
"text": "string",
"type": "string",
"user_id": "string",
"visibility": "public",
"visibility_tag": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| feeds | string[] | Yes | List of feeds to add the activity to with a default max limit of 25 feeds |
| type | string | Yes | Type of activity |
| attachments | Attachment[] | No | List of attachments for the activity |
| collection_refs | string[] | No | Collections that this activity references |
| copy_custom_to_notification | boolean | No | Whether to copy custom data to the notification activity (only applies when c... |
| create_notification_activity | boolean | No | Whether to create notification activities for mentioned users |
| custom | Record<string, any> | No | Custom data for the activity |
| expires_at | string | No | Expiration time for the activity |
| filter_tags | string[] | No | Tags for filtering activities |
| id | string | No | Optional ID for the activity |
| interest_tags | string[] | No | Tags for indicating user interests |
| location | Location | No | Geographic location related to the activity |
| mentioned_user_ids | string[] | No | List of users mentioned in the activity |
| parent_id | string | No | ID of parent activity for replies/comments |
| poll_id | string | No | ID of a poll to attach to activity |
| restrict_replies | 'everyone' | 'people_i_follow' | 'nobody' |
| search_data | Record<string, any> | No | Additional data for search indexing |
| skip_enrich_url | boolean | No | Whether to skip URL enrichment for the activity |
| skip_push | boolean | No | Whether to skip push notifications |
| text | string | No | Text content of the activity |
| user_id | string | No | ID of the user creating the activity |
| visibility | 'public' | 'private' | 'tag' |
| visibility_tag | string | No | If visibility is 'tag', this is the tag name and is required |
ActivityResponse
// ActivityResponse
{
"attachments": [],
"bookmark_count": 0,
"collections": {},
"comment_count": 0,
"comments": [],
"created_at": 0,
"current_feed": FeedResponse,
"custom": {},
"deleted_at": 0,
"edited_at": 0,
"expires_at": 0,
"feeds": [],
"filter_tags": [],
"friend_reaction_count": 0,
"friend_reactions": [],
"hidden": false,
"id": "string",
"interest_tags": [],
"is_read": false,
"is_seen": false,
"is_watched": false,
"latest_reactions": [],
"location": Location,
"mentioned_users": [],
"metrics": {},
"moderation": ModerationV2Response,
"moderation_action": "string",
"notification_context": NotificationContext,
"own_bookmarks": [],
"own_reactions": [],
"parent": ActivityResponse,
"poll": PollResponseData,
"popularity": 0,
"preview": false,
"reaction_count": 0,
"reaction_groups": {},
"restrict_replies": "everyone",
"score": 0,
"score_vars": {},
"search_data": {},
"selector_source": "string",
"share_count": 0,
"text": "string",
"type": "string",
"updated_at": 0,
"user": UserResponse,
"visibility": "public",
"visibility_tag": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Attachment[] | Yes | Media attachments for the activity |
| bookmark_count | number | Yes | Number of bookmarks on the activity |
| collections | Record<string, any> | Yes | Enriched collection data referenced by this activity |
| comment_count | number | Yes | Number of comments on the activity |
| comments | CommentResponse[] | Yes | Latest 5 comments of this activity (comment replies excluded) |
| created_at | number | Yes | When the activity was created |
| custom | Record<string, any> | Yes | Custom data for the activity |
| feeds | string[] | Yes | List of feed IDs containing this activity |
| filter_tags | string[] | Yes | Tags for filtering |
| hidden | boolean | Yes | If this activity is hidden by this user (using activity feedback) |
| id | string | Yes | Unique identifier for the activity |
| interest_tags | string[] | Yes | Tags for user interests |
| latest_reactions | FeedsReactionResponse[] | Yes | Recent reactions to the activity |
| mentioned_users | UserResponse[] | Yes | Users mentioned in the activity |
| own_bookmarks | BookmarkResponse[] | Yes | Current user's bookmarks for this activity |
| own_reactions | FeedsReactionResponse[] | Yes | Current user's reactions to this activity |
| popularity | number | Yes | Popularity score of the activity |
| preview | boolean | Yes | If this activity is obfuscated for this user. For premium content where you w... |
| reaction_count | number | Yes | Number of reactions to the activity |
| reaction_groups | Record<string, any> | Yes | Grouped reactions by type |
| restrict_replies | 'everyone' | 'people_i_follow' | 'nobody' |
| score | number | Yes | Ranking score for this activity |
| search_data | Record<string, any> | Yes | Data for search indexing |
| share_count | number | Yes | Number of times the activity was shared |
| type | string | Yes | Type of activity |
| updated_at | number | Yes | When the activity was last updated |
| user | UserResponse | Yes | User who created the activity |
| visibility | 'public' | 'private' | 'tag' |
| current_feed | FeedResponse | No | Feed context for this activity view. If an activity is added only to one feed... |
| deleted_at | number | No | When the activity was deleted |
| edited_at | number | No | When the activity was last edited |
| expires_at | number | No | When the activity will expire |
| friend_reaction_count | number | No | Total count of reactions from friends on this activity |
| friend_reactions | FeedsReactionResponse[] | No | Reactions from users the current user follows or has mutual follows with |
| is_read | boolean | No | Whether this activity has been read. Only set for feed groups with notificati... |
| is_seen | boolean | No | Whether this activity has been seen. Only set for feed groups with notificati... |
| is_watched | boolean | No | |
| location | Location | No | Geographic location related to the activity |
| metrics | Record<string, any> | No | |
| moderation | ModerationV2Response | No | Moderation information |
| moderation_action | string | No | |
| notification_context | NotificationContext | No | Notification context data for the activity (if this is a reaction, comment, f... |
| parent | ActivityResponse | No | Parent activity (if this is a reply/comment) |
| poll | PollResponseData | No | Poll attached to this activity |
| score_vars | Record<string, any> | No | Variable values used at ranking time. Only included when include_score_vars i... |
| selector_source | string | No | Which activity selector provided this activity (e.g., 'following', 'popular',... |
| text | string | No | Text content of the activity |
| visibility_tag | string | No | If visibility is 'tag', this is the tag name |
ActivitySelectorConfig
// ActivitySelectorConfig
{
"cutoff_time": "string",
"cutoff_window": "string",
"filter": {},
"min_popularity": 0,
"params": {},
"sort": [],
"type": "popular"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | 'popular' | 'proximity' | 'following' |
| cutoff_time | string | No | Time threshold for activity selection (string). Expected RFC3339 format (e.g.... |
| cutoff_window | string | No | Flexible relative time window for activity selection (e.g., '1h', '3d', '1y')... |
| filter | Record<string, any> | No | Filter for activity selection |
| min_popularity | number | No | Minimum popularity threshold |
| params | Record<string, any> | No | |
| sort | SortParamRequest[] | No | Sort parameters for activity selection |
AddActivityResponse
// AddActivityResponse
{
"activity": ActivityResponse,
"duration": "string",
"mention_notifications_created": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The created activity |
| duration | string | Yes | |
| mention_notifications_created | number | No | Number of mention notification activities created for mentioned users |
AddBookmarkResponse
// AddBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The created bookmark |
| duration | string | Yes |
AddCommentBookmarkResponse
// AddCommentBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The created comment bookmark |
| duration | string | Yes |
AddCommentReactionResponse
// AddCommentReactionResponse
{
"comment": CommentResponse,
"duration": "string",
"notification_created": false,
"reaction": FeedsReactionResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The comment the reaction was added to |
| duration | string | Yes | Duration of the request |
| reaction | FeedsReactionResponse | Yes | The created or updated reaction |
| notification_created | boolean | No | Whether a notification activity was successfully created |
AddCommentRequest
// AddCommentRequest
{
"attachments": [],
"comment": "string",
"copy_custom_to_notification": false,
"create_notification_activity": false,
"custom": {},
"force_moderation": false,
"id": "string",
"mentioned_user_ids": [],
"object_id": "string",
"object_type": "string",
"parent_id": "string",
"skip_enrich_url": false,
"skip_push": false,
"user": UserRequest,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Attachment[] | No | Media attachments for the reply |
| comment | string | No | Text content of the comment |
| copy_custom_to_notification | boolean | No | Whether to copy custom data to the notification activity (only applies when c... |
| create_notification_activity | boolean | No | Whether to create a notification activity for this comment |
| custom | Record<string, any> | No | Custom data for the comment |
| force_moderation | boolean | No | If true, forces moderation to run for server-side requests. By default, serve... |
| id | string | No | Optional custom ID for the comment (max 255 characters). If not provided, a U... |
| mentioned_user_ids | string[] | No | List of users mentioned in the reply |
| object_id | string | No | ID of the object to comment on. Required for root comments |
| object_type | string | No | Type of the object to comment on. Required for root comments |
| parent_id | string | No | ID of parent comment for replies. When provided, object_id and object_type ar... |
| skip_enrich_url | boolean | No | Whether to skip URL enrichment for this comment |
| skip_push | boolean | No | |
| user | UserRequest | No | |
| user_id | string | No |
AddCommentResponse
// AddCommentResponse
{
"comment": CommentResponse,
"duration": "string",
"mention_notifications_created": 0,
"notification_created": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The created comment |
| duration | string | Yes | |
| mention_notifications_created | number | No | Number of mention notification activities created for mentioned users |
| notification_created | boolean | No | Whether a notification activity was successfully created |
AddCommentsBatchResponse
// AddCommentsBatchResponse
{
"comments": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | CommentResponse[] | Yes | List of comments added |
| duration | string | Yes |
AddFolderRequest
// AddFolderRequest
{
"custom": {},
"name": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name of the folder |
| custom | Record<string, any> | No | Custom data for the folder |
AddReactionResponse
// AddReactionResponse
{
"activity": ActivityResponse,
"duration": "string",
"notification_created": false,
"reaction": FeedsReactionResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | |
| duration | string | Yes | |
| reaction | FeedsReactionResponse | Yes | The created reaction |
| notification_created | boolean | No | Whether a notification activity was successfully created |
AggregatedActivityResponse
// AggregatedActivityResponse
{
"activities": [],
"activity_count": 0,
"created_at": 0,
"group": "string",
"is_read": false,
"is_seen": false,
"is_watched": false,
"score": 0,
"updated_at": 0,
"user_count": 0,
"user_count_truncated": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | ActivityResponse[] | Yes | List of activities in this aggregation |
| activity_count | number | Yes | Number of activities in this aggregation |
| created_at | number | Yes | When the aggregation was created |
| group | string | Yes | Grouping identifier |
| score | number | Yes | Ranking score for this aggregation |
| updated_at | number | Yes | When the aggregation was last updated |
| user_count | number | Yes | Number of unique users in this aggregation |
| user_count_truncated | boolean | Yes | Whether this activity group has been truncated due to exceeding the group siz... |
| is_read | boolean | No | Whether this aggregated group has been read. Only set for feed groups with no... |
| is_seen | boolean | No | Whether this aggregated group has been seen. Only set for feed groups with no... |
| is_watched | boolean | No |
AggregationConfig
// AggregationConfig
{
"activities_sort": "created_at_asc",
"format": "string",
"score_strategy": "sum"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities_sort | 'created_at_asc' | 'created_at_desc' | No |
| format | string | No | Format for activity aggregation |
| score_strategy | 'sum' | 'max' | 'avg' |
Attachment
An attachment is a message object that represents a file uploaded by a user.
// Attachment
{
"actions": [],
"asset_url": "string",
"author_icon": "string",
"author_link": "string",
"author_name": "string",
"color": "string",
"custom": {},
"fallback": "string",
"fields": [],
"footer": "string",
"footer_icon": "string",
"giphy": Images,
"image_url": "string",
"og_scrape_url": "string",
"original_height": 0,
"original_width": 0,
"pretext": "string",
"text": "string",
"thumb_url": "string",
"title": "string",
"title_link": "string",
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | Yes | |
| actions | Action[] | No | |
| asset_url | string | No | |
| author_icon | string | No | |
| author_link | string | No | |
| author_name | string | No | |
| color | string | No | |
| fallback | string | No | |
| fields | Field[] | No | |
| footer | string | No | |
| footer_icon | string | No | |
| giphy | Images | No | |
| image_url | string | No | |
| og_scrape_url | string | No | |
| original_height | number | No | |
| original_width | number | No | |
| pretext | string | No | |
| text | string | No | |
| thumb_url | string | No | |
| title | string | No | |
| title_link | string | No | |
| type | string | No | Attachment type (e.g. image, video, url) |
BookmarkFolderResponse
// BookmarkFolderResponse
{
"created_at": 0,
"custom": {},
"id": "string",
"name": "string",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | When the folder was created |
| id | string | Yes | Unique identifier for the folder |
| name | string | Yes | Name of the folder |
| updated_at | number | Yes | When the folder was last updated |
| user | UserResponse | Yes | User who created the folder |
| custom | Record<string, any> | No | Custom data for the folder |
BookmarkResponse
// BookmarkResponse
{
"activity": ActivityResponse,
"activity_id": "string",
"comment": CommentResponse,
"created_at": 0,
"custom": {},
"folder": BookmarkFolderResponse,
"object_id": "string",
"object_type": "string",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The bookmarked activity (set when object_type is activity) |
| created_at | number | Yes | When the bookmark was created |
| object_id | string | Yes | ID of the bookmarked object |
| object_type | string | Yes | Type of the bookmarked object (activity or comment) |
| updated_at | number | Yes | When the bookmark was last updated |
| user | UserResponse | Yes | User who created the bookmark |
| activity_id | string | No | |
| comment | CommentResponse | No | The bookmarked comment (set when object_type is comment) |
| custom | Record<string, any> | No | Custom data for the bookmark |
| folder | BookmarkFolderResponse | No | Folder containing this bookmark |
CollectionRequest
// CollectionRequest
{
"custom": {},
"id": "string",
"name": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | Yes | Custom data for the collection (required, must contain at least one key) |
| name | string | Yes | Name/type of the collection |
| id | string | No | Unique identifier for the collection within its name (optional, will be auto-... |
| user_id | string | No | ID of the user who owns this collection |
CollectionResponse
// CollectionResponse
{
"created_at": 0,
"custom": {},
"id": "string",
"name": "string",
"updated_at": 0,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the collection within its name |
| name | string | Yes | Name/type of the collection |
| created_at | number | No | When the collection was created |
| custom | Record<string, any> | No | Custom data for the collection |
| updated_at | number | No | When the collection was last updated |
| user_id | string | No | ID of the user who owns this collection |
CommentResponse
// CommentResponse
{
"attachments": [],
"bookmark_count": 0,
"confidence_score": 0,
"controversy_score": 0,
"created_at": 0,
"custom": {},
"deleted_at": 0,
"downvote_count": 0,
"edited_at": 0,
"id": "string",
"latest_reactions": [],
"mentioned_users": [],
"moderation": ModerationV2Response,
"object_id": "string",
"object_type": "string",
"own_reactions": [],
"parent_id": "string",
"reaction_count": 0,
"reaction_groups": {},
"reply_count": 0,
"score": 0,
"status": "active",
"text": "string",
"updated_at": 0,
"upvote_count": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_count | number | Yes | |
| confidence_score | number | Yes | Confidence score of the comment |
| created_at | number | Yes | When the comment was created |
| downvote_count | number | Yes | Number of downvotes for this comment |
| id | string | Yes | Unique identifier for the comment |
| mentioned_users | UserResponse[] | Yes | Users mentioned in the comment |
| object_id | string | Yes | ID of the object this comment is associated with |
| object_type | string | Yes | Type of the object this comment is associated with |
| own_reactions | FeedsReactionResponse[] | Yes | Current user's reactions to this activity |
| reaction_count | number | Yes | Number of reactions to this comment |
| reply_count | number | Yes | Number of replies to this comment |
| score | number | Yes | Score of the comment based on reactions |
| status | 'active' | 'deleted' | 'removed' |
| updated_at | number | Yes | When the comment was last updated |
| upvote_count | number | Yes | Number of upvotes for this comment |
| user | UserResponse | Yes | User who created the comment |
| attachments | Attachment[] | No | Attachments associated with the comment |
| controversy_score | number | No | Controversy score of the comment |
| custom | Record<string, any> | No | Custom data for the comment |
| deleted_at | number | No | When the comment was deleted |
| edited_at | number | No | When the comment was last edited |
| latest_reactions | FeedsReactionResponse[] | No | Recent reactions to the comment |
| moderation | ModerationV2Response | No | Moderation details for the comment |
| parent_id | string | No | ID of parent comment for nested replies |
| reaction_groups | Record<string, any> | No | Grouped reactions by type |
| text | string | No | Text content of the comment |
CreateCollectionsResponse
// CreateCollectionsResponse
{
"collections": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | CollectionResponse[] | Yes | List of created collections |
| duration | string | Yes |
CreateFeedGroupResponse
// CreateFeedGroupResponse
{
"duration": "string",
"feed_group": FeedGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_group | FeedGroupResponse | Yes | The upserted feed group |
CreateFeedViewResponse
// CreateFeedViewResponse
{
"duration": "string",
"feed_view": FeedViewResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_view | FeedViewResponse | Yes | The created feed view |
CreateFeedsBatchResponse
// CreateFeedsBatchResponse
{
"duration": "string",
"feeds": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feeds | FeedResponse[] | Yes | List of created feeds |
CreateMembershipLevelResponse
// CreateMembershipLevelResponse
{
"duration": "string",
"membership_level": MembershipLevelResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| membership_level | MembershipLevelResponse | Yes | The created membership level |
DailyMetricStatsResponse
// DailyMetricStatsResponse
{
"daily": [],
"total": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyMetricResponse[] | Yes | Array of daily metric values |
| total | number | Yes | Total value across all days in the date range |
Data
// Data
{
"id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes |
DeleteActivitiesResponse
// DeleteActivitiesResponse
{
"deleted_ids": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| deleted_ids | string[] | Yes | List of activity IDs that were successfully deleted |
| duration | string | Yes |
DeleteActivityReactionResponse
// DeleteActivityReactionResponse
{
"activity": ActivityResponse,
"duration": "string",
"reaction": FeedsReactionResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | |
| duration | string | Yes | |
| reaction | FeedsReactionResponse | Yes |
DeleteActivityResponse
// DeleteActivityResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteBookmarkFolderResponse
// DeleteBookmarkFolderResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteBookmarkResponse
// DeleteBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The deleted bookmark |
| duration | string | Yes |
DeleteCollectionsResponse
// DeleteCollectionsResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteCommentBookmarkResponse
// DeleteCommentBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The deleted comment bookmark |
| duration | string | Yes |
DeleteCommentReactionResponse
// DeleteCommentReactionResponse
{
"comment": CommentResponse,
"duration": "string",
"reaction": FeedsReactionResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The comment after reaction removal |
| duration | string | Yes | |
| reaction | FeedsReactionResponse | Yes | The removed reaction |
DeleteCommentResponse
// DeleteCommentResponse
{
"activity": ActivityResponse,
"comment": CommentResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The parent activity |
| comment | CommentResponse | Yes | The deleted comment |
| duration | string | Yes |
DeleteFeedGroupResponse
Basic response information
// DeleteFeedGroupResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
DeleteFeedResponse
// DeleteFeedResponse
{
"duration": "string",
"task_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| task_id | string | Yes | The ID of the async task that will handle feed cleanup and hard deletion |
DeleteFeedUserDataResponse
Response for deleting feed user data
// DeleteFeedUserDataResponse
{
"duration": "string",
"task_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| task_id | string | Yes | The task ID for the deletion task |
DeleteFeedViewResponse
// DeleteFeedViewResponse
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes |
DeleteFeedsBatchResponse
// DeleteFeedsBatchResponse
{
"duration": "string",
"task_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| task_id | string | Yes | The ID of the async task that will handle feed cleanup and hard deletion |
EMAUStatsResponse
// EMAUStatsResponse
{
"daily": [],
"last_30_days": [],
"month_to_date": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | DailyMetricResponse[] | Yes | Per-day unique engaged user counts |
| last_30_days | DailyMetricResponse[] | Yes | Rolling 30-day engaged user count snapshots |
| month_to_date | DailyMetricResponse[] | Yes | Calendar month-to-date engaged user count snapshots |
EnrichmentOptions
Options to skip specific enrichments to improve performance. Default is false (enrichments are included). Setting a field to true skips that enrichment.
// EnrichmentOptions
{
"enrich_own_followings": false,
"include_score_vars": false,
"skip_activity": false,
"skip_activity_collections": false,
"skip_activity_comments": false,
"skip_activity_current_feed": false,
"skip_activity_mentioned_users": false,
"skip_activity_own_bookmarks": false,
"skip_activity_parents": false,
"skip_activity_poll": false,
"skip_activity_reactions": false,
"skip_activity_refresh_image_urls": false,
"skip_all": false,
"skip_feed_member_user": false,
"skip_followers": false,
"skip_following": false,
"skip_own_capabilities": false,
"skip_own_follows": false,
"skip_pins": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enrich_own_followings | boolean | No | Default: false. When true, includes fetching and enriching own_followings (fo... |
| include_score_vars | boolean | No | Default: false. When true, includes score_vars in activity responses containi... |
| skip_activity | boolean | No | Default: false. When true, skips all activity enrichments. |
| skip_activity_collections | boolean | No | Default: false. When true, skips enriching collections on activities. |
| skip_activity_comments | boolean | No | Default: false. When true, skips enriching comments on activities. |
| skip_activity_current_feed | boolean | No | Default: false. When true, skips enriching current_feed on activities. Note: ... |
| skip_activity_mentioned_users | boolean | No | Default: false. When true, skips enriching mentioned users on activities. |
| skip_activity_own_bookmarks | boolean | No | Default: false. When true, skips enriching own bookmarks on activities. |
| skip_activity_parents | boolean | No | Default: false. When true, skips enriching parent activities. |
| skip_activity_poll | boolean | No | Default: false. When true, skips enriching poll data on activities. |
| skip_activity_reactions | boolean | No | Default: false. When true, skips fetching and enriching latest and own reacti... |
| skip_activity_refresh_image_urls | boolean | No | Default: false. When true, skips refreshing image URLs on activities. |
| skip_all | boolean | No | Default: false. When true, skips all enrichments. |
| skip_feed_member_user | boolean | No | Default: false. When true, skips enriching user data on feed members. |
| skip_followers | boolean | No | Default: false. When true, skips fetching and enriching followers. Note: If f... |
| skip_following | boolean | No | Default: false. When true, skips fetching and enriching following. Note: If f... |
| skip_own_capabilities | boolean | No | Default: false. When true, skips computing and including capabilities for feeds. |
| skip_own_follows | boolean | No | Default: false. When true, skips fetching and enriching own_follows (follows ... |
| skip_pins | boolean | No | Default: false. When true, skips enriching pinned activities. |
ExportFeedUserDataResponse
Response for exporting feed user data
// ExportFeedUserDataResponse
{
"duration": "string",
"task_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| task_id | string | Yes | The task ID for the export task |
FeedGroupResponse
// FeedGroupResponse
{
"activity_processors": [],
"activity_selectors": [],
"aggregation": AggregationConfig,
"created_at": 0,
"custom": {},
"default_visibility": "public",
"deleted_at": 0,
"id": "string",
"notification": NotificationConfig,
"push_notification": PushNotificationConfig,
"ranking": RankingConfig,
"stories": StoriesConfig,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | When the feed group was created |
| id | string | Yes | Identifier within the group |
| updated_at | number | Yes | When the feed group was last updated |
| activity_processors | ActivityProcessorConfig[] | No | Configuration for activity processors |
| activity_selectors | ActivitySelectorConfigResponse[] | No | Configuration for activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| custom | Record<string, any> | No | Custom data for the feed group |
| default_visibility | 'public' | 'visible' | 'followers' |
| deleted_at | number | No | |
| notification | NotificationConfig | No | Configuration for notifications |
| push_notification | PushNotificationConfig | No | Configuration for push notifications |
| ranking | RankingConfig | No | Configuration for activity ranking |
| stories | StoriesConfig | No | Configuration for stories feature |
FeedInput
// FeedInput
{
"custom": {},
"description": "string",
"filter_tags": [],
"location": Location,
"members": [],
"name": "string",
"visibility": "public"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | No | |
| description | string | No | |
| filter_tags | string[] | No | |
| location | Location | No | |
| members | FeedMemberRequest[] | No | |
| name | string | No | |
| visibility | 'public' | 'visible' | 'followers' |
FeedMemberRequest
// FeedMemberRequest
{
"custom": {},
"invite": false,
"membership_level": "string",
"role": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| user_id | string | Yes | ID of the user to add as a member |
| custom | Record<string, any> | No | Custom data for the member |
| invite | boolean | No | Whether this is an invite to become a member |
| membership_level | string | No | ID of the membership level to assign to the member |
| role | string | No | Role of the member in the feed |
FeedMemberResponse
// FeedMemberResponse
{
"created_at": 0,
"custom": {},
"invite_accepted_at": 0,
"invite_rejected_at": 0,
"membership_level": MembershipLevelResponse,
"role": "string",
"status": "member",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | When the membership was created |
| role | string | Yes | Role of the member in the feed |
| status | 'member' | 'pending' | 'rejected' |
| updated_at | number | Yes | When the membership was last updated |
| user | UserResponse | Yes | User who is a member |
| custom | Record<string, any> | No | Custom data for the membership |
| invite_accepted_at | number | No | When the invite was accepted |
| invite_rejected_at | number | No | When the invite was rejected |
| membership_level | MembershipLevelResponse | No | Membership level assigned to the member |
FeedRequest
// FeedRequest
{
"created_by_id": "string",
"custom": {},
"description": "string",
"feed_group_id": "string",
"feed_id": "string",
"filter_tags": [],
"location": Location,
"members": [],
"name": "string",
"visibility": "public"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| feed_group_id | string | Yes | ID of the feed group |
| feed_id | string | Yes | ID of the feed |
| created_by_id | string | No | ID of the feed creator |
| custom | Record<string, any> | No | Custom data for the feed |
| description | string | No | Description of the feed |
| filter_tags | string[] | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| members | FeedMemberRequest[] | No | Initial members for the feed |
| name | string | No | Name of the feed |
| visibility | 'public' | 'visible' | 'followers' |
FeedResponse
// FeedResponse
{
"activity_count": 0,
"created_at": 0,
"created_by": UserResponse,
"custom": {},
"deleted_at": 0,
"description": "string",
"feed": "string",
"filter_tags": [],
"follower_count": 0,
"following_count": 0,
"group_id": "string",
"id": "string",
"location": Location,
"member_count": 0,
"name": "string",
"own_capabilities": [],
"own_followings": [],
"own_follows": [],
"own_membership": FeedMemberResponse,
"pin_count": 0,
"updated_at": 0,
"visibility": "public"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_count | number | Yes | |
| created_at | number | Yes | When the feed was created |
| created_by | UserResponse | Yes | User who created the feed |
| description | string | Yes | Description of the feed |
| feed | string | Yes | Fully qualified feed ID (group_id:id) |
| follower_count | number | Yes | Number of followers of this feed |
| following_count | number | Yes | Number of feeds this feed follows |
| group_id | string | Yes | Group this feed belongs to |
| id | string | Yes | Unique identifier for the feed |
| member_count | number | Yes | Number of members in this feed |
| name | string | Yes | Name of the feed |
| pin_count | number | Yes | Number of pinned activities in this feed |
| updated_at | number | Yes | When the feed was last updated |
| custom | Record<string, any> | No | Custom data for the feed |
| deleted_at | number | No | When the feed was deleted |
| filter_tags | string[] | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| own_capabilities | FeedOwnCapability[] | No | Capabilities the current user has for this feed |
| own_followings | FollowResponse[] | No | Follow relationships where the feed owner’s feeds are following the current... |
| own_follows | FollowResponse[] | No | Follow relationships where the current user's feeds are following this feed |
| own_membership | FeedMemberResponse | No | Membership information for the current user in this feed |
| visibility | 'public' | 'visible' | 'followers' |
FeedSuggestionResponse
// FeedSuggestionResponse
{
"activity_count": 0,
"algorithm_scores": {},
"created_at": 0,
"created_by": UserResponse,
"custom": {},
"deleted_at": 0,
"description": "string",
"feed": "string",
"filter_tags": [],
"follower_count": 0,
"following_count": 0,
"group_id": "string",
"id": "string",
"location": Location,
"member_count": 0,
"name": "string",
"own_capabilities": [],
"own_followings": [],
"own_follows": [],
"own_membership": FeedMemberResponse,
"pin_count": 0,
"reason": "string",
"recommendation_score": 0,
"updated_at": 0,
"visibility": "public"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_count | number | Yes | |
| created_at | number | Yes | When the feed was created |
| created_by | UserResponse | Yes | User who created the feed |
| description | string | Yes | Description of the feed |
| feed | string | Yes | Fully qualified feed ID (group_id:id) |
| follower_count | number | Yes | Number of followers of this feed |
| following_count | number | Yes | Number of feeds this feed follows |
| group_id | string | Yes | Group this feed belongs to |
| id | string | Yes | Unique identifier for the feed |
| member_count | number | Yes | Number of members in this feed |
| name | string | Yes | Name of the feed |
| pin_count | number | Yes | Number of pinned activities in this feed |
| updated_at | number | Yes | When the feed was last updated |
| algorithm_scores | Record<string, any> | No | |
| custom | Record<string, any> | No | Custom data for the feed |
| deleted_at | number | No | When the feed was deleted |
| filter_tags | string[] | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| own_capabilities | FeedOwnCapability[] | No | Capabilities the current user has for this feed |
| own_followings | FollowResponse[] | No | Follow relationships where the feed owner’s feeds are following the current... |
| own_follows | FollowResponse[] | No | Follow relationships where the current user's feeds are following this feed |
| own_membership | FeedMemberResponse | No | Membership information for the current user in this feed |
| reason | string | No | |
| recommendation_score | number | No | |
| visibility | 'public' | 'visible' | 'followers' |
FeedViewResponse
// FeedViewResponse
{
"activity_selectors": [],
"aggregation": AggregationConfig,
"id": "string",
"last_used_at": 0,
"ranking": RankingConfig
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the custom feed view |
| activity_selectors | ActivitySelectorConfigResponse[] | No | Configured activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| last_used_at | number | No | When the feed view was last used |
| ranking | RankingConfig | No | Configuration for activity ranking |
FeedVisibilityResponse
// FeedVisibilityResponse
{
"grants": {},
"name": "string",
"permissions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| grants | Record<string, any> | Yes | Permission grants for each role |
| name | string | Yes | Name of the feed visibility level |
| permissions | Permission[] | Yes | List of permission policies |
FeedsReactionResponse
// FeedsReactionResponse
{
"activity_id": "string",
"comment_id": "string",
"created_at": 0,
"custom": {},
"type": "string",
"updated_at": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | ID of the activity that was reacted to |
| created_at | number | Yes | When the reaction was created |
| type | string | Yes | Type of reaction |
| updated_at | number | Yes | When the reaction was last updated |
| user | UserResponse | Yes | User who created the reaction |
| comment_id | string | No | ID of the comment that was reacted to |
| custom | Record<string, any> | No | Custom data for the reaction |
Field
// Field
{
"short": false,
"title": "string",
"value": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| short | boolean | Yes | |
| title | string | Yes | |
| value | string | Yes |
FollowBatchResponse
// FollowBatchResponse
{
"created": [],
"duration": "string",
"follows": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created | FollowResponse[] | Yes | List of newly created follow relationships |
| duration | string | Yes | |
| follows | FollowResponse[] | Yes | List of current follow relationships |
FollowRequest
// FollowRequest
{
"activity_copy_limit": 0,
"copy_custom_to_notification": false,
"create_notification_activity": false,
"create_users": false,
"custom": {},
"enrich_own_fields": false,
"push_preference": "all",
"skip_push": false,
"source": "string",
"status": "accepted",
"target": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| source | string | Yes | Fully qualified ID of the source feed |
| target | string | Yes | Fully qualified ID of the target feed |
| activity_copy_limit | number | No | Maximum number of historical activities to copy from the target feed when the... |
| copy_custom_to_notification | boolean | No | Whether to copy custom data to the notification activity (only applies when c... |
| create_notification_activity | boolean | No | Whether to create a notification activity for this follow |
| create_users | boolean | No | If true, auto-creates users referenced by the source and target FIDs when the... |
| custom | Record<string, any> | No | Custom data for the follow relationship |
| enrich_own_fields | boolean | No | If true, enriches the follow's source_feed and target_feed with own_* fields ... |
| push_preference | 'all' | 'none' | No |
| skip_push | boolean | No | Whether to skip push for this follow |
| status | 'accepted' | 'pending' | 'rejected' |
FollowResponse
// FollowResponse
{
"created_at": 0,
"custom": {},
"follower_role": "string",
"push_preference": "all",
"request_accepted_at": 0,
"request_rejected_at": 0,
"source_feed": FeedResponse,
"status": "accepted",
"target_feed": FeedResponse,
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | When the follow relationship was created |
| follower_role | string | Yes | Role of the follower (source user) in the follow relationship |
| push_preference | 'all' | 'none' | Yes |
| source_feed | FeedResponse | Yes | Source feed object |
| status | 'accepted' | 'pending' | 'rejected' |
| target_feed | FeedResponse | Yes | Target feed object |
| updated_at | number | Yes | When the follow relationship was last updated |
| custom | Record<string, any> | No | Custom data for the follow relationship |
| request_accepted_at | number | No | When the follow request was accepted |
| request_rejected_at | number | No | When the follow request was rejected |
FriendReactionsOptions
Options to control fetching reactions from friends (users you follow or have mutual follows with).
// FriendReactionsOptions
{
"enabled": false,
"limit": 0,
"type": "following"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | No | Default: false. When true, fetches friend reactions for activities. |
| limit | number | No | Default: 3, Max: 10. The maximum number of friend reactions to return per act... |
| type | 'following' | 'mutual' | No |
GetActivityResponse
// GetActivityResponse
{
"activity": ActivityResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The requested activity |
| duration | string | Yes |
GetCommentRepliesResponse
// GetCommentRepliesResponse
{
"comments": [],
"duration": "string",
"next": "string",
"prev": "string",
"sort": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | ThreadedCommentResponse[] | Yes | Threaded listing of replies to the comment |
| duration | string | Yes | |
| sort | string | Yes | Sort order used for the replies (first, last, top, best, controversial) |
| next | string | No | |
| prev | string | No |
GetCommentResponse
// GetCommentResponse
{
"comment": CommentResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | Comment |
| duration | string | Yes |
GetCommentsResponse
// GetCommentsResponse
{
"comments": [],
"duration": "string",
"next": "string",
"prev": "string",
"sort": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | ThreadedCommentResponse[] | Yes | Threaded listing for the activity |
| duration | string | Yes | |
| sort | string | Yes | Sort order used for the comments (first, last, top, best, controversial) |
| next | string | No | |
| prev | string | No |
GetFeedGroupResponse
// GetFeedGroupResponse
{
"duration": "string",
"feed_group": FeedGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_group | FeedGroupResponse | Yes | The requested feed group |
GetFeedViewResponse
// GetFeedViewResponse
{
"duration": "string",
"feed_view": FeedViewResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_view | FeedViewResponse | Yes | The requested feed view |
GetFeedVisibilityResponse
// GetFeedVisibilityResponse
{
"duration": "string",
"feed_visibility": FeedVisibilityResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_visibility | FeedVisibilityResponse | Yes | Feed visibility configuration and permissions |
GetFeedsRateLimitsResponse
// GetFeedsRateLimitsResponse
{
"android": {},
"duration": "string",
"ios": {},
"server_side": {},
"web": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| android | Record<string, any> | No | Rate limits for Android platform (endpoint name -> limit info) |
| ios | Record<string, any> | No | Rate limits for iOS platform (endpoint name -> limit info) |
| server_side | Record<string, any> | No | Rate limits for server-side platform (endpoint name -> limit info) |
| web | Record<string, any> | No | Rate limits for Web platform (endpoint name -> limit info) |
GetFollowSuggestionsResponse
// GetFollowSuggestionsResponse
{
"algorithm_used": "string",
"duration": "string",
"suggestions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| suggestions | FeedSuggestionResponse[] | Yes | List of suggested feeds to follow |
| algorithm_used | string | No |
GetOrCreateFeedGroupResponse
// GetOrCreateFeedGroupResponse
{
"duration": "string",
"feed_group": FeedGroupResponse,
"was_created": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_group | FeedGroupResponse | Yes | The feed group that was retrieved or created |
| was_created | boolean | Yes | Indicates whether the feed group was created (true) or already existed (false) |
GetOrCreateFeedResponse
Basic response information
// GetOrCreateFeedResponse
{
"activities": [],
"aggregated_activities": [],
"created": false,
"duration": "string",
"feed": FeedResponse,
"followers": [],
"followers_pagination": PagerResponse,
"following": [],
"following_pagination": PagerResponse,
"member_pagination": PagerResponse,
"members": [],
"next": "string",
"notification_status": NotificationStatusResponse,
"pinned_activities": [],
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | ActivityResponse[] | Yes | |
| aggregated_activities | AggregatedActivityResponse[] | Yes | |
| created | boolean | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| feed | FeedResponse | Yes | |
| followers | FollowResponse[] | Yes | |
| following | FollowResponse[] | Yes | |
| members | FeedMemberResponse[] | Yes | |
| pinned_activities | ActivityPinResponse[] | Yes | |
| followers_pagination | PagerResponse | No | |
| following_pagination | PagerResponse | No | |
| member_pagination | PagerResponse | No | |
| next | string | No | |
| notification_status | NotificationStatusResponse | No | |
| prev | string | No |
GetOrCreateFeedViewResponse
// GetOrCreateFeedViewResponse
{
"duration": "string",
"feed_view": FeedViewResponse,
"was_created": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_view | FeedViewResponse | Yes | The feed view (either existing or newly created) |
| was_created | boolean | Yes | Indicates whether the feed view was newly created (true) or already existed (... |
Images
// Images
{
"fixed_height": ImageData,
"fixed_height_downsampled": ImageData,
"fixed_height_still": ImageData,
"fixed_width": ImageData,
"fixed_width_downsampled": ImageData,
"fixed_width_still": ImageData,
"original": ImageData
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| fixed_height | ImageData | Yes | |
| fixed_height_downsampled | ImageData | Yes | |
| fixed_height_still | ImageData | Yes | |
| fixed_width | ImageData | Yes | |
| fixed_width_downsampled | ImageData | Yes | |
| fixed_width_still | ImageData | Yes | |
| original | ImageData | Yes |
ListFeedGroupsResponse
Basic response information
// ListFeedGroupsResponse
{
"duration": "string",
"groups": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| groups | Record<string, any> | Yes |
ListFeedViewsResponse
// ListFeedViewsResponse
{
"duration": "string",
"views": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| views | Record<string, any> | Yes | Map of feed view ID to feed view |
ListFeedVisibilitiesResponse
// ListFeedVisibilitiesResponse
{
"duration": "string",
"feed_visibilities": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_visibilities | Record<string, any> | Yes | Map of feed visibility configurations by name |
Location
// Location
{
"lat": 0,
"lng": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| lat | number | Yes | Latitude coordinate |
| lng | number | Yes | Longitude coordinate |
MembershipLevelResponse
// MembershipLevelResponse
{
"created_at": 0,
"custom": {},
"description": "string",
"id": "string",
"name": "string",
"priority": 0,
"tags": [],
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | When the membership level was created |
| id | string | Yes | Unique identifier for the membership level |
| name | string | Yes | Display name for the membership level |
| priority | number | Yes | Priority level |
| tags | string[] | Yes | Activity tags this membership level gives access to |
| updated_at | number | Yes | When the membership level was last updated |
| custom | Record<string, any> | No | Custom data for the membership level |
| description | string | No | Description of the membership level |
NotificationConfig
// NotificationConfig
{
"deduplication_window": "string",
"track_read": false,
"track_seen": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| deduplication_window | string | No | Time window for deduplicating notification activities (reactions and follows)... |
| track_read | boolean | No | Whether to track read status |
| track_seen | boolean | No | Whether to track seen status |
NotificationStatusResponse
// NotificationStatusResponse
{
"last_read_at": 0,
"last_seen_at": 0,
"read_activities": [],
"seen_activities": [],
"unread": 0,
"unseen": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| unread | number | Yes | Number of unread notifications |
| unseen | number | Yes | Number of unseen notifications |
| last_read_at | number | No | When notifications were last read |
| last_seen_at | number | No | When notifications were last seen |
| read_activities | string[] | No | Deprecated: use is_read on each activity/group instead. IDs of activities tha... |
| seen_activities | string[] | No | Deprecated: use is_seen on each activity/group instead. IDs of activities tha... |
OwnBatchResponse
// OwnBatchResponse
{
"data": {},
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| data | Record<string, any> | Yes | Map of feed ID to own fields data |
| duration | string | Yes |
PagerRequest
// PagerRequest
{
"limit": 0,
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| limit | number | No | |
| next | string | No | |
| prev | string | No |
PagerResponse
// PagerResponse
{
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| next | string | No | |
| prev | string | No |
PinActivityResponse
// PinActivityResponse
{
"activity": ActivityResponse,
"created_at": 0,
"duration": "string",
"feed": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The pinned activity |
| created_at | number | Yes | When the activity was pinned |
| duration | string | Yes | |
| feed | string | Yes | Fully qualified ID of the feed the activity was pinned to |
| user_id | string | Yes | ID of the user who pinned the activity |
PollResponseData
// PollResponseData
{
"allow_answers": false,
"allow_user_suggested_options": false,
"answers_count": 0,
"created_at": 0,
"created_by": UserResponse,
"created_by_id": "string",
"custom": {},
"description": "string",
"enforce_unique_vote": false,
"id": "string",
"is_closed": false,
"latest_answers": [],
"latest_votes_by_option": {},
"max_votes_allowed": 0,
"name": "string",
"options": [],
"own_votes": [],
"updated_at": 0,
"vote_count": 0,
"vote_counts_by_option": {},
"voting_visibility": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allow_answers | boolean | Yes | |
| allow_user_suggested_options | boolean | Yes | |
| answers_count | number | Yes | |
| created_at | number | Yes | |
| created_by_id | string | Yes | |
| custom | Record<string, any> | Yes | |
| description | string | Yes | |
| enforce_unique_vote | boolean | Yes | |
| id | string | Yes | |
| latest_answers | PollVoteResponseData[] | Yes | |
| latest_votes_by_option | Record<string, any> | Yes | |
| name | string | Yes | |
| options | PollOptionResponseData[] | Yes | |
| own_votes | PollVoteResponseData[] | Yes | |
| updated_at | number | Yes | |
| vote_count | number | Yes | |
| vote_counts_by_option | Record<string, any> | Yes | |
| voting_visibility | string | Yes | |
| created_by | UserResponse | No | |
| is_closed | boolean | No | |
| max_votes_allowed | number | No |
PollVoteResponse
// PollVoteResponse
{
"duration": "string",
"poll": PollResponseData,
"vote": PollVoteResponseData
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| poll | PollResponseData | No | Poll |
| vote | PollVoteResponseData | No | Poll vote |
PollVoteResponseData
// PollVoteResponseData
{
"answer_text": "string",
"created_at": 0,
"id": "string",
"is_answer": false,
"option_id": "string",
"poll_id": "string",
"updated_at": 0,
"user": UserResponse,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | number | Yes | |
| id | string | Yes | |
| option_id | string | Yes | |
| poll_id | string | Yes | |
| updated_at | number | Yes | |
| answer_text | string | No | |
| is_answer | boolean | No | |
| user | UserResponse | No | |
| user_id | string | No |
PrivacySettingsResponse
// PrivacySettingsResponse
{
"delivery_receipts": DeliveryReceiptsResponse,
"read_receipts": ReadReceiptsResponse,
"typing_indicators": TypingIndicatorsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| delivery_receipts | DeliveryReceiptsResponse | No | |
| read_receipts | ReadReceiptsResponse | No | |
| typing_indicators | TypingIndicatorsResponse | No |
PushNotificationConfig
// PushNotificationConfig
{
"enable_push": false,
"push_types": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enable_push | boolean | No | Whether push notifications are enabled for this feed group |
| push_types | string[] | No | List of notification types that should trigger push notifications (e.g., foll... |
QueryActivitiesResponse
// QueryActivitiesResponse
{
"activities": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | ActivityResponse[] | Yes | List of activities matching the query |
| duration | string | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryActivityReactionsResponse
Basic response information
// QueryActivityReactionsResponse
{
"duration": "string",
"next": "string",
"prev": "string",
"reactions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| reactions | FeedsReactionResponse[] | Yes | |
| next | string | No | |
| prev | string | No |
QueryBookmarkFoldersResponse
// QueryBookmarkFoldersResponse
{
"bookmark_folders": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_folders | BookmarkFolderResponse[] | Yes | List of bookmark folders matching the query |
| duration | string | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryBookmarksResponse
// QueryBookmarksResponse
{
"bookmarks": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmarks | BookmarkResponse[] | Yes | List of bookmarks matching the query |
| duration | string | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryCollectionsResponse
// QueryCollectionsResponse
{
"collections": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | CollectionResponse[] | Yes | List of collections matching the query |
| duration | string | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryCommentReactionsResponse
Basic response information
// QueryCommentReactionsResponse
{
"duration": "string",
"next": "string",
"prev": "string",
"reactions": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
| reactions | FeedsReactionResponse[] | Yes | |
| next | string | No | |
| prev | string | No |
QueryCommentsResponse
// QueryCommentsResponse
{
"comments": [],
"duration": "string",
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | CommentResponse[] | Yes | List of comments matching the query |
| duration | string | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryFeedMembersResponse
// QueryFeedMembersResponse
{
"duration": "string",
"members": [],
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| members | FeedMemberResponse[] | Yes | List of feed members |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryFeedsResponse
// QueryFeedsResponse
{
"duration": "string",
"feeds": [],
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feeds | FeedResponse[] | Yes | List of feeds matching the query |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryFeedsUsageStatsResponse
// QueryFeedsUsageStatsResponse
{
"activities": DailyMetricStatsResponse,
"api_requests": DailyMetricStatsResponse,
"duration": "string",
"emau": EMAUStatsResponse,
"follows": DailyMetricStatsResponse,
"openai_requests": DailyMetricStatsResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | DailyMetricStatsResponse | Yes | Activities statistics with daily breakdown and total |
| api_requests | DailyMetricStatsResponse | Yes | API requests statistics with daily breakdown and total |
| duration | string | Yes | |
| follows | DailyMetricStatsResponse | Yes | Follows statistics with daily breakdown and total |
| openai_requests | DailyMetricStatsResponse | Yes | OpenAI requests statistics with daily breakdown and total |
| emau | EMAUStatsResponse | No | Engaged Monthly Active Users snapshots within the requested date range. Omitt... |
QueryFollowsResponse
// QueryFollowsResponse
{
"duration": "string",
"follows": [],
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follows | FollowResponse[] | Yes | List of follow relationships matching the query |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryMembershipLevelsResponse
// QueryMembershipLevelsResponse
{
"duration": "string",
"membership_levels": [],
"next": "string",
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| membership_levels | MembershipLevelResponse[] | Yes | |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
QueryPinnedActivitiesResponse
// QueryPinnedActivitiesResponse
{
"duration": "string",
"next": "string",
"pinned_activities": [],
"prev": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| pinned_activities | ActivityPinResponse[] | Yes | List of pinned activities matching the query |
| next | string | No | Cursor for next page |
| prev | string | No | Cursor for previous page |
RankingConfig
// RankingConfig
{
"defaults": {},
"functions": {},
"score": "string",
"type": "expression"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | 'expression' | 'interest' | Yes |
| defaults | Record<string, any> | No | Default values for ranking |
| functions | Record<string, any> | No | Decay functions configuration |
| score | string | No | Scoring formula. Required when type is 'expression' or 'interest' |
Reaction
// Reaction
{
"activity_id": "string",
"children_counts": {},
"created_at": 0,
"data": {},
"deleted_at": 0,
"id": "string",
"kind": "string",
"latest_children": {},
"moderation": {},
"own_children": {},
"parent": "string",
"score": 0,
"target_feeds": [],
"target_feeds_extra_data": {},
"updated_at": 0,
"user": User,
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | |
| created_at | number | Yes | |
| kind | string | Yes | |
| updated_at | number | Yes | |
| user_id | string | Yes | |
| children_counts | Record<string, any> | No | |
| data | Record<string, any> | No | |
| deleted_at | number | No | |
| id | string | No | |
| latest_children | Record<string, any> | No | |
| moderation | Record<string, any> | No | |
| own_children | Record<string, any> | No | |
| parent | string | No | |
| score | number | No | |
| target_feeds | string[] | No | |
| target_feeds_extra_data | Record<string, any> | No | |
| user | User | No |
ReadCollectionsResponse
// ReadCollectionsResponse
{
"collections": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | CollectionResponse[] | Yes | List of collections matching the references |
| duration | string | Yes |
RejectFeedMemberInviteResponse
// RejectFeedMemberInviteResponse
{
"duration": "string",
"member": FeedMemberResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| member | FeedMemberResponse | Yes | The feed member after rejecting the invite |
RejectFollowResponse
// RejectFollowResponse
{
"duration": "string",
"follow": FollowResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follow | FollowResponse | Yes | The rejected follow relationship |
Response
Basic response information
// Response
{
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | Duration of the request in milliseconds |
RestoreActivityResponse
// RestoreActivityResponse
{
"activity": ActivityResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The restored activity with full enrichment |
| duration | string | Yes |
RestoreCommentResponse
// RestoreCommentResponse
{
"activity": ActivityResponse,
"comment": CommentResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The parent activity with updated counts |
| comment | CommentResponse | Yes | The restored comment |
| duration | string | Yes |
RestoreFeedGroupResponse
// RestoreFeedGroupResponse
{
"duration": "string",
"feed_group": FeedGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_group | FeedGroupResponse | Yes | The restored feed group |
SingleFollowResponse
// SingleFollowResponse
{
"duration": "string",
"follow": FollowResponse,
"notification_created": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follow | FollowResponse | Yes | The created follow relationship |
| notification_created | boolean | No | Whether a notification activity was successfully created |
SortParamRequest
// SortParamRequest
{
"direction": 0,
"field": "string",
"type": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| direction | number | No | Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One o... |
| field | string | No | Name of field to sort by |
| type | string | No | Type of field to sort by. Empty string or omitted means string type (default)... |
StoriesConfig
// StoriesConfig
{
"skip_watched": false,
"track_watched": false
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| skip_watched | boolean | No | Whether to skip already watched stories |
| track_watched | boolean | No | Whether to track watched status for stories |
ThreadedCommentResponse
A comment with an optional, depth‑limited slice of nested replies.
// ThreadedCommentResponse
{
"attachments": [],
"bookmark_count": 0,
"confidence_score": 0,
"controversy_score": 0,
"created_at": 0,
"custom": {},
"deleted_at": 0,
"downvote_count": 0,
"edited_at": 0,
"id": "string",
"latest_reactions": [],
"mentioned_users": [],
"meta": RepliesMeta,
"moderation": ModerationV2Response,
"object_id": "string",
"object_type": "string",
"own_reactions": [],
"parent_id": "string",
"reaction_count": 0,
"reaction_groups": {},
"replies": [],
"reply_count": 0,
"score": 0,
"status": "active",
"text": "string",
"updated_at": 0,
"upvote_count": 0,
"user": UserResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_count | number | Yes | |
| confidence_score | number | Yes | |
| created_at | number | Yes | |
| downvote_count | number | Yes | |
| id | string | Yes | |
| mentioned_users | UserResponse[] | Yes | |
| object_id | string | Yes | |
| object_type | string | Yes | |
| own_reactions | FeedsReactionResponse[] | Yes | |
| reaction_count | number | Yes | |
| reply_count | number | Yes | |
| score | number | Yes | |
| status | 'active' | 'deleted' | 'removed' |
| updated_at | number | Yes | |
| upvote_count | number | Yes | |
| user | UserResponse | Yes | |
| attachments | Attachment[] | No | |
| controversy_score | number | No | |
| custom | Record<string, any> | No | |
| deleted_at | number | No | |
| edited_at | number | No | |
| latest_reactions | FeedsReactionResponse[] | No | |
| meta | RepliesMeta | No | Pagination & depth info for this node's direct replies. |
| moderation | ModerationV2Response | No | |
| parent_id | string | No | |
| reaction_groups | Record<string, any> | No | |
| replies | ThreadedCommentResponse[] | No | Slice of nested comments (may be empty). |
| text | string | No |
Time
// Time
{
}TrackActivityMetricsEvent
A single metric event to track for an activity
// TrackActivityMetricsEvent
{
"activity_id": "string",
"delta": 0,
"metric": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | The ID of the activity to track the metric for |
| metric | string | Yes | The metric name (e.g. views, clicks, impressions). Alphanumeric and underscor... |
| delta | number | No | The amount to increment (positive) or decrement (negative). Defaults to 1. Th... |
TrackActivityMetricsEventResult
Result of tracking a single metric event
// TrackActivityMetricsEventResult
{
"activity_id": "string",
"allowed": false,
"error": "string",
"metric": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | The activity ID from the request |
| allowed | boolean | Yes | Whether the metric was counted (false if rate-limited) |
| metric | string | Yes | The metric name from the request |
| error | string | No | Error message if processing failed |
TrackActivityMetricsResponse
Response containing results for each tracked metric event
// TrackActivityMetricsResponse
{
"duration": "string",
"results": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| results | TrackActivityMetricsEventResult[] | Yes | Results for each event in the request, in the same order |
UnfollowBatchResponse
// UnfollowBatchResponse
{
"duration": "string",
"follows": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follows | FollowResponse[] | Yes | List of follow relationships that were removed |
UnfollowPair
// UnfollowPair
{
"keep_history": false,
"source": "string",
"target": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| source | string | Yes | Fully qualified ID of the source feed |
| target | string | Yes | Fully qualified ID of the target feed |
| keep_history | boolean | No | When true, activities from the unfollowed feed will remain in the source feed... |
UnfollowResponse
// UnfollowResponse
{
"duration": "string",
"follow": FollowResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follow | FollowResponse | Yes | The deleted follow relationship |
UnpinActivityResponse
// UnpinActivityResponse
{
"activity": ActivityResponse,
"duration": "string",
"feed": "string",
"user_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The unpinned activity |
| duration | string | Yes | |
| feed | string | Yes | Fully qualified ID of the feed the activity was unpinned from |
| user_id | string | Yes | ID of the user who unpinned the activity |
UpdateActivitiesPartialBatchResponse
// UpdateActivitiesPartialBatchResponse
{
"activities": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | ActivityResponse[] | Yes | List of successfully updated activities |
| duration | string | Yes |
UpdateActivityPartialChangeRequest
// UpdateActivityPartialChangeRequest
{
"activity_id": "string",
"copy_custom_to_notification": false,
"handle_mention_notifications": false,
"set": {},
"unset": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | string | Yes | ID of the activity to update |
| copy_custom_to_notification | boolean | No | Whether to copy custom data to the notification activity (only applies when h... |
| handle_mention_notifications | boolean | No | When true and 'mentioned_user_ids' is updated, automatically creates or delet... |
| set | Record<string, any> | No | Map of field names to new values. Supported fields: 'text', 'attachments', 'c... |
| unset | string[] | No | List of field names to remove. Supported fields: 'custom', 'location', 'expir... |
UpdateActivityPartialResponse
// UpdateActivityPartialResponse
{
"activity": ActivityResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The updated activity |
| duration | string | Yes |
UpdateActivityResponse
// UpdateActivityResponse
{
"activity": ActivityResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The updated activity |
| duration | string | Yes |
UpdateBookmarkFolderResponse
// UpdateBookmarkFolderResponse
{
"bookmark_folder": BookmarkFolderResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_folder | BookmarkFolderResponse | Yes | The updated bookmark folder |
| duration | string | Yes |
UpdateBookmarkResponse
// UpdateBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The updated bookmark |
| duration | string | Yes |
UpdateCollectionRequest
// UpdateCollectionRequest
{
"custom": {},
"id": "string",
"name": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Record<string, any> | Yes | Custom data for the collection (required, must contain at least one key) |
| id | string | Yes | Unique identifier for the collection within its name |
| name | string | Yes | Name/type of the collection |
UpdateCollectionsResponse
// UpdateCollectionsResponse
{
"collections": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | CollectionResponse[] | Yes | List of updated collections |
| duration | string | Yes |
UpdateCommentBookmarkResponse
// UpdateCommentBookmarkResponse
{
"bookmark": BookmarkResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The updated comment bookmark |
| duration | string | Yes |
UpdateCommentPartialResponse
// UpdateCommentPartialResponse
{
"comment": CommentResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The updated comment |
| duration | string | Yes |
UpdateCommentResponse
// UpdateCommentResponse
{
"comment": CommentResponse,
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The updated comment |
| duration | string | Yes |
UpdateFeedGroupResponse
// UpdateFeedGroupResponse
{
"duration": "string",
"feed_group": FeedGroupResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_group | FeedGroupResponse | Yes | The updated feed group |
UpdateFeedMembersResponse
Basic response information
// UpdateFeedMembersResponse
{
"added": [],
"duration": "string",
"removed_ids": [],
"updated": []
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| added | FeedMemberResponse[] | Yes | |
| duration | string | Yes | Duration of the request in milliseconds |
| removed_ids | string[] | Yes | |
| updated | FeedMemberResponse[] | Yes |
UpdateFeedResponse
// UpdateFeedResponse
{
"duration": "string",
"feed": FeedResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed | FeedResponse | Yes | The updated feed |
UpdateFeedViewResponse
// UpdateFeedViewResponse
{
"duration": "string",
"feed_view": FeedViewResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_view | FeedViewResponse | Yes | The updated feed view |
UpdateFeedVisibilityResponse
// UpdateFeedVisibilityResponse
{
"duration": "string",
"feed_visibility": FeedVisibilityResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| feed_visibility | FeedVisibilityResponse | Yes | Feed visibility configuration and permissions |
UpdateFollowResponse
// UpdateFollowResponse
{
"duration": "string",
"follow": FollowResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| follow | FollowResponse | Yes | Details of the updated follow relationship |
UpdateMembershipLevelResponse
// UpdateMembershipLevelResponse
{
"duration": "string",
"membership_level": MembershipLevelResponse
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | string | Yes | |
| membership_level | MembershipLevelResponse | Yes | The updated membership level |
UpsertActivitiesResponse
// UpsertActivitiesResponse
{
"activities": [],
"duration": "string",
"mention_notifications_created": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | ActivityResponse[] | Yes | List of created or updated activities |
| duration | string | Yes | |
| mention_notifications_created | number | No | Total number of mention notification activities created for mentioned users a... |
UpsertCollectionsResponse
// UpsertCollectionsResponse
{
"collections": [],
"duration": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | CollectionResponse[] | Yes | List of upserted collections |
| duration | string | Yes |
User
// User
{
"data": {},
"id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | |
| data | Record<string, any> | No |
UserRequest
User request object
// UserRequest
{
"custom": {},
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"name": "string",
"privacy_settings": PrivacySettingsResponse,
"role": "string",
"teams": [],
"teams_role": {}
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | User ID |
| custom | Record<string, any> | No | Custom user data |
| image | string | No | User's profile image URL |
| invisible | boolean | No | |
| language | string | No | |
| name | string | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | |
| role | string | No | User's global role |
| teams | string[] | No | List of teams the user belongs to |
| teams_role | Record<string, any> | No | Map of team-specific roles for the user |
UserResponse
User response object
// UserResponse
{
"avg_response_time": 0,
"ban_expires": 0,
"banned": false,
"blocked_user_ids": [],
"bypass_moderation": false,
"created_at": 0,
"custom": {},
"deactivated_at": 0,
"deleted_at": 0,
"devices": [],
"id": "string",
"image": "string",
"invisible": false,
"language": "string",
"last_active": 0,
"name": "string",
"online": false,
"privacy_settings": PrivacySettingsResponse,
"push_notifications": PushNotificationSettingsResponse,
"revoke_tokens_issued_before": 0,
"role": "string",
"shadow_banned": false,
"teams": [],
"teams_role": {},
"updated_at": 0
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | boolean | Yes | Whether a user is banned or not |
| blocked_user_ids | string[] | Yes | |
| created_at | number | Yes | Date/time of creation |
| custom | Record<string, any> | Yes | Custom data for this object |
| id | string | Yes | Unique user identifier |
| invisible | boolean | Yes | |
| language | string | Yes | Preferred language of a user |
| online | boolean | Yes | Whether a user online or not |
| role | string | Yes | Determines the set of user permissions |
| shadow_banned | boolean | Yes | Whether a user is shadow banned |
| teams | string[] | Yes | List of teams user is a part of |
| updated_at | number | Yes | Date/time of the last update |
| avg_response_time | number | No | |
| ban_expires | number | No | Date when ban expires |
| bypass_moderation | boolean | No | |
| deactivated_at | number | No | Date of deactivation |
| deleted_at | number | No | Date/time of deletion |
| devices | DeviceResponse[] | No | List of devices user is using |
| image | string | No | |
| last_active | number | No | Date of last activity |
| name | string | No | Optional name of user |
| privacy_settings | PrivacySettingsResponse | No | User privacy settings |
| push_notifications | PushNotificationSettingsResponse | No | User push notification settings |
| revoke_tokens_issued_before | number | No | Revocation date for tokens |
| teams_role | Record<string, any> | No |
VoteData
// VoteData
{
"answer_text": "string",
"option_id": "string"
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| answer_text | string | No | |
| option_id | string | No |