# Offer Expired | Field | Value | | --- | --- | | Type URI | `https://developer-next.ingrid.com/ingrid-api/errors/delivery/offer-expired` | | Title | Offer Expired | | Recommended Status | 422 Unprocessable Entity | ## Description The `offer-expired` error is returned when creating an order with a token whose delivery offer has expired. Each delivery option returned by `POST /v1/delivery/options` includes a `deliveryTime.expires` timestamp. If the order is created after this time, the offer is no longer valid. ## Common Causes - The customer took too long to complete the checkout after delivery options were fetched - The application cached delivery options and attempted to use a stale token - The delivery time window has passed since the options were originally retrieved ## How to Resolve 1. Re-fetch delivery options by calling `POST /v1/delivery/options` with the current cart and destination 2. Present the updated delivery options to the customer 3. Retry order creation with the fresh token from the new options response To avoid this error, monitor the `deliveryTime.expires` field in the options response and proactively refresh options before they expire. ## Example Response ```json { "type": "https://developer-next.ingrid.com/ingrid-api/errors/delivery/offer-expired", "title": "Offer Expired", "status": 422, "detail": "The delivery offer has expired. Please re-fetch delivery options and retry.", "trace_id": "abc-123-def-456" } ```