/me/webhooks) also accrue here for in-app display
unless you’ve muted them. Free.
For push-style consumption, prefer webhooks — this
endpoint is a polling fallback (e.g. for an IDE extension or a status
bar where running a webhook receiver isn’t practical).
Endpoint family
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/me/notifications?unread=&type=&page=&page_size= | List notifications |
GET | /api/v1/me/notifications/unread-count | Just the unread counter |
POST | /api/v1/me/notifications/:id/mark-read | Mark a single notification read |
POST | /api/v1/me/notifications/mark-all-read | Mark every unread one read |
List
Query parameters
| Param | Type | Notes |
|---|---|---|
unread | bool | true to only return unread rows. Mutually exclusive with read. |
read | bool | true to only return read rows. |
type | string | Filter by event type (see event catalog). |
page | integer | Default 1. |
page_size | integer | Default 50, max 200. |
Response
Response fields
| Field | Type | Notes |
|---|---|---|
items[].type | string | One of the 5 user-visible events (see event catalog). |
items[].title | string | Single-line summary shown in the bell dropdown. |
items[].body | string | One-paragraph description. |
items[].link | string | null | Console-relative deep-link the row clicks through to. |
items[].read_at | string | null | ISO timestamp the user opened it. null = unread. |
total | integer | Matches the filter (page-independent). When unread=true this is also the unread count. |
Unread count
Mark single read
Mark all read
{"marked_read": 0}.
Event catalog
The notification feed only surfaces user-visible events — a curated subset of the webhook event catalog. Five types:| Type | When it fires |
|---|---|
system.payment.received | A top-up posts to your wallet |
system.balance.notify.dispatched | Low-balance cron crossed your threshold |
admin.org.member.add | Someone was added to your org (visible to org owners/admins) |
admin.api_key.revoke | Platform admin revoked your personal key |
org.api_key.revoke | Org admin revoked one of your org keys |
Errors
| Status | error.type | Trigger |
|---|---|---|
| 400 | invalid_request_error | Both read=true and unread=true, or unknown type. |
| 401 | authentication_error | Missing / revoked key. |
| 404 | not_found_error | Notification :id doesn’t belong to this caller. |