---
title: "List alert channels"
method: GET
path: "/alert_channels"
---

# List alert channels

`GET /alert_channels`

## Request

- Base URL: `https://app.yoping.me/api/v1`
- URL: `https://app.yoping.me/api/v1/alert_channels`
- Auth: API key in cookie `yp_session`

Lists the account's alert channels, cursor-paginated in id order. Configs are redacted: secrets and Slack webhook URLs never appear in responses.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

One page of alert channels.

- object: Cursor-paginated list envelope. `next_cursor` is an opaque token for the next page, or null on the last page.
  - `data` AlertChannel[], required
    - `id` string, required
    - `type` 'email' | 'webhook' | 'slack', required
    - `verified_at` string, date-time, nullable, required: Null until the channel is confirmed; alerts are only sent to verified channels.
    - `enabled` boolean, required
    - `suppressed` boolean, required
    - `consecutive_failures` integer, required
    - `config` object, required
      - `address` string
      - `url` string
      - `has_secret` boolean
  - `next_cursor` string, nullable, required

## Other responses

- `400`: Invalid input (code `validation_failed`): malformed JSON, a missing or out-of-range field, bad pagination parameters, or a rejected token.
- `401`: Not authenticated (code `unauthorized`): missing, invalid, or expired session; invalid login credentials; or a Bearer token, which this surface rejects.
- `429`: Too many requests (code `rate_limited`). A global per-IP budget of 300 requests/minute (burst 60) applies to every endpoint; login, signup, and test alerts have tighter dedicated limits.

---

[API](https://skmtc.dev/yoping/apis/yopingme-api.md) · [All operations](https://skmtc.dev/yoping/apis/yopingme-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yoping/apis/yopingme-api/revisions/76d8deb40173?raw)
