List your in-app notifications
get
https://api.expiryedge.com/v1/notificationsbearer token (Firebase ID token or session JWT); any role60/min
Request
curl 'https://api.expiryedge.com/v1/notifications?limit=50&unread_only=false' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY"Response
{
"notifications": [
{
"id": "ntf_3Jd8wQ",
"user_id": "u_71bXq",
"organization_id": "org_northwind",
"type": "mention",
"item_type": "expiry",
"item_id": "exp_4Tq9sLm2",
"item_name": "Northwind Dental - State Dental License",
"message": "Priya Shah mentioned you in a comment",
"mentioned_by": {
"id": "u_2kPz9",
"name": "Priya Shah",
"email": "priya@northwinddental.com"
},
"comment_text": "@Sam can you upload the renewed certificate?",
"link": "/dashboard/expiry/exp_4Tq9sLm2",
"read": false,
"created_at": "2026-09-27T14:05:00.000Z"
}
],
"unread_count": 3,
"total": 1
}Returns the caller's own notifications (assignments and @mentions), newest first. limit defaults to 50 and is clamped to 1-200; no further pages. unread_count counts all unread notifications, not just the returned page.
limitintegerDefault50min: 1 · max: 200unread_onlybooleantrueto return only unread notifications.Defaultfalse
200
The caller's notifications.
notificationsarray of objectsrequiredunread_countintegerrequiredAll unread notifications of the caller.totalintegerrequiredNumber of notifications in this response.
401 | Missing, expired or invalid bearer token. |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
