# Send a test delivery

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

Queues a "ping" event to this endpoint only, regardless of what it subscribes to. It goes through the same signing and the same queue as a real event, so it proves the transport end to end. Requires the "webhooks:manage" scope.

Scope: `webhooks:manage`
Idempotency-Key: optional

## Parameters

- `id` (path, string, required) — Awrora id (UUID) for the endpoint.
- `Idempotency-Key` (header, string) — Optional. A unique key, 8-200 characters. Retrying with the same key replays the first response verbatim instead of acting twice.

## Responses

- `202` — Queued. The delivery happens after this response — follow it in the deliveries list.
- `401` — Missing, invalid, revoked or expired API key — codes "api_key_missing", "api_key_invalid", "api_key_revoked", "api_key_expired".
- `403` — The API app is off, the plan does not include the API, or the key lacks the required scope — codes "app_not_enabled", "plan_upgrade_required", "insufficient_scope" (the last carries "required_scope").
- `404` — No such resource. The same response is returned for a resource that belongs to another organization — code "not_found".
- `429` — Rate limit exceeded — code "rate_limited". See the x-ratelimit-* headers.
- `500` — Something went wrong on our side — code "internal_error".

## Response `202`

- `event_id` (string, required) — The ping event that was written. Also the id in the envelope.
- `delivery_id` (string | null, required) — The delivery queued for this endpoint. Follow it in the deliveries list.
- `endpoint_status` ("enabled" | "disabled" | "auto_disabled", required) — The endpoint's status right now. A disabled endpoint gets the delivery row but never the request — the delivery is marked failed with "endpoint_disabled".

## Example

```bash
curl -X POST "https://your-site.awrora.app/api/v1/webhooks/id_8f2k3n/test" \
  -H "Authorization: Bearer $AWRORA_API_KEY"
```