me

View as Markdown
# Get Current Driver Profile (`/me`) Retrieves the full profile details of the authenticated driver, including account status, duty status, rating, wallet balance, active vehicle information, and onboarding flags. --- ### Endpoint Overview - **Method:** `GET` - **Route:** `/api/v1/driver/me` - **Authentication:** `Bearer Token (Driver JWT)` - **Content-Type:** `N/A` --- ### Request Headers | Header | Type | Required | Description | | --- | --- | --- | --- | | `Authorization` | `string` | **Yes** | Format: `Bearer` | --- ### Response Body Schema (`200 OK`) | Top-Level Key | Data Type | Description | | --- | --- | --- | | `driver` | `object` | Complete authenticated driver profile | #### `driver` Object Fields | Field | Data Type | Nullable | Allowed Values / Constraints | Description | | --- | --- | --- | --- | --- | | `id` | `string` | No | Prefixed with `drv_` | Unique driver ID | | `name` | `string` | Yes | Any string | Full name of the driver | | `phone` | `string` | No | E.164 string format | Registered mobile phone number | | `is_phone_verified` | `boolean` | No | `true`, `false` | Whether phone number is verified | | `email` | `string` | Yes | Valid email | Registered email address | | `is_email_verified` | `boolean` | No | `true`, `false` | Whether email is verified | | `gender` | `enum` | Yes | `"MALE"`, `"FEMALE"`, `null` | Driver gender | | `date_of_birth` | `string` | Yes | ISO 8601 Timestamp | Driver date of birth | | `profile_image_url` | `string` | Yes | Valid URL | Avatar image URL | | `is_profile_complete` | `boolean` | No | `true`, `false` | Profile completion status | | `status` | `enum` | No | `"PENDING_ONBOARDING""PENDING_APPROVAL""APPROVED""REJECTED""SUSPENDED""BLOCKED"` | Operational & verification state | | `duty_status` | `enum` | No | `"OFFLINE""ONLINE""ON_TRIP"` | Real-time driver operational state | | `rejection_reason` | `string` | Yes | Any string | Rejection explanation if status is `REJECTED` | | `rating` | `string` | No | Decimal string (e.g. `"4.85"`) | Driver rating (out of 5.00) | | `total_trips` | `integer` | No | `>= 0` | Total completed trips count | | `wallet_balance` | `string` | No | Decimal string (e.g. `"3250.00"`) | Driver wallet balance | | `service_category` | `enum` | No | `"BIKE""CAB""AMBULANCE""LOGISTICS"` | Operational service domain | | `city` | `string` | No | Default: `"DEFAULT"` | Operating city | | `state` | `string` | Yes | Any string | Operating state/province | | `language` | `string` | No | Default: `"en"` | Preferred app language | | `own_referral_code` | `string` | Yes | Prefixed with `CAP_` | Unique referral code assigned to this driver | | `referred_by_code` | `string` | Yes | Any string | Referral code used during signup | | `vehicle_name` | `string` | Yes | Any string | Flattened vehicle brand/make (e.g. `"Maruti Suzuki"`) | | `vehicle_model` | `string` | Yes | Any string | Flattened vehicle model (e.g. `"Swift Dzire"`) | | `vehicle_color` | `string` | Yes | Any string | Flattened vehicle paint color (e.g. `"White"`) | | `number_plate` | `string` | Yes | Any string | Flattened vehicle license number plate | | `vehicle` | `object` | Yes | Sub-object or `null` | Detailed vehicle record (null if no vehicle registered) | | `vehicle.id` | `string` | No | Prefixed with `veh_` | Unique vehicle ID | | `vehicle.name` | `string` | No | Any string | Vehicle make/brand name | | `vehicle.model` | `string` | No | Any string | Vehicle model name | | `vehicle.color` | `string` | No | Any string | Vehicle color | | `vehicle.number_plate` | `string` | No | Any string | Registration plate number | | `is_active` | `boolean` | No | `true`, `false` | System active status | | `is_blocked` | `boolean` | No | `true`, `false` | Whether account is blocked | | `last_login_at` | `string` | Yes | ISO 8601 Timestamp | Timestamp when driver last authenticated | | `created_at` | `string` | No | ISO 8601 Timestamp | Account registration timestamp | | `updated_at` | `string` | No | ISO 8601 Timestamp | Last update timestamp | --- ### Response Examples #### 1\. `200 OK` — Success (Profile with Vehicle) ``` json { "driver": { "id": "drv_8a7b6c5d4e", "name": "Ravi Kumar", "phone": "+919876543210", "is_phone_verified": true, "email": "ravi.kumar@example.com", "is_email_verified": true, "gender": "MALE", "date_of_birth": "1992-05-15T00:00:00.000Z", "profile_image_url": "https://example.com/profiles/ravi.jpg", "is_profile_complete": true, "status": "APPROVED", "duty_status": "ONLINE", "rejection_reason": null, "rating": "4.85", "total_trips": 142, "wallet_balance": "3250.00", "service_category": "CAB", "city": "Bengaluru", "state": "Karnataka", "language": "en", "own_referral_code": "CAP_8X9K2", "referred_by_code": null, "vehicle_name": "Maruti Suzuki", "vehicle_model": "Swift Dzire", "vehicle_color": "White", "number_plate": "KA-01-AB-1234", "vehicle": { "id": "veh_1a2b3c4d5e", "name": "Maruti Suzuki", "model": "Swift Dzire", "color": "White", "number_plate": "KA-01-AB-1234" }, "is_active": true, "is_blocked": false, "last_login_at": "2026-09-21T04:45:00.000Z", "created_at": "2026-08-10T12:00:00.000Z", "updated_at": "2026-09-21T04:45:00.000Z" } } ``` #### 2\. `200 OK` — Success (Newly Registered Driver, Incomplete Onboarding) ``` json { "driver": { "id": "drv_8a7b6c5d4e", "name": null, "phone": "+919876543210", "is_phone_verified": true, "email": null, "is_email_verified": false, "gender": null, "date_of_birth": null, "profile_image_url": null, "is_profile_complete": false, "status": "PENDING_ONBOARDING", "duty_status": "OFFLINE", "rejection_reason": null, "rating": "5.00", "total_trips": 0, "wallet_balance": "0.00", "service_category": "CAB", "city": "DEFAULT", "state": null, "language": "en", "own_referral_code": "CAP_8X9K2", "referred_by_code": null, "vehicle_name": null, "vehicle_model": null, "vehicle_color": null, "number_plate": null, "vehicle": null, "is_active": true, "is_blocked": false, "last_login_at": "2026-09-21T04:45:00.000Z", "created_at": "2026-09-21T04:45:00.000Z", "updated_at": "2026-09-21T04:45:00.000Z" } } ``` #### 3\. `401 Unauthorized` — Missing or Invalid Access Token When `Authorization` header is missing: ``` json { "error": "Unauthorized", "message": "Driver access token is missing. Header format must be &#x27;Bearer <token>&#x27;." } ``` When access token is expired or invalid: ``` json { "error": "Unauthorized", "message": "Invalid or expired driver access token." } ``` #### 4\. `401 Unauthorized` — Session Revoked (Logged in on Another Device) Enforced via single-device session tracking when a newer login has invalidated this session: ``` json { "error": "SESSION_REVOKED", "message": "Your session has been terminated because your driver account logged in on another device." } ``` #### 5\. `403 Forbidden` — Account Blocked or Deactivated Triggered if the driver account has been banned or deactivated by an admin: ``` json { "error": "Forbidden", "message": "Driver account is blocked or deactivated." } ``` #### 6\. `404 Not Found` — Driver Not Found ``` json { "error": "Driver not found" } ``` #### 7\. `500 Internal Server Error` ``` json { "error": "Internal server error" } ``` --- ### Status Codes Reference | HTTP Status Code | Condition | | --- | --- | | **`200 OK`** | Access token verified; current driver profile returned. | | **`401 Unauthorized`** | Missing/invalid token or session revoked due to concurrent login. | | **`403 Forbidden`** | Account is blocked, banned, or soft-deleted. | | **`404 Not Found`** | Driver record not found in database. | | **`500 Internal Server Error`** | Unhandled server or database error. |

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.