Mark notifications read or unread
mark_notificationsMark specific notifications as read or unread in one bulk request using their IDs, so your OpenProject inbox reflects reality.
Instructions
Mark specific notifications read (or unread) in one bulk request.
Use it after you have actually handled what a notification was about, so
the user's inbox reflects reality. It is the id-consuming counterpart of
list_notifications: pass the row id values from that tool.
Returns {marked, read, ids, message}. OpenProject answers the bulk
endpoint with 204 No Content, so marked is the number of ids the
call covered — ids that were already in the requested state, or that
belong to someone else's inbox, are simply not changed.
Pitfalls. Marking is idempotent, so a retry after a timeout is safe. Pass
the notification id, not resource.id — the work package id
underneath is a different number entirely. Unknown ids do not fail the
call, so do not treat success as proof that every id existed.
Cross-references: get the ids from list_notifications; to clear an
entire (optionally filtered) inbox in one go use
mark_all_notifications_read.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Notification ids to mark, e.g. [4711, 4712]. Required and non-empty — this tool never operates on 'everything'. Ids come from list_notifications (the row 'id', not resource.id). At most 200 per call. | |
| read | No | true (default) marks them read; false puts them back in the unread inbox. Both directions are safe here because the ids are explicit. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | The notification ids that were marked; null for the filter-based bulk tool. | |
| read | Yes | True when they were marked read, false when marked unread. | |
| marked | Yes | Number of notifications the call covered. For mark_notifications this is the number of ids sent; for mark_all_notifications_read it is how many unread notifications matched the filters when the call ran. | |
| message | Yes | Human-readable confirmation of what happened. |