Cowdidocs
API ReferenceNotification Inbox

Mark notifications as read

POST
/v1/user/notifications/read

Marks the unread messages in a range as read. The range uses creation order, the same order as the feed. from is the id of the oldest message in the range and to is the id of the newest message. Both bounds are inclusive. Omit from to start at the oldest message. Omit to to stop at the newest message. Send no body, or an empty object, to mark every unread message as read. The request skips the messages snoozed now. Send the same id in from and to to mark one message as read. Returns 400 when from is newer than to. Returns 404 when a bound is not a message in the caller's inbox.

AuthorizationBearer <token>

Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.

In: header

Request Body

application/json

The range of messages to mark as read, in creation order. Both bounds are inclusive.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/user/notifications/read" \  -H "Content-Type: application/json" \  -d '{}'
{  "updated_count": 0}
{  "code": "BAD_REQUEST",  "description": "Bad Request"}
{  "code": "UNAUTHORISED",  "description": "Unauthorised"}
{  "code": "FORBIDDEN",  "description": "Forbidden"}
{  "code": "BAD_REQUEST",  "description": "Invalid input"}
{  "code": "RATE_LIMIT_EXCEEDED",  "description": "Too Many Requests"}
{  "code": "INTERNAL_ERROR",  "description": "Internal Server Error"}