Get Driver KYC Verification Checklist & Status

View as Markdown
# 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.