---
title: "Send a test alert to a channel"
method: POST
path: "/api/v1/channels/{id}/test"
tags: ["Channels"]
---

# Send a test alert to a channel

`POST /api/v1/channels/{id}/test`

## Request

- Base URL: `https://app.lastping.dev`
- URL: `https://app.lastping.dev/api/v1/channels/{id}/test`
- Auth: API key in header `X-Api-Key`

Delivers a synthetic "down" test event through the real delivery pipeline for
the specified channel.  Useful for verifying that the channel is correctly
configured before relying on it for real alerts.

**Security:** channel secrets are never logged or returned.
Delivery errors are surfaced in the Problem `detail` field to help debugging.

## Request body

- object

## Response `200`

Test alert delivered successfully.

- object
  - `delivered` boolean

## Other responses

- `400`: id is not a valid UUID, or the channel kind does not support test delivery.
- `401`: Missing or invalid API key.
- `404`: Channel not found in this project.
- `429`: Too many requests. The per-principal fixed-window rate limit has been exceeded. Retry after the number of seconds indicated by the `Retry-After` response header. The problem body's `code` is `RATE_LIMITED`. It names this limiter specifically, so a client can tell it apart from the application-level throttles that also answer 429 with their own codes and their own, much longer, `Retry-After` values (`TEST_PING_RATE_LIMITED`, `TOO_MANY_ATTEMPTS`). Back off globally on `RATE_LIMITED`; back off on the one operation for the others. The principal is the API key for a key-authenticated request and the USER for a browser session, so every tab one person has open shares one budget.
- `502`: Delivery to the channel destination failed.

---

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