CKYC Upload for Individuals
💫 🧙♂️ One solution to create them all, one solution to find them. One solution to bring them all, and in the registry bind them.
Decentro's CKYC Bulk Upload product is an abstraction over CKYC's SFTP Upload via a simple API. The solution lets customers seamlessly push bulk users and their documents via a single API hit.
Decentro will perform all the validations, image processing, image compression, batch building, connecting to the Financial Institution's SFTP server and uploading the users to CKYC in the format recommended by them.
Additionally, Decentro will also parse all stage-wise and periodic response files from CKYC. We will send you an email whenever an upload is pending on the CKYC portal, and also send detailed reports about approved and rejected updates from CKYC.
Lastly, to add more touch points to the entire flow described above, Decentro's CKYC Bulk Upload solution also comes with status check APIs, both at the transaction level as well as the unit entity level (whether it's a batch of individuals or legal entities).
In short, you get to combine the best of both worlds, with the simplicity of an API interface and the stability of SFTP connection. Decentro handles the SFTP connection in the backend so that you don't have to worry about pushing and polling files from SFTP, and does all the heavy-lifting required to parse the API request payload into CKYC's format.
This documentation highlights the high-level interface and integration requirements using which a RE (regulated entity) can upload 1 or more individual users or legal entities to the CKYC Record Registry.
📑 Request Contract
The request contract for CKYC bulk upload will have the following parameters:
Parameter | Type | Mandatory | Definition |
---|---|---|---|
reference_id | String | Yes | A unique reference ID of this transaction set by the RE (UUID recommended) |
consent | Boolean | Yes | A mandatory field for compliance. This field accepts a boolean value and must be true for the transaction to go through. |
purpose | String | Yes | The purpose of this transaction |
verifier | Object | Yes | This is an object that contains the KYC verifier details. Please refer to the Verifier section to learn more about the parameters within this object. |
individuals | Array | No | An array of individuals whose details are to be uploaded to CKYC. Refer the Individuals array |
legal_entities | Array | No | An array of legal entities whose details are to be uploaded to CKYC. |
Rule of Thumb
You must either send a list of
individuals
or a list oflegal_entities
only.You cannot send both these fields in the same request because CKYC has different rules for creating a batch of different entities and mandates that a batch has either only a set of
individuals
orlegal_entities
.Hence, to maintain simplicity and a clean interface, we have segregated CKYC Upload for Individuals and Legal Entities into 2 separate APIs.
🧑🏻 Upload Individuals
The following shows a sample request and response body for upload individuals to the CKYC Record Registry. For more information on the parameters inside the individuals
array, please refer to the Upload Individuals API for individuals.
{
"reference_id": "12345",
"consent": true,
"purpose": "For bank account purpose",
"verifier": {
"name": "John Doe",
"designation": "CEO",
"employee_code": "123456789",
"kyc_declaration_place": "Bangalore"
},
"individuals": [
{
"identifier": "1",
"salutation": "MR",
"name": "John Doe",
"gender": "MALE",
"date_of_birth": "YYYY-MM-DD",
"location": {
"address": "XXXXXXXXXXXXXXXXXXXX",
"pincode": "XXXXXX"
},
"document_submission_type": "EKYC",
"relative": {
"salutation": "MR",
"type": "FATHER",
"name": "John Doe"
},
"documents": [
{
"base64": "xxxx",
"type": "AADHAAR"
},
{
"base64": "xxxx",
"type": "PHOTOGRAPH"
}
],
"ids": [
{
"id_number": "ABCDE1234F",
"type": "PAN"
},
{
"id_number": "XXXXXXXX1234",
"type": "VOTER_ID"
}
]
}
]
}
{
"decentroTxnId": "DEC001",
"status": "SUCCESS",
"responseCode": "S00000",
"message": "CKYC bulk upload has been initiated",
"responseKey": "success_initiate_bulk_upload"
}
🏦 Upload Legal Entities
The following shows a sample request and response body for upload legal entities to the CKYC Record Registry.
{
"reference_id": "12345",
"consent": true,
"purpose": "For bank account purpose",
"verifier": {
"name": "John Doe",
"designation": "CEO",
"employee_code": "123456789",
"kyc_declaration_place": "Bangalore"
},
"legal_entities": [
{
"identifier": "1",
"consitution_type": "PARTNERSHIP_FIRM",
"entity_name": "John Doe Partners",
"incorporation": {
"place": "Bangalore",
"date": "YYYY-MM-DD",
"country_code": "IN"
},
"commencement_date": "YYYY-MM-DD",
"location": {
"address": "XXXXXXXXXXXXXXX",
"pincode": "XXXXXX"
},
"related_individuals": [
{
"type": "DIRECTOR",
"deletion_flag": false,
"salutation": "MR",
"name": "Jane Doe",
"ckyc_number": "XXXXXXXXXXXXXXX"
}
],
"document_submission_type": "CERTIFIED_COPIES",
"documents": [
{
"base64": "<base64>",
"type": "OFFICIALLY_VALID_DOCUMENT"
},
{
"base64": "<base64>",
"type": "CERTIFICATE_OF_INCORPORATION"
}
],
"ids": [
{
"id_number": "ABCDE1234F",
"type": "OFFICIALLY_VALID_DOCUMENT"
},
{
"id_number": "XXXXXXXX1234",
"type": "CERTIFICATE_OF_INCORPORATION"
},
{
"id_number": "ABCDE1234F",
"type": "GSTIN"
},
{
"id_number": "XXXXXXXX1234",
"type": "PAN"
}
]
}
]
}
{
"decentroTxnId": "DEC001",
"status": "SUCCESS",
"responseCode": "S00000",
"message": "CKYC bulk upload has been initiated",
"responseKey": "success_initiate_bulk_upload"
}
⚡️Status Updates
Both Individuals and legal entities similar GTS APIs and the response contracts are mentioned below.
📚 Bulk Transaction GTS
{
"decentroTxnId": "XXXXXXX",
"status": "SUCCESS",
"responseCode": "S00000",
"data": {
"referenceId": "XXXXXX",
"bulkDecentroTxnId": "XXXXXX",
"individuals": {
"requested": 10,
"processed": 1,
"successful": 9,
"failed": 1,
"pending": 0,
"failedIdentifiers": [
"123456789"
]
},
"stage": "BULK_CKYC_UPLOAD_RECORDS_UPLOADING_SUCCESSFUL",
"status": "SUCCESS",
"description": "Records Uploading Succeeded",
"creationTimestamp": "XXXXXXXXX",
"lastModificationTimestamp": "XXXXXXXXX"
},
"responseKey": "success_bulk_upload_status_extracted"
}
📗 Unit Entity GTS
{
"decentroTxnId": "XXXXXXXX",
"status": "SUCCESS",
"responseCode": "S00000",
"data": {
"identifier": "123456789",
"referenceId": "XXXXXX",
"bulkDecentroTxnId": "XXXXXXXX",
"stage": "RECORD_VALIDATION_COMPLETED",
"remarks": "Accepted by CKYC Registry",
"status": "PROCESSING",
"description": "Record Validation Completed",
"creationTimestamp": "XXXXXXXXXX",
"lastModificationTimestamp": "XXXXXXXXXX"
},
"responseKey": "success_bulk_upload_entity_status_extracted"
}
Native Setup & CKYC SFTP Guide
Below are the prerequisites required before you can natively set up your application with Decentro’s CKYC Upload APIs.
- Step 1: You will need to send your FI code to Decentro. We need this to validate that you are a registered financial institution.
- Step 2: Decentro will email you the form here with our IP addresses filled up which you can add your details before mailing.
- Step 3: Email the form to CERSAI and receive the login credentials for the SFTP server in 3-4 working days.
- Step 4: Send the SFTP login credentials to Decentro.
- Step 5: You can then use the portal to approve all the Bulk Uploads that Decentro has processed.
You can manage the authorization in the “Bulk Upload Authorization” in the CKYC Portal as shown below.
CERSAI KYC Managmentment >> Bulk Upload Authorization
You can also view the successful SFTP bulk upload responses in the same place where you view regular bulk upload responses, in the “Bulk Upload Response” section.
If you are a financial institution that does not have CKYC credentials, we encourage you to use Decentro’s CKYC Upload without Native Setup as UAT testing and go live on your FI code. If you are interested in getting your own credentials, please refer to Appendix 1 and 2.
Appendix 1: How to get your own CKYC credentials?
The process for Financial Institutions (FIs) to register with the Central KYC Registry is long and tedious. If you are willing to go through this painstaking ordeal, then the process is as follows:
- Visit the website of CKYC here -> Central KYC (CKYC).
- Click to register a new FI registration.
- First, you have to add the details of an individual who is the “admin” in this case.
- Then, you have to enter the details of your financial institution.
- Provide the details of the regulating body you are registered with (RBI, SEBI, etc).
- Download the filled FI registration form and submit it along with the required documents.
Appendix 2: Documents required for CKYC credentials
- A Duly signed Institution Registration Form of the FI
- Licence, Certificate, and Notification issued by the regulator
- PAN card of the Financial Entity
- Corporate Identification number in case the Institution holds multiple Licences
- In the case of Co-Operative Banks or Societies, you need to submit a Registration Certificate issued by the concerned authority
- The Authorization letter from the competent authority for Admin Users should be signed by the Authorised Signatory/ Director
- Certified copy of the photo identity card of the user administrator issued by the respective institution
- Certified copy of any ID proof of the user administrator.
Updated 30 days ago