Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
List the signed-in user's in-app notifications
The top-bar bell and the /notifications page. One feed PER USER across every project the caller reaches, newest first, covering the last 30 days:
kind=alert-- an alert rule FIRING or RESOLVED (the transitions its channels were sent; never a no-data transition), in every project where the caller holds READ on the rule provider's permission key: the observability plane for the alert-rules API's rules,budgetsfor a budget's alert; plus the alerts of a subscription-wide budget for a caller whose SUBSCRIPTION-level grant holdsbudgetsREAD -- such an item carriessubscriptionIdand a nullprojectId;kind=operation-- a FAILED operation the caller started, or one the operations feed shows the caller (reachable owning project + READ on the operation's resource plane). Read state is kept on the server per user:readon every item andunreadCountover the whole feed window (not only this page).unread=truelists only unread items. Every item names itsregion;region=<code>/region=globalnarrow the list. Errors: 401 no session; 422 invalid pagination. Idempotency/Concurrency: Safe; reading never changes read state.
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
page?integer1-based page number.
1 <= value1pageSize?integerItems per page (max 200).
1 <= value <= 20050unread?booleantrue -- only unread items; false -- only read items; omitted -- all.
region?stringA region code -- only the items whose region is that region; global -- only the items tied to no region (region: null); omitted -- every region. Like unread, it never changes unreadCount, which stays the whole feed's.
^[a-z][a-z0-9-]{1,39}$One page of the caller's feed plus the unread count of the whole feed.
application/json- response
data*array<>meta*Pagination envelope metadata. List responses are always { data, meta } — never a naked array.
unreadCount*integer0 <= valuecurl -X GET "https://example.com/notifications"{ "data": [ { "id": "string", "kind": "alert", "occurredAt": "string", "read": true, "tenantId": "string", "subscriptionId": "string", "projectId": "string", "region": "string", "alert": { "eventId": "string", "ruleId": "string", "ruleName": "string", "instanceId": "string", "instanceName": "string", "provider": "string", "status": "FIRING", "fromState": "OK", "toState": "OK", "value": 0, "reason": "string" }, "operation": { "operationId": "string", "state": "SUCCEEDED", "action": "string", "resourceKind": "string", "resourceId": "string", "resourceName": "string", "errorCode": "string", "errorMessage": "string" } } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }, "unreadCount": 0}