Switch to dark theme

Switch to light theme

Manage Application and Account Holder

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 generally 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.

PUT/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

StageStatusErrorCodeDescription
AllBAD_REQUEST004Invalid input signature
AllBAD_REQUEST010Technical Error while verifying signature in create session api.
AllBAD_REQUEST027Input IFI Id is not valid.
AllBAD_REQUEST033Input data is invalid and non-parsable data.
Create application for account holderCONFLICT023Account already exists and KYCed
AllFORBIDDEN003Session Expired - Session expiry is 30 mins.
Account Holder's KYCFORBIDDEN015Aadhaar OTP is already processed and closed.
Account Holder's KYCINTERNAL_SERVER_ERROR001Internal Technical Glitch (Mostly timeout from bank APIs)
Account Holder's KYCINTERNAL_SERVER_ERROR007Generate OTP has failed.
Account Holder's KYCINTERNAL_SERVER_ERROR008Verify OTP has failed.
Account Holder's KYCINTERNAL_SERVER_ERROR011Technical Error.
Account Holder's KYCINTERNAL_SERVER_ERROR024UID not found trying to modify.
Account Holder's KYC with IDFC BankINTERNAL_SERVER_ERROR025Duplicate request for aadhaar otp kyc.
Account Holder's KYCINTERNAL_SERVER_ERROR030Error while creating application.
Account Holder's KYCINTERNAL_SERVER_ERROR031Error while adding kyc section in application.
Account Holder's KYCNOT_FOUND005Error while fetching KYC Details. Error if the provided account holder is not present.
Account Holder's KYCNOT_FOUND022OVD Hash generated has not yet created a challenge (generate OTP) and tried to verify it.

Keep track of this space for more updates