---
title: "Mark Notifications Read"
method: POST
path: "/notifications/mark_read"
tags: ["Notifications"]
---

# Mark Notifications Read

`POST /notifications/mark_read`

Marks the authenticated user's notifications as read: one experience's (`experience_id`) or everything (`all: true`) — exactly one of the two. Requires a user credential. Responds with the refreshed badge rows for the affected scope.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `all` boolean — Pass `true` to mark every notification read. Exactly one of `experience_id` or `all` is required.
  - `experience_id` string — Experience to mark read (`exp_` tag). Exactly one of `experience_id` or `all` is required.

## Response `200`

notifications marked read

- object
  - `data` NotificationBadge[], required
    - `account_id` string, nullable, required — Account the experience belongs to, prefixed `biz_`.
    - `experience_id` string, required — Experience the badge counts, prefixed `exp_`.
    - `has_unread` boolean, required — Whether the caller has unread notifications in this experience.
    - `important_count` integer, required — Number of unread important (mention) notifications in this experience.
    - `last_viewed_at` string, nullable, required — When the caller last viewed the experience, as an ISO 8601 timestamp. `null` when never viewed.

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found
- `409` — Conflict

## Changes

- **2026-08-12** `ae20b30817de` — 1 info
  - added the non-success response with the status `409`
- **2026-08-07** `f1020c3ecda4` — 4 info
  - added the optional property `error/code` to the response with the `400` status
  - added the optional property `error/code` to the response with the `401` status
  - added the optional property `error/code` to the response with the `403` status
  - added the optional property `error/code` to the response with the `404` status
- **2026-08-04** `bdd0e2c70d58` — 1 info
  - the security scope `user:notifications:update` was added to the endpoint's security scheme `bearerAuth`
- **2026-07-31** `099fdc3be422` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/notifications/mark_read/post.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/1b5d50d09479/schema)
