Three lines

Uber

Developers

Errors

Privileged and Confidential This endpoint design has been confidentially shared with you. It is still under development and is subject to change without notice. Please do not share this document or API endpoint details with anyone who is not authorized to have access. For more information read about scopes.

Errors can and will occur for a variety of reasons.

This guide is meant to help application developers determine the appropriate workflow for a given error.

HTTP response statuses

While calling our API, it is possible to receive errors associated with the following HTTP status codes.

HTTP Status Meaning
400 This status code is typically associated with a “bad request” when something is inherently wrong or malformed.
401 Often this is a result of attempting a forbidden action. The request is likely properly formed, but our system is refusing to take action.
404 This means that the requested resources is not found.
409 This indicates that there is a conflict with a resource, or that resource has expired.
429 Rate limit exceeded.
500 This generically indicates that a hard server error occurred during the request.
Error format

Error responses are consistently formed as a JSON body.

The keys may include:

Field Type Description
code string Uber specific machine-readable code for error such as outside_service_area.
message string Human-readable message that provides more context and possible instructions on how to resolve the error.
shouldRetry bool Boolean value that identifies whether an application should retry the call.
Error Codes
HTTP Status Code Description
400 invalid_payment_method The organization’s payment method is invalid. The organization must update the billing information.
400 card_assoc_outstanding_balance There is an outstanding balance associated with the current payment method. The organization must update the billing information.
400 distance_exceeded The haversine distance between start and end location exceeds 200 miles.
400 validation_failed Validation failed for your request. See message for details.
400 validation_failed The rider is not eligible to ride with Uber. If you proceed to request a ride for this person, your company agrees to take full responsibility for any claims or injuries related to their use of the Uber service. The rider may contact Uber support at the bottom of this page: https://t.uber.com/cant-request-ride
400 product_not_allowed The product being requested is not available to the guest. Have them select a different product to successfully make a request.
400 too_many_cancellations The organization is temporarily blocked due to canceling too many times.
400 outside_service_area Uber guest rides is not available for the given pickup/destination.
400/500 no_product_found An invalid product ID was requested. Retry the API call with a valid product ID.
400 supply_capacity_reached Reserving the selected product is temporarily unavailable at the scheduled pickup time. You can try reserving at a different time, or you can try selecting another ride option.
400 invalid_predicted_dropoff_time Predicted dropoff time is longer than expected.
401 forbidden The organization is forbidden from making a request at this time and should consult our support team by emailing business-api-support@uber.com.
404 invalid_fare_id This fare id is invalid or expired.
409 surge Surge pricing is currently in effect for this product. Please have the guest confirm surge pricing by sending them to the surge_confirmation_href described in the Request Tutorial.
409 fare_expired The fare has expired for the requested product. Please get estimates again, confirm the new fare, and then re-request.
500 internal_server_error An unknown error has occurred.
429 rate_limited Exceeded rate limit.

Uber

Developers
© 2023 Uber Technologies Inc.