Mark a notification read
Mark one library notification as read.
Authorizations
Organisation API key from Settings → API / /api/keys/. The secret is
shown once. Send Authorization: Bearer sk-abacus-…. One active key
per organisation. Ingest (/api/v2/ingest/*) refuses API keys — that
surface is Auth0-only with ingest:read / ingest:write scopes.
Path Parameters
Response
Output projection for a LibraryNotification row.
Carries share_summary / direct_share_summary / struct_summary
rather than the full related serializer to keep response sizes small —
the notifications list can run to hundreds of rows for an active mod
and we want to render the nav-tray panel fast. Callers wanting
the full row hit /api/v2/library/shares/<id>/ or
/api/v2/library/share/links/<id>/ separately.
For any given row, exactly one of (share_summary,
direct_share_summary, struct_summary) is non-null — the
share/direct-share tracks carry a share row, the AD-368
batch_test_completed kind carries a struct_summary
(its click-through back to the builder). The kind field is the
discriminator the UI should branch on.
share_requested- Share requestedshare_approved- Share approvedshare_rejected- Share rejectedshare_kicked- Share kickedmod_shared_your_item- Mod shared your itemdirect_share_link_revoked- Direct share link revokedbatch_test_completed- Batch test completedbatch_test_failed- Batch test failed
share_requested, share_approved, share_rejected, share_kicked, mod_shared_your_item, direct_share_link_revoked, batch_test_completed, batch_test_failed Compact projection of the share row that triggered a notification.
content_type mirrors the discriminator used elsewhere in
/api/v2/library/ ("struct" / "batch"). object_id is
the underlying item's primary key — the SPA can navigate to
/structs/<slug>/ or /batch/<id>/ from there.
Compact projection of the direct-share link that triggered a notification.
Shape mirrors :class:_ShareSummarySerializer so the SPA can use a
single notification-card component for both surfaces. content_type
object_idresolve to the underlyingStruct/Batch;is_revokedis always True at notification time (the revoke is what triggered the row) but the field is present so a future REVOKED-vs-future-kind disambiguation stays cheap.
Compact projection of the Struct a notification points at.
Emitted for the batch_test_completed kind (AD-368), whose
click-through target is the schema builder rather than a share row.
slug resolves to /structs/<slug>/ — the same lookup the HTML
routes and the /api/v2/structs/<slug>/ surface use.

