Three lines

Uber

Developers

Get Employee Programs

POSThttps://api.uber.com/v2/employees/programs

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

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
email 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

Uber

Developers
© 2025 Uber Technologies Inc.