Switch to dark theme

Switch to light theme

Manage Application and Account Holder

Manage Application and Account Holders
Published on 20th August, 2021

Once an application is approved by the IFI, the fusion system creates an account holder. This article walks through the different ways a fintech can manage an application and account holder using Fusion APIs.

Duplicate Application

Irrespective of the number of fintechs the customer is signing up with, as per the regulations, there will be only one account holder entity with the respective IFI. This is tracked against the phone number, i.e. one phone number - one account holder with the IFI. Hence, there can be instances when upon calling the ‘/applications/newIndividualApplication’ endpoint, a message indicating that the ‘Account holder already exists’ might be responded with. This indicates that an account already exists with the IFI against the provided contact number. In such cases, the authority to approve the application lies solely with the IFI. IFI configures the matching criteria and approves or rejects the application accordingly.

You can refer to IDFC KYC and RBL KYC documentation to understand how these banks cater to such instances.

Get Application Details

When an Application for a new Account Holder is created, a corresponding applicationID(unique identifier) is generated. Fintech can use the applicationID to get details of the application. The response displays Application/Applicant details and the current status of the Application.

GET/api/v1/ifi/{ifi_id}/application/{application_id}
cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET '{{fusion_base_url}}/api/v1/ifi/{ifi_id}/application/{application_id}' \
--header 'X-Zeta-AuthToken: {authtoken}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
    "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
    "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
    "ifiId": 140793,
    "requestId": "request_cah-233",
    "status": "DATA_CAPTURE_INITIATED",
    "sections": {
        "AccountHolderDetails": {
            "sectionId": "4d62f76d-9826-4b72-a7f5-c3c885e2f6b9",
            "ifiId": 140793,
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "name": "AccountHolderDetails",
            "type": "CreateRealAccountHolder",
            "details": {
                "dob": {
                    "year": 1957.0,
                    "month": 7.0,
                    "dayOfMonth": 13.0
                },
                "gender": "MALE",
                "lastName": "Verma",
                "firstName": "Sarthak",
                "middleName": "Kumar",
                "salutation": "Mr.",
                "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
                "individualType": "REAL",
                "applicationType": "CREATE_ACCOUNT_HOLDER",
                "mothersMaidenName": "xyz"
            },
            "createdAt": "2021-02-19T10:40:04.837+05:30",
            "updatedAt": "2021-02-19T10:40:04.837+05:30"
        }
    },
    "vectors": [
        {
            "vectorId": "d8979db7-bc16-4934-9450-4c33a3991791",
            "ifiId": 140793,
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "type": "e",
            "value": "[email protected]",
            "status": "ENABLED",
            "attributes": {},
            "createdAt": "2021-02-19T10:40:04.707+05:30",
            "updatedAt": "2021-02-19T10:40:04.707+05:30"
        }
    ],
    "stages": [
        {
            "stageId": "2b7c5ecc-64dc-4985-93d8-b1dfb8788de5",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "ASSESSMENT",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "24691789-c586-49fc-9071-ef5c58066211",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "DATA_CAPTURE",
            "status": "INITIATED",
            "details": {},
            "result": {
                "validationFailed": [
                    {
                        "code": "APPLICATION_SCHEMA_VALIDATION_FAILED",
                        "type": "JsonSchemaValidator",
                        "status": "FAILED",
                        "message": "#: #: only 1 subschema matches out of 2",
                        "attributes": {
                            "errorMessages": [
                                "#/sections: required key [Personal] not found",
                                "#/sections: required key [Vectors] not found"
                            ]
                        }
                    }
                ]
            },
            "createdAt": "2021-02-19T10:40:05.024+05:30",
            "updatedAt": "2021-02-19T10:51:28.770+05:30"
        },
        {
            "stageId": "3546099b-4d81-42d5-abea-05dfbadf50a2",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "ENRICHMENT",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "11f04481-6e07-4036-b549-69a1868abdfc",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "PROVISIONING",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "e6163594-0b26-4d96-a890-79231c7adcf4",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "REVIEW",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.037+05:30",
            "updatedAt": "2021-02-19T10:40:05.037+05:30"
        }
    ],
    "tags": [
        {
            "type": "spool-id",
            "value": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "attributes": {}
        },
        {
            "type": "vbo-id",
            "value": "26c28ca6-4202-464c-9806-b788989762d4",
            "attributes": {}
        }
    ],
    "createdAt": "2021-02-19T10:40:04.672+05:30",
    "updatedAt": "2021-02-19T10:40:05.815+05:30"
}
Response 
{
    "sectionId": "4d62f76d-9826-4b72-a7f5-c3c885e2f6b9",
    "ifiId": 140793,
    "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
    "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
    "name": "AccountHolderDetails",
    "type": "CreateRealAccountHolder",
    "details": {
        "dob": {
            "year": 1957.0,
            "month": 7.0,
            "dayOfMonth": 13.0
        },
        "gender": "MALE",
        "lastName": "Verma",
        "firstName": "Sarthak",
        "middleName": "Kumar",
        "salutation": "Mr.",
        "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
        "individualType": "REAL",
        "applicationType": "CREATE_ACCOUNT_HOLDER",
        "mothersMaidenName": "xyz"
    },
    "createdAt": "2021-02-19T10:40:04.837+05:30",
    "updatedAt": "2021-02-19T10:40:04.837+05:30"
}
Code Copied

Update Application

Add section

Sometimes an applicant may not complete the application in one shot. For example, at a given stage the applicant is only carrying their ID proof but do not yet have the address proof. In such cases, you can add sections to the application before you mark the sourcing ‘DATA_CAPTURE’ stage as complete.

Section is also a free flowing json that can be defined however the fintech wants but would eventually be verified using one of the schema validators of the application which is setup by the Issuer.

POSTapi/v1/ifi/{{ifiID}}/spool/{{spool_id}}/application/{{application}}/section
cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST 'https://fusion.preprod.zeta.in/api/v1/ifi/{{ifiID}}/spool/{{spool_id}}/application/{{application}}/section/AccountHolderDetails' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{token}}' \
--data-raw '{
	"type":"AccountHolderDetails",
	"details": {
            "individualType": "REAL",
            "dob": {
                "year": 1957,
                "dayOfMonth": 13,
                "month": 7
            },
            "salutation": "Mr.",
            "firstName": "Sarthak",
            "lastName": "Verma",
            "middleName": "Kumar",
            "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
            "applicationType": "CREATE_ACCOUNT_HOLDER",
            "gender": "MALE",
            "mothersMaidenName": "xyz",
            "kycDetails": {
                "kycStatus": "AADHAAR_OTP",
                "kycStatusPostExpiry": "MINIMAL",
                "kycAttributes": {
                    "key": "value"
                },
                "authType": "AADHAAR",
                "authData": {
                    "AADHAAR": "677777777777"
                }
            },
            "vectors": [{
                "type": "p",
                "value": "+919000000000",
                "isVerified": true
            }],
            "pops": [{
                "label": "home",
                "address": {
                    "line1": "Q. No. 123",
                    "line2": "IFFCO Township",
                    "city": "Bareilly",
                    "state": "UP",
                    "postCode": "100010",
                    "country": "India"
                }
            }]
        }
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
    "sectionId": "4d62f76d-9826-4b72-a7f5-c3c885e2f6b9",
    "ifiId": 140793,
    "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
    "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
    "name": "AccountHolderDetails",
    "type": "AccountHolderDetails",
    "details": {
        "dob": {
            "year": 1957.0,
            "month": 7.0,
            "dayOfMonth": 13.0
        },
        "pops": [
            {
                "label": "home",
                "address": {
                    "city": "Bareilly",
                    "line1": "Q. No. 123",
                    "line2": "IFFCO Township",
                    "state": "UP",
                    "country": "India",
                    "postCode": "100010"
                }
            }
        ],
        "gender": "MALE",
        "vectors": [
            {
                "type": "p",
                "value": "+919000000000",
                "isVerified": true
            }
        ],
        "lastName": "Verma",
        "firstName": "Sarthak",
        "kycDetails": {
            "authData": {
                "AADHAAR": "677777777777"
            },
            "authType": "AADHAAR",
            "kycStatus": "AADHAAR_OTP",
            "kycAttributes": {
                "key": "value"
            },
            "kycStatusPostExpiry": "MINIMAL"
        },
        "middleName": "Kumar",
        "salutation": "Mr.",
        "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
        "individualType": "REAL",
        "applicationType": "CREATE_ACCOUNT_HOLDER",
        "mothersMaidenName": "xyz"
    },
    "createdAt": "2021-02-19T10:40:04.837+05:30",
    "updatedAt": "2021-02-19T12:17:14.271+05:30"
}
Code Copied

Update Section

Fintechs can also update a section of the application, in case any erroneous information has been provided using the update section API.

PUTapi/v1/ifi/140793/spool/{{spool_id}}/application/{{application_id}}/AccountHolderDetails
cURL Sample
Switch Theme
Expand More
Copy
curl --location --request PUT '{{fusion_base_url}}/v1/ifi/140793/spool/{{spool_id}}/application/{{application_id}}/AccountHolderDetails' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: {{auth_token}}' \
--data-raw '{
	"type":"AccountHolderDetails",
	"details": {
            "individualType": "REAL",
            "dob": {
                "year": 1957,
                "dayOfMonth": 13,
                "month": 7
            },
            "salutation": "Mr.",
            "firstName": "Sarthak",
            "lastName": "Verma",
            "middleName": "Kumar",
            "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
            "applicationType": "CREATE_ACCOUNT_HOLDER",
            "gender": "MALE",
            "mothersMaidenName": "xyz",
            "kycDetails": {
                "kycStatus": "AADHAAR_OTP",
                "kycStatusPostExpiry": "MINIMAL",
                "kycAttributes": {
                    "key": "value"
                },
                "authType": "AADHAAR",
                "authData": {
                    "AADHAAR": "677777777777"
                }
            },
            "vectors": [{
                "type": "p",
                "value": "+919000000000",
                "isVerified": true
            }],
            "pops": [{
                "label": "home",
                "address": {
                    "line1": "Q. No. 123",
                    "line2": "IFFCO Township",
                    "city": "Bareilly",
                    "state": "UP",
                    "postCode": "100010",
                    "country": "India"
                }
            }]
        }
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
    "sectionId": "4d62f76d-9826-4b72-a7f5-c3c885e2f6b9",
    "ifiId": 140793,
    "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
    "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
    "name": "AccountHolderDetails",
    "type": "AccountHolderDetails",
    "details": {
        "dob": {
            "year": 1957.0,
            "month": 7.0,
            "dayOfMonth": 13.0
        },
        "pops": [
            {
                "label": "home",
                "address": {
                    "city": "Bareilly",
                    "line1": "Q. No. 123",
                    "line2": "IFFCO Township",
                    "state": "UP",
                    "country": "India",
                    "postCode": "100010"
                }
            }
        ],
        "gender": "MALE",
        "vectors": [
            {
                "type": "p",
                "value": "+919000000000",
                "isVerified": true
            }
        ],
        "lastName": "Verma",
        "firstName": "Sarthak",
        "kycDetails": {
            "authData": {
                "AADHAAR": "677777777777"
            },
            "authType": "AADHAAR",
            "kycStatus": "AADHAAR_OTP",
            "kycAttributes": {
                "key": "value"
            },
            "kycStatusPostExpiry": "MINIMAL"
        },
        "middleName": "Kumar",
        "salutation": "Mr.",
        "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
        "individualType": "REAL",
        "applicationType": "CREATE_ACCOUNT_HOLDER",
        "mothersMaidenName": "xyz"
    },
    "createdAt": "2021-02-19T10:40:04.837+05:30",
    "updatedAt": "2021-02-19T12:17:14.271+05:30"
}
Code Copied

Mark Data Capture complete

This API is used to mark the data capture stage of application complete. This API indicates that the details that were to be collected from the applicant have been collected. Now as part of the next stage, Enrichment, details from third party services can be added.

POST/api/v1/ifi/{{ifiID}}/spool/{{spool_id}}/application/{{application_id}}/stage/DATA_CAPTURE/complete
cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST '{{fusion_base_url}}/api/v1/ifi/{{ifiID}}/spool/{{spool_id}}application/{{application_id}}/stage/DATA_CAPTURE/complete' \
--header 'Content-Type: application/json' \
--header 'X-Zeta-AuthToken: '{{token}}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
    "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
    "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
    "ifiId": 140793,
    "requestId": "request_cah-233",
    "status": "DATA_CAPTURE_INITIATED",
    "sections": {
        "AccountHolderDetails": {
            "sectionId": "4d62f76d-9826-4b72-a7f5-c3c885e2f6b9",
            "ifiId": 140793,
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "name": "AccountHolderDetails",
            "type": "AccountHolderDetails",
            "details": {
                "dob": {
                    "year": 1957.0,
                    "month": 7.0,
                    "dayOfMonth": 13.0
                },
                "pops": [
                    {
                        "label": "home",
                        "address": {
                            "city": "Bareilly",
                            "line1": "Q. No. 123",
                            "line2": "IFFCO Township",
                            "state": "UP",
                            "country": "India",
                            "postCode": "100010"
                        }
                    }
                ],
                "gender": "MALE",
                "vectors": [
                    {
                        "type": "p",
                        "value": "+919000000000",
                        "isVerified": true
                    }
                ],
                "lastName": "Verma",
                "firstName": "Sarthak",
                "kycDetails": {
                    "authData": {
                        "AADHAAR": "677777777777"
                    },
                    "authType": "AADHAAR",
                    "kycStatus": "AADHAAR_OTP",
                    "kycAttributes": {
                        "key": "value"
                    },
                    "kycStatusPostExpiry": "MINIMAL"
                },
                "middleName": "Kumar",
                "salutation": "Mr.",
                "profilePicURL": "https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg",
                "individualType": "REAL",
                "applicationType": "CREATE_ACCOUNT_HOLDER",
                "mothersMaidenName": "xyz"
            },
            "createdAt": "2021-02-19T10:40:04.837+05:30",
            "updatedAt": "2021-02-19T15:53:41.943+05:30"
        }
    },
    "vectors": [
        {
            "vectorId": "d8979db7-bc16-4934-9450-4c33a3991791",
            "ifiId": 140793,
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "type": "e",
            "value": "[email protected]",
            "status": "ENABLED",
            "attributes": {},
            "createdAt": "2021-02-19T10:40:04.707+05:30",
            "updatedAt": "2021-02-19T10:40:04.707+05:30"
        }
    ],
    "stages": [
        {
            "stageId": "2b7c5ecc-64dc-4985-93d8-b1dfb8788de5",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "ASSESSMENT",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "24691789-c586-49fc-9071-ef5c58066211",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "DATA_CAPTURE",
            "status": "INITIATED",
            "details": {},
            "result": {
                "validationFailed": [
                    {
                        "code": "APPLICATION_SCHEMA_VALIDATION_FAILED",
                        "type": "JsonSchemaValidator",
                        "status": "FAILED",
                        "message": "#: #: only 1 subschema matches out of 2",
                        "attributes": {
                            "errorMessages": [
                                "#/sections: required key [Personal] not found",
                                "#/sections: required key [Vectors] not found"
                            ]
                        }
                    }
                ]
            },
            "createdAt": "2021-02-19T10:40:05.024+05:30",
            "updatedAt": "2021-02-19T15:56:30.525+05:30"
        },
        {
            "stageId": "3546099b-4d81-42d5-abea-05dfbadf50a2",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "ENRICHMENT",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "11f04481-6e07-4036-b549-69a1868abdfc",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "PROVISIONING",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.036+05:30",
            "updatedAt": "2021-02-19T10:40:05.036+05:30"
        },
        {
            "stageId": "e6163594-0b26-4d96-a890-79231c7adcf4",
            "ifiId": 140793,
            "applicationId": "88d24ca5-2f75-435d-9fed-b6bb0a662377",
            "spoolId": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "name": "REVIEW",
            "status": "NOT_INITIATED",
            "details": {},
            "result": {},
            "createdAt": "2021-02-19T10:40:05.037+05:30",
            "updatedAt": "2021-02-19T10:40:05.037+05:30"
        }
    ],
    "tags": [
        {
            "type": "spool-id",
            "value": "12b66d97-c5c5-4a38-b896-b1790a6a6845",
            "attributes": {}
        },
        {
            "type": "vbo-id",
            "value": "26c28ca6-4202-464c-9806-b788989762d4",
            "attributes": {}
        }
    ],
    "createdAt": "2021-02-19T10:40:04.672+05:30",
    "updatedAt": "2021-02-19T10:40:05.815+05:30"
}
Code Copied
Additional APIs can be exposed to the Fintech, subject to the Issuer’s approval. Fintech can subscribe to the ‘Account Holder Created’ event to know when the application gets approved.

Get Account Holder Details

There are two ways to fetch details for an Account Holder— using Account Holder ID or Vectors.

Using Account Holder ID

If you have Account Holder’s ID (individualID), use the /accountHolders API to fetch their details.

GET/api/v1/ifi/{ifiID}/accountHolders/{accountHolderID}

Input parameters

  • ifiID: Required. Unique identifier of the IFI.
  • accountHolderID: Required. Unique identifier of the Account Holder. Same as individualID

Example

In the following example, we fetch Account Holder’s details using Account Holder’s ID (individualID):

cURL Sample
Switch Theme
Expand More
Copy
curl -X GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140827/accountHolders/b9988179-9a74-41f5-aba4-0b85e501fd68'
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' 
-H 'Content-Type: application/json'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
"requestID": "7ef0d6a4-e098-47fd-9d1c-6b9d8edc52de",
"id": "b9988179-9a74-41f5-aba4-0b85e501fd68",
"ifiID": 140827,
"accountHolderProviderID": "862bb162-b5ad-4112-9d73-bb2306546a36",
"vectors": [
  {
    "id": "b6bd9b26-16b3-4b99-b7d4-a1ecdd3718d3",
    "accountHolderID": "b9988179-9a74-41f5-aba4-0b85e501fd68",
    "ifiID": 140827,
    "status": "ENABLED",
    "type": "aadhaar",
    "value": "OyqYXR+TvnRMnCVPIpXe+amOfwWblwORK1cK8qMr7oE=",
    "createdAt": "Jan 6, 2020 7:41:05 AM",
    "headers": {}
  },
  {
    "id": "94b63932-3a7a-4bce-8334-12f85ddaeaca",
    "accountHolderID": "b9988179-9a74-41f5-aba4-0b85e501fd68",
    "ifiID": 140827,
    "status": "ENABLED",
    "type": "p",
    "value": "+919583170190",
    "createdAt": "Jan 6, 2020 7:41:05 AM",
    "headers": {}
  }
],
"type": "REAL",
"status": "ENABLED",
"KYCStatus": {
  "ifiID": 140827,
  "accountHolderID": "b9988179-9a74-41f5-aba4-0b85e501fd68",
  "kycStatus": "MINIMAL",
  "updateTime": {
    "date": {
      "year": 2020,
      "month": 1,
      "day": 6
    },
    "time": {
      "hour": 7,
      "minute": 41,
      "second": 5,
      "nano": 579646000
    }
  },
  "expiryTime": {
    "date": {
      "year": 2021,
      "month": 1,
      "day": 5
    },
    "time": {
      "hour": 7,
      "minute": 41,
      "second": 5,
      "nano": 0
    }
  },
  "attributes": {
    "aadhaar": "OyqYXR+TvnRMnCVPIpXe+amOfwWblwORK1cK8qMr7oE=",
    "kycType": "MINIMAL",
    "authType": "AADHAAR",
    "reference": "dd4302e0-1da9-4ea2-9948-22f74c2568dcydYKXSknhzbDHcL+3sfXzQ=="
  },
  "headers": {}
},
"salutation": "Mr.",
"firstName": "Abhinav",
"middleName": "",
"lastName": "Shukla",
"profilePicURL": "http://mypic.picland.somewhere.com/profile_pic.jpg",
"dob": "Jul 5, 1992",
"gender": "FEMALE",
"mothersMaidenName": "kumari",
"pops": [],
"tags": [],
"attributes": {
  "companyID": "[1.0, 2.0, 3.0]"
},
"createdAt": {
  "date": {
    "year": 2020,
    "month": 1,
    "day": 6
  },
  "time": {
    "hour": 7,
    "minute": 41,
    "second": 5,
    "nano": 579646000
  }
},
"headers": {}
} 
Code Copied

Using Vector

Vectors are unique identifiers, like phone and email, used to identify an Account Holder. Use the /individualByVector API and pass the Account Holder’s Vector as path parameter to fetch their details.

GET/api/v1/ifi/{ifiID}/individualByVector/{vectorType}/{vectorValue}

Input parameters

  • ifiID: Required. Unique identifier of the IFI.
  • vectorType: Required. Type of Vector using which details are being fetched. Allowed values: p for phone number; e for email.
  • vectorValue: Required. Value based on Vector type specified. For example, if vectorType is p, specify Account Holder’s phone number; if vectorType is e, specify email ID.

Example

In the following example, we fetch Account Holder’s details using phone number:

cURL Sample
Switch Theme
Expand More
Copy
curl -X GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140827/individualByVector/p/+914071839645' 
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' 
-H 'Content-Type: application/json' 
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "requestID": "78c1232f-7b15-47ca-be7e-c591e40406de",
  "id": "3cfa87dc-2ae2-43f7-9adc-3d2fa0fb1f50",
  "ifiID": 140827,
  "accountHolderProviderID": "862bb162-b5ad-4112-9d73-bb2306546a36",
  "vectors": [
      {
          "id": "001703c8-d40f-453d-b675-7f1f05954c26",
          "accountHolderID": "3cfa87dc-2ae2-43f7-9adc-3d2fa0fb1f50",
          "ifiID": 140827,
          "status": "ENABLED",
          "type": "p",
          "value": "+914071839645",
          "createdAt": "Dec 10, 2019 2:05:40 PM",
          "attributes": {
              "additionalProp1": "string",
              "additionalProp2": "string",
              "additionalProp3": "string"
          },
          "headers": {}
      }
  ],
  "type": "REAL",
  "status": "ENABLED",
  "firstName": "Jim",
  "middleName": "Hilton",
  "lastName": "Carry",
  "profilePicURL": "http://mypic.picland.somewhere.com/profile_pic.jpg",
  "gender": "Male",
  "pops": [],
  "attributes": {},
  "createdAt": {
      "date": {
          "year": 2019,
          "month": 12,
          "day": 10
      },
      "time": {
          "hour": 14,
          "minute": 5,
          "second": 40,
          "nano": 766431000
      }
  },
  "headers": {}
}
Code Copied

Error Codes

Stage Status ErrorCode Description
All BAD_REQUEST 004 Invalid input signature
All BAD_REQUEST 010 Technical Error while verifying signature in create session api.
All BAD_REQUEST 027 Input IFI Id is not valid.
All BAD_REQUEST 033 Input data is invalid and non-parsable data.
Create application for account holder CONFLICT 023 Account already exists and KYCed
All FORBIDDEN 003 Session Expired - Session expiry is 30 mins.
Account Holder's KYC FORBIDDEN 015 Aadhaar OTP is already processed and closed.
Account Holder's KYC INTERNAL_SERVER_ERROR 001 Internal Technical Glitch (Mostly timeout from bank APIs)
Account Holder's KYC INTERNAL_SERVER_ERROR 007 Generate OTP has failed.
Account Holder's KYC INTERNAL_SERVER_ERROR 008 Verify OTP has failed.
Account Holder's KYC INTERNAL_SERVER_ERROR 011 Technical Error.
Account Holder's KYC INTERNAL_SERVER_ERROR 024 UID not found trying to modify.
Account Holder's KYC with IDFC Bank INTERNAL_SERVER_ERROR 025 Duplicate request for aadhaar otp kyc.
Account Holder's KYC INTERNAL_SERVER_ERROR 030 Error while creating application.
Account Holder's KYC INTERNAL_SERVER_ERROR 031 Error while adding kyc section in application.
Account Holder's KYC NOT_FOUND 005 Error while fetching KYC Details. Error if the provided account holder is not present.
Account Holder's KYC NOT_FOUND 022 OVD Hash generated has not yet created a challenge (generate OTP) and tried to verify it.

Keep track of this space for more updates



Related articles