---
title: "Mark every unread article matching a filter as read."
method: POST
path: "/v1/articles/read-all"
tags: ["Articles"]
---

# Mark every unread article matching a filter as read.

`POST /v1/articles/read-all`

## Request

- Base URL: `https://api.inboxy.net`
- URL: `https://api.inboxy.net/v1/articles/read-all`
- Auth: HTTP bearer

Requires `manage` scope. Body is an optional filter — `feed_id` scopes to one subscription; `before` (ISO-8601) only marks articles published strictly before this instant. Empty body marks every unread article read. Idempotent.

## Request body

- MarkAllArticlesRequest: Optional filter scoping which articles are marked. Empty object marks every unread article read.
  - `feed_id` string, uuid: Subscription id.
  - `before` string, date-time: ISO-8601; only mark articles published strictly before this instant.

## Response `200`

Update succeeded.

- MarkAllResult: Result of a bulk mark-as-read. `marked` is the number of rows mutated by this call (already-read rows are skipped).
  - `marked` integer, required

## Other responses

- `403`: Token lacks the required scope.

---

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