POST /v1/alerts/destinations/{name}/test
Sends one test alert to the destination now and says what it answered. It is not retried. A project may send 5 test alerts a minute; past that the answer is rate_limited with Retry-After.

Authentication

Bearer Token (b3os_sk_ API key or b3os_pat_ token)

Path Parameters

name string required path
The destination's name, as observe.notify names it.
Min length 1Max length 63Pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$
Example: "ops-slack"

Responses

200 What the destination answered.
application/json
destination string REQUIRED
status string REQUIRED
Values sent failed unknown_destination
at string (date-time) REQUIRED
error string | null REQUIRED
400 The request failed validation (invalid_request, invalid_url).
401 Missing, malformed, expired or revoked credentials (unauthorized).
403 Authenticated but not allowed (forbidden, egress_denied).
404 No such alert destination in this project (alert_destination_not_found).
429 A rate, concurrency or quota limit applies (rate_limited, concurrency_limited, quota_exceeded).
500 Something failed inside B3OS (internal). Retry with backoff.
503 The node or the product is not available right now (node_unavailable, product_unavailable, capacity_unavailable).
curl -X POST 'https://beta-api.b3os.org/v1/alerts/destinations/ops-slack/test' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://beta-api.b3os.org/v1/alerts/destinations/ops-slack/test', {  method: 'POST',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://beta-api.b3os.org/v1/alerts/destinations/ops-slack/test', headers=headers)print(response.json())
200 Response
{  "destination": "ops-hook",  "status": "sent",  "at": "2026-11-07T10:05:01.000Z",  "error": null}
Ask a question... ⌘I