let activity = client.activity(
    for: "activity_123",
    in: FeedId(group: "user", id: "john")
)
// Pin an activity
try await activity.pin()
// Unpin an activity
try await activity.unpin()Activity Feeds v3 is in beta — try it out!
Pins
Overview
Sometimes you’ll want to pin your favorite activity to a feed. You can pin an activity like this:
val activity = client.activity(
    activityId = "activity_123",
    fid = FeedId(group = "user", id = "john")
)
// Pin an activity
activity.pin()
// Unpin an activity
activity.unpin()// Pin an activity
client.pinActivity({
  feed_group_id: feed.group,
  feed_id: feed.id,
  activity_id: "activity_123",
});
// Unpin an activity
client.unpinActivity({
  feed_group_id: feed.group,
  feed_id: feed.id,
  activity_id: "activity_123",
});final activity = client.activity(
  activityId: 'activity_123',
  fid: const FeedId(group: 'user', id: 'john'),
);
// Pin an activity
await activity.pin();
// Unpin an activity
await activity.unpin();// Pin an activity
client.feeds.pinActivity({
  feed_group_id: feed.group,
  feed_id: feed.id,
  activity_id: "activity_123",
  user_id: "<user id>",
});
// Unpin an activity
client.feeds.unpinActivity({
  feed_group_id: feed.group,
  feed_id: feed.id,
  activity_id: "activity_123",
  user_id: "<user id>",
});_, err = client.Feeds().PinActivity(context.Background(), feedGroupID, feedID, activityID, &getstream.PinActivityRequest{
  UserID: getstream.PtrTo("john"),
})
if err != nil {
  log.Fatal("Error pinning activity:", err)
}PinActivityRequest pinRequest = PinActivityRequest.builder().userID(testUserId).build();
PinActivityResponse response = testFeed.pinActivity(activityId, pinRequest).getData();$activityId = 'activity_123';
$feedGroupId = 'user';
$feedId = 'eric';
$response = $feedsClient->pinActivity(
    $feedGroupId,
    $feedId,
    $activityId,
    new GeneratedModels\PinActivityRequest(userID: "eric")
);var response = await _feedsV3Client.PinActivityAsync(
    "user",
    _testFeedId,
    activityId,
    new PinActivityRequest
    {
        UserID = _testUserId
    }
);response = self.test_feed.pin_activity(activity_id, user_id=self.test_user_id)When you read a feed pinned activities are automatically returned:
try await feed.getOrCreate()
print(feed.state.pinnedActivities)feed.getOrCreate()
feed.state.pinnedActivities.collect { pinData ->
    println(pinData)
}const response = await feed.getOrCreate();
console.log(response.pinned_activities);await feed.getOrCreate();
print(feed.state.pinnedActivities);const response = await feed.getOrCreate({ user_id: "sara" });
console.log(response.pinned_activities);_, err = client.Feeds().UnpinActivity(context.Background(), feedGroupID, feedID, activityID, &getstream.UnpinActivityRequest{
  UserID: getstream.PtrTo("john"),
})
if err != nil {
  log.Fatal("Error unpinning activity:", err)
}UnpinActivityRequest unpinRequest = UnpinActivityRequest.builder().UserID(testUserId).build();
UnpinActivityResponse response = testFeed.unpinActivity(activityId, unpinRequest).getData();$activityId = 'activity_123';
$feedGroupId = 'user';
$feedId = 'eric';
$response = $feedsClient->unpinActivity(
    $feedGroupId,
    $feedId,
    $activityId,
    'eric'
);var response = await _feedsV3Client.UnpinActivityAsync(
    "user",
    _testFeedId,
    activityId,
    new { user_id = _testUserId }
);response = self.test_feed.unpin_activity(activity_id, self.test_user_id)