Errors
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. |