---
title: "POST /public/v1/approvals/messages/batch-read-status"
method: POST
path: "/public/v1/approvals/messages/batch-read-status"
tags: ["Inbox"]
---

# POST /public/v1/approvals/messages/batch-read-status

`POST /public/v1/approvals/messages/batch-read-status`

Update the read status of multiple messages in batch.

## Request body

- object
  - `isRead` boolean, required — Set to true to mark messages as read, false to mark as unread.
  - `workspaceId` string — Scope to a specific workspace. One of workspaceId, campaignIds, or confirmAll is required.
  - `campaignIds` string — Comma-separated campaign IDs to scope the operation to.
  - `confirmAll` boolean — Set to true to act on all campaigns in the workspace. Requires workspaceId. Optionally narrow with campaignIds.
  - `search` string — Filter by prospect first or last name.
  - `icpFit` string — Comma-separated ICP fit values to filter by (e.g. HIGH, MEDIUM).
  - `prospectInterestLevel` string — Comma-separated interest level values to filter by.
  - `from` string — Filter messages created on or after this date (YYYY-MM-DD).
  - `to` string — Filter messages created on or before this date (YYYY-MM-DD).
  - `ownerId` string — Admin/Owner only: scope results to a specific workspace member by their user ID.

## Response `200`

Default Response

- object
  - `statusCode` number
  - `status` boolean
  - `message` string
  - `data` object
    - `affected` number

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `429` — Default Response
- `500` — Default Response

---

[API](https://skmtc.net/joinvalley/apis/valley-public-api.md) · [All operations](https://skmtc.net/joinvalley/apis/valley-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/joinvalley/valley-public-api/revisions/1d888a894943/schema)
