- Hide Family Members tab/section for non-individual entities in client view, create flow, and preview - Hide Financial & Classification section for non-individual entities in personal data and preview - Fix legal form column in clients list — fetch legalForm from client API for correct display - Add person/business icon before client name in list rows - Remove unsupportedNpd filter — send authorizedSignatory, additionalInfo, dateOfRegistration to API - Add registration number format hint (mat-hint) based on constitution type - Add spacing between verification row and constitution type dropdowns - Reduce table cell padding and prevent action buttons from being clipped - Add missing MPL-2.0 license headers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
431 lines
15 KiB
JSON
431 lines
15 KiB
JSON
{
|
|
"info": {
|
|
"name": "CBS - Client Creation API",
|
|
"description": "Complete client creation flow — General, KYC, Address, Family Members",
|
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
|
},
|
|
"auth": {
|
|
"type": "basic",
|
|
"basic": [
|
|
{
|
|
"key": "username",
|
|
"value": "{{username}}",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"key": "password",
|
|
"value": "{{password}}",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"variable": [
|
|
{
|
|
"key": "baseUrl",
|
|
"value": "https://localhost:8443/fineract-provider/api/v1"
|
|
},
|
|
{
|
|
"key": "tenantId",
|
|
"value": "default"
|
|
},
|
|
{
|
|
"key": "username",
|
|
"value": "mifos"
|
|
},
|
|
{
|
|
"key": "password",
|
|
"value": "password"
|
|
},
|
|
{
|
|
"key": "clientId",
|
|
"value": ""
|
|
}
|
|
],
|
|
"item": [
|
|
{
|
|
"name": "1. General — Create Client",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"var jsonData = pm.response.json();",
|
|
"if (jsonData.resourceId) {",
|
|
" pm.collectionVariables.set('clientId', jsonData.resourceId);",
|
|
" console.log('Client ID set to: ' + jsonData.resourceId);",
|
|
"}"
|
|
],
|
|
"type": "text/javascript"
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"officeId\": 1,\n \"legalFormId\": 1,\n \"nationalityId\": \"INDIAN\",\n \"isStaff\": false,\n \"active\": false,\n \"salutationId\": 2,\n \"firstname\": \"Aditya\",\n \"middlename\": \"\",\n \"lastname\": \"Vyas\",\n \"genderId\": 22,\n \"dateOfBirth\": \"15 January 1995\",\n \"mobileNo\": \"9876543210\",\n \"alternateMobileNo\": \"9123456780\",\n \"emailAddress\": \"aditya@example.com\",\n \"maritalStatusId\": 101,\n \"occupationCategoryId\": 50,\n \"occupationId\": 60,\n \"monthlyIncome\": 50000,\n \"submittedOnDate\": \"01 April 2026\",\n \"dipVerified\": true,\n \"alternateDipVerified\": false,\n \"dateFormat\": \"dd MMMM yyyy\",\n \"locale\": \"en\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients"]
|
|
},
|
|
"description": "Creates the client record. Response returns `resourceId` which is auto-set as `clientId` for subsequent requests."
|
|
}
|
|
},
|
|
{
|
|
"name": "1b. General — Create Non-Individual Client",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"var jsonData = pm.response.json();",
|
|
"if (jsonData.resourceId) {",
|
|
" pm.collectionVariables.set('clientId', jsonData.resourceId);",
|
|
" console.log('Client ID set to: ' + jsonData.resourceId);",
|
|
"}"
|
|
],
|
|
"type": "text/javascript"
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"officeId\": 1,\n \"legalFormId\": 2,\n \"nationalityId\": \"INDIAN\",\n \"isStaff\": false,\n \"active\": false,\n \"fullname\": \"ABC Enterprises Pvt Ltd\",\n \"mobileNo\": \"9876543210\",\n \"alternateMobileNo\": \"\",\n \"emailAddress\": \"info@abc.com\",\n \"monthlyIncome\": 200000,\n \"submittedOnDate\": \"01 April 2026\",\n \"dipVerified\": true,\n \"alternateDipVerified\": false,\n \"clientNonPersonDetails\": {\n \"constitutionId\": 10,\n \"mainBusinessLineId\": 5,\n \"incorpNumber\": \"U12345MH2020PTC123456\",\n \"remarks\": \"\",\n \"authorizedSignatory\": \"Mr. Vyas\",\n \"additionalInfo\": \"\",\n \"monthlyIncome\": 200000,\n \"dateFormat\": \"dd MMMM yyyy\",\n \"locale\": \"en\"\n },\n \"dateFormat\": \"dd MMMM yyyy\",\n \"locale\": \"en\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients"]
|
|
},
|
|
"description": "Creates a Non-Individual (Entity) client. Response returns `resourceId` which is auto-set as `clientId`."
|
|
}
|
|
},
|
|
{
|
|
"name": "2. KYC — Save Client KYC",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"locale\": \"en\",\n \"dateFormat\": \"dd MMMM yyyy\",\n \"kycType\": 1,\n \"riskCategory\": 1,\n \"panNumber\": \"ABCDE1234F\",\n \"aadhaarNumberMasked\": \"XXXXXXXX1234\",\n \"panAadhaarSeedingStatus\": \"LINKED\",\n \"gstinNumber\": null,\n \"enterprisePan\": null,\n \"cinNumber\": null,\n \"incorporationDate\": null,\n \"kycDocumentName\": \"Aadhaar Card\",\n \"kycDocumentNumber\": \"1234-5678-9012\",\n \"kycDocIssueDate\": \"15 January 2020\",\n \"kycDocExpiryDate\": null,\n \"amlCheckStatus\": \"CLEAR\",\n \"bannedEntityMatch\": \"NO\",\n \"willfulDefaulter\": \"NO\",\n \"ecgcSalFlag\": \"NO\",\n \"dormantFlag\": \"ACTIVE\",\n \"accountStatus\": \"ACTIVE\",\n \"freezeReason\": null,\n \"freezeAuthority\": null,\n \"form60Type\": \"FORM_60\",\n \"form60Date\": null,\n \"form15Applicable\": false,\n \"form15Type\": \"15G\",\n \"form15FY\": null,\n \"remarks\": null\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/kyc",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "kyc"]
|
|
},
|
|
"description": "Saves KYC details including PAN, Aadhaar, AML compliance, document info, risk category, and Form 60/15 data."
|
|
}
|
|
},
|
|
{
|
|
"name": "2b. KYC — Get Client KYC",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/kyc",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "kyc"]
|
|
},
|
|
"description": "Fetches existing KYC data for a client."
|
|
}
|
|
},
|
|
{
|
|
"name": "2c. KYC — Upload Profile Photo",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "formdata",
|
|
"formdata": [
|
|
{
|
|
"key": "file",
|
|
"type": "file",
|
|
"src": "",
|
|
"description": "Select client photo (JPG/PNG)"
|
|
},
|
|
{
|
|
"key": "filename",
|
|
"value": "file",
|
|
"type": "text"
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/images",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "images"]
|
|
},
|
|
"description": "Uploads client profile photograph."
|
|
}
|
|
},
|
|
{
|
|
"name": "2d. KYC — Upload Signature",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "formdata",
|
|
"formdata": [
|
|
{
|
|
"key": "file",
|
|
"type": "file",
|
|
"src": "",
|
|
"description": "Select signature image (JPG/PNG)"
|
|
},
|
|
{
|
|
"key": "name",
|
|
"value": "clientSignature",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "description",
|
|
"value": "Client signature",
|
|
"type": "text"
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/documents",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "documents"]
|
|
},
|
|
"description": "Uploads client signature as a document."
|
|
}
|
|
},
|
|
{
|
|
"name": "3. Address — Save Permanent Address",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"addressLine1\": \"123, MG Road\",\n \"addressLine2\": \"Near City Mall\",\n \"addressLine3\": \"\",\n \"townVillage\": \"Vastrapur\",\n \"postalCode\": \"380015\",\n \"city\": \"Ahmedabad\",\n \"countyDistrict\": \"Ahmedabad\",\n \"street\": \"Opp. ISRO\",\n \"addressType\": 101,\n \"isActive\": true,\n \"stateProvinceId\": 12\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/client/{{clientId}}/addresses?type=101",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["client", "{{clientId}}", "addresses"],
|
|
"query": [
|
|
{
|
|
"key": "type",
|
|
"value": "101",
|
|
"description": "Address type ID (get from address template)"
|
|
}
|
|
]
|
|
},
|
|
"description": "Creates a permanent address. Change `type` query param and `addressType` body field for other types (current, office, correspondence)."
|
|
}
|
|
},
|
|
{
|
|
"name": "3b. Address — Save Current Address",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"addressLine1\": \"456, SG Highway\",\n \"addressLine2\": \"Flat 302, Tower B\",\n \"addressLine3\": \"\",\n \"townVillage\": \"Bodakdev\",\n \"postalCode\": \"380054\",\n \"city\": \"Ahmedabad\",\n \"countyDistrict\": \"Ahmedabad\",\n \"street\": \"Near Honest Restaurant\",\n \"addressType\": 102,\n \"isActive\": false,\n \"stateProvinceId\": 12\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/client/{{clientId}}/addresses?type=102",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["client", "{{clientId}}", "addresses"],
|
|
"query": [
|
|
{
|
|
"key": "type",
|
|
"value": "102",
|
|
"description": "Current/Residential address type ID"
|
|
}
|
|
]
|
|
},
|
|
"description": "Creates a current/residential address."
|
|
}
|
|
},
|
|
{
|
|
"name": "3c. Address — Get Address Template",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/client/addresses/template",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["client", "addresses", "template"]
|
|
},
|
|
"description": "Fetches address template with `addressTypeIdOptions` and `stateProvinceIdOptions`. Use these IDs in address save requests."
|
|
}
|
|
},
|
|
{
|
|
"name": "4. Family — Add Family Member",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
},
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"firstName\": \"Sunita\",\n \"middleName\": \"\",\n \"lastName\": \"Vyas\",\n \"relationshipId\": 30,\n \"genderId\": 23,\n \"dateOfBirth\": \"10 March 1998\",\n \"isAlive\": true,\n \"panNumber\": \"XYZAB1234C\",\n \"aadhaarNumber\": \"987654321012\",\n \"dateFormat\": \"dd MMMM yyyy\",\n \"locale\": \"en\"\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/familymembers",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "familymembers"]
|
|
},
|
|
"description": "Adds a family member to the client. Call once per member."
|
|
}
|
|
},
|
|
{
|
|
"name": "4b. Family — Get Family Members",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/familymembers",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "familymembers"]
|
|
},
|
|
"description": "Fetches all family members for a client."
|
|
}
|
|
},
|
|
{
|
|
"name": "4c. Family — Upload Marriage Certificate",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "formdata",
|
|
"formdata": [
|
|
{
|
|
"key": "file",
|
|
"type": "file",
|
|
"src": "",
|
|
"description": "Select marriage certificate (PDF/JPG/PNG)"
|
|
},
|
|
{
|
|
"key": "name",
|
|
"value": "Marriage Certificate",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "description",
|
|
"value": "Marriage Certificate",
|
|
"type": "text"
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}/familymembers/{{familyMemberId}}/documents",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}", "familymembers", "{{familyMemberId}}", "documents"]
|
|
},
|
|
"description": "Uploads a marriage certificate document for a family member. Set `familyMemberId` from the Add Family Member response."
|
|
}
|
|
},
|
|
{
|
|
"name": "5. Get Client Details",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Fineract-Platform-TenantId",
|
|
"value": "{{tenantId}}"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "{{baseUrl}}/clients/{{clientId}}",
|
|
"host": ["{{baseUrl}}"],
|
|
"path": ["clients", "{{clientId}}"]
|
|
},
|
|
"description": "Fetches full client details to verify saved data."
|
|
}
|
|
}
|
|
]
|
|
}
|