---
title: "2026-07-27 · Webhook test-send and dead-letter redelivery"
description: "Two new self-serve webhook endpoints — send a test.ping through the real pipeline, and requeue a dead-lettered event yourself instead of contacting support."
order: 4
date: "2026-07-27"
---

# Webhook test-send and dead-letter redelivery

Two new endpoints round out self-serve [webhooks](/docs/concepts/webhooks). You can already rotate your own secret. Now you can send a test event, and pull a failed one back yourself.

## Added — `POST /v1/webhooks/test`

Sends a `test.ping` event to your URL. It runs the real path: signed with your secret, and retried on failure, the same as any live event.

Returns `202` with the event id. Check it landed with `GET /v1/webhooks/events?event_type=test.ping`.

Returns `409` if your tenant has no URL, or no secret, set yet.

## Added — `POST /v1/webhooks/events/{id}/redeliver`

Puts a stuck event back on the queue. Its attempt count resets to zero, so it gets a full retry run again. The new attempt signs with your current secret.

```bash
curl -X POST https://api.quotastack.io/v1/webhooks/events/{event_id}/redeliver \
  -H "X-API-Key: qs_live_..." \
  -H "Idempotency-Key: redeliver:{event_id}"
```

Only an event in `dead_letter` status can be pulled back this way. Any other status returns `409`.

## Added — `test.ping` event

A new catalog entry. It fires only from the test endpoint above, never from real traffic.

## Not included

The normal retry run still stops after 7 tries. Pulling a stuck event back is manual, on your own clock.

See [Webhooks](/docs/concepts/webhooks#debugging-deliveries) for the full delivery log and retry rules.
