KYC Identification Info (Create)
SaaS app uploads identity documents (selfie, ID card, passport, driving license, residence permit) for itself or on behalf of customers. Admin reviews and updates kycStatus.
POST{baseUrl}/us/api/v1/kyc/identification
Payload
| Attribute | Type | Required | Description |
|---|---|---|---|
| userId | Integer | Yes | Target user ID. |
| selfieId | Integer | Yes | Uploaded selfie file ID. |
| idFrontId | Integer | Yes | Front image file ID of ID card. |
| idBackId | Integer | Yes | Back image file ID of ID card. |
| idExpiryDate | Timestamp (ISO 8601) | Yes | ID card expiry. |
| idNumber | String (6–30) | Yes | Official ID number. |
| idVerified | Boolean | No | Whether ID is verified. |
| passportId | Integer | Yes | Passport image file ID. |
| passportExpiryDate | Timestamp | Yes | Passport expiry. |
| passportNumber | String (6–9) | Yes | Passport number. |
| passportVerified | Boolean | No | Whether passport is verified. |
| drivingLicenseId | Integer | Yes | Driving license image file ID. |
| drivingLicenseExpiryDate | Timestamp | Yes | Driving license expiry. |
| drivingLicenseNumber | String (6–20) | Yes | Driving license number. |
| drivingLicenseVerified | Boolean | No | Whether driving license is verified. |
| residencePermitId | Integer | Yes | Residence permit image file ID. |
| residencePermitExpiryDate | Timestamp | Yes | Residence permit expiry. |
| residencePermitNumber | String (6–20) | Yes | Residence permit number. |
| residencePermitVerified | Boolean | No | Whether residence permit is verified. |
Request Example
{
"userId": 602,
"selfieId": 1,
"idFrontId": 1,
"idBackId": 1,
"idExpiryDate": "2025-02-19T10:30:00Z",
"idNumber": "ABC123XYZ",
"idVerified": true,
"passportId": 1,
"passportExpiryDate": "2026-02-19T10:30:00Z",
"passportNumber": "P123456",
"passportVerified": true,
"drivingLicenseId": 1,
"drivingLicenseExpiryDate": "2027-02-19T10:30:00Z",
"drivingLicenseNumber": "DL789XYZ",
"drivingLicenseVerified": true,
"residencePermitId": 1,
"residencePermitExpiryDate": "2028-02-19T10:30:00Z",
"residencePermitNumber": "RP456XYZ",
"residencePermitVerified": true
}Response
| Field | Type | Description |
|---|---|---|
| id | Integer | Identification record ID. |
| selfie | Object | Uploaded selfie metadata (id, name, originalName, mime, size, fileType, fileKey, privateAccessUrl, publicAccessUrl, createdAt, createdBy, updatedAt, updatedBy). |
| idFront / idBack | Object | ID card images metadata (same structure as selfie). |
| idExpiryDate | String (ISO 8601) | ID card expiry. |
| idNumber | String | ID number. |
| idVerified | Boolean | Whether ID card is verified. |
| passport | Object | Passport image metadata. |
| passportExpiryDate | String | Passport expiry. |
| passportNumber | String | Passport number. |
| passportVerified | Boolean | Whether passport is verified. |
| drivingLicense | Object | Driving license image metadata. |
| drivingLicenseExpiryDate | String | DL expiry. |
| drivingLicenseNumber | String | DL number. |
| drivingLicenseVerified | Boolean | Whether DL is verified. |
| residencePermit | Object | Residence permit image metadata. |
| residencePermitExpiryDate | String | RP expiry. |
| residencePermitNumber | String | RP number. |
| residencePermitVerified | Boolean | Whether RP is verified. |
| kycStatus | Enum | PENDING | VERIFIED | REJECTED (Admin-updated). |