---
title: "Mark Message As Read – Updates the status of an inbox message to 'read' for an account."
method: PUT
path: "/programs/{programCode}/accounts/{accountIdentifier}/inbox/messages"
tags: ["Notification"]
---

# Mark Message As Read – Updates the status of an inbox message to 'read' for an account.

`PUT /programs/{programCode}/accounts/{accountIdentifier}/inbox/messages`

Updates the status of an inbox message to 'read' for an account. Requires account identifier, program code, and message details. Returns the status and details of the update operation.

## Path parameters

- `programCode` string, required
- `accountIdentifier` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- MarkMessageAsReadRequest — Represents a request to mark one or more inbox messages as read for an account. Used to update the read status of messages, supporting notification management and user experience within a partner program.
  - `messages` ReadMessage[], nullable — The list of messages to be marked as read. Each Gd.Bos.DataTransfer.ReadMessage entry specifies the message key and the status to be updated.
    - `messageKey` integer — The unique key identifying the inbox message to be updated. Used to target the specific message for status change.
    - `status` integer — The status to set for the message (e.g., 1 for read, 0 for unread). Valid values are defined in the message status enumeration.

## Response `200`

OK

- MarkMessageAsReadResponse — Represents the response returned after marking one or more inbox messages as read for an account. Inherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase, including response header and response details. Used to communicate the outcome of a mark-as-read operation, including success, error codes, and tracking information.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/revisions/666553766b78/schema)
