---
title: "Get the ordered routes an alert to this recipient would walk"
method: GET
path: "/api/v1/recipients/{recipient}/routes"
tags: ["Recipients"]
---

# Get the ordered routes an alert to this recipient would walk

`GET /api/v1/recipients/{recipient}/routes`

## 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/recipients/{recipient}/routes`
- Auth: API key in header `X-API-Key`

The ladder in the order delivery would try it: the first route that gets the alert out wins, the rest are fallbacks.

**A route in this list is not a promise of delivery.** Routes are built from the recipient's contacts; whether the transport behind the provider is actually up is a separate question, and it is answered per route by `deliverable`. A route with `deliverable: false` would be attempted and would fail — `blocked_by` carries the same machine-readable code the availability endpoint uses, and `scope` says who repairs it: `recipient` (missing or disabled contact) or `installation` (mailer, credentials, telephony). This is one verdict shared with `GET /recipients/{recipient}/availability` and with the `status` of `GET /capabilities`: if those two say a channel is not set up, the route over it reads `deliverable: false` here rather than looking healthy.

## Path parameters

- `recipient` string, uuid, required

## Query parameters

- `priority` 'low' | 'normal' | 'high' | 'critical'

## Response `200`

The ordered routes and whether each one could actually deliver right now.

- object
  - `recipient_uuid` string, uuid
  - `routes` object[]
    - `channel` string
    - `provider` string
    - `priority` integer: Internal ordering weight of the channel implementation, not the alert priority.
    - `deliverable` boolean: Whether this route could carry an alert right now. False means it would be attempted and fail.
    - `blocked_by` string, nullable: Null when deliverable. Otherwise the same code the availability endpoint returns, e.g. `email_not_configured`.
    - `scope` 'recipient' | 'installation', nullable: Null when deliverable. `recipient` = fix the person. `installation` = fix the deployment.

---

[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)
