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

400Bad requestA required parameter is missing or invalid, or the destination cannot be delivered.
401UnauthorizedThe provided API key and API token is invalid or disabled.
404Not foundThe specified resource could not be found.
>=500Internal server errorSomething went wrong on our end. You’ll have to try again later once we’ve fixed it.

Errors return a JSON structured like this, where message may contain more specific information:

  "error": {
    "code": "missing_configuration",
    "message": "refund url is missing"

Additionally, the returned JSON error will contain additional details for developers in the message field, as well as a specific error code.

bad_gatewayAn error occurred on one of our internal systems. You may try again.
bad_requestGenerally as a result of a validation issue.
duplicate_order_idThe specified order identifier already exists.
menu_item_unavailableOrder contains item that has run out of stock.
missing_configurationYour account is missing required configuration.
modifiers_malformedOrder items contain unexpected modifiers for parent, or quantity.
not_foundThe specified resource could not be found.
restaurant_closedThe restaurant is currently closed.
unauthorizedMissing or invalid API key or secret.
undeliverableThe destination address is undeliverable, can occur at order creation.
unprocessable_entityIdempotency key was reused with a different request body.
idempotency_checkThe initial request submitted with the provided idempotency key is still being processed.
busy_rider_fleetAll riders in the area are busy or when it is off-peak time there are not enough riders.