---
title: "Mark Seen"
method: POST
path: "/api/activity/mark-seen"
tags: ["Activity"]
---

# Mark Seen

`POST /api/activity/mark-seen`

## Request

- Base URL: `https://api.kolens.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kolens.ai/api/activity/mark-seen`
- Auth: HTTP bearer

Bulk mark events as seen.

Modes:
  - ``event_ids``  — exact-match IDs scoped to this workspace.
  - ``all_before`` — every workspace row created <= cutoff that's
                     still unseen.

Returns the count of rows actually flipped. Already-seen rows are
NOT re-stamped — keeping the original seen_at preserves the audit
story.

## Headers

- `x-kolens-user-id` string, nullable
- `x-kolens-workspace-id` string, nullable

## Request body

- MarkSeenRequest: Bulk mark-seen payload. Exactly one of ``event_ids`` / ``all_before`` should be supplied; passing both raises 400.
  - `event_ids` string[], nullable
  - `all_before` string, date-time, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kolens/apis/kolens-api.md) · [All operations](https://skmtc.dev/kolens/apis/kolens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kolens/apis/kolens-api/revisions/5d6865ab0a24?raw)
