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 |