Errors
The Signature API uses the following general HTTP status codes for errors.
Code | Text | Description |
---|---|---|
400 | Bad Request | A required request parameter is missing or invalid; or the request cannot be fulfilled for some non-error reason |
401 | Unauthorized | The provided authentication data is invalid or disabled. |
404 | Not Found | The specified resource could not be found. |
>=500 | Internal Server Error | Something went wrong on our end. Please try again later. |
Errors are returned in the following general format:
{
"error": {
"code": "restaurant_closed",
"message": "The restaurant is currently closed"
}
}
There are common errors possible on all endpoints and some endpoint-specific ones.
Get Restaurants
Text | Error Message | Description |
---|---|---|
Bad Request | lat should be a number | Latitude is not in the correct format |
Bad Request | lon should be a number | Longitute is not in the correct format |
Bad Request | requested brand is not part of the integrator | Brand ID is not incorrect |
Create Quote
These errors also apply to the Create Order endpoint.
Text | Error Message | Description |
---|---|---|
Invalid Address | address.line1 is required | - |
Invalid Address | address.city is required | - |
Invalid Address | Invalid request body | This happens when address is mixed together with lat/lon |
Invalid Address | could not resolve the provided address | - |
Invalid Addresss | could not uniquely identify the address | - |
Bad Request | restaurant not found, id=<id> | Restaurant can't be found based on provided ID |
Undeliverable | the destination address is undeliverable | - |
Undeliverable | the postcode is undeliverable | - |
Undeliverable | postcode not found | - |
Restaurant Closed | restaurant is closed | - |
Restaurant Just Closed | restaurant just closed | - |
Max Delivery Time Exceeded | * | Delivery would take too long |
Restaurant Not Found | * | Restaurant can't be found based on provided ID |
Restaurant Disabled | * | This restaurant is disabled |
Restaurant Insufficient_scope | * | This restaurant is not on Signature API |
Busy Rider Fleet | All riders in the area are busy, please try again later | All riders in the area are busy or when it is off-peak time there are not enough riders |
Create Order
Text | Error Message | Description |
---|---|---|
Duplicate Order ID | * | The specified order ID already exists |
Quote Not Found | quote not found, id=<id> | Could not find the quote the order is associated with in the request |
Idempotency Check | request is currently being processe | The initial request submitted with the provided idempotency key is still being processed |
Unprocessable Entity | <key> cannot be reused with a different request body | - |
Partner Fee Missing | partner_fee_fractional field must be provided | - |
Invalid Short ID | short_id must be a number | The value used as a human-readable ID is invalid |
Modifiers Malformed | * | Order items contain unexpected modifiers for parent, or quantity |
Quote Expired | quote id=<id> expired at <timestamp> | The quote used to create the order has expired. New quote needs to be created. |
Age Confirmation Required | selected item requires age confirmation as it contains alcohol | Customer's drinking age needs to be confirmed (customer.drinking_age_confirmed ) |
Menu Item Unavailable | order contains item that has run out of stock, item=<id> | - |
Menu Item Not Found | no item with id exists, id=<id> | - |
Invalid Country | provided country_code is invalid | - |
Bad Request | order has already been placed | - |
Bad Request | malformed or unexpected json | - |
Customer Blocked | Customer is blocked by Deliveroo | Customer is blocked by due to fraudulent behaviour. |
Other Generic Errors
Text | Description |
---|---|
Bad Gateway | An error occurred on one of our internal systems, please retry |
Internal Server Error | An error occurred on one of our internal systems, please retry |
Service Unavailable | Deliveroo has temporarily disabled this service |
Bad Request | Something went wrong with request validation in a way we haven't documented yet |
Unauthorized | Missing or invalid API key or secret |
Not found | The specified resource could not be found |
Updated over 1 year ago