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>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
after | query | string | no | Cursor for pagination (notification ID) |
aggregateType | query | array of NotificationAggregateType | no | Filter 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. |
category | query | NotificationCategory | no | Filter by category |
channel | query | NotificationChannel | no | Filter by delivery channel |
eventType | query | string | no | Filter 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. |
limit | query | number | no | Number of items to return |
projectId | query | string | no | Filter by projectId |
publisherId | query | string | no | Filter 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. |
publisherKind | query | NotificationPublisherKind | no | Filter by the kind of the authenticated publisher stamped on the row (exact match). Rows with no recorded publisher never match. |
severity | query | NotificationSeverity | no | Filter by minimum severity |
status | query | array of NotificationStatus | no | Filter by lifecycle status. Pass repeated status query params to OR multiple states (e.g. ?status=pending&status=responded). |
unreadOnly | query | boolean | no | Only return unread notifications |
| Status | Description | Body |
|---|---|---|
| 200 | application/json NotificationItemResponseDtoPaginatedEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/user-hub-api/notifications/read-all
Mark all notifications as read
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
category | query | NotificationCategory | no | Filter by category |
projectId | query | string | no | Filter by projectId |
| Status | Description | Body |
|---|---|---|
| 200 | application/json NotificationMutationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/user-hub-api/notifications/unread
Get unread notification count and stats
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
channel | query | NotificationChannel | no | Channel to count |
projectId | query | string | no | Filter by projectId |
| Status | Description | Body |
|---|---|---|
| 200 | application/json UnreadResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/user-hub-api/notifications/{id}/dismiss
Dismiss a notification (permanent, irreversible)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json NotificationMutationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/user-hub-api/notifications/{id}/read
Mark a notification as read
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json NotificationMutationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |