Skip to content

Mark every thread in your inbox read, or every thread about one repository.

PUT/notifications

Threads 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.

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.
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"
}'

A successful request answers 200 with:

{
"marked": 12,
"last_read_at": "2026-10-07T10:00:00.000Z"
}

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.