Notifications API
Access and manage user notifications.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /notifications | List notifications |
| PATCH | /notifications/{id} | Mark as read |
| POST | /notifications/mark-all-read | Mark all read |
| GET | /notifications/unread-count | Get unread count |
List Notifications
GET /notifications
Query Parameters
| Parameter | Type | Description |
|---|---|---|
unread_only | boolean | Filter to unread |
type | string | Filter by notification type |
page | integer | Page number |
size | integer | Items per page |
Response
{
"items": [
{
"id": "...",
"type": "quality_alert",
"title": "Quality Check Failed",
"message": "Freshness check failed for Customer Events",
"read": false,
"data": {
"alert_id": "...",
"product_id": "...",
"severity": "critical"
},
"created_at": "2026-01-15T10:30:00Z"
},
{
"id": "...",
"type": "access_approved",
"title": "Access Request Approved",
"message": "Your request for Sales Data was approved",
"read": true,
"data": {
"request_id": "...",
"product_id": "..."
},
"created_at": "2026-01-14T16:00:00Z"
}
],
"total": 15,
"page": 1,
"size": 20
}
Notification Types
| Type | Description |
|---|---|
quality_alert | Quality check failed |
quality_resolved | Quality issue resolved |
access_submitted | New access request (for reviewers) |
access_approved | Access request approved |
access_rejected | Access request rejected |
issue_assigned | Issue assigned to you |
issue_mentioned | Mentioned in issue comment |
meeting_invited | Invited to meeting |
meeting_reminder | Upcoming meeting |
action_item_due | Action item due soon |
contract_violation | SLA breach detected |
Mark as Read
PATCH /notifications/{id}
{
"read": true
}
Mark All Read
POST /notifications/mark-all-read
Optionally filter by type:
{
"type": "quality_alert"
}
Unread Count
For badge display:
GET /notifications/unread-count
{
"count": 5,
"by_type": {
"quality_alert": 2,
"access_submitted": 3
}
}
Notification Settings
Control which notifications you receive:
PATCH /preferences
{
"notifications": {
"quality_alerts": true,
"access_requests": true,
"meeting_reminders": true,
"email_enabled": true,
"email_digest": "daily"
}
}
Digest Options
| Value | Description |
|---|---|
immediate | Send email immediately |
hourly | Hourly digest |
daily | Daily digest (9 AM) |
weekly | Weekly digest (Monday) |
none | No email notifications |