Switch to dark theme

Switch to light theme

Manage Account Holders


Manage your Account Holders and Applications using Fusion APIs. In this article you learn about:

Application States

After you create an Application, it moves through various states. Each state provides crucial information about your Application.

  • Review - Your Application is submitted to the Issuing Financial Institute (IFI) and is being processed.
  • Provision - IFI approves the Application. Account Holder is created and a unique identifier (accountHolderID, individualID) is assigned.
  • Approve - Post approval, you can issue Bundle to Account Holder .

Duplicate Application

There might be instances where the Account Holder you are trying to create already exists with the same vector Unique identifiers used to identify an Account Holder. Example: phone, email and so on. .

In such cases, the authority to approve your Application lies solely with the IFI. IFI configures the matching criteria and approves or rejects the Application accordingly.

Update Application

Edit Application details like Account Holder’s name, date of birth, gender, and so on, using the /applications API. The ID of the Application whose details you are editing is required to call the API.

Endpoint URI

PUT/api/v1/ifi/{ifiID}/applications/{applicationID}
For more information on the endpoint, see Core API Reference.

Input parameters

  • ifiID: Required. Unique identifier of the IFI.
  • applicationID: Required. Unique identifier of the Application.
  • firstName: Optional. Account Holder’s first name.
  • lastName: Optional. Account Holder’s last name.
  • middleName: Optional. Account Holder’s middle name.
  • mothersMaidenName: Optional. Account Holder’s mother’s maiden name.
  • gender: Optional. Account Holder’s gender. Example: “male”, “female”.
  • dob: Account Holder’s date of birth details.
  • year: Optional. Year of birth in YYYY format.
  • month: Required. Month of birth in MM format. Value must be between 1 and 12
  • day: Required. Day of birth in DD format. Value cannot be more than the number of days in the specified month. For example, if the month of birth is June, the day must be 30 or less.
  • profilePicURL: Optional. Link to Account Holder’s profile image.
  • salutation: Optional. Salutation using which the Account Holder is addressed. Example: Mr., Mrs., Ms.

Example

In the following example, we change the year of birth for Account Holder John Doe.

cURL Sample
Switch Theme
Expand More
Copy
curl -X PUT 'https://fusion.preprod.zeta.in/api/v1/ifi/140827/applications/147247' 
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' 
-H 'Content-Type: application/json' 
--data-raw '{
    "applicationID": "147247",
    "ifiID": 140827,
    "dob": {
        "year": 1990,
        "month": 7,
        "day": 5
    },
    "salutation": "Mr.",
    "firstName": "John",
    "middleName": "Mary",
    "lastName": "Doe",
    "mothersMaidenName": "Mary",
    "profilePicURL": "http://mypic.picland.somewhere.com/profile_pic.jpg",
    "gender": "MALE"
}
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "applicationID": "147247",
  "ifiID": 140827,
  "spoolID": "123",
  "status": "PROCESSING",
  "individualID": "59118a0c-0cfb-4d3a-b75e-321c62b5889a",
  "applicationType": "REAL",
  "salutation": "Mr.",
  "firstName": "John",
  "middleName": "Mary",
  "lastName": "Doe",
  "profilePicURL": "http://mypic.picland.somewhere.com/profile_pic.jpg",
  "dob": {
      "year": 1990,
      "month": 7,
      "day": 5
  },
  "gender": "MALE",
  "mothersMaidenName": "Mary",
  "vectors": {
      "63518967-ff26-459b-9ca1-94feb03cd44a": {
          "type": "p",
          "value": "+918830145227",
          "isVerified": false
      },
      "38852d68-2054-4365-8e1e-c45a029a315c": {
          "type": "p",
          "value": "+918830145227",
          "isVerified": false,
          "tags": [
              {
                  "type": "vbo-id",
                  "value": "4fa18593-d2d9-4bf3-bea7-7f6deb9f2ca4",
                  "attributes": {}
              }
          ]
      }
  },
  "pops": {},
  "tags": {
      "8421de77-8a6f-431a-a3e7-c3d6b747a0f5": {
          "type": "vbo-id",
          "value": "4fa18593-d2d9-4bf3-bea7-7f6deb9f2ca4",
          "attributes": {}
      }
  },
  "kycDetails": {
      "kycStatus": "MINIMAL",
      "kycStatusPostExpiry": "string",
      "authType": "PAN",
      "authData": {
          "PAN": "ALQIG10219"
      },
      "kycAttributes": {}
  },
  "createdAt": "Jun 10, 2020 1:30:03 PM",
  "updatedAt": "Jun 11, 2020 9:19:18 AM",
  "statusDetails": {},
  "headers": {}
}
Code Copied

Get Application Details

When you create an Application for a new Account Holder, applicationID (unique identifier), is generated. Use the applicationID to get details of your Application. The response displays Application/Applicant details and the current status of your Application.

Endpoint URI

GET /api/v1/ifi/{{ifiID}}/applications/{applicationID}

Input parameters

  • ifiID: Required. Unique identifier of the IFI.
  • applicationID: Required. Unique identifier of the Application.

Example

In the following example, we fetch the details with Application ID 145437. The “status”: “PROCESSING” shows that the Application is being processed.

cURL Sample
Switch Theme
Expand More
Copy
curl -L -X GET 'https://fusion.preprod.zeta.in/api/v1/ifi/140827/applications/145437' 
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' 
-H 'Content-Type: application/json' 
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
  "applicationID": "145437",
  "ifiID": 140827,
  "status": "PROCESSING",
  "applicationType": "REAL",
  "salutation": "Mr.",
  "firstName": "John",
  "middleName": "Mary",
  "lastName": "Doe",
  "profilePicURL": "http://mypic.picland.somewhere.com/profile_pic.jpg",
  "dob": {
      "year": 1997,
      "month": 6,
      "day": 30
  },
  "gender": "MALE",
  "mothersMaidenName": "Mary",
  "vectors": {
      "1151245d-aea1-46a6-8a60-4d2e525dbd88": {
          "type": "p",
          "value": "+918830145227",
          "isVerified": false,
          "tags": [
              {
                  "type": "vbo-id",
                  "value": "4fa18593-d2d9-4bf3-bea7-7f6deb9f2ca4",
                  "attributes": {}
              }
          ]
      },
      "ab44cfec-d28f-42f7-99d4-2b829c15803a": {
          "type": "p",
          "value": "+918830145227",
          "isVerified": false
      }
  },
  "pops": {},
  "tags": {
      "e3013d3e-e5a9-4ac4-8533-1c71abb9c10d": {
          "type": "vbo-id",
          "value": "4fa18593-d2d9-4bf3-bea7-7f6deb9f2ca4",
          "attributes": {}
      }
  },
  "kycDetails": {
      "kycStatusPostExpiry": "string",
      "authType": "PAN",
      "authData": {
          "PAN": "ALQIG10219"
      },
      "kycAttributes": {}
  },
  "createdAt": "Jun 9, 2020 2:29:39 PM",
  "updatedAt": "Jun 9, 2020 2:29:39 PM",
  "headers": {}
}
Code Copied

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

Keep track of this space for more updates