Mark a notification as read
/notifications/{id}/actions/mark-readMarks the notification read for the acting user, sets read_at and returns it. Marking a read notification again returns 200 and changes nothing. The user's other open sessions are not told to refresh; a pending "new notifications" email digest skips it. Another user's notification returns 404. Emits no webhook. POST .../actions/mark-unread undoes it.
Path parameters
The notification's id. Notifications are keyed by integer ids, not UUIDs: a whole number from 1 to 2147483647.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Responses
{
"data": {
"id": 1,
"title": "string",
"url": "string",
"is_download": true,
"status": "unread",
"read_at": "2026-06-12T10:00:00+00:00",
"actioned_at": "2026-06-12T10:00:00+00:00",
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/notifications/{id}/actions/mark-read\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"