Three lines

Uber

Developers

[API] Get Drivers Realtime Status

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.

Get real time status of single driver/all drivers linked to a supplier organization.

Resource

/v1/vehicle-suppliers/drivers/actions

HTTP Method

GET

Access Method

Client Credentials

Required scopes

Primary - solutions.suppliers.drivers.status.read

Usage

The client should access the Get Organizations API that fetches the child organizations for the given organisation. This API returns the encrypted IDs for the linked organizations . The clients can then use the encrypted organization ID in the below request for the driver status API to fetch the driver status response.

Support for Hierarchical Data

Not Supported. The API returns the status information of the drivers directly linked to the organization ID passed in the query param as shown in Example Request. It doesn’t support fetching drivers linked to their child organizations

Example Request
curl -i -X GET "https://api.uber.com/v1/vehicle-suppliers/drivers/actions?org_id=<org_id>&page_token=<page_token>&page_size=<page_size>" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \

Example Request with driver filter

curl -i -X GET "https://api.uber.com/v1/vehicle-suppliers/drivers/actions?org_id=<org_id>&page_token=<page_token>&page_size=<page_size>&driver_id=<driver_uuid>" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \

Request Query Parameters
Name Type Required Description
org_id string Y Encrypted organisation UUID.
page_token string N Options for Pagination - page cursor for the page.
page_size int32 Y Options for Pagination - maximum number of records to be fetched in each request 0<x<=100.
driver_id string N Raw driver uuid to get the results for requested driver_uuid.

Response Body Fields
Name Type Nullable Description
driverStatusOverviews object array Y Array of DriverStatusOverview contains driver’s overview information.
paginationResult object N object of type PaginationResult.

DriverStatusOverview

Name Type Description
driverInfo object Object of type DriverInfo, includes driver identity information with phone , first name, last name, email.
vehicleInfo object Object of type VehicleInfo, includes vehicle identity information with license plate.
onboardingStatus string Driver Onboarding Status
statusEntries object array List of StatusEntry which includes List of status logs for each driver. For realtime status, this list has only one item for the latest action. (If there are no action taken by driver in past 7 days then this will be empty list).

Onboarding Status

Onboarding Status Definition
ONBOARDING_STATUS_ACTIVE Indicates Partner is active & considered to have fulfilled all BGC/doc requirements.
ONBOARDING_STATUS_PENDING_ONBOARDING Indicates Partner is PENDING_ONBOARDING status(internal).
ONBOARDING_STATUS_READY_TO_ONBOARDING Indicates Partner is READY_TO_ONBOARDING status (internal).
ONBOARDING_STATUS_ACCEPTED Indicates Partner has consented to a background check.
ONBOARDING_STATUS_INTERVIEWED Indicates that the partner has completed & passed the BGC check, but still may have other requirements to fulfill before being active.
ONBOARDING_STATUS_PENDING_INTERVIEW Indicates partner has been BGC’d, but is waiting for the results of the BGC.
ONBOARDING_STATUS_READY_TO_INTERVIEW Indicates partner consented to BGC & should be BGC’d as next step.
ONBOARDING_STATUS_APPLIED Indicates partner initially gets when they signup and enter onboarding.
ONBOARDING_STATUS_WAITLISTED Indicates Partner is WAITLISTED (internal status).
ONBOARDING_STATUS_REJECTED Indicates Partner status when they are banned or otherwise deemed ineligible for their current flow type.
ONBOARDING_STATUS_WAITLISTED_FOR_MISSING_DOCS Indicates Partner status given when they were previously active, but one of their docs was rejected/expired/etc.
ONBOARDING_STATUS_WAITLISTED_AUTO_REACTIVATION Indicates Partner is waitlisted auto reactivation status (internal).
ONBOARDING_STATUS_DELETED Indicates Partner got deleted.

DriverInfo

Name Type Description
driverUuid string UUID.
firstName string First Name.
lastName string Last Name.
email string Email.
phone string Phone Number.

VehicleInfo

Name Type Description
licensePlate string License plate assigned to the vehicle as per the driver’s last activity.

StatusEntry

Name Type Description
status string Driver status (If there are no action taken by driver in past 7 days then there won’t be any status associated to the driver) - DRIVER_STATUS_ONLINE / DRIVER_STATUS_OFFLINE / DRIVER_STATUS_ONTRIP
timestamp string ISO UTC time format for example 2023-03-30T00:13:55.926Z

Status

Status Definition
DRIVER_STATUS_ONLINE If the driver is online on the platform , but not on any active trip.
DRIVER_STATUS_OFFLINE If the driver is offline on the platform.
DRIVER_STATUS_ONTRIP If the driver is on any leg of the trip.

PaginationResult

Name Type Description
nextPageToken string Can be empty, if there are no more records

Example Response
{
  "statusCode": 200,
  "body": {
    "driverStatusOverviews": [
      {
        "driverInfo": {
          "driverUuid": "<driver_uuid>",
          "firstName": "dummy first name",
          "lastName": "dummy last name",
          "phone": "39303030",
          "email": "abd@gmail.com"
        },
        "vehicleInfo": {
          "licensePlate": "XL39940404"
        },
        "onboardingStatus": "ONBOARDING_STATUS_ACCEPTED",
        "statusEntries": [
          {
            "status": "DRIVER_STATUS_OFFLINE",
            "timestamp": "2023-03-30T00:13:55.926Z"
          }
        ]
      }
    ],
    "paginationResult": {
      "nextPageToken": "1"
    }
  }
}

Pagination
  • If page_token is not specified, then the default value will be blank.

  • If the returned paginationResult object is not empty, it means you can keep calling the endpoint to get the missing entities on the next subsequent requested data, by passing the provided nextPageToken and a valid pageSize (between 1 and 100).

Rate Limit
  • Rate limit for this endpoint is 2000 requests per hour per Developer Application.
Endpoint Specific Errors
Http Status Code Code Message
400 bad_request The request parameters are invalid.
500 internal_server_error Internal server error.
403 unauthenticated User does not have permission.
429 rate_limited Number of requests exceeds allowed limit.
503 service_unavailable Service unavailable.
401 unauthorized Invalid OAuth 2.0 credentials.

Uber

Developers
© 2023 Uber Technologies Inc.