notifications

Operations of the User Hub API. Paths are relative to your deployment's API host.

GET /api/user-hub-api/notifications

List user notifications (paginated)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
afterquerystringnoCursor for pagination (notification ID)
aggregateTypequeryarray of NotificationAggregateTypenoFilter by aggregate type. Pass repeated aggregateType query params to OR several (e.g. ?aggregateType=inquiry&aggregateType=decision), which is how a caller counts every actionable aggregate in one query. A single scalar value is still accepted and is normalised to a one-element list, so an existing ?aggregateType=inquiry caller is unaffected — and unaffected means it does NOT see decisions.
categoryqueryNotificationCategorynoFilter by category
channelqueryNotificationChannelnoFilter by delivery channel
eventTypequerystringnoFilter by the producer-defined event type stamped on the row (exact match). Lets a producer list the notifications it published — e.g. the announcements it sent through notification:announcement.publish@1.
limitquerynumbernoNumber of items to return
projectIdquerystringnoFilter by projectId
publisherIdquerystringnoFilter by the identity of the authenticated publisher stamped on the row (exact match), e.g. a service name. Rows with no recorded publisher never match.
publisherKindqueryNotificationPublisherKindnoFilter by the kind of the authenticated publisher stamped on the row (exact match). Rows with no recorded publisher never match.
severityqueryNotificationSeveritynoFilter by minimum severity
statusqueryarray of NotificationStatusnoFilter by lifecycle status. Pass repeated status query params to OR multiple states (e.g. ?status=pending&status=responded).
unreadOnlyquerybooleannoOnly return unread notifications
StatusDescriptionBody
200application/json NotificationItemResponseDtoPaginatedEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PATCH /api/user-hub-api/notifications/read-all

Mark all notifications as read

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
categoryqueryNotificationCategorynoFilter by category
projectIdquerystringnoFilter by projectId
StatusDescriptionBody
200application/json NotificationMutationResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/user-hub-api/notifications/unread

Get unread notification count and stats

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
channelqueryNotificationChannelnoChannel to count
projectIdquerystringnoFilter by projectId
StatusDescriptionBody
200application/json UnreadResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PATCH /api/user-hub-api/notifications/{id}/dismiss

Dismiss a notification (permanent, irreversible)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200application/json NotificationMutationResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PATCH /api/user-hub-api/notifications/{id}/read

Mark a notification as read

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200application/json NotificationMutationResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto