My notification feed
GET /account/notifications
Cursor-paginated notification feed for the caller. Newest-
first; only_unread=true restricts to the unread tail
(the inbox’s “Unread” tab). Each notification carries a
verb (matching userprefs.KnownEventTypes), an optional
actor, an optional polymorphic target reference
(target_kind + target_id), and a JSONB payload with per-
verb extra context the frontend renderer reads.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Responses
Section titled “ Responses ”A page of notifications.
object
One row from the per-user notifications feed.
verb matches one of the userprefs.KnownEventTypes strings.
target_kind + target_id form a polymorphic reference into
whatever entity the notification is about (e.g. target_kind=
“post”, target_id=
- target_kind to build the right card.
object
User whose action triggered the notification. NULL for system-generated events (license expiry, broadcast).
Denormalized for inbox render — no second round-trip.
Event-type identifier. One of userprefs.KnownEventTypes.
Frontend i18n keys are notifications.verb_<verb>.
Type discriminator for the polymorphic target (post, comment, asset, user, collection, license, request).
ID of the target entity. UUID-typed entities stringify; BIGINT-typed entities stringify too. Frontend resolves via target_kind.
Per-verb extra context (comment excerpt, license kid, request reason, etc.). Schema documented per-verb in app/internal/notifications/events.go.
object
NULL = unread.
When the row landed (in-app delivery time).
Authentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}