Three lines

Uber

Developers

GET /partners/me

Access to the Driver API is currently limited access. If you are interested in using this API, you can apply for access on the Drivers Product Page.

Profile

The Profile endpoint returns the profile of the authenticated driver. A profile includes information such as name, email, rating, and activation status.

Resource

/v1/partners/me

HTTP Method

GET

Access Method

Authorization Code

Required scopes

Primary - partner.accounts
Optional - partner.accounts.personal_info, partner.accounts.personal_info.cpf, partner.accounts.compliance_info

Example Request
curl "https://api.uber.com/v1/partners/me" \
  -H "Authorization: Bearer <TOKEN>"

Example Response
Status-code: 200 OK
{
    "driver_id":"8LvWuRAq2511gmr8EMkovekFNa2848lyMaQevIto-aXmnK9oKNRtfTxYLgPq9OSt8EzAu5pDB7XiaQIrcp-zXgOA5EyK4h00U6D1o7aZpXIQah--U77Eh7LEBiksj2rahB==",
    "first_name":"Uber",
    "last_name":"Tester",
    "email":"uber.developer+tester@example.com",
    "phone_number":"+14155550000",
    "picture":"https://d1w2poirtb3as9.cloudfront.net/16ce502f4767f17b120e.png",
    "rating":5,
    "date_of_birth":"1992-09-09",
    "activation_status": "active",
    "promo_code": "a1smkkps",
    "encrypted_symmetric_key":"CAPDVS9BS18iAAQs+WmS18ynsEsjpFNW5vTeVWwlDvTe7D==",
    "driving_license":{
        "encrypted_license_number":"License number encrypted by AES symmetric key",
        "state":"License state",
        "expiration_date":"License expiration date"
    },
    "encrypted_national_identifier":"National Identifier encrypted by AES symmetric key",
    "partner_role": "driver",
    "city_name": "San Francisco",
    "city_identifier": 1
}


Response Fields
Name Type Description Scope required
driver_id string Unique identifier of the driver. partner.accounts
first_name string Driver’s first name. partner.accounts
last_name string Driver’s last name. partner.accounts
email string Email address Uber uses to contact this driver. partner.accounts
phone_number string The E.164 formatted phone number Uber uses to contact this driver. partner.accounts
picture string URL of the driver’s profile picture. partner.accounts
rating number Driver’s aggregated rating from last 100 ratings on a scale 1 to 5. partner.accounts
promo_code string Driver’s referral code. partner.accounts
activation_status string Driver’s activation status e.g. active, onboarding etc. partner.accounts
Additional fields available
Name Type Description Scope required
date_of_birth string Date of birth of the driver (in yyyy-mm-dd format). partner.accounts.personal_info
encrypted_symmetric_key string Randomly generated AES symmetric key encrypted with partner’s public key using RSA encryption.

This field will only be present if the response also contains an encrypted field (like license number, etc.).
driving_license object Driver’s driving license details partner.accounts.personal_info
encrypted_national_identifier string

Encrypted national identifier of the driver using AES encryption.

This is supported only in certain geographies and will contain the following value (corresponding to the geography) -

1. CPF - Brazil

1. CPF - partner.accounts.personal_info.cpf
compliance_info object This object will contain information regarding the compliance status of the driver. partner.accounts.compliance_info
city_identifier number The id of the city associated with the Driver partner.accounts.personal_info
city_name string The name of the city associated with the Driver partner.accounts.personal_info
partner_role string Partner’s role e.g. driver, courier partner.accounts
auto_disbursements_elgibile_products array Financial products for eligible partners partner.accounts
Additional fields available - Driving License
Name Type Description
encrypted_license_number string Encrypted license number of the driver using AES encryption.
state string State where driver’s license is registered.

This field is currently only present for US drivers.
expiration_date long Expiration date of driving license in epoch.
Additional fields available - Financial Product
Name Type Description
financial_product string Name of the financial product.
allowed boolean Eligibility of the financial product.
Additional fields available - Compliance Info
Name Type Description
status string Driver’s status inside the Uber system. Possible values and their semantics are defined in this section.
updated_at long Epoch timestamp representing when the driver status was last modified.
Driver Compliance Flags
compliance_info.status Meaning
ONBOARDING Driver is currently in the onboarding funnel and is not eligible to drive on Uber.
ONBOARDED Driver is ready to drive on Uber. All the compliance checks and background checks are done.
ACTIVE Driver is active on the Uber platform.
WAITLISTED Driver is waitlisted temporarily. If this status stays for a long time, the 3rd party should repossess the vehicle back from the driver.
REJECTED Driver is rejected from Uber platform and the 3rd party should immediately get the vehicle back from the driver.
Endpoint Specific Errors
Http Status Code Code
401 unauthorized
404
  • partner_not_found (If there is no driver associated with the account used for authentication.)
  • user_not_found (If there is no user within Uber associated with the account used for authentication.)
409 forbidden (The account used for authentication is not a driver account.)
429 rate_limited
500 internal_server_error
503 service_unavailable

Encryption/decryption process

All drivers’ personal identifier exposed through the API needs to be encrypted through a standard encryption process. The details about the encryption and decryption process is mentioned below -

Prerequisite

  • 3rd party will generate the RSA public-private key pair (2048 bit key size) and share the public key with Uber through an encrypted channel (Your Uber POC will connect you to the engineering team).

Encryption

  • Uber will generate an AES symmetric key

  • This symmetric key will be used to encrypt the driver identifiers. RSA is not directly used because it is non-performant for large objects. AES is more efficient for those cases.

  • The driver’s personal identifier will be encrypted using the above mentioned symmetric key by ‘aes-256-gcm’ algorithm. GCM mode is used to ensure integrity of the payload. In the encrypted payload, first 12 bytes contains the IV and rest contains the data.

  • The symmetric key will be encrypted using the pre supplied RSA public key and RSA-OAEP algorithm.

  • Encrypted symmetric key will be added in the API response as encrypted_symmetric_key field. All other encrypted fields in the API response will start with ‘encrypted_’ prefix.

Decryption

  • 3rd party will first decrypt the encrypted AES symmetric key using their RSA private key.

  • This decrypted AES key will be used to decrypt the encrypted data fields.

Uber

Developers
© 2023 Uber Technologies Inc.