---
title: "Send a test delivery"
method: POST
path: "/api/webhooks/{id}"
tags: ["Webhooks"]
---

# Send a test delivery

`POST /api/webhooks/{id}`

## Request

- Base URL: `https://www.flyn.to`
- URL: `https://www.flyn.to/api/webhooks/{id}`
- Auth: HTTP bearer

Sends a signed webhook.test delivery to a webhook the caller created, with the same headers and signature as real deliveries. Works on inactive webhooks and does not change failureCount or lastTriggeredAt. The outcome is reported in the 200 body, not in the HTTP status.

**Auth:** API key (`Bearer flyn_sk_live_...`), or the signed-in dashboard session cookie when no API key header is sent. MCP OAuth access tokens are not accepted here and get 401.

**Plan:** every plan. Only the creator can test.

**Rate limit:** 5 requests per 60 s per client IP, fixed window, in memory per server instance, checked after authentication. The 429 has no Retry-After.

## Response `200`

Delivery attempted. `success` says whether the endpoint answered 2xx.

- WebhookTestResult: The delivery outcome is reported in this body; the HTTP status is 200 either way.
  - `success` boolean, required: True when the endpoint answered 2xx.
  - `status` integer: HTTP status your endpoint answered with.
  - `statusText` string: Present when the endpoint answered non-2xx.
  - `error` string: Present when no answer came back (network error, DNS failure, 10 s timeout, redirect to a private host, too many redirects).

## Other responses

- `400`: The stored URL now resolves to a private address.
- `401`: No valid API key and no dashboard session. Messages: "Invalid or revoked API key", "API key has expired", "Unauthorized. Sign in to the dashboard, or pass a Bearer API key in the Authorization header.", or "Unauthorized" when the session lookup itself fails. An MCP OAuth token lands here too.
- `403`: The account is suspended.
- `404`: No webhook with this id created by the caller, or a malformed id.
- `429`: More than 5 test deliveries in the window. Counted per client IP. This 429 carries no Retry-After header.

---

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