Activity Feeds V3 is in closed alpha β€” do not use it in production (just yet).

Bookmarks

Overview

The API includes built-in support for bookmarking activities. Here’s a quick example of how to use the bookmark API.

Adding Bookmarks

$response = $this->feedsV3Client->addBookmark(
    $activityId,
    new GeneratedModels\AddBookmarkRequest(
        userID: $this->testUserId,
        newFolder: new GeneratedModels\AddFolderRequest(name: 'test-bookmarks1')
    )
);

Removing Bookmarks

$bookmarkData = $bookmarkResponse->getData();
$folderID = $bookmarkData->bookmark->folder->id;
$response = $this->feedsV3Client->updateBookmark(
    $activityId,
    new GeneratedModels\UpdateBookmarkRequest(
        folderID: $folderID,
        userID: $this->testUserId
    )
);

Querying Bookmarks

$response = $this->feedsV3Client->queryBookmarks(
    new GeneratedModels\QueryBookmarksRequest(
        limit: 10,
        filter: (object)['user_id' => $this->testUserId]
    )
);

Bookmarks Queryable Built-In Fields

nametypedescriptionsupported operationsexample
user_idstring or list of stringsThe ID of the user who owns the bookmark$in, $eq{ user_id: { $eq: 'user_123' } }
activity_idstring or list of stringsThe ID of the activity that was bookmarked$in, $eq{ activity_id: { $eq: 'activity_123' } }
folder_idstring or list of stringsThe ID of the folder containing the bookmark$eq, $in, $exists{ folder_id: { $exists: true } }
created_atstring, must be formatted as an RFC3339 timestampThe time the bookmark was created$eq, $gt, $gte, $lt, $lte{ created_at: { $gte: '2023-12-04T09:30:20.45Z' } }
updated_atstring, must be formatted as an RFC3339 timestampThe time the bookmark was last updated$eq, $gt, $gte, $lt, $lte{ updated_at: { $gte: '2023-12-04T09:30:20.45Z' } }

Querying Bookmark Folders

$response = $this->feedsV3Client->queryBookmarks(
    new GeneratedModels\QueryBookmarksRequest(
        limit: 10,
        filter: (object)['user_id' => $this->testUserId]
    )
);

Bookmark Folders Queryable Built-In Fields

nametypedescriptionsupported operationsexample
user_idstring or list of stringsThe ID of the user who owns the folder$in, $eq{ user_id: { $eq: 'user_123' } }
folder_namestring or list of stringsThe name of the bookmark folder$eq, $in, $contains{ folder_name: { $contains: 'work' } }
created_atstring, must be formatted as an RFC3339 timestampThe time the folder was created$eq, $gt, $gte, $lt, $lte{ created_at: { $gte: '2023-12-04T09:30:20.45Z' } }
updated_atstring, must be formatted as an RFC3339 timestampThe time the folder was last updated$eq, $gt, $gte, $lt, $lte{ updated_at: { $gte: '2023-12-04T09:30:20.45Z' } }
Β© Getstream.io, Inc. All Rights Reserved.