---
title: "Retry a webhook delivery"
method: POST
path: "/sender/webhooks/{id}/retry"
tags: ["Sender"]
---

# Retry a webhook delivery

`POST /sender/webhooks/{id}/retry`

Replays a webhook delivery using its original frozen payload.

- **Synchronous** (`?sync=true`): the payload is re-sent immediately and the
  HTTP result is returned inline (`200`).
- **Asynchronous** (default): a new `pending` delivery is queued for the retry
  worker and the new delivery ID is returned (`202`).

Returns `404` if the delivery belongs to another sender.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `sync` boolean

## Response `200`

Synchronous retry result

- object
  - `status` string
  - `data` WebhookRetryResult — Result of a synchronous retry (`?sync=true`). Reports the HTTP outcome of replaying the original payload inline.
    - `id` string, uuid — ID of the delivery record created for this retry.
    - `status` 'success' | 'failed'
    - `httpStatusCode` integer
    - `durationMs` integer
    - `errorMessage` string

## Other responses

- `202` — Asynchronous retry queued
- `401` — Unauthorized
- `404` — Delivery not found

---

[API](https://skmtc.net/paycrest/apis/paycrest-aggregator-api.md) · [All operations](https://skmtc.net/paycrest/apis/paycrest-aggregator-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paycrest/paycrest-aggregator-api/revisions/f20903971a91/schema)
