Get Employee Programs
POSThttps://api.uber.com/v2/employees/programs
¶ Use Case
The Get Programs endpoint allows you to get programs for an employee of an organization
¶ Authorization
The Get Programs endpoint requires an access_token using the client credentials (for 1P use-case)
grant to business.trips
scope.
If an application follows third party authentication, the get programs endpoint requires the client to get authorized using the authorization endpoint
¶ Request Body Parameters
Name | Type | Optional | Description |
---|---|---|---|
organization_uuid | string | No | Organization uuid of the organization. |
employee | struct | No | An object of employee details whose programs are needed. |
employee struct
Name | Type | Optional | Description |
---|---|---|---|
string | No | Email id of the employee. |
¶ Response Fields
Name | Type | Description |
---|---|---|
programs | []struct | A list of program struct. |
expense_codes | []struct | A list of expense_code struct. |
program struct
Name | Type | Description |
---|---|---|
uuid | string | Program UUID. |
name | string | Program name. |
description | string | Program Description. |
components | struct | An object of Components of the Program. |
components struct
Name | Type | Description |
---|---|---|
expense_code_component | struct | Expense Code Component of Program. |
per_trip_cap_component | struct | Per Trip Cap Component of Program. |
periodic_cap_component | struct | Periodic Cap Component of Program. |
time_components | []struct | A list of Program Time Components. |
trip_geo_components | []struct | A list of Program Trip Geo Components. |
vehicle_view_component | struct | Vehicle View Component of Program. |
vehicle_category_component | struct | Vehicle Category Component of Program. |
trip_num_component | struct | Trip Number Component of Program. |
time_window_components | []struct | A list of Program Time Window Components. |
expense_code_component struct
Name | Type | Description |
---|---|---|
is_strict | bool | Whether it is mandatory to enter expense code while booking trip. |
is_memo_required | bool | Whether it is mandatory to enter expense code memo while booking trip. |
per_trip_cap_component struct
Name | Type | Description |
---|---|---|
amount | string | The amount cap per trip. |
currency_code | string | Currency code of the amount. |
deductible | string | The amount deductible from organization. |
percentage | int | The percentage amount deductible from organization. |
periodic_cap_component struct
Name | Type | Description |
---|---|---|
amount | string | The max amount per trip. |
currency_code | string | Currency code of the amount. |
period | string | DAILY, WEEKLY, MONTHLY. |
time_component struct
Name | Type | Description |
---|---|---|
start_minute | int | It defines the lower limit of the time range when a trip can be booked. |
end_minute | int | It defines the upper limit of the time range when a trip can be booked. |
days_of_week | []int | Int array defining list of eligible days of week 0 - Sunday, 1 - Monday and so on. |
trip_geo_component struct
Name | Type | Description |
---|---|---|
location_policy_option | string | PICKUP_ONLY, DROPOFF_ONLY, PICKUP_AND_DROPOFF, PICKUP_OR_DROPOFF. |
origins | []struct | Program name. |
destinations | []struct | Program UUID. |
is_dynamic | bool | Program name. |
origin and destination struct
Name | Type | Description |
---|---|---|
latitude | double | Latitude. |
longitude | double | Longitude. |
distance | int | Distance radius. |
name | string | User friendly name for the location. |
address | string | Address as picked from locations. |
vehicle_view_component struct
Name | Type | Description |
---|---|---|
vehicle_view_ids | []int | List of eligible vehicle view ids if applicable. |
vehicle_category_component struct
Name | Type | Description |
---|---|---|
vehicle_categories | []string | List of eligible vehicle categories like ECONOMY, SHARED_RIDES, PREMIUM. |
trip_num_component struct
Name | Type | Description |
---|---|---|
max | string | Maximum number of trips allowed. |
period | string | Period for the max number of trips - DAILY, WEEKLY, MONTHLY. |
time_window_component struct
Name | Type | Description |
---|---|---|
start_timestamp | int | Start timestamp of the time window. |
end_timestamp | int | End timestamp of the time window. |
expense_code struct
Name | Type | Description |
---|---|---|
expense_code | string | Expense code string. |
description | string | Description of the code. |
is_user_specific | bool | If set as false, custom expense code can be entered. |
¶ Example Request
curl -X POST "https://api.uber.com/v1/employees/programs" \
-H "Authorization: Bearer <TOKEN>" \
-H 'content-type: application/json' \
-d '{
"organization_uuid": "<organization_uuid>",
"employee":{
"email": "<email_id>"
}
}'
¶ Example Response
Status-Code: 200 OK
{
"programs": [
{
"uuid": "<program_uuid1>",
"name": "Program name 1",
"description": "Program description",
"components": {
"expense_code_component": {
"is_strict": true,
"is_memo_required": true
},
"per_trip_cap_component": {
"amount": "12",
"currency_code": "USD",
"percentage": 13
},
"time_components": [
{
"start_minute": 480,
"end_minute": 1080,
"days_of_week": [
1,
2,
3,
4,
5
]
}
],
"trip_geo_components": [
{
"location_policy_option": "PICKUP_OR_DROPOFF",
"origins": [
{
"latitude": 40.5795317,
"longitude": -74.1502007,
"distance": 400,
"name": "number 2",
"address": "Staten Island, NY, USA"
},
{
"latitude": 40.78062,
"longitude": -73.9610894,
"distance": 400,
"name": "number 1",
"address": "New York, NY, USA"
}
],
"destinations": [
{
"latitude": 40.5795317,
"longitude": -74.1502007,
"distance": 400,
"name": "number 2",
"address": "Staten Island, NY, USA"
},
{
"latitude": 40.78062,
"longitude": -73.9610894,
"distance": 400,
"name": "number 1",
"address": "New York, NY, USA"
}
],
"is_dynamic": false
}
],
"vehicle_category_component": {
"vehicle_categories": [
"SHARED_RIDES",
"ECONOMY"
]
},
"trip_num_component": {
"max": "4",
"period": "MONTHLY"
},
"time_window_components": null
}
},
{
"uuid": "<program_uuid2>",
"name": "Program name 2",
"description": "Program description",
"components": {
"per_trip_cap_component": {
"amount": "13",
"currency_code": "AED",
"deductible": "132"
},
"time_components": [
{
"start_minute": 480,
"end_minute": 1080,
"days_of_week": [
1,
2,
3,
4,
5
]
},
{
"start_minute": 480,
"end_minute": 1080,
"days_of_week": [
1,
4,
5
]
}
],
"trip_geo_components": null,
"vehicle_category_component": {
"vehicle_categories": [
"SHARED_RIDES",
"ECONOMY",
"PREMIUM"
]
},
"trip_num_component": {
"max": "1",
"period": "MONTHLY"
},
"time_window_components": null
}
}
],
"expense_codes": [
{
"expense_code": "EX1235",
"description": "GROUND TRANSPORTATION FOR CLIENT W"
},
{
"expense_code": "EX1237",
"description": "GROUND TRANSPORTATION FOR CLIENT Y"
}
]
}
¶ Error Responses
HTTP Status | Code | Description |
---|---|---|
400 | BAD_REQUEST | Request specific message |
404 | ENTITY_NOT_FOUND | Request specific message |
403 | UNCONFIRMED_EMAIL | The employee email is not confirmed |
401 | NOT_AUTHORIZED | Caller not authorized to make this request |
429 | rate_limited | Rate limit exceeded |
500 | INTERNAL_SERVER_ERROR | We have experienced a problem |