Operation details
GET /v1/package-monitor/alerts
List the current package-monitor alert heads owned by the tenant user
- operationId
listTenantPackageMonitorAlerts- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Tenant scope and owner are derived from the current server-side session. Requires package_subscriptions.read.
Parameters
listTenantPackageMonitorAlerts Parameters| Name | In | Type | Required | Description |
|---|
limit | query | integer | No | — |
|---|
cursor | query | string | No | — |
|---|
current_phase | query | string: before / triggered / recovered / suppressed_stale | No | Exact alert phase projected from the latest immutable receipt in the frozen snapshot. |
|---|
threshold_id | query | string | No | Exact lowercase SHA-256 threshold identity. Input-only and never returned. |
|---|
Responses
listTenantPackageMonitorAlerts Responses| Status | Description |
|---|
200 | Stable keyset page of current alert heads. Fields:items: array<PackageMonitorAlertHead> next_cursor?: string |
|---|
400 | Invalid request |
|---|
401 | Authentication required |
|---|
403 | Permission denied |
|---|
405 | Method not allowed |
|---|
408 | Request cancelled |
|---|
503 | Dependency unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/package-monitor/alerts/{alert_id}/transitions
List immutable transition facts for a tenant-owned alert
- operationId
listTenantPackageMonitorTransitions- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Tenant scope and owner are derived from the current server-side session. The first page freezes the alert head revision. The signed cursor is bound to the exact phase filter, including an explicit empty filter.
Parameters
listTenantPackageMonitorTransitions Parameters| Name | In | Type | Required | Description |
|---|
alert_id | path | string(uuid) | Yes | — |
|---|
limit | query | integer | No | — |
|---|
cursor | query | string | No | — |
|---|
phase | query | string: before / triggered / recovered / suppressed_stale | No | Exact immutable threshold transition phase. |
|---|
Responses
listTenantPackageMonitorTransitions Responses| Status | Description |
|---|
200 | Frozen-revision keyset page of immutable transition facts. Fields:items: array<PackageMonitorTransition> next_cursor?: string |
|---|
400 | Invalid request |
|---|
401 | Authentication required |
|---|
403 | Permission denied |
|---|
404 | Resource not found |
|---|
405 | Method not allowed |
|---|
408 | Request cancelled |
|---|
503 | Dependency unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/package-monitor/alerts/{alert_id}/transitions/{revision}
Get one immutable transition fact for a tenant-owned alert
- operationId
getTenantPackageMonitorTransition- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Tenant scope and owner are derived from the current server-side session.
Parameters
getTenantPackageMonitorTransition Parameters| Name | In | Type | Required | Description |
|---|
alert_id | path | string(uuid) | Yes | — |
|---|
revision | path | integer(int64) | Yes | — |
|---|
Responses
getTenantPackageMonitorTransition Responses| Status | Description |
|---|
200 | One immutable transition fact. Fields:alert_id: string(uuid) revision: integer(int64) subscription_id: string(uuid) policy_id: string(uuid) policy_revision: integer(int64) metric: string: traffic_bytes / bandwidth_bps / connections / expiration period_key: string phase: string: before / triggered / recovered / suppressed_stale observed_value: string metric_schema_version: string: package-monitor-metric/v1 / deadline/v1 source_watermark: string observed_at: string(date-time) finalized_through: string(date-time) evaluated_at: string(date-time) reason_code: string |
|---|
400 | Invalid request |
|---|
401 | Authentication required |
|---|
403 | Permission denied |
|---|
404 | Resource not found |
|---|
405 | Method not allowed |
|---|
408 | Request cancelled |
|---|
503 | Dependency unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
GET /v1/package-monitor/policies
List the current package-monitor policies owned by the tenant user
- operationId
listTenantPackageMonitorPolicies- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Tenant scope and owner are derived from the current server-side session. Requires package_subscriptions.read.
Parameters
listTenantPackageMonitorPolicies Parameters| Name | In | Type | Required | Description |
|---|
limit | query | integer | No | — |
|---|
cursor | query | string | No | — |
|---|
Responses
listTenantPackageMonitorPolicies Responses| Status | Description |
|---|
200 | Stable keyset page of current policy heads. Fields:items: array<PackageMonitorPolicy> next_cursor?: string |
|---|
400 | Invalid request |
|---|
401 | Authentication required |
|---|
403 | Permission denied |
|---|
405 | Method not allowed |
|---|
408 | Request cancelled |
|---|
503 | Dependency unavailable |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list