---
title: "Describe the escalation step vocabulary"
method: GET
path: "/api/v1/escalation-policies/vocabulary"
tags: ["Escalation policies"]
---

# Describe the escalation step vocabulary

`GET /api/v1/escalation-policies/vocabulary`

## Request

- Base URL: `https://wardenpoint.com` (the document declares no server; this is the origin it was published from)
- URL: `https://wardenpoint.com/api/v1/escalation-policies/vocabulary`
- Auth: API key in header `X-API-Key`

Everything needed to build a valid escalation chain: the triggers, actions, channels and acknowledgement modes, what delay_minutes means, how a step names its target, the size limits, the account-wide default steps, a worked example ladder under `examples`, and the providers this company may actually use. The provider list depends on the plan and on which credentials are connected, which is why it cannot live in this specification — read it here rather than assuming. Each provider carries ack_capabilities per channel: an acknowledgement mode a provider cannot report will simply never acknowledge. `configured: false` means a step naming that provider will save and then deliver nothing — it is the same verdict `GET /capabilities` reports as a channel `status` other than `ready`, so the two can no longer contradict each other about Slack, Teams or email.

## Response `200`

The vocabulary.

- object
  - `data` object
    - `triggers` object[]
    - `actions` object[]
    - `channels` object[]
    - `ack_modes` object[]
    - `delay_minutes` object: What the field accepts and what the values mean. `bounds_minutes` here bounds the number you send (min 0, no maximum). The nested `adaptive` object carries its own `bounds_minutes` and `priority_defaults_minutes` — those constrain the value the adaptive calculator produces and say nothing about an explicit delay.
    - `target_selection` object: How a step names who to wake, including what `occupant` on a schedule target means and the three ways a "next in rotation" target can legitimately resolve to nobody.
    - `examples` object: Whole ladders, assembled — not another list of allowed values. Currently one: `on_call_then_next_then_everyone`, the "wake the person on duty, then the one who takes over, then the whole team" chain, with the group-rule field it needs and notes on the parts of it that are not obvious (one escalation step pages exactly one person, so "everybody at once" is several steps at delay_minutes 0).
    - `limits` object
    - `channel_defaults` object: Which provider a channel falls back to when a step names none.
    - `account_default_steps` object: The steps that run when a recipient has no configuration of their own, keyed by priority (low, normal, high, critical). Computed for your account, not a fixed template: the ladder keeps only the channels your plan carries and your connected providers can deliver on, so it is exactly what a send to an unconfigured recipient will do. A priority whose every channel is unavailable maps to an empty list — such an alert has no route and falls through to the account owner.
    - `providers` object[]: Providers the plan carries. `configured` says whether one can deliver today: for providers holding company credentials it means those credentials are connected and verified; for providers riding the installation (email over the system mailer, Slack and Teams over the installation app) it means that transport is actually up. It is not "nothing to fill in here".

## Other responses

- `401`: API key missing, invalid, revoked or expired.
- `403`: API key lacks the config.read ability.

---

[API](https://skmtc.dev/wardenpoint/apis/wardenpoint-api.md) · [All operations](https://skmtc.dev/wardenpoint/apis/wardenpoint-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wardenpoint/apis/wardenpoint-api/revisions/259ee445728e?raw)
