# Create a Re-Delivery Create a new delivery based on an existing delivery that is in `pending_return`, `returned`, or `cancelled` status. All fields from the original delivery are copied to the new record automatically — you only need to provide the fields you want to override. The new delivery reference will be automatically prefixed with `RD-` to distinguish it from the original. *** ## Endpoint ``` POST {{domain}}/{{tenant_id}}/deliveries/{{delivery_id_or_reference}}/redeliver ``` **Authentication:** Bearer token required via the `Authorization` header. *** ## Path Parameters | Parameter | Description | | -------------------------- | -------------------------------------------------------------------------------------- | | `delivery_id_or_reference` | The Rendr `delivery_id` or your own `reference` of the original delivery to redeliver. | *** ## Request Payload At minimum, `ready_for_pickup_at` is required. Any additional fields provided will override the values copied from the original delivery. ```json title="POST /{{tenant_id}}/deliveries/{{delivery_id_or_reference}}/redeliver" { "ready_for_pickup_at": "2023-10-03T11:30:00+10:00", "use_dynamic_RFP": true } ``` ## Request Fields | Field | Type | Required | Description | | ---------------------- | ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- | | `ready_for_pickup_at` | String (ISO 8601) | Yes | The earliest date and time the re-delivery order will be ready for carrier collection. | | `use_dynamic_RFP` | Boolean | No | When `true`, Rendr will dynamically adjust the pickup time based on real-time carrier availability. | | *(any delivery field)* | — | No | Any field from the standard Create Delivery payload can be included to override the corresponding value from the original delivery. | The behaviour on creation follows the same rules as a standard delivery. If `book_delivery_now: true` is set, the re-delivery will be submitted for booking immediately and transition to `booked`. Otherwise it will be created in `requested` state and await booking. Ensure `ready_for_pickup_at` reflects an accurate pickup time, as the carrier will be allocated based on this value.