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.
Use case
Use this endpoint to retrieve products information for a specific location.
Please for this endpoint add x-uber-organizationuuid header and the Organization UUID as the value for retrieve the products based on the program’s organization.
Authorization
OAuth 2.0 Bearer token with the required scope.
Request Parameters
Name |
Type |
Description |
Required? |
pickup.point |
object |
Specifies the location for the beginning of the trip. |
yes |
pickup.point.latitude |
float |
The pickup latitude to the beginning of the trip. |
yes |
pickup.point.longitude |
float |
The pickup longitude to the beginning of the trip. |
yes |
pickup.address |
string |
The pickup address to the beginning of the trip. |
no |
pickup.place |
object |
Specifies details about the pickup location, including its ID. |
no |
pickup.place.place_id |
string |
The place ID in provider’s namespace. For pickups at specialized pickups, should be set to the ID of an access point. |
no |
Required Parameters Rule: One of pickup.point
, pickup.address
or pickup.place
is required.
Request
Example request with Point
curl -X POST \
-H "authorization: Bearer $UBER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pickup": {
"point": {
"latitude": 47.623,
"longitude": -122.337
}
}
}' \
'https://api.uber.com/v1/trips/products-info'
Example request with Address
curl -X POST \
-H "authorization: Bearer $UBER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pickup": {
"address": "410 Terry Ave N, Seattle 98109, WA"
}
}' \
'https://api.uber.com/v1/trips/products-info'
Example request with Place ID
curl -X POST \
-H "authorization: Bearer $UBER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pickup": {
"place": {
"place_id": "ChIJAWKcFGKAhYARIMcF3a4f9vg"
}
}
}' \
'https://api.uber.com/v1/trips/products-info'
Response Fields
Name |
Type |
Description |
product_id |
string |
Unique string identifier representing a specific product. |
display_name |
string |
Display name of product |
description |
string |
Description of product |
short_description |
string |
An abbreviated description of the product. |
product_group |
string |
The product group that this product belongs to. One of rideshare, uberx, uberxl, uberblack, suv or taxi. |
upfront_fare_enabled |
bool |
Specifies whether this product allows upfront fares. |
shared_enabled |
bool |
Specifies whether this product allows for the pickup and dropoff of other riders during the trip. |
capacity |
int |
Capacity of product (vehicle). For example, 4 people. |
parent_product_type_id |
string |
Unique string identifier of the product_group. Can be used in place of product_group to identify the top-level product type. |
reserve_info |
object |
Object containing reservation eligibility and details of reservation. |
cancellation_info |
object |
Object specifying the product’s cancellation policy |
fare_info |
object |
Object specifying fare details for a given product. |
FareInfo object
Name |
Type |
Description |
fare_info.min_fare |
float |
Specifies the minimum fare amount charged for a trip. |
fare_info.base_fare |
float |
Specifies the initial fare charged when a rider begins their trip. |
fare_info.cost_per_minute |
float |
Specifies the fare charged per minute in a trip. |
fare_info.cost_per_mile |
float |
Specifies the fare charged per mile in a trip. |
fare_info.cost_per_km |
float |
Specifies the fare charged per km in a trip. |
fare_info.currency_code |
string |
Specifies the currency code to specify the current amount based on the location. |
Cancellation_Info object
Name |
Type |
Description |
min_cancellation_fee |
int |
Specifies the minimum cancel fee amount to be charged after the grace period ends for rider-initiated cancels. It is also added to subsequent cancels past the grace period limit. |
free_cancellation_threshold_sec |
int |
Specifies the number of seconds in which the rider is able to cancel without incurring any fee. |
Reserve_Info object
Name |
Type |
Description |
enabled |
bool |
Specifies whether this product supports Uber Reserve. |
min_fare |
double |
Specifies the minimum fare that to be charged for a reservation trip. |
reservation_fee |
double |
Specifies the reservation fee to be charged for a reservation trip. |
fixed_cancellation_fee |
double |
Specifies the fixed cancellation fee to be charged for a reservation trip. |
scheduled_threshold_minutes |
int |
Specifies the number of minutes in advance the trip must be booked to be an Uber Reserve trip. |
free_cancellation_threshold_minutes |
int |
Specifies the number of minutes before the scheduled pickup time an Uber Reserve trip must be canceled for no cancellation fee. |
cancellation_policy |
object{type, fee} |
Specifies the cancellation fee policy for a ride. |
add_ons |
arra |
Contains special reservations feature add ons. Possible values: UNKNOWN = 0 AIRPORT_PICKUP_WITH_FLIGHT_TRACKING = 1 |
cancellation_policy contains the following attributes: type
(string): Specifies the type of cancellation fee policy. fee
(float): Specifies the cancellation fee associated with the policy. The values for type are:
Type |
Description |
FULL FARE |
Specifies that the entire rider upfront fare will be charged to the rides as cancellation fee. |
MIN FARE |
Specifies that the minimum fare will be charged to the rides as cancellation fee. |
FIXED FEE |
Specifies that a fixed fee will be charged to the rides as cancellation fee. |
DISABLED |
By default, it will be disabled. |
Example Response
Status-Code: 200 OK
{
"body": {
"result": {
"products": [
{
"capacity": 4,
"description": "Luxury rides by the hour with professional drivers",
"displayName": "Black Hourly",
"fareInfo": {
"baseFare": 0,
"costPerMile": 0,
"costPerMinute": 0,
"currencyCode": "USD",
"minFare": 0
},
"parentProductTypeID": "5354dad7-2f82-405b-b99a-9ff8acd70223",
"productID": "7a19daaa-73d7-43f6-aa61-35d141a18d0b",
"reserveInfo": {
"addOns": [],
"cancellationPolicy": {
"fee": 120,
"type": "MIN_FARE"
},
"currencyCode": "USD",
"enabled": false,
"fixedCancellationFee": 0,
"freeCancellationThresholdMinutes": 60,
"minFare": 120,
"reservationFee": 15,
"scheduledThresholdMinutes": 120
},
"shared": false,
"shortDescription": "Black Hourly",
"upfrontFareEnabled": true
},
{
"capacity": 4,
"description": "Affordable rides, all to yourself",
"displayName": "UberX",
"fareInfo": {
"baseFare": 0,
"costPerMile": 0,
"costPerMinute": 0,
"currencyCode": "USD",
"minFare": 0
},
"parentProductTypeID": "6a8e56b8-914e-4b48-a387-e6ad21d9c00c",
"productID": "0ca28ac6-5450-413b-a36c-463a3c23d7b6",
"reserveInfo": {
"addOns": ["AIRPORT_PICKUP_WITH_FLIGHT_TRACKING"],
"cancellationPolicy": {
"fee": 0,
"type": "FULL_FARE"
},
"currencyCode": "USD",
"enabled": true,
"fixedCancellationFee": 0,
"freeCancellationThresholdMinutes": 60,
"minFare": 42,
"reservationFee": 38,
"scheduledThresholdMinutes": 120
},
"shared": false,
"shortDescription": "UberX",
"upfrontFareEnabled": true
},
{
"capacity": 4,
"description": "Luxury rides with professional drivers",
"displayName": "Black",
"fareInfo": {
"baseFare": 0,
"costPerMile": 0,
"costPerMinute": 0,
"currencyCode": "USD",
"minFare": 0
},
"parentProductTypeID": "f1faedb7-5825-484f-b236-24e2cd95ec23",
"productID": "38d5a823-ad67-4e03-a6e3-629c340cfdf3",
"reserveInfo": {
"addOns": ["AIRPORT_PICKUP_WITH_FLIGHT_TRACKING"],
"cancellationPolicy": {
"fee": 0,
"type": "FULL_FARE"
},
"currencyCode": "USD",
"enabled": true,
"fixedCancellationFee": 0,
"freeCancellationThresholdMinutes": 60,
"minFare": 93,
"reservationFee": 10,
"scheduledThresholdMinutes": 120
},
"shared": false,
"shortDescription": "Black",
"upfrontFareEnabled": true
}
]
}
}
}
Error Responses
HTTP Status |
Code |
Description |
400 |
BAD_REQUEST |
Suggests that the server was unable to understand or process the request due to its incorrect or malformed structure. |
404 |
NOT_FOUND |
Indicates that the requested entity could not be located within the server or database. |
403 |
FORBIDDEN |
Indicates that the server understood the request but refuses to authorize it. |
401 |
NOT_AUTHORIZED |
Implies that the client lacks the necessary permissions or credentials to perform the requested operation. |
500 |
INTERNAL_SERVER_ERROR |
Represents an unanticipated error occurred on the server side while processing the request. |