Skip to main content
POST
Create a wallboard alarm rule

Authorizations

Authorization
string
header
required

Dashboard JWT token from Clerk

Headers

Idempotency-Key
string

Stripe-style idempotency token. Pass a stable, client-generated value (1-255 chars) to dedupe retries on transient timeouts. The same key+credential+path replays the original response for 24h on 2xx (5min on 4xx, 30s on 5xx). Returns 409 if a concurrent request with the same key is already in flight; replayed responses include the Idempotency-Replay: true response header.

Required string length: 1 - 255
X-Test-Mode
enum<string>

Sandbox opt-in for Clerk-session-authenticated requests. Set to true to route the call through the test-mode pipeline: no real provider delivery, no credits deducted, response meta.test_mode: true. Ignored for live API keys (dv_live_sk_*) — server-to-server clients must use a test-prefixed key (dv_test_sk_*) to exercise sandbox. Test-prefixed keys unconditionally enable sandbox regardless of this header.

Available options:
true,
false

Body

application/json
name
string
required
Required string length: 1 - 120
metric
enum<string>
required
Available options:
waiting,
longest_wait,
avg_wait,
predicted_wait,
agents_available,
agents_total,
service_level,
abandoned_rate
comparator
enum<string>
required
Available options:
gt,
gte,
lt,
lte,
eq
threshold
number
required
queue_id
string | null

Queue scope. Omitted or null = tenant-wide rule applying to every queue.

Minimum string length: 1
duration_seconds
integer
default:0

Sustained breach window in seconds — 0 fires on the first breaching tick.

Required range: 0 <= x <= 86400
channel
enum<string>
default:sse
Available options:
sse,
sse+notification,
webhook,
email
enabled
boolean
default:true

Response

Successful response.

data
object
required

An identical rule shape already exists — the existing row is returned (idempotent no-op).

meta
object