Get Driver KYC Verification Checklist & Status
Get Driver KYC Verification Checklist & Status
# Get Driver KYC Verification Checklist & Status
Returns a structured status summary for all document onboarding requirements, indicating whether each document is submitted, its verification status (`PENDING`, `APPROVED`, `REJECTED`), any admin rejection feedback, and overall onboarding completion metrics.
---
### Endpoint Overview
- **Method:** `GET`
- **Route:** `/api/v1/driver/documents/status`
- **Authentication:** `Bearer Token (Driver JWT)`
- **Content-Type:** `N/A`
---
### Request Headers
| Header | Type | Required | Description |
| --- | --- | --- | --- |
| `Authorization` | `string` | **Yes** | Format: `Bearer` |
---
### Request Body Schema
_None (GET request)_
---
### Response Body Schema (`200 OK`)
| Top-Level Key | Data Type | Description |
| --- | --- | --- |
| `documents` | `object` | Map of each document type to its submission and verification status |
| `summary` | `object` | Aggregate onboarding progress calculation |
#### `documents` Object Values (for each document type key)
| Field | Data Type | Nullable | Allowed Values / Constraints | Description |
| --- | --- | --- | --- | --- |
| `submitted` | `boolean` | No | `true`, `false` | Whether driver has submitted this document |
| `verification_status` | `enum` | Yes | `"PENDING""APPROVED""REJECTED"null` | Administrative review status (`null` if not submitted) |
| `rejection_reason` | `string` | Yes | String or `null` | Reason if status is `REJECTED` |
| `document_number` | `string` | Yes | String or `null` | Document number recorded in DB |
| `name_on_doc` | `string` | Yes | String or `null` | Name printed on document |
#### `summary` Object Fields
| Field | Data Type | Description |
| --- | --- | --- |
| `total_submitted` | `integer` | Number of documents uploaded by the driver |
| `total_required` | `integer` | Total adjusted requirements (Aadhaar/PAN are mutually exclusive) |
| `identity_submitted` | `boolean` | `true` if driver submitted either Aadhaar or PAN |
| `all_submitted` | `boolean` | `true` if all required onboarding documents are submitted |
---
### Response Example (`200 OK`)
``` json
{
"documents": {
"DRIVING_LICENCE": {
"submitted": true,
"verification_status": "APPROVED",
"rejection_reason": null,
"document_number": "KA0120200012345",
"name_on_doc": null
},
"AADHAAR": {
"submitted": true,
"verification_status": "PENDING",
"rejection_reason": null,
"document_number": "123456789012",
"name_on_doc": null
},
"PAN": {
"submitted": false,
"verification_status": null,
"rejection_reason": null,
"document_number": null,
"name_on_doc": null
},
"VEHICLE_RC": {
"submitted": true,
"verification_status": "REJECTED",
"rejection_reason": "Image is blurry, please re-upload clear photo of RC",
"document_number": "KA-01-AB-1234",
"name_on_doc": null
},
"VEHICLE_MODEL_NUMBER": {
"submitted": false,
"verification_status": null,
"rejection_reason": null,
"document_number": null,
"name_on_doc": null
},
"PERMIT": {
"submitted": false,
"verification_status": null,
"rejection_reason": null,
"document_number": null,
"name_on_doc": null
},
"INSURANCE": {
"submitted": false,
"verification_status": null,
"rejection_reason": null,
"document_number": null,
"name_on_doc": null
},
"FITNESS_CERTIFICATE": {
"submitted": false,
"verification_status": null,
"rejection_reason": null,
"document_number": null,
"name_on_doc": null
}
},
"summary": {
"total_submitted": 3,
"total_required": 7,
"identity_submitted": true,
"all_submitted": false
}
}
```
---
### Error Responses
#### 1\. `401 Unauthorized` — Missing / Expired Token / Session Revoked
``` json
{
"error": "Unauthorized",
"message": "Invalid or expired driver access token."
}
```
#### 2\. `403 Forbidden` — Account Blocked / Deactivated
``` json
{
"error": "Forbidden",
"message": "Driver account is blocked or deactivated."
}
```
#### 3\. `500 Internal Server Error`
``` json
{
"error": "Failed to fetch document status"
}
```
---
### Status Codes Reference
| HTTP Status Code | Condition |
| --- | --- |
| **`200 OK`** | Document checklist and status map successfully calculated and returned. |
| **`401 Unauthorized`** | Missing, invalid, expired token or session revoked. |
| **`403 Forbidden`** | Driver account is deactivated or blocked. |
| **`500 Internal Server Error`** | Server or database query error. |
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.