Observability

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 notification channels of the project's budget alerts

GET
/scopes/{scopeId}/observability/budget-notification-channels

Returns the notification channels the platform keeps for the alert recipients of the budgets the caller reaches (the same budgets budget-alert-rules lists), with the budgets using each one and its delivery health. deliveryStatus is the outcome of the channel's last finished delivery (none before the first), and failed whenever the webhook target is one alerting never sends to (e.g. an http:// URL carried over from the old budget alerts; lastDeliveryError = webhook_scheme_not_allowed), so a budget form can say the alerts are not arriving. The channels change with the budget's alert recipient. RBAC: READ on budgets (owner, contributor, reader, billing-ops).

Authorization

bearerToken
headerAuthorizationBearer <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.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

Query Parameters

page?integer

1-based page number.

Range1 <= value
Default1
pageSize?integer

Items per page (max 200).

Range1 <= value <= 200
Default50

Response Body

One page of budget notification channels.

application/json
  1. response
data*array<>
meta*

Pagination envelope metadata. List responses are always { data, meta } — never a naked array.

curl -X GET "https://example.com/scopes/string/observability/budget-notification-channels"
{  "data": [    {      "id": "string",      "type": "email",      "target": "string",      "budgetIds": [        "string"      ],      "verificationStatus": "verified",      "deliveryStatus": "none",      "lastDeliveryError": "string",      "lastDeliveryAt": "string"    }  ],  "meta": {    "page": 1,    "pageSize": 1,    "total": 0,    "hasNext": true  }}