# Redeliver an event

> Queues a copy of a delivery's event with a new `id` and `redeliveryOf` set to the original event's id.

### POST /v1/webhooks/{id}/deliveries/{deliveryId}/redeliver

**Redeliver an event**

Queues a copy of a delivery's event with a new `id` and `redeliveryOf` set to the original event's id.

Auth: `Authorization: Bearer rl_live_...` with the `productions` scope.

Parameters:

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | uuid | yes | The endpoint id. |
| `deliveryId` | path | uuid | yes | The delivery to copy. |

Responses:

| Status | Meaning |
| --- | --- |
| 202 | The new delivery. |
| 400 | Invalid request. |
| 401 | Missing, invalid or revoked key. |
| 403 | The key lacks the `productions` scope (code `api_key_missing_scope`), or its owner has view-only access to the workspace (code `forbidden`). |
| 404 | No such endpoint or workspace for this key (code `not_found`). |
| 409 | The endpoint is switched off (code `endpoint_disabled`), or points at localhost on a server that cannot reach it (code `wrong_server`). |
| 429 | Rate limited, or a monthly cap reached. |
| 503 | Webhooks are not switched on for this server (code `disabled`). Every webhook route answers this while they are off. |

Response body (202):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `delivery` | object | yes |  |
| `delivery.id` | uuid | yes |  |
| `delivery.endpointId` | uuid | yes |  |
| `delivery.productionId` | uuid \| null | yes |  |
| `delivery.event` | enum | yes | One of: `production.pitch_ready`, `production.skipped`, `production.greenlit`, `production.progress`, `production.delivered`, `production.failed`, `production.declined`, `production.cancelled`, `ping`. |
| `delivery.status` | enum | yes | One of: `pending`, `succeeded`, `exhausted`. |
| `delivery.attempts` | integer | yes |  |
| `delivery.nextAttemptAt` | datetime \| null | yes |  |
| `delivery.lastResponseStatus` | integer \| null | yes |  |
| `delivery.lastResponseBody` | string \| null | yes |  |
| `delivery.lastError` | string \| null | yes |  |
| `delivery.lastAttemptAt` | datetime \| null | yes |  |
| `delivery.deliveredAt` | datetime \| null | yes |  |
| `delivery.createdAt` | datetime | yes |  |

Example (curl):

```bash
curl -X POST https://api.raylight.app/v1/webhooks/$ID/deliveries/$DELIVERY_ID/redeliver \
  -H "Authorization: Bearer $RAYLIGHT_API_KEY"
```

## More

- Previous: [List deliveries](https://www.raylight.app/docs/reference/get-v1-webhooks-id-deliveries.md)
- Next: [A production event, delivered to your endpoint](https://www.raylight.app/docs/reference/webhook-production-event.md)
- All docs: https://www.raylight.app/llms.txt
- Everything in one file: https://www.raylight.app/llms-full.txt
- OpenAPI: https://api.raylight.app/v1/openapi.json
