GET /partners/me
¶ 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
¶ Required scopes
Primary - partner.accounts
Optional - partner.accounts.personal_info
,
partner.accounts.personal_info.cpf
,
partner.accounts.compliance_info,partner.accounts.language
¶ 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 |
language_code |
string | Language given during driver sign up and driver onboarding to Uber. BCP47 standard locale (language) codes. | partner.accounts.language |
¶ 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 |
|
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.