# Redeliver

`POST https://api.signwithsigil.com/v1/webhooks/{uid}/deliveries/{id}/redeliver`

Queue a delivery again, with a fresh set of attempts, and start it right away.

For a `failed` delivery once the receiver is fixed, or to replay a `sent` one. The body and `X-Sigil-Delivery` are the same as before; the signature is computed anew at send time.

## Authorization

Header `Authorization: Bearer sgk_…` (or `X-Api-Key: sgk_…`).

## Path parameters

- `uid` (string, required): The webhook's 8-character id. Not case-sensitive.
- `id` (string, required): The delivery's `uid`.

## Response

`202 undefined`: The [delivery](/api-reference/objects/delivery), `pending` again. Fetch it a moment later for the result.

- `uid` (string): The delivery's id, also sent as `X-Sigil-Delivery`. A retry repeats it.
- `event_id` (string): The event's id, the body's `id`: the same for this event's delivery to each of your endpoints.
- `type` (string): The [event type](/webhooks#events). One of: `pact.sent`, `pact.viewed`, `pact.signed`, `pact.declined`, `pact.voided`, `pact.sealed`, `pact.lapsed`, `ping`.
- `pact_uid` (string | null): The pact the event is about. `null` for a `ping`.
- `status` (string): `pending` is queued or waiting for its next attempt; `sent` got a `2xx`; `failed` was given up on. One of: `pending`, `sent`, `failed`.
- `attempts` (integer): Attempts made so far (7 at most).
- `last_code` (integer | null): The HTTP status of the last attempt, or `null` when it got no response.
- `last_error` (string | null): Why the last attempt did not count as delivered: the status and the start of your response body, a timeout, or a connection error.
- `next_attempt` (string (date-time) | null): When it will next be tried, while `pending`.
- `date_created` (string (date-time)): When the event was queued.
- `date_sent` (string (date-time) | null): When it was delivered.

## Errors

| Status | When |
|---|---|
| 401 | The API key is missing, wrong or revoked. |
| 403 | The account's plan does not include API access (Pro and Business do). |
| 404 | No webhook with that id belongs to your account. |
| 404 | No delivery with that id for this endpoint. |
| 409 | The endpoint is disabled, or the delivery is being attempted right now. |

Every error body is `{ "error": "message" }`.

## Example request

```bash
curl -X POST https://api.signwithsigil.com/v1/webhooks/W8NQ3KTE/deliveries/HD7KQ4WEPZ9TXM3C/redeliver \
  -H "Authorization: Bearer $SIGIL_API_KEY"
```

## Example response

```json
{
  "uid": "HD7KQ4WEPZ9TXM3C",
  "event_id": "EV3QK9WT7PZMXDH4",
  "type": "pact.sealed",
  "pact_uid": "K4TQ7MZE",
  "status": "pending",
  "attempts": 0,
  "last_code": 200,
  "last_error": null,
  "next_attempt": "2026-10-23T08:31:00Z",
  "date_created": "2026-10-21T09:12:45Z",
  "date_sent": null
}
```
