# Resend one delivery as a new attempt row; the original is never changed

POST /v1/webhooks/{id}/deliveries/{delivery_id}/resend: Resend one delivery as a new attempt row; the original is never changed

```http
POST /v1/webhooks/{id}/deliveries/{delivery_id}/resend
```

|  |  |
|---|---|
| Operation id | `resendWebhookDelivery` |
| Key scope | `admin`: admin keys only |
| Section | [Webhooks](https://docs.kaab.ist/reference/api#webhooks) |

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | string | yes | pattern `^whk_[0-9a-hjkmnp-tv-z]{26}$` |
| `delivery_id` | path | string | yes | pattern `^dlv_[0-9a-hjkmnp-tv-z]{26}$` |

## Example request

```bash
curl -X POST "https://api.kaab.ist/v1/webhooks/{id}/deliveries/{delivery_id}/resend" \
  -H "Authorization: Bearer $KAAB_API_KEY"
```

## Responses

### 202

Delivery

[WebhookDelivery](https://docs.kaab.ist/reference/api/schemas/webhook-delivery)

```json
{
  "id": "dlv_01j9zqk3q7m4n5p6r7s8t9v0wx",
  "object": "webhook_delivery",
  "endpoint_id": "whk_01j9zqk3q7m4n5p6r7s8t9v0wx",
  "event_id": "evt_01j9zqk3q7m4n5p6r7s8t9v0wx",
  "event_type": "job.needs_attention",
  "origin": "planned",
  "attempt": 2,
  "status": "pending",
  "response_code": 500,
  "response_ms": 1200,
  "response_body": "upstream exploded",
  "error": "http_500",
  "next_retry_at": "2026-09-18T10:05:00Z",
  "last_attempt_at": "2026-09-18T10:00:01Z",
  "created_at": "2026-09-18T10:00:00Z"
}
```

## Errors

Every error answers with the [error envelope](https://docs.kaab.ist/reference/api/schemas/error-response); its `code` is one of the [error codes](https://docs.kaab.ist/reference/codes#errors).

| Status | When |
|---|---|
| 400 | `request_invalid`: request validation failed |
| 401 | Missing or invalid API key |
| 402 | `insufficient_credits`: top up to continue |
| 403 | The key's scope does not cover this operation |
| 404 | Resource not found |
| 409 | Conflicting state (see `error.code`) |
| 422 | Semantically invalid request (see `error.code`) |
| 429 | Rate limited; see `Retry-After` |
| 500 | `internal`: unexpected server error |
