The Signature API uses the following general HTTP status codes for errors.

CodeTextDescription
400Bad RequestA required request parameter is missing or invalid; or the request cannot be fulfilled for some non-error reason
401UnauthorizedThe provided authentication data is invalid or disabled.
404Not FoundThe specified resource could not be found.
>=500Internal Server ErrorSomething 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

TextError MessageDescription
Bad Requestlat should be a numberLatitude is not in the correct format
Bad Requestlon should be a numberLongitute is not in the correct format
Bad Requestrequested brand is not part of the integratorBrand ID is not incorrect

Create Quote

These errors also apply to the Create Order endpoint.

TextError MessageDescription
Invalid Addressaddress.line1 is required-
Invalid Addressaddress.city is required-
Invalid AddressInvalid request bodyThis happens when address is mixed together with lat/lon
Invalid Addresscould not resolve the provided address-
Invalid Addressscould not uniquely identify the address-
Bad Requestrestaurant not found, id=<id>Restaurant can't be found based on provided ID
Undeliverablethe destination address is undeliverable-
Undeliverablethe postcode is undeliverable-
Undeliverablepostcode not found-
Restaurant Closedrestaurant is closed-
Restaurant Just Closedrestaurant 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 FleetAll riders in the area are busy, please try again laterAll riders in the area are busy or when it is off-peak time there are not enough riders

Create Order

TextError MessageDescription
Duplicate Order ID*The specified order ID already exists
Quote Not Foundquote not found, id=<id>Could not find the quote the order is associated with in the request
Idempotency Checkrequest is currently being processeThe 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 Missingpartner_fee_fractional field must be provided-
Invalid Short IDshort_id must be a numberThe value used as a human-readable ID is invalid
Modifiers Malformed*Order items contain unexpected modifiers for parent, or quantity
Quote Expiredquote id=<id> expired at <timestamp>The quote used to create the order has expired. New quote needs to be created.
Age Confirmation Requiredselected item requires age confirmation as it contains alcoholCustomer's drinking age needs to be confirmed (customer.drinking_age_confirmed)
Menu Item Unavailableorder contains item that has run out of stock, item=<id>-
Menu Item Not Foundno item with id exists, id=<id>-
Invalid Countryprovided country_code is invalid-
Bad Requestorder has already been placed-
Bad Requestmalformed or unexpected json-
Customer BlockedCustomer is blocked by DeliverooCustomer is blocked by due to fraudulent behaviour.

Other Generic Errors

TextDescription
Bad GatewayAn error occurred on one of our internal systems, please retry
Internal Server ErrorAn error occurred on one of our internal systems, please retry
Service UnavailableDeliveroo has temporarily disabled this service
Bad RequestSomething went wrong with request validation in a way we haven't documented yet
UnauthorizedMissing or invalid API key or secret
Not foundThe specified resource could not be found