Get Request Zones
GEThttps://api.uber.com/v1/health/zones
¶ Description
Returns information pertaining to specialized pickup locations for venues like airports, hospitals, concert arenas, and other large access points. Using these locations when available will help ensure that your guest is picked up quickly and in the right place.
Uber maintains these zones for many locations already, but you can create your own zones to help drivers with navigation for locations you commonly use.
The response consists of a zone, which can be either “non-hierarchical” or “hierarchical.”
Non-hierarchical zones contain an array of access points, which are points at which the rider can be picked up - for example, if a concert venue has a series of pickup points located around its perimeter, those would be returned as access_points
on the top-level response field master_zone
.
On the other hand, hierarchical zones contain an array of sub-zones, which themselves have arrays of access points. For example, an airport could have different pickup zones for its terminals, which themselves could have access points - in this case, the airport would be the master zone, the terminals would be the airport’s sub-zones, and each of the terminals would have an array of access points where the rider can be picked up.
When creating trips at specialized pickups, the following fields should be set on the /v1/health/trips request:
field on /v1/health/trips | Value | Description |
---|---|---|
start_place.place_id | string | The selected access point’s id, i.e. access_point.id |
start_place.provider | string | The constant uber_geofences |
start_place.zone_id | string | The id of the most immediate parent zone, i.e. master_zone.id for non-hierarchical pickups, master_zone.sub_zones[i].id for hierarchical pickups |
If these fields are not set and only the latitude and longitude are provided for a specialized pickup zone, the driver may not see the correct title for the location and will not receive any wayfinding notes to help navigating to the location.
¶ Authorization
OAuth 2.0 Bearer token with the health
scope.
¶ Request parameters
Name | Type | Description |
---|---|---|
latitude | float | The latitude of the request. |
longitude | float | The longitude of the request. |
vehicle_view_id | int | (optional) The intended vehicle_view_id to be used to create the trip. Some access points have filters which preclude vehicles with certain vehicle_view_ids from picking up riders at the access point. If a vehicle_view_id is provided, the access points returned in the master_zone or its associated sub_zones will be filtered to only returned access points that are valid for that vehicle_view_id; if vehicle_view_id is not provided, all access points will be returned. See /v1/health/trips/estimates for more information regarding vehicle_view_ids. |
place_id | string | (optional) The place ID to be used to fetch nearby access points. |
place_provider | string | (optional) The provider of the above place ID, e.g. uber_places and google_places . |
¶ Response parameters
Name | Type | Description |
---|---|---|
master_zone |
object |
Root object containing zone information. |
master_zone.id |
string |
The unique ID of the zone. |
master_zone.name |
string |
The name of the zone, e.g. “John F. Kennedy International Airport”. |
master_zone.address_line1 |
string |
The first address line of the zone. |
master_zone.address_line2 |
string |
The second address line of the zone. Might be null. |
master_zone.latitude |
string |
The latitude of the zone. |
master_zone.longitude |
string |
The longitude of the zone. |
master_zone.categories |
array |
An array of string categories that characterize the zone, i.e. “airport”, “hospital”, “theater” etc. |
master_zone.polygon |
string |
A string representing a list of coordinates that enclose the zone, encoded in Encoded Polyline Algorithm Format. |
master_zone.sub_zones |
array |
Array of zones that are children of the master_zone. See object definition for master_zone. Will be null for terminal zones. |
master_zone.access_points[i].id |
string |
The unique ID of the access point. |
master_zone.access_points[i].label |
string |
The name of the access point, e.g. “Pick-Up A”. |
master_zone.access_points[i].latitude |
float |
The latitude of the access point. |
master_zone.access_points[i].longitude |
float |
The longitude of the access point. |
master_zone.access_points[i].rider_wayfinding_note |
string |
A note that helps the rider find the pick-up point, i.e. “Meet your driver on the corner of 23rd St & 5th Ave”). Not provided for all access points. Sent via SMS for on-demand rides and in addition to scheduled / flexible ride reminder SMSs. |
bounding_box |
object |
A rectangle consisting of two {latitude, longitude} pairs that encapsulates the zones returned. |
bounding_box.north_east_lat |
float |
A latitude corresponding to the north-east corner of the bounding box rectangle. |
bounding_box.north_east_lng |
float |
A longitude corresponding to the north-east corner of the bounding box rectangle. |
bounding_box.south_west_lat |
float |
A latitude corresponding to the south-west corner of the bounding box rectangle. |
bounding_box.south_west_lng |
float |
A longitude corresponding to the south-west corner of the bounding box rectangle. |
access_points[i].id |
string |
The unique ID of the access point. |
access_points[i].label |
string |
The name of the access point, e.g. “Electioneer Rd”. |
access_points[i].latitude |
float |
The latitude of the access point. |
access_points[i].longitude |
float |
The longitude of the access point. |
access_points[i].rider_wayfinding_note |
string |
A note that helps the rider find the pick-up point, i.e. “Meet at your pickup spot on Electioneer Rd”). Not provided for all access points. Sent via SMS for on-demand rides and in addition to scheduled / flexible ride reminder SMSs. |
Try It Replace the token in the below request and use it in a terminal to preview a zone response.
¶ Example request (bounding box and master zone)
curl -X GET \
-H 'Authorization: Bearer $UBER_TOKEN' \
'https://sandbox-api.uber.com/v1/health/zones?latitude=40.6413&longitude=-73.7781'
¶ Example request (bounding box)
curl -X GET \
-H 'Authorization: Bearer $UBER_TOKEN' \
'https://sandbox-api.uber.com/v1/health/zones?latitude=37.7678862&longitude=-122.4294484'
¶ Example request (bounding box and access points)
curl -X GET \
-H 'Authorization: Bearer $UBER_TOKEN' \
'https://sandbox-api.uber.com/v1/health/zones?latitude=37.4253501&longitude=-122.1828359&place_id=ChIJw9EyTNakj4ARLgYZv1Gdp4I&place_provider=google_places'
¶ Example Response: Hierarchical zone (master zone -> sub zone -> access point)
{
"bounding_box": {
"north_east_lat": 40.64579533968136,
"north_east_lng": -73.77217574100271,
"south_west_lat": 40.63680466031865,
"south_west_lng": -73.78402425899729
},
"master_zone": {
"id": "bee23dac-5a74-46ca-a9bd-147253f34ee9",
"name": "John F. Kennedy International Airport",
"address_line1": "John F. Kennedy International Airport",
"address_line2": null,
"categories": ["airport"],
"polygon": "igdwFvrqaMvj@atAdo@u`AoFoCma@nKq@uB{@}OkKwdAsVpc@eHo@kXq^lMsm@tg@crAvS_g@n]cm@|Rm[fXgBh\\lE|f@|dBdKt[x`@dKx`@fKu|A`aEieAbb@CBcRtm@eWbb@edApC",
"latitude": 40.640596819011776,
"longitude": -73.78226145095424,
"access_points": null,
"sub_zones": [
{
"id": "5c944720-b172-42d3-b74c-5b0b8f8e682f",
"name": "Terminal 4, Arrivals",
"address_line1": "Terminal 4, Arrivals",
"address_line2": null,
"categories": ["airport"],
"polygon": "ahawFlfjaMqMsZrOcOdCoFhEbFwCvHxE~IdKmIv\\pAqw@f^",
"latitude": 40.640596819011776,
"longitude": -73.78172083623768,
"access_points": [
{
"id": "7dd8e48e-2635-489f-8fb3-306d9f47b521",
"label": "Pick-Up A",
"latitude": 40.6442406,
"longitude": -73.7835249,
"rider_wayfinding_note": "Meet your driver curbside on the Arrivals (lower) level, following signs for Ground Transportation and Passenger Pick Up."
},
{
"id": "3ba1a3d7-8792-4c99-8329-5c1f2aee36f5",
"label": "Pick-Up B",
"latitude": 40.6443813,
"longitude": -73.7832683,
"rider_wayfinding_note": "Meet your driver curbside on the Arrivals (lower) level, following signs for Ground Transportation and Passenger Pick Up."
}
]
},
{
"id": "b39af35a-557b-4726-82b8-122121cdf167",
"name": "Terminal 5, Arrivals",
"address_line1": "Terminal 5, Arrivals",
"address_line2": null,
"categories": ["airport"],
"polygon": "w|awFhfiaMwDaLzGkRrCcSjAk@h@lF[vHrFzG}BjGuF\\OdEaEjK",
"latitude": 40.64638469610314,
"longitude": -73.77633212812239,
"access_points": [
{
"id": "d642dba0-8391-4ebc-8630-6acf8f976460",
"latitude": 40.646658,
"longitude": -73.776801,
"label": "Upper Level, Door 8 (use after 1pm)",
"rider_wayfinding_note": "Use Departures Level pickups after 1pm; use Arrivals Levels pickups before 1pm"
},
{
"id": "eff28b68-988a-4f41-8f83-d212b95c0fd6",
"latitude": 40.64655604,
"longitude": -73.77669561,
"label": "Upper Level, Door 7 (use after 1pm)",
"rider_wayfinding_note": "Use Departures Level pickups after 1pm; use Arrivals Levels pickups before 1pm"
}
]
}
]
}
}
¶ Example Response: Non-hierarchical zone (master zone -> access point)
{
"bounding_box": {
"north_east_lat": 40.764122329658235,
"north_east_lng": -73.97942218748364,
"south_west_lat": 40.75513165029554,
"south_west_lng": -73.9912917716372
},
"master_zone": {
"id": "7d9968b3-be48-42c2-9eef-1018a24423b3",
"name": "Times Square",
"address_line1": "Times Square",
"address_line2": null,
"categories": ["train", "marketplace_optimization"],
"polygon": "kiwwF~oqbMmQuFdCiIjOvKcAfD",
"latitude": 40.758230644713244,
"longitude": -73.98539351865526,
"access_points": [
{
"id": "b000a6e1-99dd-4d7a-ad04-10430342aef2",
"label": "W 47th St. & Broadway",
"latitude": 40.75962698997689,
"longitude": -73.98535697956041,
"rider_wayfinding_note": "Meet your driver on the NW corner of 47th St. & Broadway in front of the Starbucks"
},
{
"id": "ea9ff148-addd-4dfb-9846-55279f61d99c",
"label": "W 46th St. & Broadway",
"latitude": 40.75887508059204,
"longitude": -73.98551454664293,
"rider_wayfinding_note": "Meet your driver on the NW corner of 46th St. & Broadway in front of American Eagle"
}
],
"sub_zones": null
}
}
¶ Example empty zone response
(access points only)
{
"bounding_box": {
"north_east_lat": 37.80663433968135,
"north_east_lng": -122.41305064816747,
"south_west_lat": 37.79764366031865,
"south_west_lng": -122.42442935183253
},
"master_zone": null,
"access_points": [
{
"id": "90f5c43c-4c60-4409-b4bf-e4ebe0ffc4cf",
"latitude": 37.8020597,
"longitude": -122.4180167,
"label": "Leavenworth St",
"rider_wayfinding_note": "Meet at your pickup spot on Leavenworth St"
},
{
"id": "aaaadf5a-6484-4e2b-a44a-8adf2bbfea2e",
"latitude": 37.8018747,
"longitude": -122.41956,
"label": "Hyde St",
"rider_wayfinding_note": "Meet at your pickup spot on Hyde St"
}
]
}