Mark notifications read
Mark every thread in your inbox read, or every thread about one repository.
PUT
/notificationsThreads whose latest activity came after last_read_at (now, when left out) stay unread, so nothing that arrived while you looked is lost. With read false they are marked unread instead. Returns how many changed.
Threads with activity after last_read_at stay unread, so send the time you last listed them.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
notificationswithactionmark_all_read, and the same inputs - Scope: An access token needs
notifications:write. - Also at:
PUT /repos/{owner}/{name}/notifications
Body parameters
Section titled “Body parameters”Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.
| Name | Type | Required | Description |
|---|---|---|---|
last_read_at |
string | No | RFC 3339: threads with activity after this stay unread. Now, when left out. |
read |
boolean | No | False marks them unread instead. |
Example request
Section titled “Example request”curl -X PUT https://api.g1t.sh/notifications \ -H "Authorization: Bearer $G1T_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "last_read_at": "2026-10-07T10:00:00Z" }'Example response
Section titled “Example response”A successful request answers 200 with:
{ "marked": 12, "last_read_at": "2026-10-07T10:00:00.000Z"}Errors
Section titled “Errors”A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
A token is required, or the one sent is not valid. |
| 403 | forbidden |
The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | not_found |
It does not exist, or you cannot see it. |
| 409 | conflict |
The request conflicts with the current state. |
| 422 | invalid |
The input is not valid. message says which field and why. |