Files
cbsnexora-backend/postman/CKYC_Reports_Dashboard.postman_collection.json
T
AdityaandClaude Opus 4.6 43b1e1da33 Add CKYC Reports & Dashboard API module
- GET /ckyc/reports/summary — KPI cards (total, gender split, missing PAN/Aadhaar, dup mobile)
- GET /ckyc/reports/state-distribution — donut chart by state
- GET /ckyc/reports/branch-distribution — top-N branches bar chart
- GET /ckyc/reports/upload-trend — daily upload line chart
- GET /ckyc/customers — paginated, filterable customer list
- GET /ckyc/customers/search — search by name/mobile/pan/cif (capped 50)
- GET /ckyc/customers/{cif} — customer detail with addresses
- GET /ckyc/customers/export — CSV/TXT (pipe-delimited CERSAI format)
- POST /ckyc/files — parse inbound CKYC .txt file
- GET /ckyc/files — list historical uploads
- POST /ckyc/files/generate — generate outbound submission file
- GET /ckyc/branches, /states, /codes/id-types — master data
- Migration 0259: performance indexes on m_client_kyc and m_client
- Postman collection with all endpoints

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-28 16:25:41 +05:30

503 lines
18 KiB
JSON

{
"info": {
"name": "CKYC Reports & Dashboard",
"description": "Complete Postman collection for CKYC Dashboard, Customer Search, Export, File Ingestion & Master Data APIs.\n\nBase URL: https://localhost:8443/fineract-provider/api/v1/ckyc",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"variable": [
{ "key": "base_url", "value": "https://localhost:8443/fineract-provider/api/v1" },
{ "key": "tenant_id", "value": "default" },
{ "key": "username", "value": "mifos" },
{ "key": "password", "value": "password" }
],
"auth": {
"type": "basic",
"basic": [
{ "key": "username", "value": "{{username}}" },
{ "key": "password", "value": "{{password}}" }
]
},
"item": [
{
"name": "1. Dashboard",
"item": [
{
"name": "1.1 Summary KPIs",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/reports/summary",
"host": ["{{base_url}}"],
"path": ["ckyc", "reports", "summary"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Summary returns KPI fields', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.have.property('totalCustomers');",
" pm.expect(json).to.have.property('maleCount');",
" pm.expect(json).to.have.property('femaleCount');",
" pm.expect(json).to.have.property('missingPan');",
" pm.expect(json).to.have.property('missingAadhaar');",
" pm.expect(json).to.have.property('duplicateMobile');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "1.2 Summary KPIs (filtered by branch)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/reports/summary?branchId=1",
"host": ["{{base_url}}"],
"path": ["ckyc", "reports", "summary"],
"query": [{ "key": "branchId", "value": "1" }]
}
}
},
{
"name": "1.3 State Distribution (donut chart)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/reports/state-distribution",
"host": ["{{base_url}}"],
"path": ["ckyc", "reports", "state-distribution"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Returns array of state counts', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "1.4 Branch Distribution (top 10 bar chart)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/reports/branch-distribution?limit=10",
"host": ["{{base_url}}"],
"path": ["ckyc", "reports", "branch-distribution"],
"query": [{ "key": "limit", "value": "10" }]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Returns array of branch counts', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
" if (json.length > 0) {",
" pm.expect(json[0]).to.have.property('branchId');",
" pm.expect(json[0]).to.have.property('branchName');",
" pm.expect(json[0]).to.have.property('count');",
" }",
"});"
], "type": "text/javascript" }}]
},
{
"name": "1.5 Upload Trend (daily line chart)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/reports/upload-trend?from=2026-04-01&to=2026-04-30",
"host": ["{{base_url}}"],
"path": ["ckyc", "reports", "upload-trend"],
"query": [
{ "key": "from", "value": "2026-04-01" },
{ "key": "to", "value": "2026-04-30" }
]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Returns array of daily counts', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
"});"
], "type": "text/javascript" }}]
}
]
},
{
"name": "2. Customer Report",
"item": [
{
"name": "2.1 List Customers (paginated)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers?page=0&pageSize=25&sort=fullName,asc",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers"],
"query": [
{ "key": "page", "value": "0" },
{ "key": "pageSize", "value": "25" },
{ "key": "sort", "value": "fullName,asc" }
]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Paginated response structure', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.have.property('totalElements');",
" pm.expect(json).to.have.property('totalPages');",
" pm.expect(json).to.have.property('page');",
" pm.expect(json).to.have.property('content');",
" pm.expect(json.content).to.be.an('array');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "2.2 List Customers (filtered by name & branch)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers?name=Ravi&branch=MUMBAI&page=0&pageSize=10",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers"],
"query": [
{ "key": "name", "value": "Ravi" },
{ "key": "branch", "value": "MUMBAI" },
{ "key": "page", "value": "0" },
{ "key": "pageSize", "value": "10" }
]
}
}
},
{
"name": "2.3 List Customers (filtered by date range)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers?dateFrom=2026-01-01&dateTo=2026-04-30&page=0&pageSize=25",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers"],
"query": [
{ "key": "dateFrom", "value": "2026-01-01" },
{ "key": "dateTo", "value": "2026-04-30" },
{ "key": "page", "value": "0" },
{ "key": "pageSize", "value": "25" }
]
}
}
}
]
},
{
"name": "3. Search",
"item": [
{
"name": "3.1 Search by Name",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/search?type=name&q=Kumar",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "search"],
"query": [
{ "key": "type", "value": "name" },
{ "key": "q", "value": "Kumar" }
]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Returns array capped to 50', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
" pm.expect(json.length).to.be.at.most(50);",
"});"
], "type": "text/javascript" }}]
},
{
"name": "3.2 Search by Mobile",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/search?type=mobile&q=98920",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "search"],
"query": [
{ "key": "type", "value": "mobile" },
{ "key": "q", "value": "98920" }
]
}
}
},
{
"name": "3.3 Search by PAN",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/search?type=pan&q=AAQPS",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "search"],
"query": [
{ "key": "type", "value": "pan" },
{ "key": "q", "value": "AAQPS" }
]
}
}
},
{
"name": "3.4 Search by CIF",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/search?type=cif&q=000000001",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "search"],
"query": [
{ "key": "type", "value": "cif" },
{ "key": "q", "value": "000000001" }
]
}
}
},
{
"name": "3.5 Get Customer Detail by CIF",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/000000001",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "000000001"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Customer detail has expected fields', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.have.property('cif');",
" pm.expect(json).to.have.property('fullName');",
" pm.expect(json).to.have.property('addresses');",
"});"
], "type": "text/javascript" }}]
}
]
},
{
"name": "4. Export",
"item": [
{
"name": "4.1 Export as CSV",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/export?format=csv",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "export"],
"query": [{ "key": "format", "value": "csv" }]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Returns CSV content', function () {",
" pm.expect(pm.response.headers.get('Content-Type')).to.include('csv');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "4.2 Export as TXT (pipe-delimited CKYC format)",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/customers/export?format=txt&branch=MUMBAI",
"host": ["{{base_url}}"],
"path": ["ckyc", "customers", "export"],
"query": [
{ "key": "format", "value": "txt" },
{ "key": "branch", "value": "MUMBAI" }
]
}
}
}
]
},
{
"name": "5. File Ingestion",
"item": [
{
"name": "5.1 Upload CKYC File",
"request": {
"method": "POST",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"body": {
"mode": "formdata",
"formdata": [
{ "key": "file", "type": "file", "src": "" }
]
},
"url": {
"raw": "{{base_url}}/ckyc/files",
"host": ["{{base_url}}"],
"path": ["ckyc", "files"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Upload response has fileId', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.have.property('fileId');",
" pm.expect(json).to.have.property('totalRecords');",
" pm.expect(json).to.have.property('customers');",
" pm.expect(json).to.have.property('errors');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "5.2 List Historical Uploads",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/files",
"host": ["{{base_url}}"],
"path": ["ckyc", "files"]
}
}
},
{
"name": "5.3 Generate Outbound CKYC File",
"request": {
"method": "POST",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" },
{ "key": "Content-Type", "value": "application/json" }
],
"body": {
"mode": "raw",
"raw": "{\n \"branchId\": 1,\n \"dateFrom\": \"2026-04-01\",\n \"dateTo\": \"2026-04-30\"\n}"
},
"url": {
"raw": "{{base_url}}/ckyc/files/generate",
"host": ["{{base_url}}"],
"path": ["ckyc", "files", "generate"]
}
}
}
]
},
{
"name": "6. Master Data",
"item": [
{
"name": "6.1 List Branches",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/branches",
"host": ["{{base_url}}"],
"path": ["ckyc", "branches"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('Branches returns array with branchId & branchName', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
" if (json.length > 0) {",
" pm.expect(json[0]).to.have.property('branchId');",
" pm.expect(json[0]).to.have.property('branchName');",
" }",
"});"
], "type": "text/javascript" }}]
},
{
"name": "6.2 List States",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/states",
"host": ["{{base_url}}"],
"path": ["ckyc", "states"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('States returns all Indian states', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
" pm.expect(json.length).to.be.greaterThan(25);",
" pm.expect(json[0]).to.have.property('code');",
" pm.expect(json[0]).to.have.property('name');",
"});"
], "type": "text/javascript" }}]
},
{
"name": "6.3 List ID Types",
"request": {
"method": "GET",
"header": [
{ "key": "Fineract-Platform-TenantId", "value": "{{tenant_id}}" }
],
"url": {
"raw": "{{base_url}}/ckyc/codes/id-types",
"host": ["{{base_url}}"],
"path": ["ckyc", "codes", "id-types"]
}
},
"event": [{ "listen": "test", "script": { "exec": [
"pm.test('ID types returns PAN, Aadhaar, Passport, Voter, DL', function () {",
" var json = pm.response.json();",
" pm.expect(json).to.be.an('array');",
" var codes = json.map(function(t) { return t.code; });",
" pm.expect(codes).to.include('C');",
" pm.expect(codes).to.include('E');",
"});"
], "type": "text/javascript" }}]
}
]
}
]
}