---
title: "Mark feed items as watched"
method: POST
path: "/v1/explore/viewed"
tags: ["Explore"]
---

# Mark feed items as watched

`POST /v1/explore/viewed`

## Request

- Base URL: `https://api.hify.club`
- URL: `https://api.hify.club/v1/explore/viewed`
- Auth: API key in header `X-User-Token`

Records that the viewer finished watching one or more feed items so they drop out of their Explore feed. Batched so a fast-scrolling client need not issue one request per item. Idempotent — re-posting an already-viewed item is a no-op. Unparseable ids are skipped and returned under rejected_feed_item_ids rather than failing the whole batch.

## Request body

- object
  - `feed_item_ids` string[], required: Feed item ids to mark watched (e.g. "pm_8231").

## Response `200`

Views recorded

- object
  - `accepted_feed_item_ids` string[]: Ids that were recorded (de-duplicated).
  - `rejected_feed_item_ids` string[]: Ids whose prefix did not name a known feed source.

## Other responses

- `400`: Bad request - feed_item_ids missing
- `401`: Unauthenticated
- `403`: Forbidden - viewer is not a player

---

[API](https://skmtc.dev/hify/apis/hify-apis.md) - [All operations](https://skmtc.dev/hify/apis/hify-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/hify/apis/hify-apis/revisions/b5920403538d?raw)
