Appearance
Feeds
About 25412 wordsAbout 85 min
Ruby SDK - Feeds API
Table of Contents
- add_activity
- upsert_activities
- update_activities_partial_batch
- delete_activities
- track_activity_metrics
- query_activities
- add_bookmark
- update_bookmark
- delete_bookmark
- activity_feedback
- cast_poll_vote
- delete_poll_vote
- add_activity_reaction
- query_activity_reactions
- delete_activity_reaction
- get_activity
- update_activity
- update_activity_partial
- delete_activity
- restore_activity
- query_bookmark_folders
- update_bookmark_folder
- delete_bookmark_folder
- query_bookmarks
- read_collections
- create_collections
- upsert_collections
- update_collections
- delete_collections
- query_collections
- get_comments
- add_comment
- add_comments_batch
- query_comments
- add_comment_bookmark
- update_comment_bookmark
- delete_comment_bookmark
- get_comment
- update_comment
- delete_comment
- update_comment_partial
- add_comment_reaction
- query_comment_reactions
- delete_comment_reaction
- get_comment_replies
- restore_comment
- list_feed_groups
- create_feed_group
- get_or_create_feed
- update_feed
- delete_feed
- mark_activity
- pin_activity
- unpin_activity
- update_feed_members
- accept_feed_member_invite
- query_feed_members
- reject_feed_member_invite
- query_pinned_activities
- get_follow_suggestions
- restore_feed_group
- get_feed_group
- get_or_create_feed_group
- update_feed_group
- delete_feed_group
- list_feed_views
- create_feed_view
- get_feed_view
- get_or_create_feed_view
- update_feed_view
- delete_feed_view
- list_feed_visibilities
- get_feed_visibility
- update_feed_visibility
- create_feeds_batch
- delete_feeds_batch
- own_batch
- query_feeds
- get_feeds_rate_limits
- follow
- update_follow
- accept_follow
- follow_batch
- get_or_create_follows
- query_follows
- reject_follow
- unfollow
- create_membership_level
- query_membership_levels
- update_membership_level
- delete_membership_level
- query_feeds_usage_stats
- unfollow_batch
- get_or_create_unfollows
- delete_feed_user_data
- export_feed_user_data
- Types Reference
add_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a single activity
response = client.feeds.add_activity(
feeds: ["user:john", "timeline:global"],
type: "like",
user_id: "john",
id: "activity-123"
)
puts responseExample: with text and skip_push
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a single activity
response = client.feeds.add_activity(
feeds: ["user:john", "timeline:global"],
type: "like",
text: "Hello, world!",
skip_push: false
)
puts responseExample: with visibility and enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a single activity
response = client.feeds.add_activity(
feeds: ["user:john", "timeline:global"],
type: "like",
visibility: "public",
enrich_own_fields: false
)
puts responseExample: with expires_at and filter_tags
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a single activity
response = client.feeds.add_activity(
feeds: ["user:john", "timeline:global"],
type: "like",
expires_at: "value",
filter_tags: ["tag1", "tag2"]
)
puts responseResponse: AddActivityResponse
Parameters
| Parameter | 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 create_notification_a... |
| create_notification_activity | Boolean | No | Whether to create notification activities for mentioned users |
| custom | Hash | No | Custom data for the activity |
| enrich_own_fields | Boolean | No | - |
| expires_at | String | No | Expiration time for the activity |
| filter_tags | []string | No | Tags for filtering activities |
| force_moderation | Boolean | No | - |
| 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 | String | No | Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody |
| search_data | Hash | 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 | String | No | Visibility setting for the activity. One of: public, private, tag |
| visibility_tag | String | No | If visibility is 'tag', this is the tag name and is required |
upsert_activities
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert multiple activities
response = client.feeds.upsert_activities(
activities: [],
enrich_own_fields: false,
force_moderation: false
)
puts responseResponse: UpsertActivitiesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activities | []ActivityRequest | Yes | List of activities to create or update |
| enrich_own_fields | Boolean | No | If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, ow... |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
update_activities_partial_batch
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Batch partial activity update
response = client.feeds.update_activities_partial_batch(
changes: [],
force_moderation: false
)
puts responseResponse: UpdateActivitiesPartialBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| changes | []UpdateActivityPartialChangeRequest | Yes | List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
delete_activities
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Remove multiple activities
response = client.feeds.delete_activities(
ids: ["activity-1", "activity-2"],
user_id: "john",
hard_delete: false
)
puts responseExample: with user and delete_notification_activity
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Remove multiple activities
response = client.feeds.delete_activities(
ids: ["activity-1", "activity-2"],
user: { id: "activity-123", custom: {} },
delete_notification_activity: false
)
puts responseResponse: DeleteActivitiesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| ids | []string | Yes | List of activity IDs to delete |
| delete_notification_activity | Boolean | No | Whether to also delete any notification activities created from mentions in these activities |
| hard_delete | Boolean | No | Whether to permanently delete the activities |
| user | UserRequest | No | - |
| user_id | String | No | - |
track_activity_metrics
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Track activity metrics
response = client.feeds.track_activity_metrics(
events: [],
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: TrackActivityMetricsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| events | []TrackActivityMetricsEvent | Yes | List of metric events to track (max 100 per request) |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_activities
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activities
response = client.feeds.query_activities(
user_id: "john",
limit: 25,
filter: {}
)
puts responseExample: with sort and include_soft_deleted_activities
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activities
response = client.feeds.query_activities(
sort: [],
include_soft_deleted_activities: false
)
puts responseExample: with enrich_own_fields and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activities
response = client.feeds.query_activities(
enrich_own_fields: false,
next: nil
)
puts responseExample: with prev and include_expired_activities
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activities
response = client.feeds.query_activities(
prev: nil,
include_expired_activities: false
)
puts responseResponse: QueryActivitiesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| enrich_own_fields | Boolean | No | - |
| filter | Hash | No | Filters to apply to the query. Supports location-based queries with 'near' and 'within_bounds' op... |
| include_expired_activities | Boolean | No | When true, include both expired and non-expired activities in the result. |
| include_private_activities | Boolean | No | - |
| include_soft_deleted_activities | Boolean | No | When true, include soft-deleted activities in the result. |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
| user | UserRequest | No | - |
| user_id | String | No | - |
add_bookmark
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add bookmark
response = client.feeds.add_bookmark(
activity_id: "activity-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseExample: with new_folder and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add bookmark
response = client.feeds.add_bookmark(
activity_id: "activity-123",
new_folder: { name: "My Feed", custom: {} },
user: { id: "activity-123", custom: {} }
)
puts responseExample: with custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add bookmark
response = client.feeds.add_bookmark(
activity_id: "activity-123",
custom: {}
)
puts responseResponse: AddBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| custom | Hash | No | Custom data for the bookmark |
| folder_id | String | No | ID of the folder to add the bookmark to |
| new_folder | AddFolderRequest | No | Create a new folder for this bookmark |
| user | UserRequest | No | - |
| user_id | String | No | - |
update_bookmark
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update bookmark
response = client.feeds.update_bookmark(
activity_id: "activity-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseExample: with new_folder and new_folder_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update bookmark
response = client.feeds.update_bookmark(
activity_id: "activity-123",
new_folder: { name: "My Feed", custom: {} },
new_folder_id: "value"
)
puts responseExample: with user and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update bookmark
response = client.feeds.update_bookmark(
activity_id: "activity-123",
user: { id: "activity-123", custom: {} },
custom: {}
)
puts responseResponse: UpdateBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| custom | Hash | No | Custom data for the bookmark |
| folder_id | String | No | ID of the folder containing the bookmark |
| new_folder | AddFolderRequest | No | Create a new folder and move the bookmark into it |
| new_folder_id | String | No | Move the bookmark to this folder (empty string removes the folder) |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_bookmark
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a bookmark
response = client.feeds.delete_bookmark(
activity_id: "activity-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseResponse: DeleteBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| folder_id | String | No | - |
| user_id | String | No | - |
activity_feedback
Submit user feedback on an activity to enhance personalization and content relevance. Use this to gather user preferences and improve content recommendations.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Provide feedback on an activity
response = client.feeds.activity_feedback(
activity_id: "activity-123",
user_id: "john",
show_less: false
)
puts responseExample: with show_more and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Provide feedback on an activity
response = client.feeds.activity_feedback(
activity_id: "activity-123",
show_more: false,
user: { id: "activity-123", custom: {} }
)
puts responseExample: with hide
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Provide feedback on an activity
response = client.feeds.activity_feedback(
activity_id: "activity-123",
hide: false
)
puts responseResponse: ActivityFeedbackResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| hide | Boolean | No | Whether to hide this activity |
| show_less | Boolean | No | Whether to show less content like this |
| show_more | Boolean | No | Whether to show more content like this |
| user | UserRequest | No | - |
| user_id | String | No | - |
cast_poll_vote
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Cast vote
response = client.feeds.cast_poll_vote(
activity_id: "activity-123",
poll_id: "poll-123",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with vote
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Cast vote
response = client.feeds.cast_poll_vote(
activity_id: "activity-123",
poll_id: "poll-123",
vote: { answer_text: "value" }
)
puts responseResponse: PollVoteResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| poll_id | String | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
| vote | VoteData | No | Vote data |
delete_poll_vote
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete vote
response = client.feeds.delete_poll_vote(
activity_id: "activity-123",
poll_id: "poll-123",
vote_id: "vote-123",
user_id: "john"
)
puts responseResponse: PollVoteResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| poll_id | String | Yes | - |
| vote_id | String | Yes | - |
| user_id | String | No | - |
add_activity_reaction
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add reaction
response = client.feeds.add_activity_reaction(
activity_id: "activity-123",
type: "like",
user_id: "john",
skip_push: false
)
puts responseExample: with custom and enforce_unique
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add reaction
response = client.feeds.add_activity_reaction(
activity_id: "activity-123",
type: "like",
custom: {},
enforce_unique: true
)
puts responseExample: with copy_custom_to_notification and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add reaction
response = client.feeds.add_activity_reaction(
activity_id: "activity-123",
type: "like",
copy_custom_to_notification: false,
user: { id: "activity-123", custom: {} }
)
puts responseExample: with create_notification_activity
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add reaction
response = client.feeds.add_activity_reaction(
activity_id: "activity-123",
type: "like",
create_notification_activity: false
)
puts responseResponse: AddReactionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| type | String | Yes | Type of reaction |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when create_notification_a... |
| create_notification_activity | Boolean | No | Whether to create a notification activity for this reaction |
| custom | Hash | No | Custom data for the reaction |
| enforce_unique | Boolean | No | Whether to enforce unique reactions per user (remove other reaction types from the user when addi... |
| skip_push | Boolean | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_activity_reactions
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activity reactions
response = client.feeds.query_activity_reactions(
activity_id: "activity-123",
limit: 25,
filter: {}
)
puts responseExample: with sort and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activity reactions
response = client.feeds.query_activity_reactions(
activity_id: "activity-123",
sort: [],
prev: nil
)
puts responseExample: with next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query activity reactions
response = client.feeds.query_activity_reactions(
activity_id: "activity-123",
next: nil
)
puts responseResponse: QueryActivityReactionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| filter | Hash | No | - |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | - |
delete_activity_reaction
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Remove reaction
response = client.feeds.delete_activity_reaction(
activity_id: "activity-123",
type: "like",
user_id: "john",
delete_notification_activity: false
)
puts responseResponse: DeleteActivityReactionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | - |
| type | String | Yes | - |
| delete_notification_activity | Boolean | No | - |
| user_id | String | No | - |
get_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get activity
response = client.feeds.get_activity(
id: "activity-123",
user_id: "john",
comment_limit: 10
)
puts responseExample: with comment_sort
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get activity
response = client.feeds.get_activity(
id: "activity-123",
comment_sort: "value"
)
puts responseResponse: GetActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| comment_sort | String | No | - |
| comment_limit | Integer | No | - |
| user_id | String | No | - |
update_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Full activity update
response = client.feeds.update_activity(
id: "activity-123",
user_id: "john",
text: "Hello, world!"
)
puts responseExample: with feeds and visibility
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Full activity update
response = client.feeds.update_activity(
id: "activity-123",
feeds: ["user:john", "timeline:global"],
visibility: "public"
)
puts responseExample: with enrich_own_fields and expires_at
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Full activity update
response = client.feeds.update_activity(
id: "activity-123",
enrich_own_fields: false,
expires_at: 10
)
puts responseExample: with attachments and filter_tags
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Full activity update
response = client.feeds.update_activity(
id: "activity-123",
attachments: [],
filter_tags: ["tag1", "tag2"]
)
puts responseResponse: UpdateActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| 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 handle_mention_notifi... |
| custom | Hash | No | Custom data for the activity |
| enrich_own_fields | Boolean | No | If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own... |
| expires_at | float | No | Time when the activity will expire |
| feeds | []string | No | List of feeds the activity is present in |
| filter_tags | []string | No | Tags used for filtering the activity |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
| handle_mention_notifications | Boolean | No | If true, creates notification activities for newly mentioned users and deletes notifications for ... |
| interest_tags | []string | No | Tags indicating interest categories |
| location | Location | No | Geographic location for the activity |
| mentioned_user_ids | []string | No | List of user IDs mentioned in the activity |
| poll_id | String | No | Poll ID |
| restrict_replies | String | No | Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody |
| run_activity_processors | Boolean | No | If true, runs activity processors on the updated activity. Processors will only run if the activi... |
| search_data | Hash | No | Additional data for search indexing |
| skip_enrich_url | Boolean | No | Whether to skip URL enrichment for the activity |
| text | String | No | The text content of the activity |
| user | UserRequest | No | - |
| user_id | String | No | - |
| visibility | String | No | Visibility setting for the activity |
| visibility_tag | String | No | If visibility is 'tag', this is the tag name and is required |
update_activity_partial
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial activity update
response = client.feeds.update_activity_partial(
id: "activity-123",
user_id: "john",
enrich_own_fields: false
)
puts responseExample: with force_moderation and handle_mention_notifications
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial activity update
response = client.feeds.update_activity_partial(
id: "activity-123",
force_moderation: false,
handle_mention_notifications: false
)
puts responseExample: with run_activity_processors and set
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial activity update
response = client.feeds.update_activity_partial(
id: "activity-123",
run_activity_processors: false,
set: {}
)
puts responseExample: with unset and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial activity update
response = client.feeds.update_activity_partial(
id: "activity-123",
unset: [],
user: { id: "activity-123", custom: {} }
)
puts responseResponse: UpdateActivityPartialResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when handle_mention_notifi... |
| enrich_own_fields | Boolean | No | If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own... |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
| handle_mention_notifications | Boolean | No | If true, creates notification activities for newly mentioned users and deletes notifications for ... |
| run_activity_processors | Boolean | No | If true, runs activity processors on the updated activity. Processors will only run if the activi... |
| set | Hash | No | Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility'... |
| unset | []string | No | List of field names to remove. Supported fields: 'custom', 'visibility_tag', 'location', 'expires... |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a single activity
response = client.feeds.delete_activity(
id: "activity-123",
hard_delete: false,
delete_notification_activity: false
)
puts responseResponse: DeleteActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| hard_delete | Boolean | No | - |
| delete_notification_activity | Boolean | No | - |
restore_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Restore a soft-deleted activity
response = client.feeds.restore_activity(
id: "activity-123",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Restore a soft-deleted activity
response = client.feeds.restore_activity(
id: "activity-123",
enrich_own_fields: false
)
puts responseResponse: RestoreActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| enrich_own_fields | Boolean | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_bookmark_folders
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query bookmark folders
response = client.feeds.query_bookmark_folders(
limit: 25,
filter: {},
sort: []
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query bookmark folders
response = client.feeds.query_bookmark_folders(
prev: nil,
next: nil
)
puts responseResponse: QueryBookmarkFoldersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
update_bookmark_folder
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a bookmark folder
response = client.feeds.update_bookmark_folder(
folder_id: "folder-123",
user_id: "john",
name: "My Feed"
)
puts responseExample: with user and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a bookmark folder
response = client.feeds.update_bookmark_folder(
folder_id: "folder-123",
user: { id: "activity-123", custom: {} },
custom: {}
)
puts responseResponse: UpdateBookmarkFolderResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| folder_id | String | Yes | - |
| custom | Hash | No | Custom data for the folder |
| name | String | No | Name of the folder |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_bookmark_folder
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a bookmark folder
response = client.feeds.delete_bookmark_folder(
folder_id: "folder-123"
)
puts responseResponse: DeleteBookmarkFolderResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| folder_id | String | Yes | - |
query_bookmarks
Retrieve a list of bookmarks based on specified criteria, useful for accessing saved or frequently accessed items quickly.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query bookmarks
response = client.feeds.query_bookmarks(
limit: 25,
filter: {},
sort: []
)
puts responseExample: with next and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query bookmarks
response = client.feeds.query_bookmarks(
next: nil,
prev: nil
)
puts responseExample: with enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query bookmarks
response = client.feeds.query_bookmarks(
enrich_own_fields: false
)
puts responseResponse: QueryBookmarksResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| enrich_own_fields | Boolean | No | - |
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
read_collections
Fetch details of existing collections, enabling users to view and manage grouped data easily.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Read collections
response = client.feeds.read_collections(
user_id: "john",
collection_refs: ["food:pizza-123"]
)
puts responseResponse: ReadCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| collection_refs | []string | No | - |
| user_id | String | No | - |
create_collections
Create new collections in bulk, ideal for organizing large sets of data into manageable groups at once.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create multiple collections
response = client.feeds.create_collections(
collections: [],
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: CreateCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| collections | []CollectionRequest | Yes | List of collections to create |
| user | UserRequest | No | - |
| user_id | String | No | - |
upsert_collections
Insert new collections or update existing ones in a single operation, ensuring your data is current without multiple requests.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert multiple collections
response = client.feeds.upsert_collections(
collections: []
)
puts responseResponse: UpsertCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| collections | []CollectionRequest | Yes | List of collections to upsert (insert if new, update if existing) |
update_collections
Modify existing collections by changing their attributes, facilitating the maintenance and customization of grouped data.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update multiple collections
response = client.feeds.update_collections(
collections: [],
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: UpdateCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| collections | []UpdateCollectionRequest | Yes | List of collections to update (only custom data is updatable) |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_collections
Remove multiple collections at once, useful for cleaning up and organizing data by eliminating unneeded sets.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete multiple collections
response = client.feeds.delete_collections(
collection_refs: ["food:pizza-123"]
)
puts responseResponse: DeleteCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| collection_refs | []string | Yes | - |
query_collections
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query collections
response = client.feeds.query_collections(
user_id: "john",
limit: 25,
filter: {}
)
puts responseExample: with sort and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query collections
response = client.feeds.query_collections(
sort: [],
next: nil
)
puts responseExample: with user and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query collections
response = client.feeds.query_collections(
user: { id: "activity-123", custom: {} },
prev: nil
)
puts responseResponse: QueryCollectionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
| user | UserRequest | No | - |
| user_id | String | No | - |
get_comments
Retrieve comments related to a specific object, providing insights and feedback from users or collaborators.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get comments for an object
response = client.feeds.get_comments(
object_id: "activity-123",
object_type: "activity",
user_id: "john",
limit: 25
)
puts responseExample: with sort and id_around
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get comments for an object
response = client.feeds.get_comments(
object_id: "activity-123",
object_type: "activity",
sort: [{ field: "created_at", direction: -1 }],
id_around: "value"
)
puts responseExample: with depth and replies_limit
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get comments for an object
response = client.feeds.get_comments(
object_id: "activity-123",
object_type: "activity",
depth: 2,
replies_limit: 10
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get comments for an object
response = client.feeds.get_comments(
object_id: "activity-123",
object_type: "activity",
prev: nil,
next: nil
)
puts responseResponse: GetCommentsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| object_id | String | Yes | - |
| object_type | String | Yes | - |
| depth | Integer | No | - |
| sort | String | No | - |
| replies_limit | Integer | No | - |
| id_around | String | No | - |
| user_id | String | No | - |
| limit | Integer | No | - |
| prev | String | No | - |
| next | String | No | - |
add_comment
Post a new comment or reply to an existing one, fostering interaction and discussion around a particular object.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a comment or reply
response = client.feeds.add_comment(
user_id: "john",
id: "activity-123",
skip_push: false
)
puts responseExample: with create_notification_activity and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a comment or reply
response = client.feeds.add_comment(
create_notification_activity: false,
custom: {}
)
puts responseExample: with force_moderation and attachments
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a comment or reply
response = client.feeds.add_comment(
force_moderation: false,
attachments: []
)
puts responseExample: with mentioned_user_ids and object_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add a comment or reply
response = client.feeds.add_comment(
mentioned_user_ids: ["user-1", "user-2"],
object_id: "activity-123"
)
puts responseResponse: AddCommentResponse
Parameters
| Parameter | 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 create_notification_a... |
| create_notification_activity | Boolean | No | Whether to create a notification activity for this comment |
| custom | Hash | No | Custom data for the comment |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
| id | String | No | Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated. |
| 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 are automatically inhe... |
| skip_enrich_url | Boolean | No | Whether to skip URL enrichment for this comment |
| skip_push | Boolean | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
add_comments_batch
Submit multiple comments in a single request, streamlining processes where multiple inputs are needed simultaneously.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add multiple comments in a batch
response = client.feeds.add_comments_batch(
comments: []
)
puts responseResponse: AddCommentsBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| comments | []AddCommentRequest | Yes | List of comments to add |
query_comments
Search for comments based on defined parameters, allowing users to filter and locate specific discussions efficiently.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comments
response = client.feeds.query_comments(
filter: {},
user_id: "john",
limit: 25
)
puts responseExample: with sort and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comments
response = client.feeds.query_comments(
filter: {},
sort: [{ field: "created_at", direction: -1 }],
prev: nil
)
puts responseExample: with id_around and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comments
response = client.feeds.query_comments(
filter: {},
id_around: "value",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comments
response = client.feeds.query_comments(
filter: {},
next: nil
)
puts responseResponse: QueryCommentsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | Hash | Yes | Filter to apply to the query |
| id_around | String | No | Returns the comment with the specified ID along with surrounding comments for context |
| limit | Integer | No | Maximum number of comments to return |
| next | String | No | - |
| prev | String | No | - |
| sort | String | No | Array of sort parameters |
| user | UserRequest | No | - |
| user_id | String | No | - |
add_comment_bookmark
Allows users to bookmark a comment for easy future reference. Use this to enable users to save important comments for quick access later.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment bookmark
response = client.feeds.add_comment_bookmark(
comment_id: "comment-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseExample: with new_folder and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment bookmark
response = client.feeds.add_comment_bookmark(
comment_id: "comment-123",
new_folder: { name: "My Feed", custom: {} },
user: { id: "activity-123", custom: {} }
)
puts responseExample: with custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment bookmark
response = client.feeds.add_comment_bookmark(
comment_id: "comment-123",
custom: {}
)
puts responseResponse: AddCommentBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| comment_id | String | Yes | - |
| custom | Hash | No | Custom data for the bookmark |
| folder_id | String | No | ID of the folder to add the bookmark to |
| new_folder | AddFolderRequest | No | Create a new folder for this bookmark |
| user | UserRequest | No | - |
| user_id | String | No | - |
update_comment_bookmark
Modifies an existing comment bookmark to reflect changes or updates. Use this to ensure that user bookmarks remain relevant and up-to-date.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update comment bookmark
response = client.feeds.update_comment_bookmark(
comment_id: "comment-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseExample: with new_folder and new_folder_id
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update comment bookmark
response = client.feeds.update_comment_bookmark(
comment_id: "comment-123",
new_folder: { name: "My Feed", custom: {} },
new_folder_id: "value"
)
puts responseExample: with user and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update comment bookmark
response = client.feeds.update_comment_bookmark(
comment_id: "comment-123",
user: { id: "activity-123", custom: {} },
custom: {}
)
puts responseResponse: UpdateCommentBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| comment_id | String | Yes | - |
| custom | Hash | No | Custom data for the bookmark |
| folder_id | String | No | ID of the folder containing the bookmark |
| new_folder | AddFolderRequest | No | Create a new folder and move the bookmark into it |
| new_folder_id | String | No | Move the bookmark to this folder (empty string removes the folder) |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_comment_bookmark
Removes a bookmarked comment, freeing up space and reducing clutter. Use this when a bookmarked comment is no longer needed by the user.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a comment bookmark
response = client.feeds.delete_comment_bookmark(
comment_id: "comment-123",
user_id: "john",
folder_id: "folder-123"
)
puts responseResponse: DeleteCommentBookmarkResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| comment_id | String | Yes | - |
| folder_id | String | No | - |
| user_id | String | No | - |
get_comment
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get comment
response = client.feeds.get_comment(
id: "activity-123",
user_id: "john"
)
puts responseResponse: GetCommentResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| user_id | String | No | - |
update_comment
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a comment
response = client.feeds.update_comment(
id: "activity-123",
user_id: "john",
skip_push: false
)
puts responseExample: with copy_custom_to_notification and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a comment
response = client.feeds.update_comment(
id: "activity-123",
copy_custom_to_notification: false,
custom: {}
)
puts responseExample: with force_moderation and handle_mention_notifications
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a comment
response = client.feeds.update_comment(
id: "activity-123",
force_moderation: false,
handle_mention_notifications: false
)
puts responseExample: with mentioned_user_ids and skip_enrich_url
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a comment
response = client.feeds.update_comment(
id: "activity-123",
mentioned_user_ids: ["user-1", "user-2"],
skip_enrich_url: false
)
puts responseResponse: UpdateCommentResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| attachments | []Attachment | No | Updated media attachments for the comment. Providing this field will replace all existing attachm... |
| comment | String | No | Updated text content of the comment |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when handle_mention_notifi... |
| custom | Hash | No | Updated custom data for the comment |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
| handle_mention_notifications | Boolean | No | If true, creates notification activities for newly mentioned users and deletes notifications for ... |
| mentioned_user_ids | []string | No | List of user IDs mentioned in the comment |
| skip_enrich_url | Boolean | No | Whether to skip URL enrichment for this comment |
| skip_push | Boolean | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
delete_comment
Remove a comment from a feed. Use this method to permanently delete a comment when it is no longer needed.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a comment
response = client.feeds.delete_comment(
id: "activity-123",
hard_delete: false,
delete_notification_activity: false
)
puts responseResponse: DeleteCommentResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| hard_delete | Boolean | No | - |
| delete_notification_activity | Boolean | No | - |
update_comment_partial
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial comment update
response = client.feeds.update_comment_partial(
id: "activity-123",
user_id: "john",
skip_push: false
)
puts responseExample: with handle_mention_notifications and set
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial comment update
response = client.feeds.update_comment_partial(
id: "activity-123",
handle_mention_notifications: false,
set: {}
)
puts responseExample: with skip_enrich_url and copy_custom_to_notification
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial comment update
response = client.feeds.update_comment_partial(
id: "activity-123",
skip_enrich_url: false,
copy_custom_to_notification: false
)
puts responseExample: with unset and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Partial comment update
response = client.feeds.update_comment_partial(
id: "activity-123",
unset: [],
user: { id: "activity-123", custom: {} }
)
puts responseResponse: UpdateCommentPartialResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to notification activities Deprecated: use notification_context.trigg... |
| force_moderation | Boolean | No | If true, forces moderation to run for server-side requests. By default, server-side requests skip... |
| handle_mention_notifications | Boolean | No | Whether to handle mention notification changes |
| set | Hash | No | Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'mentioned_u... |
| skip_enrich_url | Boolean | No | Whether to skip URL enrichment |
| skip_push | Boolean | No | Whether to skip push notifications |
| unset | []string | No | List of field names to remove. Supported fields: 'custom', 'attachments', 'mentioned_user_ids', '... |
| user | UserRequest | No | - |
| user_id | String | No | - |
add_comment_reaction
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment reaction
response = client.feeds.add_comment_reaction(
id: "activity-123",
type: "like",
user_id: "john",
skip_push: false
)
puts responseExample: with custom and enforce_unique
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment reaction
response = client.feeds.add_comment_reaction(
id: "activity-123",
type: "like",
custom: {},
enforce_unique: true
)
puts responseExample: with copy_custom_to_notification and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment reaction
response = client.feeds.add_comment_reaction(
id: "activity-123",
type: "like",
copy_custom_to_notification: false,
user: { id: "activity-123", custom: {} }
)
puts responseExample: with create_notification_activity
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Add comment reaction
response = client.feeds.add_comment_reaction(
id: "activity-123",
type: "like",
create_notification_activity: false
)
puts responseResponse: AddCommentReactionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| type | String | Yes | The type of reaction, eg upvote, like, ... |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when create_notification_a... |
| create_notification_activity | Boolean | No | Whether to create a notification activity for this reaction |
| custom | Hash | No | Optional custom data to add to the reaction |
| enforce_unique | Boolean | No | Whether to enforce unique reactions per user (remove other reaction types from the user when addi... |
| skip_push | Boolean | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_comment_reactions
Retrieve all reactions associated with a specific comment. Use this method to view how users have interacted with a comment through various reactions.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comment reactions
response = client.feeds.query_comment_reactions(
id: "activity-123",
limit: 25,
filter: {}
)
puts responseExample: with sort and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comment reactions
response = client.feeds.query_comment_reactions(
id: "activity-123",
sort: [],
prev: nil
)
puts responseExample: with next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query comment reactions
response = client.feeds.query_comment_reactions(
id: "activity-123",
next: nil
)
puts responseResponse: QueryCommentReactionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| filter | Hash | No | - |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | - |
delete_comment_reaction
Remove a specific reaction from a comment. Use this method when you need to retract or correct a reaction added to a comment.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete comment reaction
response = client.feeds.delete_comment_reaction(
id: "activity-123",
type: "like",
user_id: "john",
delete_notification_activity: false
)
puts responseResponse: DeleteCommentReactionResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| type | String | Yes | - |
| delete_notification_activity | Boolean | No | - |
| user_id | String | No | - |
get_comment_replies
Fetch all replies associated with a specific comment. Use this method to view or manage the conversation thread stemming from a comment.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get replies for a comment
response = client.feeds.get_comment_replies(
id: "activity-123",
user_id: "john",
limit: 25
)
puts responseExample: with sort and id_around
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get replies for a comment
response = client.feeds.get_comment_replies(
id: "activity-123",
sort: [{ field: "created_at", direction: -1 }],
id_around: "value"
)
puts responseExample: with depth and replies_limit
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get replies for a comment
response = client.feeds.get_comment_replies(
id: "activity-123",
depth: 2,
replies_limit: 10
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get replies for a comment
response = client.feeds.get_comment_replies(
id: "activity-123",
prev: nil,
next: nil
)
puts responseResponse: GetCommentRepliesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| depth | Integer | No | - |
| sort | String | No | - |
| replies_limit | Integer | No | - |
| id_around | String | No | - |
| user_id | String | No | - |
| limit | Integer | No | - |
| prev | String | No | - |
| next | String | No | - |
restore_comment
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Restore a soft-deleted comment
response = client.feeds.restore_comment(
id: "activity-123",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: RestoreCommentResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
list_feed_groups
Retrieve a list of all available feed groups within the application. Use this method to explore or manage different categories of feeds.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List all feed groups
response = client.feeds.list_feed_groups(
include_soft_deleted: false
)
puts responseResponse: ListFeedGroupsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| include_soft_deleted | Boolean | No | - |
create_feed_group
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed group
response = client.feeds.create_feed_group(
id: "activity-123",
activity_processors: [],
activity_selectors: []
)
puts responseExample: with aggregation and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed group
response = client.feeds.create_feed_group(
id: "activity-123",
aggregation: { activities_sort: "value" },
custom: {}
)
puts responseExample: with default_visibility and notification
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed group
response = client.feeds.create_feed_group(
id: "activity-123",
default_visibility: "value",
notification: { deduplication_window: "value" }
)
puts responseExample: with push_notification and ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed group
response = client.feeds.create_feed_group(
id: "activity-123",
push_notification: { enable_push: false },
ranking: { type: "like", defaults: {} }
)
puts responseResponse: CreateFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Unique identifier for the feed group |
| activity_processors | []ActivityProcessorConfig | No | Configuration for activity processors |
| activity_selectors | []ActivitySelectorConfig | No | Configuration for activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| custom | Hash | No | Custom data for the feed group |
| default_visibility | String | No | Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'pr... |
| notification | NotificationConfig | No | Configuration for notifications |
| push_notification | PushNotificationConfig | No | - |
| ranking | RankingConfig | No | Configuration for activity ranking |
| stories | StoriesConfig | No | Configuration for stories functionality |
get_or_create_feed
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed
response = client.feeds.get_or_create_feed(
feed_group_id: "user",
feed_id: "john",
user_id: "john",
limit: 25
)
puts responseExample: with filter and data
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed
response = client.feeds.get_or_create_feed(
feed_group_id: "user",
feed_id: "john",
filter: {},
data: { custom: {} }
)
puts responseExample: with followers_pagination and following_pagination
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed
response = client.feeds.get_or_create_feed(
feed_group_id: "user",
feed_id: "john",
followers_pagination: { limit: 25 },
following_pagination: { limit: 25 }
)
puts responseExample: with friend_reactions_options and id_around
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed
response = client.feeds.get_or_create_feed(
feed_group_id: "user",
feed_id: "john",
friend_reactions_options: { enabled: false },
id_around: "value"
)
puts responseResponse: GetOrCreateFeedResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| data | FeedInput | No | - |
| enrichment_options | EnrichmentOptions | No | - |
| external_ranking | Hash | No | - |
| filter | Hash | No | - |
| followers_pagination | PagerRequest | No | - |
| following_pagination | PagerRequest | No | - |
| friend_reactions_options | FriendReactionsOptions | No | - |
| id_around | String | No | - |
| interest_weights | Hash | No | - |
| limit | Integer | No | - |
| member_pagination | PagerRequest | No | - |
| next | String | No | - |
| prev | String | No | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
| view | String | No | - |
| watch | Boolean | No | - |
update_feed
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed
response = client.feeds.update_feed(
feed_group_id: "user",
feed_id: "john",
name: "My Feed",
created_by_id: "value"
)
puts responseExample: with custom and description
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed
response = client.feeds.update_feed(
feed_group_id: "user",
feed_id: "john",
custom: {},
description: "A description"
)
puts responseExample: with enrich_own_fields and filter_tags
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed
response = client.feeds.update_feed(
feed_group_id: "user",
feed_id: "john",
enrich_own_fields: false,
filter_tags: ["tag1", "tag2"]
)
puts responseExample: with location and clear_location
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed
response = client.feeds.update_feed(
feed_group_id: "user",
feed_id: "john",
location: { lat: 10, lng: 10 },
clear_location: false
)
puts responseResponse: UpdateFeedResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| clear_location | Boolean | No | If true, removes the geographic location from the feed |
| created_by_id | String | No | ID of the new feed creator (owner) |
| custom | Hash | No | Custom data for the feed |
| description | String | No | Description of the feed |
| enrich_own_fields | Boolean | No | If true, enriches the feed with own_* fields (own_follows, own_followings, own_capabilities, own_... |
| filter_tags | []string | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| name | String | No | Name of the feed |
delete_feed
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a single feed
response = client.feeds.delete_feed(
feed_group_id: "user",
feed_id: "john",
hard_delete: false
)
puts responseResponse: DeleteFeedResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| hard_delete | Boolean | No | - |
mark_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Mark activities as read/seen/watched
response = client.feeds.mark_activity(
feed_group_id: "user",
feed_id: "john",
user_id: "john",
mark_all_seen: true
)
puts responseExample: with mark_read and mark_seen
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Mark activities as read/seen/watched
response = client.feeds.mark_activity(
feed_group_id: "user",
feed_id: "john",
mark_read: [],
mark_seen: []
)
puts responseExample: with mark_watched and user
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Mark activities as read/seen/watched
response = client.feeds.mark_activity(
feed_group_id: "user",
feed_id: "john",
mark_watched: [],
user: { id: "activity-123", custom: {} }
)
puts responseExample: with mark_all_read
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Mark activities as read/seen/watched
response = client.feeds.mark_activity(
feed_group_id: "user",
feed_id: "john",
mark_all_read: true
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| mark_all_read | Boolean | No | Whether to mark all activities as read |
| mark_all_seen | Boolean | No | Whether to mark all activities as seen |
| mark_read | []string | No | List of activity IDs to mark as read |
| mark_seen | []string | No | List of activity IDs to mark as seen |
| mark_watched | []string | No | List of activity IDs to mark as watched (for stories) |
| user | UserRequest | No | - |
| user_id | String | No | - |
pin_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Pin an activity to a feed
response = client.feeds.pin_activity(
feed_group_id: "user",
feed_id: "john",
activity_id: "activity-123",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Pin an activity to a feed
response = client.feeds.pin_activity(
feed_group_id: "user",
feed_id: "john",
activity_id: "activity-123",
enrich_own_fields: false
)
puts responseResponse: PinActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| activity_id | String | Yes | - |
| enrich_own_fields | Boolean | No | If true, enriches the activity's current_feed with own_* fields (own_follows, own_followings, own... |
| user | UserRequest | No | - |
| user_id | String | No | - |
unpin_activity
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unpin an activity from a feed
response = client.feeds.unpin_activity(
feed_group_id: "user",
feed_id: "john",
activity_id: "activity-123",
user_id: "john",
enrich_own_fields: false
)
puts responseResponse: UnpinActivityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| activity_id | String | Yes | - |
| enrich_own_fields | Boolean | No | - |
| user_id | String | No | - |
update_feed_members
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update feed members
response = client.feeds.update_feed_members(
feed_group_id: "user",
feed_id: "john",
operation: "add",
limit: 25,
members: []
)
puts responseExample: with next and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update feed members
response = client.feeds.update_feed_members(
feed_group_id: "user",
feed_id: "john",
operation: "add",
next: nil,
prev: nil
)
puts responseResponse: UpdateFeedMembersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| operation | String | Yes | Type of update operation to perform. One of: upsert, remove, set |
| limit | Integer | No | - |
| members | []FeedMemberRequest | No | List of members to upsert, remove, or set |
| next | String | No | - |
| prev | String | No | - |
accept_feed_member_invite
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Accept a feed member request
response = client.feeds.accept_feed_member_invite(
feed_id: "john",
feed_group_id: "user",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: AcceptFeedMemberInviteResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_id | String | Yes | - |
| feed_group_id | String | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_feed_members
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feed members
response = client.feeds.query_feed_members(
feed_group_id: "user",
feed_id: "john",
limit: 25,
filter: {}
)
puts responseExample: with sort and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feed members
response = client.feeds.query_feed_members(
feed_group_id: "user",
feed_id: "john",
sort: [],
prev: nil
)
puts responseExample: with next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feed members
response = client.feeds.query_feed_members(
feed_group_id: "user",
feed_id: "john",
next: nil
)
puts responseResponse: QueryFeedMembersResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| filter | Hash | No | Filter parameters for the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sort parameters for the query |
reject_feed_member_invite
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reject an invite to become a feed member
response = client.feeds.reject_feed_member_invite(
feed_group_id: "user",
feed_id: "john",
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseResponse: RejectFeedMemberInviteResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_pinned_activities
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query pinned activities
response = client.feeds.query_pinned_activities(
feed_group_id: "user",
feed_id: "john",
limit: 25,
filter: {}
)
puts responseExample: with sort and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query pinned activities
response = client.feeds.query_pinned_activities(
feed_group_id: "user",
feed_id: "john",
sort: [],
next: nil
)
puts responseExample: with prev and enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query pinned activities
response = client.feeds.query_pinned_activities(
feed_group_id: "user",
feed_id: "john",
prev: nil,
enrich_own_fields: false
)
puts responseResponse: QueryPinnedActivitiesResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| feed_id | String | Yes | - |
| enrich_own_fields | Boolean | No | - |
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
get_follow_suggestions
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get follow suggestions
response = client.feeds.get_follow_suggestions(
feed_group_id: "user",
user_id: "john",
limit: 25
)
puts responseResponse: GetFollowSuggestionsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
| limit | Integer | No | - |
| user_id | String | No | - |
restore_feed_group
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Restore a feed group
response = client.feeds.restore_feed_group(
feed_group_id: "user"
)
puts responseResponse: RestoreFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feed_group_id | String | Yes | - |
get_feed_group
Retrieve details of an existing feed group to manage or display its contents effectively.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get a feed group
response = client.feeds.get_feed_group(
id: "activity-123",
include_soft_deleted: false
)
puts responseResponse: GetFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| include_soft_deleted | Boolean | No | - |
get_or_create_feed_group
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed group
response = client.feeds.get_or_create_feed_group(
id: "activity-123",
activity_processors: [],
activity_selectors: []
)
puts responseExample: with aggregation and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed group
response = client.feeds.get_or_create_feed_group(
id: "activity-123",
aggregation: { activities_sort: "value" },
custom: {}
)
puts responseExample: with default_visibility and notification
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed group
response = client.feeds.get_or_create_feed_group(
id: "activity-123",
default_visibility: "value",
notification: { deduplication_window: "value" }
)
puts responseExample: with push_notification and ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed group
response = client.feeds.get_or_create_feed_group(
id: "activity-123",
push_notification: { enable_push: false },
ranking: { type: "like", defaults: {} }
)
puts responseResponse: GetOrCreateFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| activity_processors | []ActivityProcessorConfig | No | Configuration for activity processors |
| activity_selectors | []ActivitySelectorConfig | No | Configuration for activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| custom | Hash | No | Custom data for the feed group |
| default_visibility | String | No | Default visibility for the feed group, can be 'public', 'visible', 'followers', 'members', or 'pr... |
| notification | NotificationConfig | No | Configuration for notifications |
| push_notification | PushNotificationConfig | No | - |
| ranking | RankingConfig | No | Configuration for activity ranking |
| stories | StoriesConfig | No | Configuration for stories functionality |
update_feed_group
Modify the properties of an existing feed group to keep its information up-to-date and relevant to your application's needs.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed group
response = client.feeds.update_feed_group(
id: "activity-123",
activity_processors: [],
activity_selectors: []
)
puts responseExample: with aggregation and custom
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed group
response = client.feeds.update_feed_group(
id: "activity-123",
aggregation: { activities_sort: "value" },
custom: {}
)
puts responseExample: with default_visibility and notification
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed group
response = client.feeds.update_feed_group(
id: "activity-123",
default_visibility: "value",
notification: { deduplication_window: "value" }
)
puts responseExample: with push_notification and ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed group
response = client.feeds.update_feed_group(
id: "activity-123",
push_notification: { enable_push: false },
ranking: { type: "like", defaults: {} }
)
puts responseResponse: UpdateFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| activity_processors | []ActivityProcessorConfig | No | Configuration for activity processors |
| activity_selectors | []ActivitySelectorConfig | No | Configuration for activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| custom | Hash | No | Custom data for the feed group |
| default_visibility | String | No | - |
| notification | NotificationConfig | No | Configuration for notifications |
| push_notification | PushNotificationConfig | No | - |
| ranking | RankingConfig | No | Configuration for activity ranking |
| stories | StoriesConfig | No | Configuration for stories functionality |
delete_feed_group
Remove an existing feed group to free up resources or when the feed group is no longer needed in your application.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a feed group
response = client.feeds.delete_feed_group(
id: "activity-123",
hard_delete: false
)
puts responseResponse: DeleteFeedGroupResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| hard_delete | Boolean | No | - |
list_feed_views
Retrieve a list of all feed views to easily navigate and manage the available views in an application.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List all feed views
response = client.feeds.list_feed_views
puts responseResponse: ListFeedViewsResponse
create_feed_view
Generate a new feed view to organize and present feed data in a customized manner for users.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed view
response = client.feeds.create_feed_view(
id: "activity-123",
activity_selectors: [],
aggregation: { activities_sort: "value" }
)
puts responseExample: with ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a new feed view
response = client.feeds.create_feed_view(
id: "activity-123",
ranking: { type: "like", defaults: {} }
)
puts responseResponse: CreateFeedViewResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Unique identifier for the feed view |
| activity_selectors | []ActivitySelectorConfig | No | Configuration for selecting activities |
| aggregation | AggregationConfig | No | Configuration for aggregating activities |
| ranking | RankingConfig | No | Configuration for ranking activities |
get_feed_view
Access specific details of an existing feed view to analyze or display its configuration and content.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get a feed view
response = client.feeds.get_feed_view(
id: "activity-123"
)
puts responseResponse: GetFeedViewResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
get_or_create_feed_view
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed view
response = client.feeds.get_or_create_feed_view(
id: "activity-123",
activity_selectors: [],
aggregation: { activities_sort: "value" }
)
puts responseExample: with ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get or create a feed view
response = client.feeds.get_or_create_feed_view(
id: "activity-123",
ranking: { type: "like", defaults: {} }
)
puts responseResponse: GetOrCreateFeedViewResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| activity_selectors | []ActivitySelectorConfig | No | Configuration for selecting activities |
| aggregation | AggregationConfig | No | Configuration for aggregating activities |
| ranking | RankingConfig | No | Configuration for ranking activities |
update_feed_view
Alter the settings or content of an existing feed view to reflect changes in data presentation or user requirements.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed view
response = client.feeds.update_feed_view(
id: "activity-123",
activity_selectors: [],
aggregation: { activities_sort: "value" }
)
puts responseExample: with ranking
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a feed view
response = client.feeds.update_feed_view(
id: "activity-123",
ranking: { type: "like", defaults: {} }
)
puts responseResponse: UpdateFeedViewResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| activity_selectors | []ActivitySelectorConfig | No | Updated configuration for selecting activities |
| aggregation | AggregationConfig | No | Updated configuration for aggregating activities |
| ranking | RankingConfig | No | Updated configuration for ranking activities |
delete_feed_view
Remove an existing feed view when it is no longer required, helping to maintain an organized and efficient feed view collection.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete a feed view
response = client.feeds.delete_feed_view(
id: "activity-123"
)
puts responseResponse: DeleteFeedViewResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
list_feed_visibilities
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# List feed visibilities
response = client.feeds.list_feed_visibilities
puts responseResponse: ListFeedVisibilitiesResponse
get_feed_visibility
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get feed visibility
response = client.feeds.get_feed_visibility(
name: "My Feed"
)
puts responseResponse: GetFeedVisibilityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
update_feed_visibility
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update Feed Visibility
response = client.feeds.update_feed_visibility(
name: "My Feed",
grants: {}
)
puts responseResponse: UpdateFeedVisibilityResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | - |
| grants | Hash | No | Updated permission grants for each role |
create_feeds_batch
Simultaneously create multiple feeds with a single request. This method is ideal for initializing multiple content streams efficiently.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create multiple feeds at once
response = client.feeds.create_feeds_batch(
feeds: ["user:john", "timeline:global"],
enrich_own_fields: false
)
puts responseResponse: CreateFeedsBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feeds | []FeedRequest | Yes | List of feeds to create |
| enrich_own_fields | Boolean | No | If true, enriches the created feeds with own_* fields (own_follows, own_followings, own_capabilit... |
delete_feeds_batch
Remove multiple feeds in one operation. Use this method to streamline the cleanup process by deleting several feeds at once.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete multiple feeds
response = client.feeds.delete_feeds_batch(
feeds: ["user:john", "timeline:global"],
hard_delete: false
)
puts responseResponse: DeleteFeedsBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feeds | []string | Yes | List of fully qualified feed IDs (format: group_id:feed_id) to delete |
| hard_delete | Boolean | No | Whether to permanently delete the feeds instead of soft delete |
own_batch
Retrieve ownership details for multiple feeds. This is useful for managing or auditing which feeds you or your organization control.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get own fields for multiple feeds
response = client.feeds.own_batch(
feeds: ["user:john", "timeline:global"],
user_id: "john",
user: { id: "activity-123", custom: {} }
)
puts responseExample: with fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get own fields for multiple feeds
response = client.feeds.own_batch(
feeds: ["user:john", "timeline:global"],
fields: []
)
puts responseResponse: OwnBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| feeds | []string | Yes | List of feed IDs to get own fields for |
| fields | []string | No | Optional list of specific fields to return. If not specified, all fields (own_follows, own_follow... |
| user | UserRequest | No | - |
| user_id | String | No | - |
query_feeds
Search and filter feeds based on specific criteria. Use this method to efficiently locate feeds that match your interests or requirements.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feeds
response = client.feeds.query_feeds(
limit: 25,
filter: {},
sort: []
)
puts responseExample: with next and prev
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feeds
response = client.feeds.query_feeds(
next: nil,
prev: nil
)
puts responseExample: with enrich_own_fields and watch
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query feeds
response = client.feeds.query_feeds(
enrich_own_fields: false,
watch: false
)
puts responseResponse: QueryFeedsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| enrich_own_fields | Boolean | No | - |
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
| watch | Boolean | No | Whether to subscribe to realtime updates |
get_feeds_rate_limits
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get Feeds Rate Limits
response = client.feeds.get_feeds_rate_limits(
endpoints: "value",
android: false,
ios: false
)
puts responseExample: with web and server_side
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Get Feeds Rate Limits
response = client.feeds.get_feeds_rate_limits(
web: false,
server_side: false
)
puts responseResponse: GetFeedsRateLimitsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoints | String | No | - |
| android | Boolean | No | - |
| ios | Boolean | No | - |
| web | Boolean | No | - |
| server_side | Boolean | No | - |
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a follow
response = client.feeds.follow(
source: "user:john",
target: "timeline:jane",
skip_push: false,
copy_custom_to_notification: false
)
puts responseExample: with create_notification_activity and create_users
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a follow
response = client.feeds.follow(
source: "user:john",
target: "timeline:jane",
create_notification_activity: false,
create_users: false
)
puts responseExample: with custom and enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a follow
response = client.feeds.follow(
source: "user:john",
target: "timeline:jane",
custom: {},
enrich_own_fields: false
)
puts responseExample: with push_preference and activity_copy_limit
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create a follow
response = client.feeds.follow(
source: "user:john",
target: "timeline:jane",
push_preference: "value",
activity_copy_limit: 10
)
puts responseResponse: SingleFollowResponse
Parameters
| Parameter | 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 | Integer | No | Maximum number of historical activities to copy from the target feed when the follow is first mat... |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when create_notification_a... |
| 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 they don't already exis... |
| custom | Hash | 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 (own_follows, own_fo... |
| push_preference | String | No | Push preference for the follow relationship |
| skip_push | Boolean | No | Whether to skip push for this follow |
| status | String | No | Status of the follow relationship. One of: accepted, pending, rejected |
update_follow
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a follow
response = client.feeds.update_follow(
source: "user:john",
target: "timeline:jane",
skip_push: false,
copy_custom_to_notification: false
)
puts responseExample: with create_notification_activity and create_users
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a follow
response = client.feeds.update_follow(
source: "user:john",
target: "timeline:jane",
create_notification_activity: false,
create_users: false
)
puts responseExample: with custom and enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a follow
response = client.feeds.update_follow(
source: "user:john",
target: "timeline:jane",
custom: {},
enrich_own_fields: false
)
puts responseExample: with follower_role and push_preference
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update a follow
response = client.feeds.update_follow(
source: "user:john",
target: "timeline:jane",
follower_role: "member",
push_preference: "value"
)
puts responseResponse: UpdateFollowResponse
Parameters
| Parameter | 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 | Integer | No | Maximum number of historical activities to copy from the target feed when the follow is first mat... |
| copy_custom_to_notification | Boolean | No | Whether to copy custom data to the notification activity (only applies when create_notification_a... |
| 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 they don't already exis... |
| custom | Hash | 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 (own_follows, own_fo... |
| follower_role | String | No | - |
| push_preference | String | No | Push preference for the follow relationship |
| skip_push | Boolean | No | Whether to skip push for this follow |
| status | String | No | Status of the follow relationship. One of: accepted, pending, rejected |
accept_follow
Approve a pending follow request to allow a user to follow your feed, useful for managing access in private or protected feeds.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Accept a follow request
response = client.feeds.accept_follow(
source: "user:john",
target: "timeline:jane",
follower_role: "member"
)
puts responseResponse: AcceptFollowResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| source | String | Yes | Fully qualified ID of the source feed |
| target | String | Yes | Fully qualified ID of the target feed |
| follower_role | String | No | Optional role for the follower in the follow relationship |
follow_batch
Add multiple followers to a feed simultaneously, ideal for quickly expanding your feed's audience.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create multiple follows at once
response = client.feeds.follow_batch(
follows: [],
create_users: false,
enrich_own_fields: false
)
puts responseResponse: FollowBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| follows | []FollowRequest | Yes | List of follow relationships to create |
| create_users | Boolean | No | If true, auto-creates users referenced by source/target FIDs in the batch when they don't already... |
| enrich_own_fields | Boolean | No | If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_fo... |
get_or_create_follows
Ensure specified follows exist by either retrieving existing ones or creating them as needed, simplifying follow management.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Upsert multiple follows at once
response = client.feeds.get_or_create_follows(
follows: [],
create_users: false,
enrich_own_fields: false
)
puts responseResponse: FollowBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| follows | []FollowRequest | Yes | List of follow relationships to create |
| create_users | Boolean | No | If true, auto-creates users referenced by source/target FIDs in the batch when they don't already... |
| enrich_own_fields | Boolean | No | If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_fo... |
query_follows
Retrieve a list of users who are following a specific feed, helping you analyze and manage your audience.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query follows
response = client.feeds.query_follows(
limit: 25,
filter: {},
sort: []
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query follows
response = client.feeds.query_follows(
prev: nil,
next: nil
)
puts responseResponse: QueryFollowsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
reject_follow
Deny a follow request to prevent a user from following your feed, useful for maintaining privacy or exclusivity.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Reject a follow request
response = client.feeds.reject_follow(
source: "user:john",
target: "timeline:jane"
)
puts responseResponse: RejectFollowResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| source | String | Yes | Fully qualified ID of the source feed |
| target | String | Yes | 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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unfollow a feed
response = client.feeds.unfollow(
source: "user:john",
target: "timeline:jane",
delete_notification_activity: false,
keep_history: false
)
puts responseExample: with enrich_own_fields
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unfollow a feed
response = client.feeds.unfollow(
source: "user:john",
target: "timeline:jane",
enrich_own_fields: false
)
puts responseResponse: UnfollowResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| source | String | Yes | - |
| target | String | Yes | - |
| delete_notification_activity | Boolean | No | - |
| keep_history | Boolean | No | - |
| enrich_own_fields | Boolean | No | - |
create_membership_level
Establish a new membership tier with specific benefits or access rights, allowing for tailored user engagement strategies.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create membership level
response = client.feeds.create_membership_level(
id: "activity-123",
name: "My Feed",
custom: {},
description: "A description"
)
puts responseExample: with priority and tags
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Create membership level
response = client.feeds.create_membership_level(
id: "activity-123",
name: "My Feed",
priority: 1,
tags: ["tag1", "tag2"]
)
puts responseResponse: CreateMembershipLevelResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Unique identifier for the membership level |
| name | String | Yes | Display name for the membership level |
| custom | Hash | No | Custom data for the membership level |
| description | String | No | Optional description of the membership level |
| priority | Integer | No | Priority level (higher numbers = higher priority) |
| tags | []string | No | Activity tags this membership level gives access to |
query_membership_levels
Retrieve existing membership levels to review or assess the tiers available for users, aiding in membership management.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query membership levels
response = client.feeds.query_membership_levels(
limit: 25,
filter: {},
sort: []
)
puts responseExample: with prev and next
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query membership levels
response = client.feeds.query_membership_levels(
prev: nil,
next: nil
)
puts responseResponse: QueryMembershipLevelsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | Hash | No | Filters to apply to the query |
| limit | Integer | No | - |
| next | String | No | - |
| prev | String | No | - |
| sort | []SortParamRequest | No | Sorting parameters for the query |
update_membership_level
Modify an existing membership tier to adjust benefits or access rights, supporting dynamic content or service offerings.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update membership level
response = client.feeds.update_membership_level(
id: "activity-123",
name: "My Feed",
description: "A description"
)
puts responseExample: with custom and priority
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update membership level
response = client.feeds.update_membership_level(
id: "activity-123",
custom: {},
priority: 1
)
puts responseExample: with tags
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Update membership level
response = client.feeds.update_membership_level(
id: "activity-123",
tags: ["tag1", "tag2"]
)
puts responseResponse: UpdateMembershipLevelResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
| custom | Hash | No | Custom data for the membership level |
| description | String | No | Optional description of the membership level |
| name | String | No | Display name for the membership level |
| priority | Integer | No | Priority level (higher numbers = higher priority) |
| tags | []string | No | Activity tags this membership level gives access to |
delete_membership_level
Remove a membership level when it's no longer needed, streamlining your membership structure and offerings.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete membership level
response = client.feeds.delete_membership_level(
id: "activity-123"
)
puts responseResponse: Response
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | - |
query_feeds_usage_stats
Retrieve comprehensive usage statistics for a specific feed, helping you analyze engagement and performance trends over time.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Query Feed Usage Statistics
response = client.feeds.query_feeds_usage_stats(
from: "value",
to: "value"
)
puts responseResponse: QueryFeedsUsageStatsResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| from | String | No | Start date in YYYY-MM-DD format (optional, defaults to 30 days ago) |
| to | String | No | End date in YYYY-MM-DD format (optional, defaults to today) |
unfollow_batch
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unfollow multiple feeds at once
response = client.feeds.unfollow_batch(
follows: [],
delete_notification_activity: false,
enrich_own_fields: false
)
puts responseResponse: UnfollowBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| follows | []UnfollowPair | Yes | List of follow relationships to remove, each with optional keep_history |
| delete_notification_activity | Boolean | No | Whether to delete the corresponding notification activity (default: false) |
| enrich_own_fields | Boolean | No | If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_fo... |
get_or_create_unfollows
Ensure feeds are unfollowed without duplication by using an idempotent operation that simplifies management when transitioning away from specific content sources.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Unfollow multiple feeds (idempotent)
response = client.feeds.get_or_create_unfollows(
follows: [],
delete_notification_activity: false,
enrich_own_fields: false
)
puts responseResponse: UnfollowBatchResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| follows | []UnfollowPair | Yes | List of follow relationships to remove, each with optional keep_history |
| delete_notification_activity | Boolean | No | Whether to delete the corresponding notification activity (default: false) |
| enrich_own_fields | Boolean | No | If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_fo... |
delete_feed_user_data
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
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Delete all feed data for a user
response = client.feeds.delete_feed_user_data(
user_id: "john",
hard_delete: false
)
puts responseResponse: DeleteFeedUserDataResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | - |
| hard_delete | Boolean | No | Whether to perform a hard delete instead of a soft delete |
export_feed_user_data
Download a complete set of a user's feed data, allowing for backup, analysis, or migration to other systems while ensuring data portability.
Example
require 'getstream_ruby'
client = GetStreamRuby.manual(api_key: api_key, api_secret: api_secret)
# Export all feed data for a user
response = client.feeds.export_feed_user_data(
user_id: "john"
)
puts responseResponse: ExportFeedUserDataResponse
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | - |
Types Reference
This section documents the types/interfaces used in this API. These types are extracted from the OpenAPI specification.
AcceptFeedMemberInviteResponse
# AcceptFeedMemberInviteResponse hash structure
{
duration: String, #
member: FeedMemberResponse # The feed member after accepting the invite
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| member | FeedMemberResponse | Yes | The feed member after accepting the invite |
AcceptFollowResponse
# AcceptFollowResponse hash structure
{
duration: String, #
follow: FollowResponse # The accepted follow relationship
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follow | FollowResponse | Yes | The accepted follow relationship |
Action
# Action hash structure
{
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 hash structure
{
activity_id: String, # The ID of the activity that received feedback
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | The ID of the activity that received feedback |
| duration | String | Yes |
ActivityPinResponse
# ActivityPinResponse hash structure
{
activity: ActivityResponse, # The pinned activity
created_at: Numeric, # When the pin was created
feed: String, # ID of the feed where activity is pinned
updated_at: Numeric, # When the pin was last updated
user: UserResponse # User who pinned the activity
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The pinned activity |
| created_at | Numeric | Yes | When the pin was created |
| feed | String | Yes | ID of the feed where activity is pinned |
| updated_at | Numeric | Yes | When the pin was last updated |
| user | UserResponse | Yes | User who pinned the activity |
ActivityProcessorConfig
# ActivityProcessorConfig hash structure
{
type: String # Type of activity processor (required)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | Type of activity processor (required) |
ActivityRequest
# ActivityRequest hash structure
{
attachments: Array, # List of attachments for the activity
collection_refs: Array, # Collections that this activity references
copy_custom_to_notification: Boolean, # Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
create_notification_activity: Boolean, # Whether to create notification activities for mentioned users
custom: Hash, # Custom data for the activity
expires_at: String, # Expiration time for the activity
feeds: Array, # List of feeds to add the activity to with a default max limit of 25 feeds
filter_tags: Array, # Tags for filtering activities
id: String, # Optional ID for the activity
interest_tags: Array, # Tags for indicating user interests
location: Location, # Geographic location related to the activity
mentioned_user_ids: Array, # List of users mentioned in the activity
parent_id: String, # ID of parent activity for replies/comments
poll_id: String, # ID of a poll to attach to activity
restrict_replies: String, # Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
search_data: Hash, # Additional data for search indexing
skip_enrich_url: Boolean, # Whether to skip URL enrichment for the activity
skip_push: Boolean, # Whether to skip push notifications
text: String, # Text content of the activity
type: String, # Type of activity
user_id: String, # ID of the user creating the activity
visibility: String, # Visibility setting for the activity. One of: public, private, tag
visibility_tag: String # If visibility is 'tag', this is the tag name and is required
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| feeds | Array | Yes | List of feeds to add the activity to with a default max limit of 25 feeds |
| type | String | Yes | Type of activity |
| attachments | Array | No | List of attachments for the activity |
| collection_refs | Array | 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 | Hash | No | Custom data for the activity |
| expires_at | String | No | Expiration time for the activity |
| filter_tags | Array | No | Tags for filtering activities |
| id | String | No | Optional ID for the activity |
| interest_tags | Array | No | Tags for indicating user interests |
| location | Location | No | Geographic location related to the activity |
| mentioned_user_ids | Array | 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 | String | No | Controls who can add comments/replies to this activity. One of: everyone, peo... |
| search_data | Hash | 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 | String | No | Visibility setting for the activity. One of: public, private, tag |
| visibility_tag | String | No | If visibility is 'tag', this is the tag name and is required |
ActivityResponse
# ActivityResponse hash structure
{
attachments: Array, # Media attachments for the activity
bookmark_count: Numeric, # Number of bookmarks on the activity
collections: Hash, # Enriched collection data referenced by this activity
comment_count: Numeric, # Number of comments on the activity
comments: Array, # Latest 5 comments of this activity (comment replies excluded)
created_at: Numeric, # When the activity was created
current_feed: FeedResponse, # Feed context for this activity view. If an activity is added only to one feed, it's always set. If an activity is added to multiple feeds, it's only set when calling the GetOrCreateFeed endpoint.
custom: Hash, # Custom data for the activity
deleted_at: Numeric, # When the activity was deleted
edited_at: Numeric, # When the activity was last edited
expires_at: Numeric, # When the activity will expire
feeds: Array, # List of feed IDs containing this activity
filter_tags: Array, # Tags for filtering
friend_reaction_count: Numeric, # Total count of reactions from friends on this activity
friend_reactions: Array, # Reactions from users the current user follows or has mutual follows with
hidden: Boolean, # If this activity is hidden by this user (using activity feedback)
id: String, # Unique identifier for the activity
interest_tags: Array, # Tags for user interests
is_read: Boolean, # Whether this activity has been read. Only set for feed groups with notification config (track_seen/track_read enabled).
is_seen: Boolean, # Whether this activity has been seen. Only set for feed groups with notification config (track_seen/track_read enabled).
is_watched: Boolean, #
latest_reactions: Array, # Recent reactions to the activity
location: Location, # Geographic location related to the activity
mentioned_users: Array, # Users mentioned in the activity
metrics: Hash, #
moderation: ModerationV2Response, # Moderation information
moderation_action: String, #
notification_context: NotificationContext, # Notification context data for the activity (if this is a reaction, comment, follow, etc.)
own_bookmarks: Array, # Current user's bookmarks for this activity
own_reactions: Array, # Current user's reactions to this activity
parent: ActivityResponse, # Parent activity (if this is a reply/comment)
poll: PollResponseData, # Poll attached to this activity
popularity: Numeric, # Popularity score of the activity
preview: Boolean, # If this activity is obfuscated for this user. For premium content where you want to show a preview
reaction_count: Numeric, # Number of reactions to the activity
reaction_groups: Hash, # Grouped reactions by type
restrict_replies: String, # Controls who can add comments/replies to this activity. One of: everyone, people_i_follow, nobody
score: Numeric, # Ranking score for this activity
score_vars: Hash, # Variable values used at ranking time. Only included when include_score_vars is enabled in enrichment options.
search_data: Hash, # Data for search indexing
selector_source: String, # Which activity selector provided this activity (e.g., 'following', 'popular', 'interest'). Only set when using multiple activity selectors with ranking.
share_count: Numeric, # Number of times the activity was shared
text: String, # Text content of the activity
type: String, # Type of activity
updated_at: Numeric, # When the activity was last updated
user: UserResponse, # User who created the activity
visibility: String, # Visibility setting for the activity. One of: public, private, tag
visibility_tag: String # If visibility is 'tag', this is the tag name
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Array | Yes | Media attachments for the activity |
| bookmark_count | Numeric | Yes | Number of bookmarks on the activity |
| collections | Hash | Yes | Enriched collection data referenced by this activity |
| comment_count | Numeric | Yes | Number of comments on the activity |
| comments | Array | Yes | Latest 5 comments of this activity (comment replies excluded) |
| created_at | Numeric | Yes | When the activity was created |
| custom | Hash | Yes | Custom data for the activity |
| feeds | Array | Yes | List of feed IDs containing this activity |
| filter_tags | Array | 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 | Array | Yes | Tags for user interests |
| latest_reactions | Array | Yes | Recent reactions to the activity |
| mentioned_users | Array | Yes | Users mentioned in the activity |
| own_bookmarks | Array | Yes | Current user's bookmarks for this activity |
| own_reactions | Array | Yes | Current user's reactions to this activity |
| popularity | Numeric | 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 | Numeric | Yes | Number of reactions to the activity |
| reaction_groups | Hash | Yes | Grouped reactions by type |
| restrict_replies | String | Yes | Controls who can add comments/replies to this activity. One of: everyone, peo... |
| score | Numeric | Yes | Ranking score for this activity |
| search_data | Hash | Yes | Data for search indexing |
| share_count | Numeric | Yes | Number of times the activity was shared |
| type | String | Yes | Type of activity |
| updated_at | Numeric | Yes | When the activity was last updated |
| user | UserResponse | Yes | User who created the activity |
| visibility | String | Yes | Visibility setting for the activity. One of: public, private, tag |
| current_feed | FeedResponse | No | Feed context for this activity view. If an activity is added only to one feed... |
| deleted_at | Numeric | No | When the activity was deleted |
| edited_at | Numeric | No | When the activity was last edited |
| expires_at | Numeric | No | When the activity will expire |
| friend_reaction_count | Numeric | No | Total count of reactions from friends on this activity |
| friend_reactions | Array | 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 | Hash | 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 | Hash | 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 hash structure
{
cutoff_time: String, # Time threshold for activity selection (string). Expected RFC3339 format (e.g., 2006-01-02T15:04:05Z07:00). Cannot be used together with cutoff_window
cutoff_window: String, # Flexible relative time window for activity selection (e.g., '1h', '3d', '1y'). Activities older than this duration will be filtered out. Cannot be used together with cutoff_time
filter: Hash, # Filter for activity selection
min_popularity: Numeric, # Minimum popularity threshold
params: Hash, #
sort: Array, # Sort parameters for activity selection
type: String # Type of selector. One of: popular, proximity, following, current_feed, query, interest, follow_suggestion
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | Type of selector. One of: popular, proximity, following, current_feed, query,... |
| 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 | Hash | No | Filter for activity selection |
| min_popularity | Numeric | No | Minimum popularity threshold |
| params | Hash | No | |
| sort | Array | No | Sort parameters for activity selection |
AddActivityResponse
# AddActivityResponse hash structure
{
activity: ActivityResponse, # The created activity
duration: String, #
mention_notifications_created: Numeric # Number of mention notification activities created for mentioned users
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The created activity |
| duration | String | Yes | |
| mention_notifications_created | Numeric | No | Number of mention notification activities created for mentioned users |
AddBookmarkResponse
# AddBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The created bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The created bookmark |
| duration | String | Yes |
AddCommentBookmarkResponse
# AddCommentBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The created comment bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The created comment bookmark |
| duration | String | Yes |
AddCommentReactionResponse
# AddCommentReactionResponse hash structure
{
comment: CommentResponse, # The comment the reaction was added to
duration: String, # Duration of the request
notification_created: Boolean, # Whether a notification activity was successfully created
reaction: FeedsReactionResponse # The created or updated reaction
}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 hash structure
{
attachments: Array, # Media attachments for the reply
comment: String, # Text content of the comment
copy_custom_to_notification: Boolean, # Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
create_notification_activity: Boolean, # Whether to create a notification activity for this comment
custom: Hash, # Custom data for the comment
force_moderation: Boolean, # If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
id: String, # Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated.
mentioned_user_ids: Array, # List of users mentioned in the reply
object_id: String, # ID of the object to comment on. Required for root comments
object_type: String, # Type of the object to comment on. Required for root comments
parent_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: Boolean, # Whether to skip URL enrichment for this comment
skip_push: Boolean, #
user: UserRequest, #
user_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| attachments | Array | 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 | Hash | 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 | Array | 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 hash structure
{
comment: CommentResponse, # The created comment
duration: String, #
mention_notifications_created: Numeric, # Number of mention notification activities created for mentioned users
notification_created: Boolean # Whether a notification activity was successfully created
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The created comment |
| duration | String | Yes | |
| mention_notifications_created | Numeric | No | Number of mention notification activities created for mentioned users |
| notification_created | Boolean | No | Whether a notification activity was successfully created |
AddCommentsBatchResponse
# AddCommentsBatchResponse hash structure
{
comments: Array, # List of comments added
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | Array | Yes | List of comments added |
| duration | String | Yes |
AddFolderRequest
# AddFolderRequest hash structure
{
custom: Hash, # Custom data for the folder
name: String # Name of the folder
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Name of the folder |
| custom | Hash | No | Custom data for the folder |
AddReactionResponse
# AddReactionResponse hash structure
{
activity: ActivityResponse, #
duration: String, #
notification_created: Boolean, # Whether a notification activity was successfully created
reaction: FeedsReactionResponse # The created reaction
}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 hash structure
{
activities: Array, # List of activities in this aggregation
activity_count: Numeric, # Number of activities in this aggregation
created_at: Numeric, # When the aggregation was created
group: String, # Grouping identifier
is_read: Boolean, # Whether this aggregated group has been read. Only set for feed groups with notification config (track_seen/track_read enabled).
is_seen: Boolean, # Whether this aggregated group has been seen. Only set for feed groups with notification config (track_seen/track_read enabled).
is_watched: Boolean, #
score: Numeric, # Ranking score for this aggregation
updated_at: Numeric, # When the aggregation was last updated
user_count: Numeric, # Number of unique users in this aggregation
user_count_truncated: Boolean # Whether this activity group has been truncated due to exceeding the group size limit
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | Array | Yes | List of activities in this aggregation |
| activity_count | Numeric | Yes | Number of activities in this aggregation |
| created_at | Numeric | Yes | When the aggregation was created |
| group | String | Yes | Grouping identifier |
| score | Numeric | Yes | Ranking score for this aggregation |
| updated_at | Numeric | Yes | When the aggregation was last updated |
| user_count | Numeric | 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 hash structure
{
activities_sort: String, # Order of member activities inside each aggregated group for non-stories feeds: created_at_desc (newest first, default) or created_at_asc (oldest first). Stories feeds ignore this and always use oldest first.
format: String, # Format for activity aggregation
score_strategy: String # Strategy for computing aggregated group scores from member activity scores when ranking is enabled. Valid values: sum, max, avg
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities_sort | String | No | Order of member activities inside each aggregated group for non-stories feeds... |
| format | String | No | Format for activity aggregation |
| score_strategy | String | No | Strategy for computing aggregated group scores from member activity scores wh... |
Attachment
An attachment is a message object that represents a file uploaded by a user.
# Attachment hash structure
{
actions: Array, #
asset_url: String, #
author_icon: String, #
author_link: String, #
author_name: String, #
color: String, #
custom: Hash, #
fallback: String, #
fields: Array, #
footer: String, #
footer_icon: String, #
giphy: Images, #
image_url: String, #
og_scrape_url: String, #
original_height: Numeric, #
original_width: Numeric, #
pretext: String, #
text: String, #
thumb_url: String, #
title: String, #
title_link: String, #
type: String # Attachment type (e.g. image, video, url)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | Yes | |
| actions | Array | No | |
| asset_url | String | No | |
| author_icon | String | No | |
| author_link | String | No | |
| author_name | String | No | |
| color | String | No | |
| fallback | String | No | |
| fields | Array | No | |
| footer | String | No | |
| footer_icon | String | No | |
| giphy | Images | No | |
| image_url | String | No | |
| og_scrape_url | String | No | |
| original_height | Numeric | No | |
| original_width | Numeric | 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 hash structure
{
created_at: Numeric, # When the folder was created
custom: Hash, # Custom data for the folder
id: String, # Unique identifier for the folder
name: String, # Name of the folder
updated_at: Numeric, # When the folder was last updated
user: UserResponse # User who created the folder
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | When the folder was created |
| id | String | Yes | Unique identifier for the folder |
| name | String | Yes | Name of the folder |
| updated_at | Numeric | Yes | When the folder was last updated |
| user | UserResponse | Yes | User who created the folder |
| custom | Hash | No | Custom data for the folder |
BookmarkResponse
# BookmarkResponse hash structure
{
activity: ActivityResponse, # The bookmarked activity (set when object_type is activity)
activity_id: String, #
comment: CommentResponse, # The bookmarked comment (set when object_type is comment)
created_at: Numeric, # When the bookmark was created
custom: Hash, # Custom data for the bookmark
folder: BookmarkFolderResponse, # Folder containing this bookmark
object_id: String, # ID of the bookmarked object
object_type: String, # Type of the bookmarked object (activity or comment)
updated_at: Numeric, # When the bookmark was last updated
user: UserResponse # User who created the bookmark
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The bookmarked activity (set when object_type is activity) |
| created_at | Numeric | 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 | Numeric | 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 | Hash | No | Custom data for the bookmark |
| folder | BookmarkFolderResponse | No | Folder containing this bookmark |
CollectionRequest
# CollectionRequest hash structure
{
custom: Hash, # Custom data for the collection (required, must contain at least one key)
id: String, # Unique identifier for the collection within its name (optional, will be auto-generated if not provided)
name: String, # Name/type of the collection
user_id: String # ID of the user who owns this collection
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | 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 hash structure
{
created_at: Numeric, # When the collection was created
custom: Hash, # Custom data for the collection
id: String, # Unique identifier for the collection within its name
name: String, # Name/type of the collection
updated_at: Numeric, # When the collection was last updated
user_id: String # ID of the user who owns this collection
}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 | Numeric | No | When the collection was created |
| custom | Hash | No | Custom data for the collection |
| updated_at | Numeric | No | When the collection was last updated |
| user_id | String | No | ID of the user who owns this collection |
CommentResponse
# CommentResponse hash structure
{
attachments: Array, # Attachments associated with the comment
bookmark_count: Numeric, #
confidence_score: Numeric, # Confidence score of the comment
controversy_score: Numeric, # Controversy score of the comment
created_at: Numeric, # When the comment was created
custom: Hash, # Custom data for the comment
deleted_at: Numeric, # When the comment was deleted
downvote_count: Numeric, # Number of downvotes for this comment
edited_at: Numeric, # When the comment was last edited
id: String, # Unique identifier for the comment
latest_reactions: Array, # Recent reactions to the comment
mentioned_users: Array, # Users mentioned in the comment
moderation: ModerationV2Response, # Moderation details for the comment
object_id: String, # ID of the object this comment is associated with
object_type: String, # Type of the object this comment is associated with
own_reactions: Array, # Current user's reactions to this activity
parent_id: String, # ID of parent comment for nested replies
reaction_count: Numeric, # Number of reactions to this comment
reaction_groups: Hash, # Grouped reactions by type
reply_count: Numeric, # Number of replies to this comment
score: Numeric, # Score of the comment based on reactions
status: String, # Status of the comment. One of: active, deleted, removed, hidden
text: String, # Text content of the comment
updated_at: Numeric, # When the comment was last updated
upvote_count: Numeric, # Number of upvotes for this comment
user: UserResponse # User who created the comment
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_count | Numeric | Yes | |
| confidence_score | Numeric | Yes | Confidence score of the comment |
| created_at | Numeric | Yes | When the comment was created |
| downvote_count | Numeric | Yes | Number of downvotes for this comment |
| id | String | Yes | Unique identifier for the comment |
| mentioned_users | Array | 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 | Array | Yes | Current user's reactions to this activity |
| reaction_count | Numeric | Yes | Number of reactions to this comment |
| reply_count | Numeric | Yes | Number of replies to this comment |
| score | Numeric | Yes | Score of the comment based on reactions |
| status | String | Yes | Status of the comment. One of: active, deleted, removed, hidden |
| updated_at | Numeric | Yes | When the comment was last updated |
| upvote_count | Numeric | Yes | Number of upvotes for this comment |
| user | UserResponse | Yes | User who created the comment |
| attachments | Array | No | Attachments associated with the comment |
| controversy_score | Numeric | No | Controversy score of the comment |
| custom | Hash | No | Custom data for the comment |
| deleted_at | Numeric | No | When the comment was deleted |
| edited_at | Numeric | No | When the comment was last edited |
| latest_reactions | Array | 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 | Hash | No | Grouped reactions by type |
| text | String | No | Text content of the comment |
CreateCollectionsResponse
# CreateCollectionsResponse hash structure
{
collections: Array, # List of created collections
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | Array | Yes | List of created collections |
| duration | String | Yes |
CreateFeedGroupResponse
# CreateFeedGroupResponse hash structure
{
duration: String, #
feed_group: FeedGroupResponse # The upserted feed group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_group | FeedGroupResponse | Yes | The upserted feed group |
CreateFeedViewResponse
# CreateFeedViewResponse hash structure
{
duration: String, #
feed_view: FeedViewResponse # The created feed view
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_view | FeedViewResponse | Yes | The created feed view |
CreateFeedsBatchResponse
# CreateFeedsBatchResponse hash structure
{
duration: String, #
feeds: Array # List of created feeds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feeds | Array | Yes | List of created feeds |
CreateMembershipLevelResponse
# CreateMembershipLevelResponse hash structure
{
duration: String, #
membership_level: MembershipLevelResponse # The created membership level
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| membership_level | MembershipLevelResponse | Yes | The created membership level |
DailyMetricStatsResponse
# DailyMetricStatsResponse hash structure
{
daily: Array, # Array of daily metric values
total: Numeric # Total value across all days in the date range
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | Array | Yes | Array of daily metric values |
| total | Numeric | Yes | Total value across all days in the date range |
Data
# Data hash structure
{
id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes |
DeleteActivitiesResponse
# DeleteActivitiesResponse hash structure
{
deleted_ids: Array, # List of activity IDs that were successfully deleted
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| deleted_ids | Array | Yes | List of activity IDs that were successfully deleted |
| duration | String | Yes |
DeleteActivityReactionResponse
# DeleteActivityReactionResponse hash structure
{
activity: ActivityResponse, #
duration: String, #
reaction: FeedsReactionResponse #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | |
| duration | String | Yes | |
| reaction | FeedsReactionResponse | Yes |
DeleteActivityResponse
# DeleteActivityResponse hash structure
{
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes |
DeleteBookmarkFolderResponse
# DeleteBookmarkFolderResponse hash structure
{
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes |
DeleteBookmarkResponse
# DeleteBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The deleted bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The deleted bookmark |
| duration | String | Yes |
DeleteCollectionsResponse
# DeleteCollectionsResponse hash structure
{
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes |
DeleteCommentBookmarkResponse
# DeleteCommentBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The deleted comment bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The deleted comment bookmark |
| duration | String | Yes |
DeleteCommentReactionResponse
# DeleteCommentReactionResponse hash structure
{
comment: CommentResponse, # The comment after reaction removal
duration: String, #
reaction: FeedsReactionResponse # The removed reaction
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The comment after reaction removal |
| duration | String | Yes | |
| reaction | FeedsReactionResponse | Yes | The removed reaction |
DeleteCommentResponse
# DeleteCommentResponse hash structure
{
activity: ActivityResponse, # The parent activity
comment: CommentResponse, # The deleted comment
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 hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
DeleteFeedResponse
# DeleteFeedResponse hash structure
{
duration: String, #
task_id: String # The ID of the async task that will handle feed cleanup and hard deletion
}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 hash structure
{
duration: String, #
task_id: String # The task ID for the deletion task
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| task_id | String | Yes | The task ID for the deletion task |
DeleteFeedViewResponse
# DeleteFeedViewResponse hash structure
{
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes |
DeleteFeedsBatchResponse
# DeleteFeedsBatchResponse hash structure
{
duration: String, #
task_id: String # The ID of the async task that will handle feed cleanup and hard deletion
}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 hash structure
{
daily: Array, # Per-day unique engaged user counts
last_30_days: Array, # Rolling 30-day engaged user count snapshots
month_to_date: Array # Calendar month-to-date engaged user count snapshots
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| daily | Array | Yes | Per-day unique engaged user counts |
| last_30_days | Array | Yes | Rolling 30-day engaged user count snapshots |
| month_to_date | Array | 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 hash structure
{
enrich_own_followings: Boolean, # Default: false. When true, includes fetching and enriching own_followings (follows where activity author's feeds follow current user's feeds).
include_score_vars: Boolean, # Default: false. When true, includes score_vars in activity responses containing variable values used at ranking time.
skip_activity: Boolean, # Default: false. When true, skips all activity enrichments.
skip_activity_collections: Boolean, # Default: false. When true, skips enriching collections on activities.
skip_activity_comments: Boolean, # Default: false. When true, skips enriching comments on activities.
skip_activity_current_feed: Boolean, # Default: false. When true, skips enriching current_feed on activities. Note: CurrentFeed is still computed for permission checks, but enrichment is skipped.
skip_activity_mentioned_users: Boolean, # Default: false. When true, skips enriching mentioned users on activities.
skip_activity_own_bookmarks: Boolean, # Default: false. When true, skips enriching own bookmarks on activities.
skip_activity_parents: Boolean, # Default: false. When true, skips enriching parent activities.
skip_activity_poll: Boolean, # Default: false. When true, skips enriching poll data on activities.
skip_activity_reactions: Boolean, # Default: false. When true, skips fetching and enriching latest and own reactions on activities. Note: If reactions are already denormalized in the database, they will still be included.
skip_activity_refresh_image_urls: Boolean, # Default: false. When true, skips refreshing image URLs on activities.
skip_all: Boolean, # Default: false. When true, skips all enrichments.
skip_feed_member_user: Boolean, # Default: false. When true, skips enriching user data on feed members.
skip_followers: Boolean, # Default: false. When true, skips fetching and enriching followers. Note: If followers_pagination is explicitly provided, followers will be fetched regardless of this setting.
skip_following: Boolean, # Default: false. When true, skips fetching and enriching following. Note: If following_pagination is explicitly provided, following will be fetched regardless of this setting.
skip_own_capabilities: Boolean, # Default: false. When true, skips computing and including capabilities for feeds.
skip_own_follows: Boolean, # Default: false. When true, skips fetching and enriching own_follows (follows where user's feeds follow target feeds).
skip_pins: Boolean # Default: false. When true, skips enriching pinned activities.
}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 hash structure
{
duration: String, #
task_id: String # The task ID for the export task
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| task_id | String | Yes | The task ID for the export task |
FeedGroupResponse
# FeedGroupResponse hash structure
{
activity_processors: Array, # Configuration for activity processors
activity_selectors: Array, # Configuration for activity selectors
aggregation: AggregationConfig, # Configuration for activity aggregation
created_at: Numeric, # When the feed group was created
custom: Hash, # Custom data for the feed group
default_visibility: String, # Default visibility for activities. One of: public, visible, followers, members, private
deleted_at: Numeric, #
id: String, # Identifier within the group
notification: NotificationConfig, # Configuration for notifications
push_notification: PushNotificationConfig, # Configuration for push notifications
ranking: RankingConfig, # Configuration for activity ranking
stories: StoriesConfig, # Configuration for stories feature
updated_at: Numeric # When the feed group was last updated
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | When the feed group was created |
| id | String | Yes | Identifier within the group |
| updated_at | Numeric | Yes | When the feed group was last updated |
| activity_processors | Array | No | Configuration for activity processors |
| activity_selectors | Array | No | Configuration for activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| custom | Hash | No | Custom data for the feed group |
| default_visibility | String | No | Default visibility for activities. One of: public, visible, followers, member... |
| deleted_at | Numeric | 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 hash structure
{
custom: Hash, #
description: String, #
filter_tags: Array, #
location: Location, #
members: Array, #
name: String, #
visibility: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | No | |
| description | String | No | |
| filter_tags | Array | No | |
| location | Location | No | |
| members | Array | No | |
| name | String | No | |
| visibility | String | No |
FeedMemberRequest
# FeedMemberRequest hash structure
{
custom: Hash, # Custom data for the member
invite: Boolean, # Whether this is an invite to become a member
membership_level: String, # ID of the membership level to assign to the member
role: String, # Role of the member in the feed
user_id: String # ID of the user to add as a member
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| user_id | String | Yes | ID of the user to add as a member |
| custom | Hash | 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 hash structure
{
created_at: Numeric, # When the membership was created
custom: Hash, # Custom data for the membership
invite_accepted_at: Numeric, # When the invite was accepted
invite_rejected_at: Numeric, # When the invite was rejected
membership_level: MembershipLevelResponse, # Membership level assigned to the member
role: String, # Role of the member in the feed
status: String, # Status of the membership. One of: member, pending, rejected
updated_at: Numeric, # When the membership was last updated
user: UserResponse # User who is a member
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | When the membership was created |
| role | String | Yes | Role of the member in the feed |
| status | String | Yes | Status of the membership. One of: member, pending, rejected |
| updated_at | Numeric | Yes | When the membership was last updated |
| user | UserResponse | Yes | User who is a member |
| custom | Hash | No | Custom data for the membership |
| invite_accepted_at | Numeric | No | When the invite was accepted |
| invite_rejected_at | Numeric | No | When the invite was rejected |
| membership_level | MembershipLevelResponse | No | Membership level assigned to the member |
FeedRequest
# FeedRequest hash structure
{
created_by_id: String, # ID of the feed creator
custom: Hash, # Custom data for the feed
description: String, # Description of the feed
feed_group_id: String, # ID of the feed group
feed_id: String, # ID of the feed
filter_tags: Array, # Tags used for filtering feeds
location: Location, # Geographic location for the feed
members: Array, # Initial members for the feed
name: String, # Name of the feed
visibility: String # Visibility setting for the feed. One of: public, visible, followers, members, private
}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 | Hash | No | Custom data for the feed |
| description | String | No | Description of the feed |
| filter_tags | Array | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| members | Array | No | Initial members for the feed |
| name | String | No | Name of the feed |
| visibility | String | No | Visibility setting for the feed. One of: public, visible, followers, members,... |
FeedResponse
# FeedResponse hash structure
{
activity_count: Numeric, #
created_at: Numeric, # When the feed was created
created_by: UserResponse, # User who created the feed
custom: Hash, # Custom data for the feed
deleted_at: Numeric, # When the feed was deleted
description: String, # Description of the feed
feed: String, # Fully qualified feed ID (group_id:id)
filter_tags: Array, # Tags used for filtering feeds
follower_count: Numeric, # Number of followers of this feed
following_count: Numeric, # Number of feeds this feed follows
group_id: String, # Group this feed belongs to
id: String, # Unique identifier for the feed
location: Location, # Geographic location for the feed
member_count: Numeric, # Number of members in this feed
name: String, # Name of the feed
own_capabilities: Array, # Capabilities the current user has for this feed
own_followings: Array, # Follow relationships where the feed owner’s feeds are following the current user's feeds
own_follows: Array, # Follow relationships where the current user's feeds are following this feed
own_membership: FeedMemberResponse, # Membership information for the current user in this feed
pin_count: Numeric, # Number of pinned activities in this feed
updated_at: Numeric, # When the feed was last updated
visibility: String # Visibility setting for the feed
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_count | Numeric | Yes | |
| created_at | Numeric | 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 | Numeric | Yes | Number of followers of this feed |
| following_count | Numeric | 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 | Numeric | Yes | Number of members in this feed |
| name | String | Yes | Name of the feed |
| pin_count | Numeric | Yes | Number of pinned activities in this feed |
| updated_at | Numeric | Yes | When the feed was last updated |
| custom | Hash | No | Custom data for the feed |
| deleted_at | Numeric | No | When the feed was deleted |
| filter_tags | Array | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| own_capabilities | Array | No | Capabilities the current user has for this feed |
| own_followings | Array | No | Follow relationships where the feed owner’s feeds are following the current... |
| own_follows | Array | 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 | String | No | Visibility setting for the feed |
FeedSuggestionResponse
# FeedSuggestionResponse hash structure
{
activity_count: Numeric, #
algorithm_scores: Hash, #
created_at: Numeric, # When the feed was created
created_by: UserResponse, # User who created the feed
custom: Hash, # Custom data for the feed
deleted_at: Numeric, # When the feed was deleted
description: String, # Description of the feed
feed: String, # Fully qualified feed ID (group_id:id)
filter_tags: Array, # Tags used for filtering feeds
follower_count: Numeric, # Number of followers of this feed
following_count: Numeric, # Number of feeds this feed follows
group_id: String, # Group this feed belongs to
id: String, # Unique identifier for the feed
location: Location, # Geographic location for the feed
member_count: Numeric, # Number of members in this feed
name: String, # Name of the feed
own_capabilities: Array, # Capabilities the current user has for this feed
own_followings: Array, # Follow relationships where the feed owner’s feeds are following the current user's feeds
own_follows: Array, # Follow relationships where the current user's feeds are following this feed
own_membership: FeedMemberResponse, # Membership information for the current user in this feed
pin_count: Numeric, # Number of pinned activities in this feed
reason: String, #
recommendation_score: Numeric, #
updated_at: Numeric, # When the feed was last updated
visibility: String # Visibility setting for the feed
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_count | Numeric | Yes | |
| created_at | Numeric | 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 | Numeric | Yes | Number of followers of this feed |
| following_count | Numeric | 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 | Numeric | Yes | Number of members in this feed |
| name | String | Yes | Name of the feed |
| pin_count | Numeric | Yes | Number of pinned activities in this feed |
| updated_at | Numeric | Yes | When the feed was last updated |
| algorithm_scores | Hash | No | |
| custom | Hash | No | Custom data for the feed |
| deleted_at | Numeric | No | When the feed was deleted |
| filter_tags | Array | No | Tags used for filtering feeds |
| location | Location | No | Geographic location for the feed |
| own_capabilities | Array | No | Capabilities the current user has for this feed |
| own_followings | Array | No | Follow relationships where the feed owner’s feeds are following the current... |
| own_follows | Array | 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 | Numeric | No | |
| visibility | String | No | Visibility setting for the feed |
FeedViewResponse
# FeedViewResponse hash structure
{
activity_selectors: Array, # Configured activity selectors
aggregation: AggregationConfig, # Configuration for activity aggregation
id: String, # Unique identifier for the custom feed view
last_used_at: Numeric, # When the feed view was last used
ranking: RankingConfig # Configuration for activity ranking
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | Unique identifier for the custom feed view |
| activity_selectors | Array | No | Configured activity selectors |
| aggregation | AggregationConfig | No | Configuration for activity aggregation |
| last_used_at | Numeric | No | When the feed view was last used |
| ranking | RankingConfig | No | Configuration for activity ranking |
FeedVisibilityResponse
# FeedVisibilityResponse hash structure
{
grants: Hash, # Permission grants for each role
name: String, # Name of the feed visibility level
permissions: Array # List of permission policies
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| grants | Hash | Yes | Permission grants for each role |
| name | String | Yes | Name of the feed visibility level |
| permissions | Array | Yes | List of permission policies |
FeedsReactionResponse
# FeedsReactionResponse hash structure
{
activity_id: String, # ID of the activity that was reacted to
comment_id: String, # ID of the comment that was reacted to
created_at: Numeric, # When the reaction was created
custom: Hash, # Custom data for the reaction
type: String, # Type of reaction
updated_at: Numeric, # When the reaction was last updated
user: UserResponse # User who created the reaction
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | ID of the activity that was reacted to |
| created_at | Numeric | Yes | When the reaction was created |
| type | String | Yes | Type of reaction |
| updated_at | Numeric | 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 | Hash | No | Custom data for the reaction |
Field
# Field hash structure
{
short: Boolean, #
title: String, #
value: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| short | Boolean | Yes | |
| title | String | Yes | |
| value | String | Yes |
FollowBatchResponse
# FollowBatchResponse hash structure
{
created: Array, # List of newly created follow relationships
duration: String, #
follows: Array # List of current follow relationships
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created | Array | Yes | List of newly created follow relationships |
| duration | String | Yes | |
| follows | Array | Yes | List of current follow relationships |
FollowRequest
# FollowRequest hash structure
{
activity_copy_limit: Numeric, # 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: Boolean, # Whether to copy custom data to the notification activity (only applies when create_notification_activity is true) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
create_notification_activity: Boolean, # Whether to create a notification activity for this follow
create_users: Boolean, # If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. For FollowBatch/GetOrCreateFollows, use the top-level create_users field; per-item follows[i].create_users is rejected.
custom: Hash, # Custom data for the follow relationship
enrich_own_fields: Boolean, # If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
push_preference: String, # Push preference for the follow relationship
skip_push: Boolean, # Whether to skip push for this follow
source: String, # Fully qualified ID of the source feed
status: String, # Status of the follow relationship. One of: accepted, pending, rejected
target: String # Fully qualified ID of the target feed
}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 | Numeric | 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 | Hash | 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 | String | No | Push preference for the follow relationship |
| skip_push | Boolean | No | Whether to skip push for this follow |
| status | String | No | Status of the follow relationship. One of: accepted, pending, rejected |
FollowResponse
# FollowResponse hash structure
{
created_at: Numeric, # When the follow relationship was created
custom: Hash, # Custom data for the follow relationship
follower_role: String, # Role of the follower (source user) in the follow relationship
push_preference: String, # Push preference for notifications. One of: all, none
request_accepted_at: Numeric, # When the follow request was accepted
request_rejected_at: Numeric, # When the follow request was rejected
source_feed: FeedResponse, # Source feed object
status: String, # Status of the follow relationship. One of: accepted, pending, rejected
target_feed: FeedResponse, # Target feed object
updated_at: Numeric # When the follow relationship was last updated
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | When the follow relationship was created |
| follower_role | String | Yes | Role of the follower (source user) in the follow relationship |
| push_preference | String | Yes | Push preference for notifications. One of: all, none |
| source_feed | FeedResponse | Yes | Source feed object |
| status | String | Yes | Status of the follow relationship. One of: accepted, pending, rejected |
| target_feed | FeedResponse | Yes | Target feed object |
| updated_at | Numeric | Yes | When the follow relationship was last updated |
| custom | Hash | No | Custom data for the follow relationship |
| request_accepted_at | Numeric | No | When the follow request was accepted |
| request_rejected_at | Numeric | No | When the follow request was rejected |
FriendReactionsOptions
Options to control fetching reactions from friends (users you follow or have mutual follows with).
# FriendReactionsOptions hash structure
{
enabled: Boolean, # Default: false. When true, fetches friend reactions for activities.
limit: Numeric, # Default: 3, Max: 10. The maximum number of friend reactions to return per activity.
type: String # Default: 'following'. The type of friend relationship to use. 'following' = users you follow, 'mutual' = users with mutual follows. One of: following, mutual
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | Boolean | No | Default: false. When true, fetches friend reactions for activities. |
| limit | Numeric | No | Default: 3, Max: 10. The maximum number of friend reactions to return per act... |
| type | String | No | Default: 'following'. The type of friend relationship to use. 'following' = u... |
GetActivityResponse
# GetActivityResponse hash structure
{
activity: ActivityResponse, # The requested activity
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The requested activity |
| duration | String | Yes |
GetCommentRepliesResponse
# GetCommentRepliesResponse hash structure
{
comments: Array, # Threaded listing of replies to the comment
duration: String, #
next: String, #
prev: String, #
sort: String # Sort order used for the replies (first, last, top, best, controversial)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | Array | 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 hash structure
{
comment: CommentResponse, # Comment
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | Comment |
| duration | String | Yes |
GetCommentsResponse
# GetCommentsResponse hash structure
{
comments: Array, # Threaded listing for the activity
duration: String, #
next: String, #
prev: String, #
sort: String # Sort order used for the comments (first, last, top, best, controversial)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | Array | 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 hash structure
{
duration: String, #
feed_group: FeedGroupResponse # The requested feed group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_group | FeedGroupResponse | Yes | The requested feed group |
GetFeedViewResponse
# GetFeedViewResponse hash structure
{
duration: String, #
feed_view: FeedViewResponse # The requested feed view
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_view | FeedViewResponse | Yes | The requested feed view |
GetFeedVisibilityResponse
# GetFeedVisibilityResponse hash structure
{
duration: String, #
feed_visibility: FeedVisibilityResponse # Feed visibility configuration and permissions
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_visibility | FeedVisibilityResponse | Yes | Feed visibility configuration and permissions |
GetFeedsRateLimitsResponse
# GetFeedsRateLimitsResponse hash structure
{
android: Hash, # Rate limits for Android platform (endpoint name -> limit info)
duration: String, #
ios: Hash, # Rate limits for iOS platform (endpoint name -> limit info)
server_side: Hash, # Rate limits for server-side platform (endpoint name -> limit info)
web: Hash # Rate limits for Web platform (endpoint name -> limit info)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| android | Hash | No | Rate limits for Android platform (endpoint name -> limit info) |
| ios | Hash | No | Rate limits for iOS platform (endpoint name -> limit info) |
| server_side | Hash | No | Rate limits for server-side platform (endpoint name -> limit info) |
| web | Hash | No | Rate limits for Web platform (endpoint name -> limit info) |
GetFollowSuggestionsResponse
# GetFollowSuggestionsResponse hash structure
{
algorithm_used: String, #
duration: String, #
suggestions: Array # List of suggested feeds to follow
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| suggestions | Array | Yes | List of suggested feeds to follow |
| algorithm_used | String | No |
GetOrCreateFeedGroupResponse
# GetOrCreateFeedGroupResponse hash structure
{
duration: String, #
feed_group: FeedGroupResponse, # The feed group that was retrieved or created
was_created: Boolean # Indicates whether the feed group was created (true) or already existed (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 hash structure
{
activities: Array, #
aggregated_activities: Array, #
created: Boolean, #
duration: String, # Duration of the request in milliseconds
feed: FeedResponse, #
followers: Array, #
followers_pagination: PagerResponse, #
following: Array, #
following_pagination: PagerResponse, #
member_pagination: PagerResponse, #
members: Array, #
next: String, #
notification_status: NotificationStatusResponse, #
pinned_activities: Array, #
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | Array | Yes | |
| aggregated_activities | Array | Yes | |
| created | Boolean | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| feed | FeedResponse | Yes | |
| followers | Array | Yes | |
| following | Array | Yes | |
| members | Array | Yes | |
| pinned_activities | Array | 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 hash structure
{
duration: String, #
feed_view: FeedViewResponse, # The feed view (either existing or newly created)
was_created: Boolean # Indicates whether the feed view was newly created (true) or already existed (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 hash structure
{
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 hash structure
{
duration: String, # Duration of the request in milliseconds
groups: Hash #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| groups | Hash | Yes |
ListFeedViewsResponse
# ListFeedViewsResponse hash structure
{
duration: String, #
views: Hash # Map of feed view ID to feed view
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| views | Hash | Yes | Map of feed view ID to feed view |
ListFeedVisibilitiesResponse
# ListFeedVisibilitiesResponse hash structure
{
duration: String, #
feed_visibilities: Hash # Map of feed visibility configurations by name
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_visibilities | Hash | Yes | Map of feed visibility configurations by name |
Location
# Location hash structure
{
lat: Numeric, # Latitude coordinate
lng: Numeric # Longitude coordinate
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| lat | Numeric | Yes | Latitude coordinate |
| lng | Numeric | Yes | Longitude coordinate |
MembershipLevelResponse
# MembershipLevelResponse hash structure
{
created_at: Numeric, # When the membership level was created
custom: Hash, # Custom data for the membership level
description: String, # Description of the membership level
id: String, # Unique identifier for the membership level
name: String, # Display name for the membership level
priority: Numeric, # Priority level
tags: Array, # Activity tags this membership level gives access to
updated_at: Numeric # When the membership level was last updated
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | 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 | Numeric | Yes | Priority level |
| tags | Array | Yes | Activity tags this membership level gives access to |
| updated_at | Numeric | Yes | When the membership level was last updated |
| custom | Hash | No | Custom data for the membership level |
| description | String | No | Description of the membership level |
NotificationConfig
# NotificationConfig hash structure
{
deduplication_window: String, # Time window for deduplicating notification activities (reactions and follows). Empty or '0' = always deduplicate (default). Examples: '1h', '24h', '7d', '1w'
track_read: Boolean, # Whether to track read status
track_seen: Boolean # Whether to track seen status
}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 hash structure
{
last_read_at: Numeric, # When notifications were last read
last_seen_at: Numeric, # When notifications were last seen
read_activities: Array, # Deprecated: use is_read on each activity/group instead. IDs of activities that have been read. Capped at ~101 entries for aggregated feeds.
seen_activities: Array, # Deprecated: use is_seen on each activity/group instead. IDs of activities that have been seen. Capped at ~101 entries for aggregated feeds.
unread: Numeric, # Number of unread notifications
unseen: Numeric # Number of unseen notifications
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| unread | Numeric | Yes | Number of unread notifications |
| unseen | Numeric | Yes | Number of unseen notifications |
| last_read_at | Numeric | No | When notifications were last read |
| last_seen_at | Numeric | No | When notifications were last seen |
| read_activities | Array | No | Deprecated: use is_read on each activity/group instead. IDs of activities tha... |
| seen_activities | Array | No | Deprecated: use is_seen on each activity/group instead. IDs of activities tha... |
OwnBatchResponse
# OwnBatchResponse hash structure
{
data: Hash, # Map of feed ID to own fields data
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| data | Hash | Yes | Map of feed ID to own fields data |
| duration | String | Yes |
PagerRequest
# PagerRequest hash structure
{
limit: Numeric, #
next: String, #
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| limit | Numeric | No | |
| next | String | No | |
| prev | String | No |
PagerResponse
# PagerResponse hash structure
{
next: String, #
prev: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| next | String | No | |
| prev | String | No |
PinActivityResponse
# PinActivityResponse hash structure
{
activity: ActivityResponse, # The pinned activity
created_at: Numeric, # When the activity was pinned
duration: String, #
feed: String, # Fully qualified ID of the feed the activity was pinned to
user_id: String # ID of the user who pinned the activity
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The pinned activity |
| created_at | Numeric | 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 hash structure
{
allow_answers: Boolean, #
allow_user_suggested_options: Boolean, #
answers_count: Numeric, #
created_at: Numeric, #
created_by: UserResponse, #
created_by_id: String, #
custom: Hash, #
description: String, #
enforce_unique_vote: Boolean, #
id: String, #
is_closed: Boolean, #
latest_answers: Array, #
latest_votes_by_option: Hash, #
max_votes_allowed: Numeric, #
name: String, #
options: Array, #
own_votes: Array, #
updated_at: Numeric, #
vote_count: Numeric, #
vote_counts_by_option: Hash, #
voting_visibility: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| allow_answers | Boolean | Yes | |
| allow_user_suggested_options | Boolean | Yes | |
| answers_count | Numeric | Yes | |
| created_at | Numeric | Yes | |
| created_by_id | String | Yes | |
| custom | Hash | Yes | |
| description | String | Yes | |
| enforce_unique_vote | Boolean | Yes | |
| id | String | Yes | |
| latest_answers | Array | Yes | |
| latest_votes_by_option | Hash | Yes | |
| name | String | Yes | |
| options | Array | Yes | |
| own_votes | Array | Yes | |
| updated_at | Numeric | Yes | |
| vote_count | Numeric | Yes | |
| vote_counts_by_option | Hash | Yes | |
| voting_visibility | String | Yes | |
| created_by | UserResponse | No | |
| is_closed | Boolean | No | |
| max_votes_allowed | Numeric | No |
PollVoteResponse
# PollVoteResponse hash structure
{
duration: String, # Duration of the request in milliseconds
poll: PollResponseData, # Poll
vote: PollVoteResponseData # Poll vote
}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 hash structure
{
answer_text: String, #
created_at: Numeric, #
id: String, #
is_answer: Boolean, #
option_id: String, #
poll_id: String, #
updated_at: Numeric, #
user: UserResponse, #
user_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| created_at | Numeric | Yes | |
| id | String | Yes | |
| option_id | String | Yes | |
| poll_id | String | Yes | |
| updated_at | Numeric | Yes | |
| answer_text | String | No | |
| is_answer | Boolean | No | |
| user | UserResponse | No | |
| user_id | String | No |
PrivacySettingsResponse
# PrivacySettingsResponse hash structure
{
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 hash structure
{
enable_push: Boolean, # Whether push notifications are enabled for this feed group
push_types: Array # List of notification types that should trigger push notifications (e.g., follow, comment, reaction, comment_reaction, mention)
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| enable_push | Boolean | No | Whether push notifications are enabled for this feed group |
| push_types | Array | No | List of notification types that should trigger push notifications (e.g., foll... |
QueryActivitiesResponse
# QueryActivitiesResponse hash structure
{
activities: Array, # List of activities matching the query
duration: String, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | Array | 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 hash structure
{
duration: String, # Duration of the request in milliseconds
next: String, #
prev: String, #
reactions: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| reactions | Array | Yes | |
| next | String | No | |
| prev | String | No |
QueryBookmarkFoldersResponse
# QueryBookmarkFoldersResponse hash structure
{
bookmark_folders: Array, # List of bookmark folders matching the query
duration: String, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_folders | Array | 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 hash structure
{
bookmarks: Array, # List of bookmarks matching the query
duration: String, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmarks | Array | 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 hash structure
{
collections: Array, # List of collections matching the query
duration: String, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | Array | 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 hash structure
{
duration: String, # Duration of the request in milliseconds
next: String, #
prev: String, #
reactions: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
| reactions | Array | Yes | |
| next | String | No | |
| prev | String | No |
QueryCommentsResponse
# QueryCommentsResponse hash structure
{
comments: Array, # List of comments matching the query
duration: String, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comments | Array | 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 hash structure
{
duration: String, #
members: Array, # List of feed members
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| members | Array | Yes | List of feed members |
| next | String | No | Cursor for next page |
| prev | String | No | Cursor for previous page |
QueryFeedsResponse
# QueryFeedsResponse hash structure
{
duration: String, #
feeds: Array, # List of feeds matching the query
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feeds | Array | Yes | List of feeds matching the query |
| next | String | No | Cursor for next page |
| prev | String | No | Cursor for previous page |
QueryFeedsUsageStatsResponse
# QueryFeedsUsageStatsResponse hash structure
{
activities: DailyMetricStatsResponse, # Activities statistics with daily breakdown and total
api_requests: DailyMetricStatsResponse, # API requests statistics with daily breakdown and total
duration: String, #
emau: EMAUStatsResponse, # Engaged Monthly Active Users snapshots within the requested date range. Omitted when EMAU is not enabled for the app, and also omitted when EMAU is enabled but there are no matching rows in core_feed_daily_usage for the requested date range (JSON omitempty).
follows: DailyMetricStatsResponse, # Follows statistics with daily breakdown and total
openai_requests: DailyMetricStatsResponse # OpenAI requests statistics with daily breakdown and total
}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 hash structure
{
duration: String, #
follows: Array, # List of follow relationships matching the query
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follows | Array | Yes | List of follow relationships matching the query |
| next | String | No | Cursor for next page |
| prev | String | No | Cursor for previous page |
QueryMembershipLevelsResponse
# QueryMembershipLevelsResponse hash structure
{
duration: String, #
membership_levels: Array, #
next: String, # Cursor for next page
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| membership_levels | Array | Yes | |
| next | String | No | Cursor for next page |
| prev | String | No | Cursor for previous page |
QueryPinnedActivitiesResponse
# QueryPinnedActivitiesResponse hash structure
{
duration: String, #
next: String, # Cursor for next page
pinned_activities: Array, # List of pinned activities matching the query
prev: String # Cursor for previous page
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| pinned_activities | Array | Yes | List of pinned activities matching the query |
| next | String | No | Cursor for next page |
| prev | String | No | Cursor for previous page |
RankingConfig
# RankingConfig hash structure
{
defaults: Hash, # Default values for ranking
functions: Hash, # Decay functions configuration
score: String, # Scoring formula. Required when type is 'expression' or 'interest'
type: String # Type of ranking algorithm. Required. One of: expression, interest
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| type | String | Yes | Type of ranking algorithm. Required. One of: expression, interest |
| defaults | Hash | No | Default values for ranking |
| functions | Hash | No | Decay functions configuration |
| score | String | No | Scoring formula. Required when type is 'expression' or 'interest' |
Reaction
# Reaction hash structure
{
activity_id: String, #
children_counts: Hash, #
created_at: Numeric, #
data: Hash, #
deleted_at: Numeric, #
id: String, #
kind: String, #
latest_children: Hash, #
moderation: Hash, #
own_children: Hash, #
parent: String, #
score: Numeric, #
target_feeds: Array, #
target_feeds_extra_data: Hash, #
updated_at: Numeric, #
user: User, #
user_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity_id | String | Yes | |
| created_at | Numeric | Yes | |
| kind | String | Yes | |
| updated_at | Numeric | Yes | |
| user_id | String | Yes | |
| children_counts | Hash | No | |
| data | Hash | No | |
| deleted_at | Numeric | No | |
| id | String | No | |
| latest_children | Hash | No | |
| moderation | Hash | No | |
| own_children | Hash | No | |
| parent | String | No | |
| score | Numeric | No | |
| target_feeds | Array | No | |
| target_feeds_extra_data | Hash | No | |
| user | User | No |
ReadCollectionsResponse
# ReadCollectionsResponse hash structure
{
collections: Array, # List of collections matching the references
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | Array | Yes | List of collections matching the references |
| duration | String | Yes |
RejectFeedMemberInviteResponse
# RejectFeedMemberInviteResponse hash structure
{
duration: String, #
member: FeedMemberResponse # The feed member after rejecting the invite
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| member | FeedMemberResponse | Yes | The feed member after rejecting the invite |
RejectFollowResponse
# RejectFollowResponse hash structure
{
duration: String, #
follow: FollowResponse # The rejected follow relationship
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follow | FollowResponse | Yes | The rejected follow relationship |
Response
Basic response information
# Response hash structure
{
duration: String # Duration of the request in milliseconds
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | Duration of the request in milliseconds |
RestoreActivityResponse
# RestoreActivityResponse hash structure
{
activity: ActivityResponse, # The restored activity with full enrichment
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The restored activity with full enrichment |
| duration | String | Yes |
RestoreCommentResponse
# RestoreCommentResponse hash structure
{
activity: ActivityResponse, # The parent activity with updated counts
comment: CommentResponse, # The restored comment
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 hash structure
{
duration: String, #
feed_group: FeedGroupResponse # The restored feed group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_group | FeedGroupResponse | Yes | The restored feed group |
SingleFollowResponse
# SingleFollowResponse hash structure
{
duration: String, #
follow: FollowResponse, # The created follow relationship
notification_created: Boolean # Whether a notification activity was successfully created
}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 hash structure
{
direction: Numeric, # Direction of sorting, 1 for Ascending, -1 for Descending, default is 1. One of: -1, 1
field: String, # Name of field to sort by
type: String # Type of field to sort by. Empty string or omitted means string type (default). One of: number, boolean
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| direction | Numeric | 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 hash structure
{
skip_watched: Boolean, # Whether to skip already watched stories
track_watched: Boolean # Whether to track watched status for stories
}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 hash structure
{
attachments: Array, #
bookmark_count: Numeric, #
confidence_score: Numeric, #
controversy_score: Numeric, #
created_at: Numeric, #
custom: Hash, #
deleted_at: Numeric, #
downvote_count: Numeric, #
edited_at: Numeric, #
id: String, #
latest_reactions: Array, #
mentioned_users: Array, #
meta: RepliesMeta, # Pagination & depth info for this node's direct replies.
moderation: ModerationV2Response, #
object_id: String, #
object_type: String, #
own_reactions: Array, #
parent_id: String, #
reaction_count: Numeric, #
reaction_groups: Hash, #
replies: Array, # Slice of nested comments (may be empty).
reply_count: Numeric, #
score: Numeric, #
status: String, # Status of the comment. One of: active, deleted, removed, hidden
text: String, #
updated_at: Numeric, #
upvote_count: Numeric, #
user: UserResponse #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_count | Numeric | Yes | |
| confidence_score | Numeric | Yes | |
| created_at | Numeric | Yes | |
| downvote_count | Numeric | Yes | |
| id | String | Yes | |
| mentioned_users | Array | Yes | |
| object_id | String | Yes | |
| object_type | String | Yes | |
| own_reactions | Array | Yes | |
| reaction_count | Numeric | Yes | |
| reply_count | Numeric | Yes | |
| score | Numeric | Yes | |
| status | String | Yes | Status of the comment. One of: active, deleted, removed, hidden |
| updated_at | Numeric | Yes | |
| upvote_count | Numeric | Yes | |
| user | UserResponse | Yes | |
| attachments | Array | No | |
| controversy_score | Numeric | No | |
| custom | Hash | No | |
| deleted_at | Numeric | No | |
| edited_at | Numeric | No | |
| latest_reactions | Array | No | |
| meta | RepliesMeta | No | Pagination & depth info for this node's direct replies. |
| moderation | ModerationV2Response | No | |
| parent_id | String | No | |
| reaction_groups | Hash | No | |
| replies | Array | No | Slice of nested comments (may be empty). |
| text | String | No |
Time
# Time hash structure
{
}TrackActivityMetricsEvent
A single metric event to track for an activity
# TrackActivityMetricsEvent hash structure
{
activity_id: String, # The ID of the activity to track the metric for
delta: Numeric, # The amount to increment (positive) or decrement (negative). Defaults to 1. The absolute value counts against rate limits.
metric: String # The metric name (e.g. views, clicks, impressions). Alphanumeric and underscores only.
}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 | Numeric | No | The amount to increment (positive) or decrement (negative). Defaults to 1. Th... |
TrackActivityMetricsEventResult
Result of tracking a single metric event
# TrackActivityMetricsEventResult hash structure
{
activity_id: String, # The activity ID from the request
allowed: Boolean, # Whether the metric was counted (false if rate-limited)
error: String, # Error message if processing failed
metric: String # The metric name from the request
}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 hash structure
{
duration: String, #
results: Array # Results for each event in the request, in the same order
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| results | Array | Yes | Results for each event in the request, in the same order |
UnfollowBatchResponse
# UnfollowBatchResponse hash structure
{
duration: String, #
follows: Array # List of follow relationships that were removed
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follows | Array | Yes | List of follow relationships that were removed |
UnfollowPair
# UnfollowPair hash structure
{
keep_history: Boolean, # When true, activities from the unfollowed feed will remain in the source feed's timeline (default: false)
source: String, # Fully qualified ID of the source feed
target: String # Fully qualified ID of the target feed
}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 hash structure
{
duration: String, #
follow: FollowResponse # The deleted follow relationship
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follow | FollowResponse | Yes | The deleted follow relationship |
UnpinActivityResponse
# UnpinActivityResponse hash structure
{
activity: ActivityResponse, # The unpinned activity
duration: String, #
feed: String, # Fully qualified ID of the feed the activity was unpinned from
user_id: String # ID of the user who unpinned the activity
}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 hash structure
{
activities: Array, # List of successfully updated activities
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | Array | Yes | List of successfully updated activities |
| duration | String | Yes |
UpdateActivityPartialChangeRequest
# UpdateActivityPartialChangeRequest hash structure
{
activity_id: String, # ID of the activity to update
copy_custom_to_notification: Boolean, # Whether to copy custom data to the notification activity (only applies when handle_mention_notifications creates notifications) Deprecated: use notification_context.trigger.custom and notification_context.target.custom instead
handle_mention_notifications: Boolean, # When true and 'mentioned_user_ids' is updated, automatically creates or deletes mention notifications for added/removed users. Only applicable for client-side requests (ignored for server-side requests)
set: Hash, # Map of field names to new values. Supported fields: 'text', 'attachments', 'custom', 'visibility', 'visibility_tag', 'restrict_replies' (values: 'everyone', 'people_i_follow', 'nobody'), 'location', 'expires_at', 'filter_tags', 'interest_tags', 'poll_id', 'feeds', 'mentioned_user_ids'. For custom fields, use dot-notation (e.g., 'custom.field_name')
unset: Array # List of field names to remove. Supported fields: 'custom', 'location', 'expires_at', 'filter_tags', 'interest_tags', 'attachments', 'poll_id', 'mentioned_user_ids'. Use dot-notation for nested custom fields (e.g., 'custom.field_name')
}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 | Hash | No | Map of field names to new values. Supported fields: 'text', 'attachments', 'c... |
| unset | Array | No | List of field names to remove. Supported fields: 'custom', 'location', 'expir... |
UpdateActivityPartialResponse
# UpdateActivityPartialResponse hash structure
{
activity: ActivityResponse, # The updated activity
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The updated activity |
| duration | String | Yes |
UpdateActivityResponse
# UpdateActivityResponse hash structure
{
activity: ActivityResponse, # The updated activity
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activity | ActivityResponse | Yes | The updated activity |
| duration | String | Yes |
UpdateBookmarkFolderResponse
# UpdateBookmarkFolderResponse hash structure
{
bookmark_folder: BookmarkFolderResponse, # The updated bookmark folder
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark_folder | BookmarkFolderResponse | Yes | The updated bookmark folder |
| duration | String | Yes |
UpdateBookmarkResponse
# UpdateBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The updated bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The updated bookmark |
| duration | String | Yes |
UpdateCollectionRequest
# UpdateCollectionRequest hash structure
{
custom: Hash, # Custom data for the collection (required, must contain at least one key)
id: String, # Unique identifier for the collection within its name
name: String # Name/type of the collection
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| custom | Hash | 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 hash structure
{
collections: Array, # List of updated collections
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | Array | Yes | List of updated collections |
| duration | String | Yes |
UpdateCommentBookmarkResponse
# UpdateCommentBookmarkResponse hash structure
{
bookmark: BookmarkResponse, # The updated comment bookmark
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| bookmark | BookmarkResponse | Yes | The updated comment bookmark |
| duration | String | Yes |
UpdateCommentPartialResponse
# UpdateCommentPartialResponse hash structure
{
comment: CommentResponse, # The updated comment
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The updated comment |
| duration | String | Yes |
UpdateCommentResponse
# UpdateCommentResponse hash structure
{
comment: CommentResponse, # The updated comment
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| comment | CommentResponse | Yes | The updated comment |
| duration | String | Yes |
UpdateFeedGroupResponse
# UpdateFeedGroupResponse hash structure
{
duration: String, #
feed_group: FeedGroupResponse # The updated feed group
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_group | FeedGroupResponse | Yes | The updated feed group |
UpdateFeedMembersResponse
Basic response information
# UpdateFeedMembersResponse hash structure
{
added: Array, #
duration: String, # Duration of the request in milliseconds
removed_ids: Array, #
updated: Array #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| added | Array | Yes | |
| duration | String | Yes | Duration of the request in milliseconds |
| removed_ids | Array | Yes | |
| updated | Array | Yes |
UpdateFeedResponse
# UpdateFeedResponse hash structure
{
duration: String, #
feed: FeedResponse # The updated feed
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed | FeedResponse | Yes | The updated feed |
UpdateFeedViewResponse
# UpdateFeedViewResponse hash structure
{
duration: String, #
feed_view: FeedViewResponse # The updated feed view
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_view | FeedViewResponse | Yes | The updated feed view |
UpdateFeedVisibilityResponse
# UpdateFeedVisibilityResponse hash structure
{
duration: String, #
feed_visibility: FeedVisibilityResponse # Feed visibility configuration and permissions
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| feed_visibility | FeedVisibilityResponse | Yes | Feed visibility configuration and permissions |
UpdateFollowResponse
# UpdateFollowResponse hash structure
{
duration: String, #
follow: FollowResponse # Details of the updated follow relationship
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| follow | FollowResponse | Yes | Details of the updated follow relationship |
UpdateMembershipLevelResponse
# UpdateMembershipLevelResponse hash structure
{
duration: String, #
membership_level: MembershipLevelResponse # The updated membership level
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| duration | String | Yes | |
| membership_level | MembershipLevelResponse | Yes | The updated membership level |
UpsertActivitiesResponse
# UpsertActivitiesResponse hash structure
{
activities: Array, # List of created or updated activities
duration: String, #
mention_notifications_created: Numeric # Total number of mention notification activities created for mentioned users across all activities
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| activities | Array | Yes | List of created or updated activities |
| duration | String | Yes | |
| mention_notifications_created | Numeric | No | Total number of mention notification activities created for mentioned users a... |
UpsertCollectionsResponse
# UpsertCollectionsResponse hash structure
{
collections: Array, # List of upserted collections
duration: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| collections | Array | Yes | List of upserted collections |
| duration | String | Yes |
User
# User hash structure
{
data: Hash, #
id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | |
| data | Hash | No |
UserRequest
User request object
# UserRequest hash structure
{
custom: Hash, # Custom user data
id: String, # User ID
image: String, # User's profile image URL
invisible: Boolean, #
language: String, #
name: String, # Optional name of user
privacy_settings: PrivacySettingsResponse, #
role: String, # User's global role
teams: Array, # List of teams the user belongs to
teams_role: Hash # Map of team-specific roles for the user
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| id | String | Yes | User ID |
| custom | Hash | 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 | Array | No | List of teams the user belongs to |
| teams_role | Hash | No | Map of team-specific roles for the user |
UserResponse
User response object
# UserResponse hash structure
{
avg_response_time: Numeric, #
ban_expires: Numeric, # Date when ban expires
banned: Boolean, # Whether a user is banned or not
blocked_user_ids: Array, #
bypass_moderation: Boolean, #
created_at: Numeric, # Date/time of creation
custom: Hash, # Custom data for this object
deactivated_at: Numeric, # Date of deactivation
deleted_at: Numeric, # Date/time of deletion
devices: Array, # List of devices user is using
id: String, # Unique user identifier
image: String, #
invisible: Boolean, #
language: String, # Preferred language of a user
last_active: Numeric, # Date of last activity
name: String, # Optional name of user
online: Boolean, # Whether a user online or not
privacy_settings: PrivacySettingsResponse, # User privacy settings
push_notifications: PushNotificationSettingsResponse, # User push notification settings
revoke_tokens_issued_before: Numeric, # Revocation date for tokens
role: String, # Determines the set of user permissions
shadow_banned: Boolean, # Whether a user is shadow banned
teams: Array, # List of teams user is a part of
teams_role: Hash, #
updated_at: Numeric # Date/time of the last update
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| banned | Boolean | Yes | Whether a user is banned or not |
| blocked_user_ids | Array | Yes | |
| created_at | Numeric | Yes | Date/time of creation |
| custom | Hash | 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 | Array | Yes | List of teams user is a part of |
| updated_at | Numeric | Yes | Date/time of the last update |
| avg_response_time | Numeric | No | |
| ban_expires | Numeric | No | Date when ban expires |
| bypass_moderation | Boolean | No | |
| deactivated_at | Numeric | No | Date of deactivation |
| deleted_at | Numeric | No | Date/time of deletion |
| devices | Array | No | List of devices user is using |
| image | String | No | |
| last_active | Numeric | 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 | Numeric | No | Revocation date for tokens |
| teams_role | Hash | No |
VoteData
# VoteData hash structure
{
answer_text: String, #
option_id: String #
}Properties:
| Property | Type | Required | Description |
|---|---|---|---|
| answer_text | String | No | |
| option_id | String | No |