Skip to main content
POST
Create a metric alert

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Body

application/json
name
string
required

Immutable account-unique name. UUID names and the crn: prefix are reserved.

Required string length: 1 - 128
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$
topic
string
required

Required same-account, same-region notification topic reference: UUID, canonical CRN or exact name, classified by syntax. Multiple alerts may share a topic. Binding requires notifications:Publish and respects explicit topic-policy denies.

expression
object
required
operator
enum<string>
required
Available options:
gt,
gte,
lt,
lte
threshold
number<double>
required
window_seconds
integer
required

Whole-minute window. Evaluated every minute against the last complete UTC-aligned window.

Required range: 60 <= x <= 3600Must be a multiple of 60
for_seconds
integer
required

Continuous breach duration before firing; 0 fires immediately. Missing data, query failures and scheduling gaps reset a pending duration.

Required range: 0 <= x <= 86400Must be a multiple of 60
enabled
boolean
default:true
silenced_until
string<date-time> | null

Mute notifications until this instant (at most 30 days ahead). Evaluation continues; null removes silence. An active alert notifies on the next evaluation after silence expires.

Response

Create a metric alert

alert
object
required