{
    "info": {
        "_postman_id": "98d4f01f-6bec-5495-9035-19ec25290a80",
        "name": "LiteBanking API",
        "description": "Generated from the live LiteBanking endpoint registry. Do not edit by hand —\nrun `php artisan docs:generate-postman` instead.\n\n## Setup\n\n1. Set the `client_id` and `client_secret` collection variables to the\n   credentials issued from your dashboard.\n2. Send any request. The collection pre-request script signs it for you.\n\n## Authentication\n\nEvery request carries `X-Client-ID`, `X-Timestamp`, `X-Request-ID` and\n`X-Signature`. The signature is a lowercase hex HMAC-SHA256 over\n`METHOD|PATH|TIMESTAMP|BODY`, keyed with your secret.\n\nTimestamps outside a 300 second window are rejected, and a repeated\n`X-Request-ID` within 10 minutes returns HTTP 409.\n\nFull documentation: https://litebanking.com/developer",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "event": [
        {
            "listen": "prerequest",
            "script": {
                "type": "text/javascript",
                "exec": [
                    "// LiteBanking request signing — runs before every request.",
                    "// Set client_id and client_secret as collection or environment variables.",
                    "const clientId = pm.variables.get('client_id');",
                    "const secret = pm.variables.get('client_secret');",
                    "",
                    "if (!clientId || !secret) {",
                    "    console.warn('Set client_id and client_secret before sending requests.');",
                    "} else {",
                    "    const timestamp = Math.floor(Date.now() / 1000).toString();",
                    "    const requestId = require('uuid').v4();",
                    "    const method = pm.request.method.toUpperCase();",
                    "",
                    "    // PATH excludes the host and the query string.",
                    "    const resolved = pm.variables.replaceIn(pm.request.url.toString());",
                    "    const path = '/' + resolved.replace(/^https?:\\/\\/[^/]+/, '').replace(/^\\//, '').split('?')[0];",
                    "",
                    "    // Sign the exact bytes that will be sent.",
                    "    const raw = pm.request.body && pm.request.body.mode === 'raw' ? pm.request.body.raw : '';",
                    "    const body = raw ? pm.variables.replaceIn(raw) : '';",
                    "",
                    "    const canonical = [method, path, timestamp, body].join('|');",
                    "    const signature = CryptoJS.HmacSHA256(canonical, secret).toString(CryptoJS.enc.Hex);",
                    "",
                    "    pm.request.headers.upsert({ key: 'X-Client-ID', value: clientId });",
                    "    pm.request.headers.upsert({ key: 'X-Timestamp', value: timestamp });",
                    "    pm.request.headers.upsert({ key: 'X-Request-ID', value: requestId });",
                    "    pm.request.headers.upsert({ key: 'X-Signature', value: signature });",
                    "}"
                ]
            }
        }
    ],
    "variable": [
        {
            "key": "base_url",
            "value": "https://litebanking.com",
            "type": "string"
        },
        {
            "key": "client_id",
            "value": "",
            "type": "string"
        },
        {
            "key": "client_secret",
            "value": "",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "Aeps",
            "item": [
                {
                    "name": "1. Onboard merchant",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/onboard",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "onboard"
                            ]
                        },
                        "description": "STEP 1 of 11 — Register a merchant (once per merchant)\n\nWhat it does: creates an AEPS merchant under your API account using name, mobile, PAN, Aadhaar, shop address and settlement bank account.\nUnlimited merchants: you can onboard as many merchants as you want. Each merchant needs its own mobile, PAN, Aadhaar and bank account.\n\nBefore this: nothing. AEPS must be active on your account (no overdue payment).\nNext step: Step 2 — `POST /api/v1/aeps/ekyc/send-otp`\n\nSAVE from the response: `merchantLoginId` and `merchantLoginPin`. Send them as `merchantLoginId` + `merchantPin` in every later call for this merchant.\n\nGood to know:\n• Calling again with the SAME mobile is safe: you get `ALREADY_ONBOARDED` with the same merchantLoginId.\n• A new mobile = a new merchant.\n• See all your merchants: `GET /api/v1/aeps/merchants`\n\nCommon errors:\n• `VALIDATION_ERROR` → a field is missing or in the wrong format; see `errors`.\n• `ONBOARDING_VALIDATION_FAILED` → the bank rejected some fields; fix the ones in `error.fields`.\n• `PAYMENT_OVERDUE` / `SERVICE_SUSPENDED` → clear dues or contact your account manager.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Rajesh Kumar Singh\",\n    \"merchantPhoneNumber\": \"9876543210\",\n    \"address1\": \"Shop No 5, Main Market\",\n    \"address2\": \"Near Bus Stand\",\n    \"state\": \"Rajasthan\",\n    \"city\": \"Jaipur\",\n    \"district\": \"Jaipur\",\n    \"pincode\": \"302001\",\n    \"userPan\": \"ABCDE1234F\",\n    \"aadhaarNumber\": \"234567890123\",\n    \"gstin\": \"08ABCDE1234F1Z5\",\n    \"companyOrShopPan\": \"AAACS1234C\",\n    \"bankAccountNumber\": \"12345678901234\",\n    \"bankIfscCode\": \"SBIN0001234\",\n    \"bankName\": \"State Bank of India\",\n    \"bankAccountName\": \"Rajesh Kumar Singh\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"deviceIMEI\": \"358240051111110\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"code\": \"ONBOARDED\",\n    \"message\": \"Merchant onboarded successfully\",\n    \"data\": {\n        \"merchantLoginId\": \"MER48210375\",\n        \"merchantLoginPin\": \"Q7M2K9\",\n        \"merchantId\": \"MER48210375\",\n        \"next_action\": \"ekyc\",\n        \"alreadyOnboarded\": false\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/onboard",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "onboard"
                                    ]
                                },
                                "description": "STEP 1 of 11 — Register a merchant (once per merchant)\n\nWhat it does: creates an AEPS merchant under your API account using name, mobile, PAN, Aadhaar, shop address and settlement bank account.\nUnlimited merchants: you can onboard as many merchants as you want. Each merchant needs its own mobile, PAN, Aadhaar and bank account.\n\nBefore this: nothing. AEPS must be active on your account (no overdue payment).\nNext step: Step 2 — `POST /api/v1/aeps/ekyc/send-otp`\n\nSAVE from the response: `merchantLoginId` and `merchantLoginPin`. Send them as `merchantLoginId` + `merchantPin` in every later call for this merchant.\n\nGood to know:\n• Calling again with the SAME mobile is safe: you get `ALREADY_ONBOARDED` with the same merchantLoginId.\n• A new mobile = a new merchant.\n• See all your merchants: `GET /api/v1/aeps/merchants`\n\nCommon errors:\n• `VALIDATION_ERROR` → a field is missing or in the wrong format; see `errors`.\n• `ONBOARDING_VALIDATION_FAILED` → the bank rejected some fields; fix the ones in `error.fields`.\n• `PAYMENT_OVERDUE` / `SERVICE_SUSPENDED` → clear dues or contact your account manager.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"name\": \"Rajesh Kumar Singh\",\n    \"merchantPhoneNumber\": \"9876543210\",\n    \"address1\": \"Shop No 5, Main Market\",\n    \"address2\": \"Near Bus Stand\",\n    \"state\": \"Rajasthan\",\n    \"city\": \"Jaipur\",\n    \"district\": \"Jaipur\",\n    \"pincode\": \"302001\",\n    \"userPan\": \"ABCDE1234F\",\n    \"aadhaarNumber\": \"234567890123\",\n    \"gstin\": \"08ABCDE1234F1Z5\",\n    \"companyOrShopPan\": \"AAACS1234C\",\n    \"bankAccountNumber\": \"12345678901234\",\n    \"bankIfscCode\": \"SBIN0001234\",\n    \"bankName\": \"State Bank of India\",\n    \"bankAccountName\": \"Rajesh Kumar Singh\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"deviceIMEI\": \"358240051111110\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "2. eKYC — Send OTP",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/ekyc/send-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "ekyc",
                                "send-otp"
                            ]
                        },
                        "description": "STEP 2 of 11 — Start merchant eKYC (sends OTP to the merchant)\n\nWhat it does: sends an Aadhaar-linked OTP to the merchant's mobile and opens an eKYC session.\n\nBefore this: Step 1 (onboard).\nNext step: Step 3 — `POST /api/v1/aeps/ekyc/validate-otp`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `mobileNumber` (the SAME mobile used in Step 1), `aadhaarNumber`, `latitude`, `longitude`.\nSAVE from the response: `primaryKeyId` and `encodeFPTxnId` — needed in Steps 3, 4 and 5.\n\nAlso use this step for Bank eKYC: if any call returns `BANK_EKYC_PENDING` (next_action `bank_ekyc`) or the merchant was inactive for 90+ days, run Steps 2 → 3 → 5 again, then Step 6.\n\nCommon errors:\n• `MERCHANT_MOBILE_ALREADY_REGISTERED` → this mobile already belongs to another merchant. Use that merchant's merchantLoginId (see `GET /api/v1/aeps/merchants`) or onboard with a different mobile.\n• `EKYC_IDENTITY_MISMATCH` → name / PAN / Aadhaar do not match the onboarding data.\n• `EKYC_AADHAAR_REJECTED` → Aadhaar could not be verified.\n• Do NOT call send-otp in a loop. If the OTP did not arrive, use Step 4 (resend-otp).\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"mobileNumber\": \"9876543210\",\n    \"aadhaarNumber\": \"234567890123\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"deviceIMEI\": \"358240051111110\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP sent successfully\",\n    \"data\": {\n        \"primaryKeyId\": 5172093,\n        \"encodeFPTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\",\n        \"encodedTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/ekyc/send-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "ekyc",
                                        "send-otp"
                                    ]
                                },
                                "description": "STEP 2 of 11 — Start merchant eKYC (sends OTP to the merchant)\n\nWhat it does: sends an Aadhaar-linked OTP to the merchant's mobile and opens an eKYC session.\n\nBefore this: Step 1 (onboard).\nNext step: Step 3 — `POST /api/v1/aeps/ekyc/validate-otp`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `mobileNumber` (the SAME mobile used in Step 1), `aadhaarNumber`, `latitude`, `longitude`.\nSAVE from the response: `primaryKeyId` and `encodeFPTxnId` — needed in Steps 3, 4 and 5.\n\nAlso use this step for Bank eKYC: if any call returns `BANK_EKYC_PENDING` (next_action `bank_ekyc`) or the merchant was inactive for 90+ days, run Steps 2 → 3 → 5 again, then Step 6.\n\nCommon errors:\n• `MERCHANT_MOBILE_ALREADY_REGISTERED` → this mobile already belongs to another merchant. Use that merchant's merchantLoginId (see `GET /api/v1/aeps/merchants`) or onboard with a different mobile.\n• `EKYC_IDENTITY_MISMATCH` → name / PAN / Aadhaar do not match the onboarding data.\n• `EKYC_AADHAAR_REJECTED` → Aadhaar could not be verified.\n• Do NOT call send-otp in a loop. If the OTP did not arrive, use Step 4 (resend-otp).\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"mobileNumber\": \"9876543210\",\n    \"aadhaarNumber\": \"234567890123\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"deviceIMEI\": \"358240051111110\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "3. eKYC — Validate OTP",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/ekyc/validate-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "ekyc",
                                "validate-otp"
                            ]
                        },
                        "description": "STEP 3 of 11 — Verify the OTP\n\nWhat it does: verifies the 6-digit OTP the merchant received in Step 2.\n\nBefore this: Step 2 (send-otp).\nNext step: Step 5 — `POST /api/v1/aeps/ekyc/biometric`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `otp`, `primaryKeyId` and `encodeFPTxnId` (both from Step 2, copied exactly).\n\nCommon errors:\n• `EKYC_OTP_INVALID` → wrong or expired OTP; call Step 4 (resend-otp).\n• `OTP_ATTEMPTS_EXCEEDED` → too many wrong tries; call Step 4 (resend-otp).\n• `EKYC_SESSION_EXPIRED` → session used or expired; start again from Step 2.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"otp\": \"123456\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP validated successfully\",\n    \"data\": {\n        \"primaryKeyId\": 5172093,\n        \"encodeFPTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\",\n        \"encodedTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\"\n    },\n    \"next_action\": \"ekyc_biometric\",\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/ekyc/validate-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "ekyc",
                                        "validate-otp"
                                    ]
                                },
                                "description": "STEP 3 of 11 — Verify the OTP\n\nWhat it does: verifies the 6-digit OTP the merchant received in Step 2.\n\nBefore this: Step 2 (send-otp).\nNext step: Step 5 — `POST /api/v1/aeps/ekyc/biometric`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `otp`, `primaryKeyId` and `encodeFPTxnId` (both from Step 2, copied exactly).\n\nCommon errors:\n• `EKYC_OTP_INVALID` → wrong or expired OTP; call Step 4 (resend-otp).\n• `OTP_ATTEMPTS_EXCEEDED` → too many wrong tries; call Step 4 (resend-otp).\n• `EKYC_SESSION_EXPIRED` → session used or expired; start again from Step 2.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"otp\": \"123456\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "4. eKYC — Resend OTP (optional)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/ekyc/resend-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "ekyc",
                                "resend-otp"
                            ]
                        },
                        "description": "STEP 4 of 11 — Resend the OTP (only if needed)\n\nWhen to use: the OTP from Step 2 did not arrive, expired, or was entered wrong too many times.\n\nBefore this: Step 2 (send-otp).\nNext step: Step 3 (validate-otp) with the new OTP.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `primaryKeyId` and `encodeFPTxnId` from Step 2.\nIf the response returns new `primaryKeyId` / `encodeFPTxnId`, use the new values from now on.\n\nCommon errors:\n• `EKYC_SESSION_EXPIRED` → start again from Step 2.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP resent successfully\",\n    \"data\": {\n        \"primaryKeyId\": 5172093,\n        \"encodeFPTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\",\n        \"encodedTxnId\": \"EKYC7Q2M9K4X8C1V6B3N5Z0LA\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/ekyc/resend-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "ekyc",
                                        "resend-otp"
                                    ]
                                },
                                "description": "STEP 4 of 11 — Resend the OTP (only if needed)\n\nWhen to use: the OTP from Step 2 did not arrive, expired, or was entered wrong too many times.\n\nBefore this: Step 2 (send-otp).\nNext step: Step 3 (validate-otp) with the new OTP.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `primaryKeyId` and `encodeFPTxnId` from Step 2.\nIf the response returns new `primaryKeyId` / `encodeFPTxnId`, use the new values from now on.\n\nCommon errors:\n• `EKYC_SESSION_EXPIRED` → start again from Step 2.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "5. eKYC — Biometric",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/ekyc/biometric",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "ekyc",
                                "biometric"
                            ]
                        },
                        "description": "STEP 5 of 11 — Merchant fingerprint / face scan (completes eKYC)\n\nWhat it does: verifies the merchant's biometric with Aadhaar. When it succeeds, eKYC is complete.\n\nBefore this: Step 3 (validate-otp). Get the PidOptions for the device from Step 8 (capture-directive, operation `ekyc`).\nNext step: Step 6 — `POST /api/v1/aeps/two-fa`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `captureResponse` (full RD device output). Send `primaryKeyId` + `encodeFPTxnId` from Step 2 as well.\nCheck the response: `stage` and `next_action` tell you what to do next.\n\nCommon errors:\n• `BIOMETRIC_MISMATCH` → clean the sensor, scan again (next_action `retry_capture`).\n• `EKYC_SESSION_EXPIRED` → this OTP session was already used; restart from Step 2. A scan cannot be reused.\n• `BANK_EKYC_PENDING` → bank verification is required: run Steps 2 → 3 → 5 once more.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\",\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Biometric eKYC completed successfully\",\n    \"data\": {\n        \"status\": \"completed\",\n        \"bank_activation\": \"pending\",\n        \"completed_at\": \"2026-10-03T15:24:16+05:30\",\n        \"stage\": \"daily_2fa\",\n        \"bank_ekyc_required\": false\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/ekyc/biometric",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "ekyc",
                                        "biometric"
                                    ]
                                },
                                "description": "STEP 5 of 11 — Merchant fingerprint / face scan (completes eKYC)\n\nWhat it does: verifies the merchant's biometric with Aadhaar. When it succeeds, eKYC is complete.\n\nBefore this: Step 3 (validate-otp). Get the PidOptions for the device from Step 8 (capture-directive, operation `ekyc`).\nNext step: Step 6 — `POST /api/v1/aeps/two-fa`\n\nRequired: merchantLoginId + merchantPin (from Step 1), `captureResponse` (full RD device output). Send `primaryKeyId` + `encodeFPTxnId` from Step 2 as well.\nCheck the response: `stage` and `next_action` tell you what to do next.\n\nCommon errors:\n• `BIOMETRIC_MISMATCH` → clean the sensor, scan again (next_action `retry_capture`).\n• `EKYC_SESSION_EXPIRED` → this OTP session was already used; restart from Step 2. A scan cannot be reused.\n• `BANK_EKYC_PENDING` → bank verification is required: run Steps 2 → 3 → 5 once more.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"primaryKeyId\": \"PK_ABC123\",\n    \"encodeFPTxnId\": \"ENC_TXN_456\",\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    }\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "5a. eKYC — Status (optional)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/ekyc/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "ekyc",
                                "status"
                            ]
                        },
                        "description": "OPTIONAL check — Is eKYC complete for this merchant?\n\nWhen to use: after Step 5, or any time you are not sure whether eKYC is finished.\nRequired: merchantLoginId + merchantPin (from Step 1).\nRead `stage` / `next_action` in the response and follow it (see the stage table in the introduction).\n\nTip: for a full picture of a merchant (stage, bank eKYC, daily 2FA) use `GET /api/v1/aeps/merchant-status`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"deviceIMEI\": \"358240051111110\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"status\": true,\n        \"ekycStatus\": \"completed\",\n        \"message\": \"eKYC is verified\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/ekyc/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "ekyc",
                                        "status"
                                    ]
                                },
                                "description": "OPTIONAL check — Is eKYC complete for this merchant?\n\nWhen to use: after Step 5, or any time you are not sure whether eKYC is finished.\nRequired: merchantLoginId + merchantPin (from Step 1).\nRead `stage` / `next_action` in the response and follow it (see the stage table in the introduction).\n\nTip: for a full picture of a merchant (stage, bank eKYC, daily 2FA) use `GET /api/v1/aeps/merchant-status`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"deviceIMEI\": \"358240051111110\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "6. Daily 2FA (every day)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/two-fa",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "two-fa"
                            ]
                        },
                        "description": "STEP 6 of 11 — Daily merchant authentication (once per day)\n\nWhat it does: the merchant scans their finger/face once every calendar day (India time). Without it, transactions are refused with `TWO_FA_REQUIRED`.\nDo it separately for each service: `serviceType` = `AEPS` (cash withdrawal / deposit / balance / statement) and `AP` (Aadhaar Pay).\n\nBefore this: eKYC completed (Steps 2–5).\nNext step: Step 7 (banks) → Step 8 (capture-directive) → Step 10 (transaction).\n\nRequired: merchantLoginId + merchantPin (from Step 1), `captureResponse`. Optional: `serviceType`, `latitude`, `longitude`.\n\nCommon errors:\n• `BANK_EKYC_PENDING` → the bank wants eKYC again (new merchant first time, or inactive 90+ days). Run Steps 2 → 3 → 5, then call this step again. Do not keep retrying 2FA.\n• `BIOMETRIC_MISMATCH` → scan again.\n• `EKYC_NOT_COMPLETED` → finish Steps 2–5 first.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"serviceType\": \"AEPS\",\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    },\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"2FA authentication successful\",\n    \"next_action\": \"transact\",\n    \"data\": {\n        \"serviceType\": \"AEPS\",\n        \"expires_at\": \"2026-10-03T23:59:59+05:30\",\n        \"stage\": \"ready\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/two-fa",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "two-fa"
                                    ]
                                },
                                "description": "STEP 6 of 11 — Daily merchant authentication (once per day)\n\nWhat it does: the merchant scans their finger/face once every calendar day (India time). Without it, transactions are refused with `TWO_FA_REQUIRED`.\nDo it separately for each service: `serviceType` = `AEPS` (cash withdrawal / deposit / balance / statement) and `AP` (Aadhaar Pay).\n\nBefore this: eKYC completed (Steps 2–5).\nNext step: Step 7 (banks) → Step 8 (capture-directive) → Step 10 (transaction).\n\nRequired: merchantLoginId + merchantPin (from Step 1), `captureResponse`. Optional: `serviceType`, `latitude`, `longitude`.\n\nCommon errors:\n• `BANK_EKYC_PENDING` → the bank wants eKYC again (new merchant first time, or inactive 90+ days). Run Steps 2 → 3 → 5, then call this step again. Do not keep retrying 2FA.\n• `BIOMETRIC_MISMATCH` → scan again.\n• `EKYC_NOT_COMPLETED` → finish Steps 2–5 first.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"serviceType\": \"AEPS\",\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    },\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "7. Bank list (IIN)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/banks",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "banks"
                            ]
                        },
                        "description": "STEP 7 of 11 — Get the customer's bank list\n\nWhat it does: returns banks with their IIN. Show this list to the customer and send the chosen `iin` as `nationalBankIdentificationNumber` in Step 10.\n`face_auth: true` means the bank accepts face authentication.\n\nQuery: `type` = `aeps` (default) or `aadhaar_pay`.\nCache the list for a few hours; no need to call before every transaction.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Bank list\",\n    \"data\": {\n        \"type\": \"aeps\",\n        \"count\": 3,\n        \"banks\": [\n            {\n                \"iin\": \"607152\",\n                \"bank_name\": \"HDFC Bank\",\n                \"face_auth\": true\n            },\n            {\n                \"iin\": \"607094\",\n                \"bank_name\": \"State Bank of India\",\n                \"face_auth\": true\n            },\n            {\n                \"iin\": \"508534\",\n                \"bank_name\": \"ICICI Bank\",\n                \"face_auth\": false\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/banks",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "banks"
                                    ]
                                },
                                "description": "STEP 7 of 11 — Get the customer's bank list\n\nWhat it does: returns banks with their IIN. Show this list to the customer and send the chosen `iin` as `nationalBankIdentificationNumber` in Step 10.\n`face_auth: true` means the bank accepts face authentication.\n\nQuery: `type` = `aeps` (default) or `aadhaar_pay`.\nCache the list for a few hours; no need to call before every transaction.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                            }
                        }
                    ]
                },
                {
                    "name": "8. Capture directive (PidOptions)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/capture-directive",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "capture-directive"
                            ]
                        },
                        "description": "STEP 8 of 11 — Get the PidOptions for the biometric device\n\nWhat it does: returns `pid_options` JSON object to pass to the RD service before every scan (eKYC, daily 2FA and transactions). Never hardcode PidOptions — values differ per operation.\n\nRequired: `operation` = `CW` | `BE` | `MS` | `CD` | `M` | `two_fa` | `ekyc`. Optional: `auth_mode` = `FINGER` (default) or `FACE`, `nationalBankIdentificationNumber`, `transactionAmount`.\nNext step: scan with the RD device, then send the device output as `captureResponse`.\n\nCommon errors:\n• `FACE_AUTH_UNSUPPORTED_BANK` → that bank does not support face; use FINGER.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"operation\": \"CW\",\n    \"auth_mode\": \"FINGER\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Capture directive issued\",\n    \"data\": {\n        \"operation\": \"CW\",\n        \"auth_mode\": \"FINGER\",\n        \"pid_options\": {\n            \"wadh\": \"\",\n            \"fType\": \"2\",\n            \"pidVer\": \"2.0\",\n            \"env\": \"P\",\n            \"timeout\": \"10000\",\n            \"posh\": \"UNKNOWN\"\n        },\n        \"allowed_auth_modes\": [\n            \"FINGER\",\n            \"FACE\"\n        ],\n        \"otp\": {\n            \"required\": false,\n            \"threshold\": \"5000\"\n        }\n    },\n    \"operation\": \"CW\",\n    \"auth_mode\": \"FINGER\",\n    \"pid_options\": {\n        \"wadh\": \"\",\n        \"fType\": \"2\",\n        \"pidVer\": \"2.0\",\n        \"env\": \"P\",\n        \"timeout\": \"10000\",\n        \"posh\": \"UNKNOWN\"\n    },\n    \"allowed_auth_modes\": [\n        \"FINGER\",\n        \"FACE\"\n    ],\n    \"otp\": {\n        \"required\": false,\n        \"threshold\": \"5000\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/capture-directive",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "capture-directive"
                                    ]
                                },
                                "description": "STEP 8 of 11 — Get the PidOptions for the biometric device\n\nWhat it does: returns `pid_options` JSON object to pass to the RD service before every scan (eKYC, daily 2FA and transactions). Never hardcode PidOptions — values differ per operation.\n\nRequired: `operation` = `CW` | `BE` | `MS` | `CD` | `M` | `two_fa` | `ekyc`. Optional: `auth_mode` = `FINGER` (default) or `FACE`, `nationalBankIdentificationNumber`, `transactionAmount`.\nNext step: scan with the RD device, then send the device output as `captureResponse`.\n\nCommon errors:\n• `FACE_AUTH_UNSUPPORTED_BANK` → that bank does not support face; use FINGER.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"operation\": \"CW\",\n    \"auth_mode\": \"FINGER\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "9. Transaction OTP (above ₹5,000)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/transaction-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "transaction-otp"
                            ]
                        },
                        "description": "STEP 9 of 11 — Customer OTP for high-value transactions (only when needed)\n\nWhen to use: Cash Withdrawal (CW) or Aadhaar Pay (M) ABOVE ₹5,000. Not needed for BE / MS / CD or smaller amounts.\nWhat it does: sends an OTP to the customer's Aadhaar-linked mobile and returns `otp_reference`.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `operation` (or `transactionType`), `transactionAmount`, `adhaarNumber` (customer), `nationalBankIdentificationNumber`, `mobileNumber`. Optional: `latitude`, `longitude`.\nNext step: Step 10 (transaction) with `otp_reference`.\n\nCommon errors:\n• `OTP_REQUIRED` (from Step 10) → you skipped this step for an amount above ₹5,000.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"transactionType\": \"CW\",\n    \"transactionAmount\": 6000,\n    \"adhaarNumber\": \"234567890123\",\n    \"nationalBankIdentificationNumber\": \"607152\",\n    \"mobileNumber\": \"9876543210\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP sent to customer\",\n    \"canonical_code\": \"OTP_SENT\",\n    \"otp_required\": true,\n    \"otp_reference\": \"OTPREF8K2M4Q7X\",\n    \"validity\": \"2026-10-03T18:17:44+05:30\",\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/transaction-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "transaction-otp"
                                    ]
                                },
                                "description": "STEP 9 of 11 — Customer OTP for high-value transactions (only when needed)\n\nWhen to use: Cash Withdrawal (CW) or Aadhaar Pay (M) ABOVE ₹5,000. Not needed for BE / MS / CD or smaller amounts.\nWhat it does: sends an OTP to the customer's Aadhaar-linked mobile and returns `otp_reference`.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `operation` (or `transactionType`), `transactionAmount`, `adhaarNumber` (customer), `nationalBankIdentificationNumber`, `mobileNumber`. Optional: `latitude`, `longitude`.\nNext step: Step 10 (transaction) with `otp_reference`.\n\nCommon errors:\n• `OTP_REQUIRED` (from Step 10) → you skipped this step for an amount above ₹5,000.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"transactionType\": \"CW\",\n    \"transactionAmount\": 6000,\n    \"adhaarNumber\": \"234567890123\",\n    \"nationalBankIdentificationNumber\": \"607152\",\n    \"mobileNumber\": \"9876543210\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "10. Transaction (CW / BE / MS / CD / Aadhaar Pay)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/transaction",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "transaction"
                            ]
                        },
                        "description": "STEP 10 of 11 — Do the AEPS transaction\n\n`transactionType`: `CW` Cash Withdrawal · `BE` Balance Enquiry · `MS` Mini Statement · `CD` Cash Deposit · `M` Aadhaar Pay.\n\nBefore this: today's daily 2FA (Step 6) for this merchant, bank IIN (Step 7), customer scan using PidOptions (Step 8). For CW / M above ₹5,000 also Step 9.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `transactionType`, `adhaarNumber` (customer, 12 digits), `indicatorforUID` (0 = Aadhaar), `nationalBankIdentificationNumber`, `captureResponse`.\n`transactionAmount` is required for CW / CD / M (₹100 – ₹10,000).\nSend your own unique `transaction_id` (max 50) — you need it for Step 11.\n\nRead `status` in the response:\n• `success` → done. • `failed` → no money moved; a new attempt needs a NEW transaction_id. • `pending` → call Step 11 with the SAME transaction_id. Never re-send a pending one.\nSet your HTTP timeout to at least 200 seconds. On timeout, call Step 11 — do not retry.\n\nCommon errors:\n• `TWO_FA_REQUIRED` → run Step 6 for today, then retry.\n• `BANK_EKYC_PENDING` → run Steps 2 → 3 → 5, then Step 6.\n• `OTP_REQUIRED` → amount above ₹5,000; run Step 9 first.\n• `BIOMETRIC_MISMATCH` → customer scans again (new transaction_id).\n• Bank decline codes (51 insufficient funds, 52/53 no account, 91/08 bank down…) → see the bank code table in #guide/aeps-error-codes\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transactionType\": \"CW\",\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"transaction_id\": \"PARTNER-TXN-0001\",\n    \"transactionAmount\": 1000,\n    \"adhaarNumber\": \"234567890123\",\n    \"indicatorforUID\": \"0\",\n    \"nationalBankIdentificationNumber\": \"607152\",\n    \"mobileNumber\": \"9876543210\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Transaction successful\",\n    \"data\": {\n        \"transaction_id\": \"TXN1791041234567123\",\n        \"status\": \"success\",\n        \"rrn\": \"627618856357\",\n        \"amount\": 1000,\n        \"charge\": 0,\n        \"gst\": 0,\n        \"tds\": 0,\n        \"balance_info\": {\n            \"available_balance\": 15240.5,\n            \"account_number\": null\n        },\n        \"statement\": null\n    },\n    \"status\": \"success\",\n    \"merchant_tran_id\": \"TXN1791041234567123\",\n    \"rrn\": \"627618856357\",\n    \"amount\": \"1000\",\n    \"balance\": \"15240.50\",\n    \"statement\": null,\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/transaction",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "transaction"
                                    ]
                                },
                                "description": "STEP 10 of 11 — Do the AEPS transaction\n\n`transactionType`: `CW` Cash Withdrawal · `BE` Balance Enquiry · `MS` Mini Statement · `CD` Cash Deposit · `M` Aadhaar Pay.\n\nBefore this: today's daily 2FA (Step 6) for this merchant, bank IIN (Step 7), customer scan using PidOptions (Step 8). For CW / M above ₹5,000 also Step 9.\n\nRequired: merchantLoginId + merchantPin (from Step 1), `transactionType`, `adhaarNumber` (customer, 12 digits), `indicatorforUID` (0 = Aadhaar), `nationalBankIdentificationNumber`, `captureResponse`.\n`transactionAmount` is required for CW / CD / M (₹100 – ₹10,000).\nSend your own unique `transaction_id` (max 50) — you need it for Step 11.\n\nRead `status` in the response:\n• `success` → done. • `failed` → no money moved; a new attempt needs a NEW transaction_id. • `pending` → call Step 11 with the SAME transaction_id. Never re-send a pending one.\nSet your HTTP timeout to at least 200 seconds. On timeout, call Step 11 — do not retry.\n\nCommon errors:\n• `TWO_FA_REQUIRED` → run Step 6 for today, then retry.\n• `BANK_EKYC_PENDING` → run Steps 2 → 3 → 5, then Step 6.\n• `OTP_REQUIRED` → amount above ₹5,000; run Step 9 first.\n• `BIOMETRIC_MISMATCH` → customer scans again (new transaction_id).\n• Bank decline codes (51 insufficient funds, 52/53 no account, 91/08 bank down…) → see the bank code table in #guide/aeps-error-codes\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transactionType\": \"CW\",\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"transaction_id\": \"PARTNER-TXN-0001\",\n    \"transactionAmount\": 1000,\n    \"adhaarNumber\": \"234567890123\",\n    \"indicatorforUID\": \"0\",\n    \"nationalBankIdentificationNumber\": \"607152\",\n    \"mobileNumber\": \"9876543210\",\n    \"latitude\": 26.9124,\n    \"longitude\": 75.7873,\n    \"captureResponse\": {\n        \"errCode\": \"0\",\n        \"fCount\": \"1\",\n        \"fType\": \"2\",\n        \"dpID\": \"DEVICE.PROVIDER\",\n        \"rdsID\": \"RDS.ID.001\",\n        \"rdsVer\": \"1.0.8\",\n        \"mi\": \"MODEL\",\n        \"mc\": \"MIIEGDCCAwCg...\",\n        \"sessionKey\": \"dGVz...\",\n        \"hmac\": \"Ymlu...\",\n        \"PidDatatype\": \"X\",\n        \"Piddata\": \"BASE64_ENCODED_PID_DATA\",\n        \"ts\": \"2026-10-03T12:00:00.000Z\"\n    }\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "11. Transaction status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "status"
                            ]
                        },
                        "description": "STEP 11 of 11 — Check a transaction (only when pending or timed out)\n\nWhen to use: Step 10 returned `pending`, or your call timed out. Use the SAME `transaction_id`.\nPolling: every 30–60 seconds, up to about 15 minutes. Most pending transactions settle within minutes; a few are settled by the bank by the next working day.\n\nRequired: `transaction_id`, merchantLoginId + merchantPin (from Step 1).\nFinal statuses: `success`, `failed`, `reversed`. Stop polling once you get one.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"AEPS-CW-20260227143022-1234\",\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"deviceIMEI\": \"358240051111110\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Transaction status fetched successfully\",\n    \"data\": {\n        \"transaction_id\": \"TXN1791041234567123\",\n        \"status\": \"success\",\n        \"rrn\": \"627618856357\",\n        \"amount\": 1000,\n        \"response_code\": \"00\",\n        \"response_message\": \"Transaction successful\"\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "status"
                                    ]
                                },
                                "description": "STEP 11 of 11 — Check a transaction (only when pending or timed out)\n\nWhen to use: Step 10 returned `pending`, or your call timed out. Use the SAME `transaction_id`.\nPolling: every 30–60 seconds, up to about 15 minutes. Most pending transactions settle within minutes; a few are settled by the bank by the next working day.\n\nRequired: `transaction_id`, merchantLoginId + merchantPin (from Step 1).\nFinal statuses: `success`, `failed`, `reversed`. Stop polling once you get one.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"AEPS-CW-20260227143022-1234\",\n    \"merchantLoginId\": \"YOUR_MERCHANT_LOGIN_ID\",\n    \"merchantPin\": \"YOUR_MERCHANT_PIN\",\n    \"deviceIMEI\": \"358240051111110\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Merchant status (what to do next)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/merchant-status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "merchant-status"
                            ]
                        },
                        "description": "MERCHANT TOOL — Where is this merchant in the flow?\n\nReturns `stage`, `next_action`, `bank_ekyc_required`, `dormant`, `txn_ready` and a step list showing what is done and what is pending.\nUse it whenever you are not sure what to call next — before raising a ticket.\n\nQuery: `merchantLoginId` (recommended; defaults to your latest merchant). Unknown id → `MERCHANT_NOT_FOUND`.\nStages: `onboard` → `ekyc` → `bank_ekyc` → `daily_2fa` → `ready`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"merchantLoginId\": \"MER48210375\",\n        \"stage\": \"ready\",\n        \"next_action\": \"transact\",\n        \"bank_ekyc_required\": false,\n        \"dormant\": false,\n        \"last_activity_at\": \"2026-10-03T18:12:44+05:30\",\n        \"txn_ready\": true,\n        \"notes\": [\n            \"Error BANK_EKYC_PENDING (or next_action \\\"bank_ekyc\\\") on ANY call means: run ekyc/send-otp, ekyc/validate-otp, ekyc/biometric again (Bank eKYC), then two-fa.\",\n            \"A merchant inactive for more than 90 days must repeat Bank eKYC before AEPS works again.\"\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/merchant-status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "merchant-status"
                                    ]
                                },
                                "description": "MERCHANT TOOL — Where is this merchant in the flow?\n\nReturns `stage`, `next_action`, `bank_ekyc_required`, `dormant`, `txn_ready` and a step list showing what is done and what is pending.\nUse it whenever you are not sure what to call next — before raising a ticket.\n\nQuery: `merchantLoginId` (recommended; defaults to your latest merchant). Unknown id → `MERCHANT_NOT_FOUND`.\nStages: `onboard` → `ekyc` → `bank_ekyc` → `daily_2fa` → `ready`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                            }
                        }
                    ]
                },
                {
                    "name": "Merchant list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/merchants",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "merchants"
                            ]
                        },
                        "description": "MERCHANT TOOL — All merchants under your API account\n\nReturns each merchant's merchantLoginId, name, mobile, stage, next_action, KYC status and last transaction, plus a `summary` count per stage and `pagination`.\n\nQuery: `status` (onboard | ekyc | bank_ekyc | daily_2fa | ready), `q` (search id / name / mobile), `page`, `per_page` (max 100).\nUse it to find the merchantLoginId of an existing mobile (e.g. after `MERCHANT_MOBILE_ALREADY_REGISTERED`).\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"merchants\": [\n            {\n                \"merchantLoginId\": \"MER48210375\",\n                \"name\": \"RAJESH KUMAR\",\n                \"mobile\": \"9876543210\",\n                \"stage\": \"ready\",\n                \"next_action\": \"transact\",\n                \"onboarding_status\": \"completed\",\n                \"kyc_status\": \"verified\",\n                \"bank_ekyc_required\": false,\n                \"dormant\": false,\n                \"txn_ready\": true,\n                \"is_active\": true,\n                \"last_transaction_at\": \"2026-10-03T18:12:44+05:30\",\n                \"onboarded_at\": \"2026-10-01T18:30:10+05:30\"\n            },\n            {\n                \"merchantLoginId\": \"MER73019264\",\n                \"name\": \"SUNITA DEVI\",\n                \"mobile\": \"9123456780\",\n                \"stage\": \"bank_ekyc\",\n                \"next_action\": \"bank_ekyc\",\n                \"onboarding_status\": \"completed\",\n                \"kyc_status\": \"pending\",\n                \"bank_ekyc_required\": true,\n                \"dormant\": false,\n                \"txn_ready\": false,\n                \"is_active\": true,\n                \"last_transaction_at\": null,\n                \"onboarded_at\": \"2026-10-03T16:40:00+05:30\"\n            }\n        ],\n        \"summary\": {\n            \"total\": 2,\n            \"ready\": 1,\n            \"bank_ekyc\": 1\n        },\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 25,\n            \"total\": 2,\n            \"last_page\": 1\n        }\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/merchants",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "merchants"
                                    ]
                                },
                                "description": "MERCHANT TOOL — All merchants under your API account\n\nReturns each merchant's merchantLoginId, name, mobile, stage, next_action, KYC status and last transaction, plus a `summary` count per stage and `pagination`.\n\nQuery: `status` (onboard | ekyc | bank_ekyc | daily_2fa | ready), `q` (search id / name / mobile), `page`, `per_page` (max 100).\nUse it to find the merchantLoginId of an existing mobile (e.g. after `MERCHANT_MOBILE_ALREADY_REGISTERED`).\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                            }
                        }
                    ]
                },
                {
                    "name": "Merchant detail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/aeps/merchants/{merchantLoginId}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "aeps",
                                "merchants",
                                "{merchantLoginId}"
                            ]
                        },
                        "description": "MERCHANT TOOL — One merchant in detail\n\nReturns profile (PAN and bank account masked), current stage / next_action, bank eKYC and dormant flags, and the last 10 transactions.\nPath: `merchantLoginId`. Not yours or unknown → 404 `MERCHANT_NOT_FOUND`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"merchantLoginId\": \"MER48210375\",\n        \"name\": \"RAJESH KUMAR\",\n        \"mobile\": \"9876543210\",\n        \"stage\": \"ready\",\n        \"next_action\": \"transact\",\n        \"txn_ready\": true,\n        \"profile\": {\n            \"pan_masked\": \"AB******4F\",\n            \"bank_account_masked\": \"******1234\",\n            \"bank_ifsc\": \"SBIN0001234\"\n        },\n        \"status_detail\": {\n            \"stage\": \"ready\",\n            \"bank_ekyc_required\": false,\n            \"dormant\": false,\n            \"steps\": []\n        },\n        \"recent_transactions\": [\n            {\n                \"transaction_id\": \"TXN1791041234567123\",\n                \"type\": \"CW\",\n                \"amount\": 1000,\n                \"status\": \"success\",\n                \"created_at\": \"2026-10-03T18:12:44+05:30\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"aeps_k3m9x2p7q1w8e5r4t6y0\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/aeps/merchants/{merchantLoginId}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "aeps",
                                        "merchants",
                                        "{merchantLoginId}"
                                    ]
                                },
                                "description": "MERCHANT TOOL — One merchant in detail\n\nReturns profile (PAN and bank account masked), current stage / next_action, bank eKYC and dormant flags, and the last 10 transactions.\nPath: `merchantLoginId`. Not yours or unknown → 404 `MERCHANT_NOT_FOUND`.\n\nFull flow: #guide/aeps-introduction\nAll codes: #guide/aeps-error-codes"
                            }
                        }
                    ]
                },
                {
                    "name": "⬇ Download AEPS Postman collection",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/developer/postman/aeps",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "developer",
                                "postman",
                                "aeps"
                            ]
                        },
                        "description": "Download the complete, ready-to-run AEPS Postman collection for this portal.\n\nWhat is inside:\n• Every AEPS step in the right order — merchant setup (onboard, eKYC OTP, biometric), daily 2FA, bank list, capture directive, transaction OTP, transaction, status, merchant list / detail.\n• Example request data on every call and saved example responses for success AND each common error (validation, bank eKYC pending, OTP invalid, session expired, pending transaction, merchant not found, …).\n• Automatic request signing — fill only client_id and client_secret in the collection Variables tab.\n• Automatic chaining — merchantLoginId, merchantPin, primaryKeyId, encodeFPTxnId, otp_reference and transaction_id are saved from one response into the next request.\n\nHow to use:\n1. Click Download below (or open this URL): https://litebanking.com/developer/postman/aeps\n2. Postman → Import → select the downloaded file.\n3. Collection → Variables → set client_id and client_secret → Save.\n4. Run the folders top to bottom. Replace captureResponse with the real RD-service capture from the merchant device before biometric / 2FA / transaction calls."
                    }
                }
            ]
        },
        {
            "name": "Bbps",
            "item": [
                {
                    "name": "BBPS Capabilities",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/capabilities",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "capabilities"
                            ]
                        },
                        "description": "**Response envelope (all BBPS endpoints).** Success: `{success: true, status: SUCCESS|PENDING, code: OK|PENDING, message, data, meta}`. Error: `{success: false, status: FAILED, code, message, data, error: {code, message, details?}, meta}`. `meta.request_id` echoes your X-Request-ID. Branch on `code`, never on `message`.\n\n| code | HTTP | meaning |\n| --- | --- | --- |\n| `VALIDATION_FAILED` | 422 | One or more request fields are invalid. |\n| `BILLER_NOT_FOUND` | 404 | Biller not found or not active. |\n| `BILLER_UNAVAILABLE` | 503 | The biller is not reachable right now. Please try again later. |\n| `INVALID_CUSTOMER_PARAMS` | 422 | The customer details were not accepted for this biller. |\n| `NO_BILL_DUE` | 422 | There is no bill due for these customer details. |\n| `BILL_FETCH_NOT_SUPPORTED` | 400 | This biller does not support bill fetch. Pay without a fetch_id. |\n| `BILL_FETCH_REQUIRED` | 400 | This biller requires a bill fetch before payment. Pass the fetch_id. |\n| `BILL_FETCH_FAILED` | 422 | The bill could not be fetched for these customer details. |\n| `INVALID_FETCH_ID` | 404 | The fetch_id is unknown, belongs to another biller, or was already used. |\n| `AMOUNT_NOT_ALLOWED` | 422 | The amount is not allowed for this bill. |\n| `REMITTER_DETAILS_REQUIRED` | 422 | Remitter details are required for this payment amount. |\n| `DUPLICATE_REQUEST` | 409 | A payment with the same details is already in progress. |\n| `CLIENT_REF_ID_REUSED` | 409 | This client_ref_id was already used for a different payment. |\n| `INSUFFICIENT_BALANCE` | 402 | Wallet balance is not enough for this payment. |\n| `ACCOUNT_RESTRICTED` | 403 | Your account cannot make payments right now. Please contact support. |\n| `SERVICE_NOT_ENABLED` | 403 | Bill payment is not enabled for your account. Please contact support. |\n| `TRANSACTION_BLOCKED` | 403 | This payment was blocked by risk controls. |\n| `PAYMENT_FAILED` | 400 | The bill payment failed. Check the transaction status for details. |\n| `TRANSACTION_NOT_FOUND` | 404 | Transaction not found. |\n| `COMPLAINT_NOT_FOUND` | 404 | Complaint not found. |\n| `COMPLAINT_NOT_ALLOWED` | 409 | A complaint cannot be raised for this transaction. |\n| `COMPLAINT_NOT_ALLOWED_YET` | 409 | A complaint for this transaction can be raised after the waiting period. |\n| `COMPLAINT_FAILED` | 502 | The complaint could not be registered. Please try again later. |\n| `FEATURE_NOT_AVAILABLE` | 501 | This operation is not available for this biller right now. |\n| `RATE_LIMITED` | 429 | Too many requests. Please slow down and retry. |\n| `SERVICE_UNAVAILABLE` | 503 | Bill payment is temporarily unavailable. Please try again shortly. |\n\nReturns which BBPS operations are available right now. Check it at start-up instead of hard-coding features; a feature can be switched off without any change on your side."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"features\": {\n            \"bill_fetch\": true,\n            \"bill_payment\": true,\n            \"bill_validation\": true,\n            \"plans\": true,\n            \"complaints\": true,\n            \"complaint_tracking\": true,\n            \"categories\": true,\n            \"billers\": true,\n            \"regions\": true,\n            \"transaction_status\": true\n        }\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/capabilities",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "capabilities"
                                    ]
                                },
                                "description": "**Response envelope (all BBPS endpoints).** Success: `{success: true, status: SUCCESS|PENDING, code: OK|PENDING, message, data, meta}`. Error: `{success: false, status: FAILED, code, message, data, error: {code, message, details?}, meta}`. `meta.request_id` echoes your X-Request-ID. Branch on `code`, never on `message`.\n\n| code | HTTP | meaning |\n| --- | --- | --- |\n| `VALIDATION_FAILED` | 422 | One or more request fields are invalid. |\n| `BILLER_NOT_FOUND` | 404 | Biller not found or not active. |\n| `BILLER_UNAVAILABLE` | 503 | The biller is not reachable right now. Please try again later. |\n| `INVALID_CUSTOMER_PARAMS` | 422 | The customer details were not accepted for this biller. |\n| `NO_BILL_DUE` | 422 | There is no bill due for these customer details. |\n| `BILL_FETCH_NOT_SUPPORTED` | 400 | This biller does not support bill fetch. Pay without a fetch_id. |\n| `BILL_FETCH_REQUIRED` | 400 | This biller requires a bill fetch before payment. Pass the fetch_id. |\n| `BILL_FETCH_FAILED` | 422 | The bill could not be fetched for these customer details. |\n| `INVALID_FETCH_ID` | 404 | The fetch_id is unknown, belongs to another biller, or was already used. |\n| `AMOUNT_NOT_ALLOWED` | 422 | The amount is not allowed for this bill. |\n| `REMITTER_DETAILS_REQUIRED` | 422 | Remitter details are required for this payment amount. |\n| `DUPLICATE_REQUEST` | 409 | A payment with the same details is already in progress. |\n| `CLIENT_REF_ID_REUSED` | 409 | This client_ref_id was already used for a different payment. |\n| `INSUFFICIENT_BALANCE` | 402 | Wallet balance is not enough for this payment. |\n| `ACCOUNT_RESTRICTED` | 403 | Your account cannot make payments right now. Please contact support. |\n| `SERVICE_NOT_ENABLED` | 403 | Bill payment is not enabled for your account. Please contact support. |\n| `TRANSACTION_BLOCKED` | 403 | This payment was blocked by risk controls. |\n| `PAYMENT_FAILED` | 400 | The bill payment failed. Check the transaction status for details. |\n| `TRANSACTION_NOT_FOUND` | 404 | Transaction not found. |\n| `COMPLAINT_NOT_FOUND` | 404 | Complaint not found. |\n| `COMPLAINT_NOT_ALLOWED` | 409 | A complaint cannot be raised for this transaction. |\n| `COMPLAINT_NOT_ALLOWED_YET` | 409 | A complaint for this transaction can be raised after the waiting period. |\n| `COMPLAINT_FAILED` | 502 | The complaint could not be registered. Please try again later. |\n| `FEATURE_NOT_AVAILABLE` | 501 | This operation is not available for this biller right now. |\n| `RATE_LIMITED` | 429 | Too many requests. Please slow down and retry. |\n| `SERVICE_UNAVAILABLE` | 503 | Bill payment is temporarily unavailable. Please try again shortly. |\n\nReturns which BBPS operations are available right now. Check it at start-up instead of hard-coding features; a feature can be switched off without any change on your side."
                            }
                        }
                    ]
                },
                {
                    "name": "List Bill Categories",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/categories",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "categories"
                            ]
                        },
                        "description": "All bill categories that can be paid. Use `code` or `name` as the `category` filter on List Billers."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"code\": \"ELECTRICITY\",\n            \"name\": \"Electricity\",\n            \"icon\": \"bolt\",\n            \"biller_count\": 120\n        },\n        {\n            \"code\": \"MOBILE_POSTPAID\",\n            \"name\": \"Mobile Postpaid\",\n            \"icon\": \"phone\",\n            \"biller_count\": 9\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/categories",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "categories"
                                    ]
                                },
                                "description": "All bill categories that can be paid. Use `code` or `name` as the `category` filter on List Billers."
                            }
                        }
                    ]
                },
                {
                    "name": "List Billers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/billers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "billers"
                            ]
                        },
                        "description": "Paginated list of billers that can be paid.\n\n- `fetch_mode`: `MANDATORY` (fetch the bill first and pay with `fetch_id`), `OPTIONAL`, or `NOT_SUPPORTED` (pay directly).\n- `validation_mode` / `plan_mode`: whether Validate Bill / Biller Plans apply.\n- `amount_exactness`: `EXACT`, `EXACT_OR_ABOVE`, `EXACT_OR_BELOW` or `ANY` against the fetched bill amount."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"biller_id\": \"MAHA00000NAT01\",\n            \"name\": \"State Electricity Board\",\n            \"category\": \"Electricity\",\n            \"coverage\": \"IND-MAH\",\n            \"fetch_mode\": \"MANDATORY\",\n            \"validation_mode\": \"NOT_SUPPORTED\",\n            \"plan_mode\": \"NOT_SUPPORTED\",\n            \"amount_exactness\": \"EXACT_OR_ABOVE\",\n            \"accepts_adhoc_amount\": false,\n            \"status\": \"ACTIVE\"\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\",\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 50,\n            \"total\": 1,\n            \"last_page\": 1\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/billers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "billers"
                                    ]
                                },
                                "description": "Paginated list of billers that can be paid.\n\n- `fetch_mode`: `MANDATORY` (fetch the bill first and pay with `fetch_id`), `OPTIONAL`, or `NOT_SUPPORTED` (pay directly).\n- `validation_mode` / `plan_mode`: whether Validate Bill / Biller Plans apply.\n- `amount_exactness`: `EXACT`, `EXACT_OR_ABOVE`, `EXACT_OR_BELOW` or `ANY` against the fetched bill amount."
                            }
                        }
                    ]
                },
                {
                    "name": "Biller Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/biller/{biller_id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "biller",
                                "{biller_id}"
                            ]
                        },
                        "description": "One biller with the customer parameters to collect. Send them in `customer_params` keyed by `name`, exactly as listed."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"biller_id\": \"MAHA00000NAT01\",\n        \"name\": \"State Electricity Board\",\n        \"category\": \"Electricity\",\n        \"coverage\": \"IND-MAH\",\n        \"fetch_mode\": \"MANDATORY\",\n        \"validation_mode\": \"NOT_SUPPORTED\",\n        \"plan_mode\": \"NOT_SUPPORTED\",\n        \"amount_exactness\": \"EXACT_OR_ABOVE\",\n        \"accepts_adhoc_amount\": false,\n        \"status\": \"ACTIVE\",\n        \"description\": null,\n        \"customer_params\": [\n            {\n                \"name\": \"Consumer Number\",\n                \"data_type\": \"NUMERIC\",\n                \"required\": true,\n                \"min_length\": 9,\n                \"max_length\": 12,\n                \"regex\": \"^[0-9]{9,12}$\"\n            }\n        ],\n        \"amount_limits\": {\n            \"min\": 1,\n            \"max\": 200000\n        }\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/biller/{biller_id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "biller",
                                        "{biller_id}"
                                    ]
                                },
                                "description": "One biller with the customer parameters to collect. Send them in `customer_params` keyed by `name`, exactly as listed."
                            }
                        }
                    ]
                },
                {
                    "name": "List Regions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/regions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "regions"
                            ]
                        },
                        "description": "Regions (Indian states and union territories) that have local billers. Use `region_code` as the `region` filter on List Billers."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"region_code\": \"IND-KAR\",\n            \"name\": \"Karnataka\"\n        },\n        {\n            \"region_code\": \"IND-MAH\",\n            \"name\": \"Maharashtra\"\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/regions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "regions"
                                    ]
                                },
                                "description": "Regions (Indian states and union territories) that have local billers. Use `region_code` as the `region` filter on List Billers."
                            }
                        }
                    ]
                },
                {
                    "name": "Fetch Plans",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/billers/{biller_id}/plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "billers",
                                "{biller_id}",
                                "plans"
                            ]
                        },
                        "description": "Plans for billers whose `plan_mode` is `MANDATORY` or `OPTIONAL` (for example DTH or FASTag). Returns an empty list when the biller has no plans. Pay the plan by sending its `amount`."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"plan_id\": \"P1001\",\n            \"name\": \"Monthly Pack\",\n            \"amount\": 299,\n            \"validity\": \"30 days\",\n            \"description\": \"Base pack\",\n            \"category\": \"Monthly\"\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/billers/{biller_id}/plans",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "billers",
                                        "{biller_id}",
                                        "plans"
                                    ]
                                },
                                "description": "Plans for billers whose `plan_mode` is `MANDATORY` or `OPTIONAL` (for example DTH or FASTag). Returns an empty list when the biller has no plans. Pay the plan by sending its `amount`."
                            }
                        }
                    ]
                },
                {
                    "name": "Validate Bill",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/bills/validate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "bills",
                                "validate"
                            ]
                        },
                        "description": "Checks the customer details with the biller before payment, for billers whose `validation_mode` is not `NOT_SUPPORTED`. No money moves. `valid: false` carries a `reason_code` from the error list.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"customer_params\": {\n        \"Consumer Number\": \"000000000000\"\n    },\n    \"amount\": 1250\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"biller_id\": \"MAHA00000NAT01\",\n        \"valid\": true,\n        \"reason_code\": null,\n        \"message\": \"The customer details are valid for this biller.\"\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/bills/validate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "bills",
                                        "validate"
                                    ]
                                },
                                "description": "Checks the customer details with the biller before payment, for billers whose `validation_mode` is not `NOT_SUPPORTED`. No money moves. `valid: false` carries a `reason_code` from the error list.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"customer_params\": {\n        \"Consumer Number\": \"000000000000\"\n    },\n    \"amount\": 1250\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Fetch Bill",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/fetch",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "fetch"
                            ]
                        },
                        "description": "Fetches the outstanding bill. No money moves. Pay it with Pay Bill using the returned `fetch_id`; the same request within 10 minutes returns the same unpaid fetch.\n\nAlso available as `POST /api/v1/bbps/bills/fetch`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"customer_params\": {\n        \"Consumer Number\": \"000000000000\"\n    },\n    \"customer_mobile\": \"9000000000\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"Bill fetched successfully\",\n    \"data\": {\n        \"fetch_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n        \"biller_id\": \"MAHA00000NAT01\",\n        \"biller_name\": \"State Electricity Board\",\n        \"customer_name\": \"A CUSTOMER\",\n        \"bill\": {\n            \"number\": \"BILL0001\",\n            \"date\": \"2026-10-01\",\n            \"due_date\": \"2026-10-20\",\n            \"period\": \"MONTHLY\",\n            \"amount\": 1250\n        },\n        \"amount_exactness\": \"EXACT_OR_ABOVE\",\n        \"amount_options\": [\n            {\n                \"name\": \"Early Payment Amount\",\n                \"amount\": 1230\n            }\n        ],\n        \"additional_info\": [\n            {\n                \"name\": \"Units Consumed\",\n                \"value\": \"180\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/fetch",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "fetch"
                                    ]
                                },
                                "description": "Fetches the outstanding bill. No money moves. Pay it with Pay Bill using the returned `fetch_id`; the same request within 10 minutes returns the same unpaid fetch.\n\nAlso available as `POST /api/v1/bbps/bills/fetch`.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"customer_params\": {\n        \"Consumer Number\": \"000000000000\"\n    },\n    \"customer_mobile\": \"9000000000\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Pay Bill",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/pay",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "pay"
                            ]
                        },
                        "description": "Pays a bill from your wallet.\n\n- `client_ref_id` is your unique id for this payment. Retrying with the same `client_ref_id` never pays twice: it returns the original transaction (`meta.replayed: true`). Reusing it for a different biller or amount returns `CLIENT_REF_ID_REUSED`.\n- Billers with `fetch_mode: MANDATORY` need `fetch_id` from Fetch Bill; `customer_params` and `customer_mobile` are then taken from the fetch.\n- HTTP 200 + `status: SUCCESS` is final. HTTP 202 + `status: PENDING` means the bill network has not confirmed yet: poll Transaction Status; do not pay again.\n- `remitter` is required above Rs 50,000.\n\nAlso available as `POST /api/v1/bbps/bills/pay`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"client_ref_id\": \"ORDER-000001\",\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"fetch_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n    \"amount\": 1250\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"Bill payment successful\",\n    \"data\": {\n        \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n        \"client_ref_id\": \"ORDER-000001\",\n        \"status\": \"SUCCESS\",\n        \"biller_id\": \"MAHA00000NAT01\",\n        \"biller_name\": \"State Electricity Board\",\n        \"category\": \"Electricity\",\n        \"amount\": 1250,\n        \"charges\": {\n            \"fee\": 5,\n            \"gst\": 0.9,\n            \"total\": 1255.9\n        },\n        \"bbps_reference_id\": \"BB0000000000000000\",\n        \"biller_reference\": \"BR000000001\",\n        \"closing_balance\": 8744.1,\n        \"created_at\": \"2026-10-23T10:00:00+05:30\",\n        \"updated_at\": \"2026-10-23T10:00:04+05:30\"\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/pay",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "pay"
                                    ]
                                },
                                "description": "Pays a bill from your wallet.\n\n- `client_ref_id` is your unique id for this payment. Retrying with the same `client_ref_id` never pays twice: it returns the original transaction (`meta.replayed: true`). Reusing it for a different biller or amount returns `CLIENT_REF_ID_REUSED`.\n- Billers with `fetch_mode: MANDATORY` need `fetch_id` from Fetch Bill; `customer_params` and `customer_mobile` are then taken from the fetch.\n- HTTP 200 + `status: SUCCESS` is final. HTTP 202 + `status: PENDING` means the bill network has not confirmed yet: poll Transaction Status; do not pay again.\n- `remitter` is required above Rs 50,000.\n\nAlso available as `POST /api/v1/bbps/bills/pay`.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"client_ref_id\": \"ORDER-000001\",\n    \"biller_id\": \"MAHA00000NAT01\",\n    \"fetch_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n    \"amount\": 1250\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "BBPS Transaction Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/status/{transaction_id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "status",
                                "{transaction_id}"
                            ]
                        },
                        "description": "Current state of a payment, by `transaction_id` or your `client_ref_id`. Statuses: `FETCHED`, `PENDING`, `SUCCESS`, `FAILED`, `REFUNDED`, `UNDER_REVIEW`.\n\nAlso available as `GET /api/v1/bbps/transactions/{transaction_id}`."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n        \"client_ref_id\": \"ORDER-000001\",\n        \"status\": \"SUCCESS\",\n        \"biller_id\": \"MAHA00000NAT01\",\n        \"biller_name\": \"State Electricity Board\",\n        \"category\": \"Electricity\",\n        \"amount\": 1250,\n        \"charges\": {\n            \"fee\": 5,\n            \"gst\": 0.9,\n            \"total\": 1255.9\n        },\n        \"bbps_reference_id\": \"BB0000000000000000\",\n        \"biller_reference\": \"BR000000001\",\n        \"closing_balance\": 8744.1,\n        \"created_at\": \"2026-10-23T10:00:00+05:30\",\n        \"updated_at\": \"2026-10-23T10:00:04+05:30\"\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/status/{transaction_id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "status",
                                        "{transaction_id}"
                                    ]
                                },
                                "description": "Current state of a payment, by `transaction_id` or your `client_ref_id`. Statuses: `FETCHED`, `PENDING`, `SUCCESS`, `FAILED`, `REFUNDED`, `UNDER_REVIEW`.\n\nAlso available as `GET /api/v1/bbps/transactions/{transaction_id}`."
                            }
                        }
                    ]
                },
                {
                    "name": "Complaint Reasons",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/complaints/reasons",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "complaints",
                                "reasons"
                            ]
                        },
                        "description": "The reasons a complaint can be raised for. Send `reason_code` when raising a complaint."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n            \"description\": \"Transaction Successful, Amount Debited but services not received\"\n        },\n        {\n            \"reason_code\": \"TXN_SUCCESS_SERVICE_STOPPED\",\n            \"description\": \"Transaction Successful, Amount Debited but Service Disconnected or Service Stopped\"\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/complaints/reasons",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "complaints",
                                        "reasons"
                                    ]
                                },
                                "description": "The reasons a complaint can be raised for. Send `reason_code` when raising a complaint."
                            }
                        }
                    ]
                },
                {
                    "name": "Raise BBPS Complaint",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/complaints/raise",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "complaints",
                                "raise"
                            ]
                        },
                        "description": "Raises a complaint on a `SUCCESS` or `FAILED` payment. One open complaint per transaction. Most categories need 24 hours after payment first (`COMPLAINT_NOT_ALLOWED_YET` returns `data.allowed_from`).\n\nAlso available as `POST /api/v1/bbps/complaints`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n    \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n    \"description\": \"Paid but bill still shows due\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"Complaint registered\",\n    \"data\": {\n        \"complaint_id\": \"BANKCMPLQ7W2E9R4T1Y6U3I8O5P0A2S7D4F\",\n        \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n        \"network_complaint_id\": \"BB0000000000000001\",\n        \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n        \"status\": \"REGISTERED\",\n        \"created_at\": \"2026-10-24T11:00:00+05:30\",\n        \"resolved_at\": null,\n        \"history\": [\n            {\n                \"at\": \"2026-10-24T11:00:00+05:30\",\n                \"status\": \"REGISTERED\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/complaints/raise",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "complaints",
                                        "raise"
                                    ]
                                },
                                "description": "Raises a complaint on a `SUCCESS` or `FAILED` payment. One open complaint per transaction. Most categories need 24 hours after payment first (`COMPLAINT_NOT_ALLOWED_YET` returns `data.allowed_from`).\n\nAlso available as `POST /api/v1/bbps/complaints`.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n    \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n    \"description\": \"Paid but bill still shows due\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "List BBPS Complaints",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/complaints",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "complaints"
                            ]
                        },
                        "description": "Your complaints, newest first."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": [\n        {\n            \"complaint_id\": \"BANKCMPLQ7W2E9R4T1Y6U3I8O5P0A2S7D4F\",\n            \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n            \"network_complaint_id\": \"BB0000000000000001\",\n            \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n            \"status\": \"REGISTERED\",\n            \"created_at\": \"2026-10-24T11:00:00+05:30\",\n            \"resolved_at\": null,\n            \"history\": [\n                {\n                    \"at\": \"2026-10-24T11:00:00+05:30\",\n                    \"status\": \"REGISTERED\"\n                }\n            ]\n        }\n    ],\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\",\n        \"pagination\": {\n            \"page\": 1,\n            \"per_page\": 20,\n            \"total\": 1,\n            \"last_page\": 1\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/complaints",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "complaints"
                                    ]
                                },
                                "description": "Your complaints, newest first."
                            }
                        }
                    ]
                },
                {
                    "name": "BBPS Complaint Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/bbps/complaints/{complaint_id}/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "bbps",
                                "complaints",
                                "{complaint_id}",
                                "status"
                            ]
                        },
                        "description": "Latest status of one of your complaints, refreshed from the bill network while it is open (`meta.status_refreshed`). Statuses: `REGISTERED`, `ASSIGNED`, `IN_PROGRESS`, `RESOLVED`, `REJECTED`.\n\nAlso available as `GET /api/v1/bbps/complaints/{complaint_id}`."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"SUCCESS\",\n    \"code\": \"OK\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"complaint_id\": \"BANKCMPLQ7W2E9R4T1Y6U3I8O5P0A2S7D4F\",\n        \"transaction_id\": \"B4K9Q2M7X1C8V5N3Z6L0P2R7T9W4Y1H8J3F\",\n        \"network_complaint_id\": \"BB0000000000000001\",\n        \"reason_code\": \"TXN_SUCCESS_NO_SERVICE\",\n        \"status\": \"REGISTERED\",\n        \"created_at\": \"2026-10-24T11:00:00+05:30\",\n        \"resolved_at\": null,\n        \"history\": [\n            {\n                \"at\": \"2026-10-24T11:00:00+05:30\",\n                \"status\": \"REGISTERED\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"request_id\": \"req-000000000001\",\n        \"timestamp\": \"2026-10-23T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/bbps/complaints/{complaint_id}/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "bbps",
                                        "complaints",
                                        "{complaint_id}",
                                        "status"
                                    ]
                                },
                                "description": "Latest status of one of your complaints, refreshed from the bill network while it is open (`meta.status_refreshed`). Statuses: `REGISTERED`, `ASSIGNED`, `IN_PROGRESS`, `RESOLVED`, `REJECTED`.\n\nAlso available as `GET /api/v1/bbps/complaints/{complaint_id}`."
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Collection",
            "item": [
                {
                    "name": "1. Generate Dynamic QR",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/collection/generate-dynamic-qr",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "collection",
                                "generate-dynamic-qr"
                            ]
                        },
                        "description": "Generate a transaction-specific dynamic QR code with fixed amount. Returns a QR code image (base64 SVG) that customers can scan with any UPI app to complete payment. Poll POST /api/v1/collection/status for terminal state. Failed and expired responses add failure_reason and error_code without changing existing keys.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"amount\": 500,\n    \"reference_id\": \"ORD-1775243072\",\n    \"customer_name\": \"Ishaan Verma\",\n    \"customer_mobile\": \"9810045671\",\n    \"purpose\": \"Product Purchase\",\n    \"expiry_minutes\": 30\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Dynamic QR code generated successfully\",\n    \"data\": {\n        \"collection_id\": 486021,\n        \"order_id\": \"ECO261004141532071\",\n        \"reference_id\": \"ORD-1775243072\",\n        \"qr_code\": \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj4uLi48L3N2Zz4=\",\n        \"qr_string\": \"upi://pay?pa=brightmart.col@icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712\",\n        \"upi_intent\": \"upi://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712\",\n        \"upi_deep_link\": \"upi://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712\",\n        \"upi_intent_raw\": \"upi://pay?pa=brightmart.col@icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712\",\n        \"phonepe_link\": \"intent://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712#Intent;scheme=upi;package=com.phonepe.app;end\",\n        \"paytm_link\": \"intent://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712#Intent;scheme=upi;package=net.one97.paytm;end\",\n        \"googlepay_link\": \"intent://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712#Intent;scheme=upi;package=com.google.android.apps.nbu.paisa.user;end\",\n        \"bhim_link\": \"upi://pay?pa=brightmart.col%40icici&pn=BrightMart&tr=ECO261004141532071&am=500.00&cu=INR&mc=5712\",\n        \"gross_amount\": \"500.00\",\n        \"credit_amount\": \"500.00\",\n        \"settlement_charge\": \"5.00\",\n        \"settlement_gst\": \"0.90\",\n        \"tds\": \"0.00\",\n        \"customer_name\": \"Ishaan Verma\",\n        \"customer_mobile\": \"XXXXXX5671\",\n        \"purpose\": \"Product Purchase\",\n        \"status\": \"pending\",\n        \"expires_at\": \"2026-10-04 14:45:32\",\n        \"expires_at_iso\": \"2026-10-04T14:45:32+05:30\",\n        \"expires_in_seconds\": 1800,\n        \"short_expiry\": false,\n        \"generated_at\": \"2026-10-04 14:15:32\",\n        \"timestamp\": \"2026-10-04T14:15:32+05:30\",\n        \"expiry_hint\": null\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/collection/generate-dynamic-qr",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "collection",
                                        "generate-dynamic-qr"
                                    ]
                                },
                                "description": "Generate a transaction-specific dynamic QR code with fixed amount. Returns a QR code image (base64 SVG) that customers can scan with any UPI app to complete payment. Poll POST /api/v1/collection/status for terminal state. Failed and expired responses add failure_reason and error_code without changing existing keys.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"amount\": 500,\n    \"reference_id\": \"ORD-1775243072\",\n    \"customer_name\": \"Ishaan Verma\",\n    \"customer_mobile\": \"9810045671\",\n    \"purpose\": \"Product Purchase\",\n    \"expiry_minutes\": 30\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "2. Generate Payment Link",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/collection/generate-payment-link",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "collection",
                                "generate-payment-link"
                            ]
                        },
                        "description": "Generate a shareable payment link that can be sent via SMS, Email, or WhatsApp. Customer can pay using UPI or other methods. Perfect for invoices and remote payments. Poll POST /api/v1/collection/status for terminal state. Failed and expired responses add failure_reason and error_code without changing existing keys. Canonical path. Alias POST /api/v1/collection/generate-link is also accepted.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"amount\": 1000,\n    \"customer_name\": \"Meera Nair\",\n    \"customer_mobile\": \"9845012367\",\n    \"customer_email\": \"meera.nair@example.com\",\n    \"reference_id\": \"INV-2026-0417\",\n    \"description\": \"Monthly Subscription Payment\",\n    \"expiry_hours\": 24,\n    \"send_sms\": false,\n    \"send_email\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Payment link generated successfully\",\n    \"data\": {\n        \"collection_id\": 486034,\n        \"order_id\": \"ECO261004141806554\",\n        \"reference_id\": \"INV-2026-0417\",\n        \"payment_link\": \"https://litebanking.com/payment/upi/Wq7LmZc2VbN8xRtYk4HdFgJs9PaUe3Oi\",\n        \"short_link\": \"https://litebanking.com/payment/upi/Wq7LmZc2VbN8xRtYk4HdFgJs9PaUe3Oi\",\n        \"amount\": \"1000.00\",\n        \"customer_name\": \"Meera Nair\",\n        \"customer_mobile\": \"XXXXXX2367\",\n        \"customer_email\": \"meera.nair@example.com\",\n        \"description\": \"Monthly Subscription Payment\",\n        \"status\": \"pending\",\n        \"expires_at\": \"05 Oct 2026, 02:18 PM\",\n        \"generated_at\": \"04 Oct 2026, 02:18 PM\",\n        \"notifications_sent\": {\n            \"whatsapp\": false,\n            \"sms\": false,\n            \"email\": false\n        },\n        \"expiry_hint\": null\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/collection/generate-payment-link",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "collection",
                                        "generate-payment-link"
                                    ]
                                },
                                "description": "Generate a shareable payment link that can be sent via SMS, Email, or WhatsApp. Customer can pay using UPI or other methods. Perfect for invoices and remote payments. Poll POST /api/v1/collection/status for terminal state. Failed and expired responses add failure_reason and error_code without changing existing keys. Canonical path. Alias POST /api/v1/collection/generate-link is also accepted.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"amount\": 1000,\n    \"customer_name\": \"Meera Nair\",\n    \"customer_mobile\": \"9845012367\",\n    \"customer_email\": \"meera.nair@example.com\",\n    \"reference_id\": \"INV-2026-0417\",\n    \"description\": \"Monthly Subscription Payment\",\n    \"expiry_hours\": 24,\n    \"send_sms\": false,\n    \"send_email\": false\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "3. Send UPI Collect Request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/collection/send-collect-request",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "collection",
                                "send-collect-request"
                            ]
                        },
                        "description": "Send a UPI collect request to a customer VPA. The customer receives a payment notification on their UPI app. If seamless mode is unavailable, automatically falls back to a payment link.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"customer_vpa\": \"kabir.malhotra@okaxis\",\n    \"amount\": 100,\n    \"customer_name\": \"Kabir Malhotra\",\n    \"customer_mobile\": \"9910023345\",\n    \"purpose\": \"Invoice Payment\",\n    \"expiry_minutes\": 5\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Collect request sent successfully\",\n    \"data\": {\n        \"order_id\": \"ECO261004142210388\",\n        \"reference_id\": \"TXN17910294410\",\n        \"collection_id\": 486047,\n        \"gross_amount\": \"100.00\",\n        \"credit_amount\": \"100.00\",\n        \"settlement_charge\": \"5.00\",\n        \"settlement_gst\": \"0.90\",\n        \"customer_vpa\": \"kabir.malhotra@okaxis\",\n        \"status\": \"pending\",\n        \"collection_type\": \"collect_request\",\n        \"info\": \"Customer will pay \\u20b9100. Full amount credited to wallet. Settlement charge (\\u20b95.00 + GST \\u20b90.90) deducted when you settle.\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/collection/send-collect-request",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "collection",
                                        "send-collect-request"
                                    ]
                                },
                                "description": "Send a UPI collect request to a customer VPA. The customer receives a payment notification on their UPI app. If seamless mode is unavailable, automatically falls back to a payment link.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"customer_vpa\": \"kabir.malhotra@okaxis\",\n    \"amount\": 100,\n    \"customer_name\": \"Kabir Malhotra\",\n    \"customer_mobile\": \"9910023345\",\n    \"purpose\": \"Invoice Payment\",\n    \"expiry_minutes\": 5\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "4. Check Payment Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/collection/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "collection",
                                "status"
                            ]
                        },
                        "description": "Check the real-time status of a payment collection using collection ID. Returns current status, amount, and transaction details. When status is failed or expired, data includes failure_reason and error_code. retry_after_minutes is present for COLLECTION_DECLINED_SECURITY. Existing keys are unchanged.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"collection_id\": \"ORD-1775243072\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Payment status retrieved successfully\",\n    \"data\": {\n        \"collection_id\": \"ECO261004141532071\",\n        \"order_id\": \"ECO261004141532071\",\n        \"reference_id\": \"ORD-1775243072\",\n        \"status\": \"success\",\n        \"status_label\": \"SUCCESS\",\n        \"is_paid\": true,\n        \"is_pending\": false,\n        \"amount\": 500,\n        \"payment_details\": {\n            \"customer_name\": null,\n            \"customer_mobile\": null,\n            \"payment_mode\": \"UPI\",\n            \"utr_number\": \"627184290315\"\n        },\n        \"transaction_info\": {\n            \"paid_at\": \"2026-10-04T14:16:49+05:30\",\n            \"upi_id\": null,\n            \"bank_reference\": \"627184290315\"\n        },\n        \"net_amount\": 500,\n        \"charge\": 5,\n        \"gst\": 0.9,\n        \"paid_at\": \"2026-10-04T14:16:49+05:30\",\n        \"expired_at\": \"2026-10-04T14:20:32+05:30\",\n        \"created_at\": \"2026-10-04T14:15:32+05:30\",\n        \"updated_at\": \"2026-10-04T14:16:50+05:30\",\n        \"tax_invoice\": null\n    },\n    \"execution_time_ms\": 6.4\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/collection/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "collection",
                                        "status"
                                    ]
                                },
                                "description": "Check the real-time status of a payment collection using collection ID. Returns current status, amount, and transaction details. When status is failed or expired, data includes failure_reason and error_code. retry_after_minutes is present for COLLECTION_DECLINED_SECURITY. Existing keys are unchanged.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"collection_id\": \"ORD-1775243072\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "5. Collection History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/collection/history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "collection",
                                "history"
                            ]
                        },
                        "description": "Retrieve paginated list of collection transactions"
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 486021,\n            \"order_id\": \"ECO261004141532071\",\n            \"reference_id\": \"ORD-1775243072\",\n            \"amount\": \"500.00\",\n            \"charge\": \"5.00\",\n            \"gst\": \"0.90\",\n            \"status\": \"success\",\n            \"collection_type\": \"dynamic_qr\",\n            \"customer_name\": \"Ishaan Verma\",\n            \"utr_number\": \"627184290315\",\n            \"paid_at\": \"2026-10-04T14:16:49+05:30\",\n            \"created_at\": \"2026-10-04T14:15:32+05:30\"\n        },\n        {\n            \"id\": 486034,\n            \"order_id\": \"ECO261004141806554\",\n            \"reference_id\": \"INV-2026-0417\",\n            \"amount\": \"1000.00\",\n            \"charge\": \"5.00\",\n            \"gst\": \"0.90\",\n            \"status\": \"pending\",\n            \"collection_type\": \"payment_link\",\n            \"customer_name\": \"Meera Nair\",\n            \"utr_number\": null,\n            \"paid_at\": null,\n            \"created_at\": \"2026-10-04T14:18:06+05:30\"\n        }\n    ],\n    \"pagination\": {\n        \"total\": 2,\n        \"per_page\": 25,\n        \"current_page\": 1,\n        \"last_page\": 1\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/collection/history",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "collection",
                                        "history"
                                    ]
                                },
                                "description": "Retrieve paginated list of collection transactions"
                            }
                        }
                    ]
                },
                {
                    "name": "⬇ 6. Download UPI Collection Postman collection",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/developer/postman/upi-collection",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "developer",
                                "postman",
                                "upi-collection"
                            ]
                        },
                        "description": "Download the complete, ready-to-run UPI Collection Postman collection for this portal.\n\nWhat is inside:\n• All 5 UPI Collection endpoints in flow order — Dynamic QR, Payment Link, UPI Collect Request, Payment Status and Collection History.\n• Ready-to-run example request data and saved responses for success (paid / pending / expired / failed) and every common error.\n• Automatic HMAC-SHA256 request signing — fill only client_id and client_secret in the Variables tab.\n• Automatic chaining — a unique reference_id is generated for every create call and the returned order id is reused by Check Payment Status.\n\nHow to use (2 minutes):\n1. Click Download below (or open URL): https://litebanking.com/developer/postman/upi-collection\n2. In Postman: File → Import → select the downloaded file.\n3. Open the collection → Variables tab → enter your client_id and client_secret from Dashboard → API Credentials → Save.\n4. Run folder 1 (create a collection), then folder 2 (check status) and folder 3 (history)."
                    }
                }
            ]
        },
        {
            "name": "Dmt",
            "item": [
                {
                    "name": "List Supported Banks",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/banks",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "banks"
                            ]
                        },
                        "description": "Get the complete list of supported banks for DMT (Domestic Money Transfer). Use this to populate bank selection dropdowns in your application. The active rail (selected by admin in /admin/api-manager) determines the underlying source — the response shape is identical across rails."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"State Bank of India\",\n            \"code\": \"SBIN\",\n            \"ifsc_prefix\": \"SBIN0\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"HDFC Bank\",\n            \"code\": \"HDFC\",\n            \"ifsc_prefix\": \"HDFC0\"\n        },\n        {\n            \"id\": 3,\n            \"name\": \"ICICI Bank\",\n            \"code\": \"ICIC\",\n            \"ifsc_prefix\": \"ICIC0\"\n        },\n        {\n            \"id\": 4,\n            \"name\": \"Axis Bank\",\n            \"code\": \"UTIB\",\n            \"ifsc_prefix\": \"UTIB0\"\n        },\n        {\n            \"id\": 5,\n            \"name\": \"Punjab National Bank\",\n            \"code\": \"PUNB\",\n            \"ifsc_prefix\": \"PUNB0\"\n        }\n    ]\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/banks",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "banks"
                                    ]
                                },
                                "description": "Get the complete list of supported banks for DMT (Domestic Money Transfer). Use this to populate bank selection dropdowns in your application. The active rail (selected by admin in /admin/api-manager) determines the underlying source — the response shape is identical across rails."
                            }
                        }
                    ]
                },
                {
                    "name": "Query Remitter",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/remitter/query",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "remitter",
                                "query"
                            ]
                        },
                        "description": "Query a remitter (sender) by mobile number. Returns remitter details including name, monthly transfer limits, and registered beneficiaries. If remitter is not found, proceed to register. Backend automatically routes to the active rail.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Customer found\",\n    \"data\": {\n        \"name\": \"Rajesh Kumar\",\n        \"mobile\": \"9876543210\",\n        \"total_limit\": 25000,\n        \"used_limit\": 5000,\n        \"available_limit\": 20000,\n        \"beneficiaries\": [\n            {\n                \"id\": 42,\n                \"name\": \"Suresh Sharma\",\n                \"bank\": \"HDFC Bank\",\n                \"account_number\": \"1234567890123\",\n                \"ifsc\": \"HDFC0001234\",\n                \"mobile\": \"9988776655\"\n            }\n        ]\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/remitter/query",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "remitter",
                                        "query"
                                    ]
                                },
                                "description": "Query a remitter (sender) by mobile number. Returns remitter details including name, monthly transfer limits, and registered beneficiaries. If remitter is not found, proceed to register. Backend automatically routes to the active rail.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Register Remitter",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/remitter/register",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "remitter",
                                "register"
                            ]
                        },
                        "description": "Register a new remitter (sender) for DMT. Two-step OTP flow: Step 1 - Send request without OTP to trigger SMS. Step 2 - Resend with the received OTP + reference_key to complete registration.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\",\n    \"fname\": \"Rajesh\",\n    \"lname\": \"Kumar\",\n    \"dob\": \"1990-05-15\",\n    \"pincode\": \"110001\",\n    \"address\": \"123 Main Street, New Delhi\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP sent to mobile number\",\n    \"data\": {\n        \"status\": \"otp_sent\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/remitter/register",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "remitter",
                                        "register"
                                    ]
                                },
                                "description": "Register a new remitter (sender) for DMT. Two-step OTP flow: Step 1 - Send request without OTP to trigger SMS. Step 2 - Resend with the received OTP + reference_key to complete registration.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\",\n    \"fname\": \"Rajesh\",\n    \"lname\": \"Kumar\",\n    \"dob\": \"1990-05-15\",\n    \"pincode\": \"110001\",\n    \"address\": \"123 Main Street, New Delhi\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Delete Beneficiary",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/beneficiaries/delete",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "beneficiaries",
                                "delete"
                            ]
                        },
                        "description": "Delete a registered beneficiary from a remitter's account. Only beneficiaries owned by the authenticated user can be deleted.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\",\n    \"beneid\": 42\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Beneficiary deleted successfully\"\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/beneficiaries/delete",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "beneficiaries",
                                        "delete"
                                    ]
                                },
                                "description": "Delete a registered beneficiary from a remitter's account. Only beneficiaries owned by the authenticated user can be deleted.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\",\n    \"beneid\": 42\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Beneficiary Account",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/beneficiaries/verify",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "beneficiaries",
                                "verify"
                            ]
                        },
                        "description": "Verify a bank account via penny drop verification. Returns the account holder name for confirmation before adding as beneficiary. A small verification fee is charged from the wallet.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"benename\": \"Suresh Sharma\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Account verified successfully\",\n    \"data\": {\n        \"account_holder\": \"SURESH SHARMA\",\n        \"account_number\": \"1234567890123\",\n        \"ifsc\": \"HDFC0001234\",\n        \"bank_name\": \"HDFC Bank\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/beneficiaries/verify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "beneficiaries",
                                        "verify"
                                    ]
                                },
                                "description": "Verify a bank account via penny drop verification. Returns the account holder name for confirmation before adding as beneficiary. A small verification fee is charged from the wallet.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"benename\": \"Suresh Sharma\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "DMT Transaction Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/status/{txnid}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "status",
                                "{txnid}"
                            ]
                        },
                        "description": "Check the status of a DMT transaction using the transaction ID. Returns current status, UTR number, amount, charges, and beneficiary details. Works for transactions initiated on any rail."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"txnid\": \"DMT20260227abc123-def456\",\n        \"status\": \"success\",\n        \"amount\": 5000,\n        \"charge\": 15,\n        \"gst\": 2.7,\n        \"tds\": 0.75,\n        \"total_deducted\": 5016.95,\n        \"utr\": \"408612345678\",\n        \"beneficiary_name\": \"Suresh Sharma\",\n        \"beneficiary_account\": \"1234567890123\",\n        \"ifsc\": \"HDFC0001234\",\n        \"created_at\": \"2026-02-27 10:30:00\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/status/{txnid}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "status",
                                        "{txnid}"
                                    ]
                                },
                                "description": "Check the status of a DMT transaction using the transaction ID. Returns current status, UTR number, amount, charges, and beneficiary details. Works for transactions initiated on any rail."
                            }
                        }
                    ]
                },
                {
                    "name": "Remitter biometric / face KYC",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/remitter/kyc",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "remitter",
                                "kyc"
                            ]
                        },
                        "description": "Submit biometric / face KYC payload for a remitter. NOTE: This endpoint is supported only on rails that offer biometric KYC (currently the Bank 2 rail). When the active rail does not support it, the response carries `statuscode=NOT_SUPPORTED`. Pin to the Bank 2 base path (/api/v1/dmt/bank-2/remitter/kyc) if you specifically need the Bank 2 flow.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\",\n    \"biometricType\": \"FINGERPRINT\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"KYC accepted\",\n    \"data\": {\n        \"kycStatus\": \"VERIFIED\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/remitter/kyc",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "remitter",
                                        "kyc"
                                    ]
                                },
                                "description": "Submit biometric / face KYC payload for a remitter. NOTE: This endpoint is supported only on rails that offer biometric KYC (currently the Bank 2 rail). When the active rail does not support it, the response carries `statuscode=NOT_SUPPORTED`. Pin to the Bank 2 base path (/api/v1/dmt/bank-2/remitter/kyc) if you specifically need the Bank 2 flow.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\",\n    \"biometricType\": \"FINGERPRINT\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Remitter limit lookup",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/remitter/limit",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "remitter",
                                "limit"
                            ]
                        },
                        "description": "Returns the remaining monthly / per-txn DMT limits for a remitter mobile. Backend routes to the active rail; response shape is identical across rails."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"monthlyLimitAvailable\": \"18000.00\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/remitter/limit",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "remitter",
                                        "limit"
                                    ]
                                },
                                "description": "Returns the remaining monthly / per-txn DMT limits for a remitter mobile. Backend routes to the active rail; response shape is identical across rails."
                            }
                        }
                    ]
                },
                {
                    "name": "List Beneficiaries",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/beneficiaries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "beneficiaries"
                            ]
                        },
                        "description": "List beneficiaries registered for a given remitter mobile. Pass `mobile` as a query string parameter. Active rail is selected by admin in /admin/api-manager."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"beneficiaries\": [\n            {\n                \"id\": 42,\n                \"benename\": \"Suresh Sharma\",\n                \"beneaccount\": \"1234567890123\",\n                \"beneifsc\": \"HDFC0001234\",\n                \"benemobile\": \"9988776655\",\n                \"verified\": true\n            }\n        ]\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/beneficiaries",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "beneficiaries"
                                    ]
                                },
                                "description": "List beneficiaries registered for a given remitter mobile. Pass `mobile` as a query string parameter. Active rail is selected by admin in /admin/api-manager."
                            }
                        }
                    ]
                },
                {
                    "name": "Add Beneficiary",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/beneficiaries/add",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "beneficiaries",
                                "add"
                            ]
                        },
                        "description": "Register a new beneficiary for a remitter (two-step OTP flow). STEP 1: submit beneficiary detail without `otp`. STEP 2: re-submit with `otp` + `reference_key` to confirm.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\",\n    \"benename\": \"Suresh Sharma\",\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"benemobile\": \"9988776655\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"OTP sent for beneficiary verification\",\n    \"data\": {\n        \"reference_key\": \"BENE-REF-1730xxxx\",\n        \"validity\": \"2026-04-28 11:00:00\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/beneficiaries/add",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "beneficiaries",
                                        "add"
                                    ]
                                },
                                "description": "Register a new beneficiary for a remitter (two-step OTP flow). STEP 1: submit beneficiary detail without `otp`. STEP 2: re-submit with `otp` + `reference_key` to confirm.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\",\n    \"benename\": \"Suresh Sharma\",\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"benemobile\": \"9988776655\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "DMT Transfer",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/dmt/transfer",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "dmt",
                                "transfer"
                            ]
                        },
                        "description": "Initiate a money transfer (two-step OTP flow). STEP 1: submit txn detail without `otp`; provider issues OTP + `reference_key`. STEP 2: re-submit with `otp` + `reference_key` to settle. Modes supported: IMPS, NEFT, RTGS. Active rail is selected automatically; per-txn limits depend on the active rail (bank-2 supports higher caps).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"9876543210\",\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"amount\": 1000,\n    \"mode\": \"IMPS\",\n    \"otp\": \"483921\",\n    \"reference_key\": \"TXN-REF-1730xxxx\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Transaction Successful\",\n    \"data\": {\n        \"txn_id\": \"DMT2026042811001\",\n        \"utr\": \"431013704887\",\n        \"amount\": \"1000.00\",\n        \"mode\": \"IMPS\",\n        \"beneficiary_name\": \"SURESH SHARMA\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/dmt/transfer",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "dmt",
                                        "transfer"
                                    ]
                                },
                                "description": "Initiate a money transfer (two-step OTP flow). STEP 1: submit txn detail without `otp`; provider issues OTP + `reference_key`. STEP 2: re-submit with `otp` + `reference_key` to settle. Modes supported: IMPS, NEFT, RTGS. Active rail is selected automatically; per-txn limits depend on the active rail (bank-2 supports higher caps).",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile\": \"9876543210\",\n    \"beneaccount\": \"1234567890123\",\n    \"beneifsc\": \"HDFC0001234\",\n    \"amount\": 1000,\n    \"mode\": \"IMPS\",\n    \"otp\": \"483921\",\n    \"reference_key\": \"TXN-REF-1730xxxx\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Onboarding Activation",
            "item": [
                {
                    "name": "Initiate Activation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/initiate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "initiate"
                            ]
                        },
                        "description": "⚠️ One-time activation. Required ONCE per merchant before using any Bank 2 backed rail — DMT, BBPS, or UPI ATM. Bank 1 rails do NOT require this step. Once completed, the SAME activation unlocks all Bank 2 rails simultaneously; per-rail product flags then gate individual transactions. STEP 1 of the wizard: submits the merchant's KYC payload (auto-pulled from profile) to the Bank 2 Min-KYC endpoint and triggers an Aadhaar OTP to the registered mobile.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"consent\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"OTP\",\n    \"status\": \"success\",\n    \"message\": \"OTP sent to your registered mobile.\",\n    \"data\": {\n        \"reference_key\": \"mk_72b91f...\",\n        \"mobile_masked\": \"XXXXXX3210\",\n        \"next_action\": \"verify-otp\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/initiate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "initiate"
                                    ]
                                },
                                "description": "⚠️ One-time activation. Required ONCE per merchant before using any Bank 2 backed rail — DMT, BBPS, or UPI ATM. Bank 1 rails do NOT require this step. Once completed, the SAME activation unlocks all Bank 2 rails simultaneously; per-rail product flags then gate individual transactions. STEP 1 of the wizard: submits the merchant's KYC payload (auto-pulled from profile) to the Bank 2 Min-KYC endpoint and triggers an Aadhaar OTP to the registered mobile.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"consent\": true\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Activation OTP",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/verify-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "verify-otp"
                            ]
                        },
                        "description": "STEP 2 of the wizard: verify the OTP received via SMS. On success, the outlet is provisioned on the Bank 2 partner and the merchant proceeds to biometric eKYC.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"otp\": \"483921\",\n    \"reference_key\": \"mk_72b91f...\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"OTP verified. Please complete biometric eKYC.\",\n    \"data\": {\n        \"outlet_id\": \"OL12345678\",\n        \"state\": \"min_kyc_done\",\n        \"next_action\": \"biometric_capture\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/verify-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "verify-otp"
                                    ]
                                },
                                "description": "STEP 2 of the wizard: verify the OTP received via SMS. On success, the outlet is provisioned on the Bank 2 partner and the merchant proceeds to biometric eKYC.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"otp\": \"483921\",\n    \"reference_key\": \"mk_72b91f...\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Resend Activation OTP",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/resend-otp",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "resend-otp"
                            ]
                        },
                        "description": "Re-trigger the Aadhaar OTP if the merchant did not receive the first SMS. Rate-limited by the underlying provider; subject to a cool-down window.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reference_key\": \"mk_72b91f...\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"OTP\",\n    \"status\": \"success\",\n    \"message\": \"OTP re-sent.\",\n    \"data\": {\n        \"mobile_masked\": \"XXXXXX3210\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/resend-otp",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "resend-otp"
                                    ]
                                },
                                "description": "Re-trigger the Aadhaar OTP if the merchant did not receive the first SMS. Rate-limited by the underlying provider; subject to a cool-down window.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"reference_key\": \"mk_72b91f...\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Change Mobile Number",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/mobile-change",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "mobile-change"
                            ]
                        },
                        "description": "Resolves the PAN-mobile mismatch case: when /initiate fails because the merchant's PAN is registered against a different mobile in NSDL records, this flow lets the merchant verify both mobiles to update.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"new_mobile\": \"9876543210\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"OTP\",\n    \"status\": \"success\",\n    \"message\": \"OTPs sent to both mobiles. Verify both to continue.\",\n    \"data\": {\n        \"reference_key\": \"mc_8a31...\",\n        \"next_action\": \"verify_both_otps\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/mobile-change",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "mobile-change"
                                    ]
                                },
                                "description": "Resolves the PAN-mobile mismatch case: when /initiate fails because the merchant's PAN is registered against a different mobile in NSDL records, this flow lets the merchant verify both mobiles to update.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"new_mobile\": \"9876543210\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Activation Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "status"
                            ]
                        },
                        "description": "Returns the merchant's current activation FSM state plus per-rail product flags. **Always call this BEFORE attempting a Bank 2 transaction** — let the response's `next_action` drive your UI. Possible states: `pending`, `otp_sent`, `mobile_change_otp`, `min_kyc_done`, `biometric_required`, `biometric_submitted`, `active`, `rejected`, `suspended`. Per-rail unlock is signalled via `products.upi_atm`, `products.aeps`, `products.dmt`."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"OK\",\n    \"data\": {\n        \"state\": \"active\",\n        \"outlet_id\": \"OL12345678\",\n        \"next_action\": \"none\",\n        \"biometric_submitted_at\": \"2026-04-28T10:30:00+05:30\",\n        \"products\": {\n            \"upi_atm\": \"active\",\n            \"aeps\": \"active\",\n            \"dmt\": \"pending_bank_approval\"\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "status"
                                    ]
                                },
                                "description": "Returns the merchant's current activation FSM state plus per-rail product flags. **Always call this BEFORE attempting a Bank 2 transaction** — let the response's `next_action` drive your UI. Possible states: `pending`, `otp_sent`, `mobile_change_otp`, `min_kyc_done`, `biometric_required`, `biometric_submitted`, `active`, `rejected`, `suspended`. Per-rail unlock is signalled via `products.upi_atm`, `products.aeps`, `products.dmt`."
                            }
                        }
                    ]
                },
                {
                    "name": "Biometric eKYC Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "biometric",
                                "status"
                            ]
                        },
                        "description": "Pre-flight before /biometric/submit. Returns the Bank 2 issued `reference_key` + PID `wadh` token the RD service needs to encrypt the fingerprint payload, plus a flag telling whether biometric is currently mandatory and whether face-auth is available as an alternative.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"service\": \"dmt\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"Biometric capture required.\",\n    \"data\": {\n        \"is_mandatory\": true,\n        \"is_face_auth_available\": true,\n        \"reference_key\": \"bm_2f8ad...\",\n        \"pid_option_wadh\": \"B+xxxxxxxxxxxxxxxx=\",\n        \"aadhaar_masked\": \"XXXX-XXXX-1234\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "biometric",
                                        "status"
                                    ]
                                },
                                "description": "Pre-flight before /biometric/submit. Returns the Bank 2 issued `reference_key` + PID `wadh` token the RD service needs to encrypt the fingerprint payload, plus a flag telling whether biometric is currently mandatory and whether face-auth is available as an alternative.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"service\": \"dmt\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Submit Biometric eKYC",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/submit",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "biometric",
                                "submit"
                            ]
                        },
                        "description": "STEP 3 (final) of activation: submit the encrypted PID block produced by your RD service (Mantra, Morpho, Startek, etc.) along with location coordinates. On success the outlet enters `biometric_submitted` and the partner bank typically approves within minutes (rare cases up to a few hours). Poll /status until `state=active`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reference_key\": \"bm_2f8ad...\",\n    \"pid_data\": \"{\\\"pidData\\\": \\\"<encrypted>\\\", \\\"skey\\\": \\\"...\\\", \\\"hmac\\\": \\\"...\\\"}\",\n    \"biometric_type\": \"FINGERPRINT\",\n    \"latitude\": 28.6139,\n    \"longitude\": 77.209\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"Biometric eKYC submitted. Awaiting partner bank approval.\",\n    \"data\": {\n        \"state\": \"biometric_submitted\",\n        \"next_action\": \"biometric_approval\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/submit",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "biometric",
                                        "submit"
                                    ]
                                },
                                "description": "STEP 3 (final) of activation: submit the encrypted PID block produced by your RD service (Mantra, Morpho, Startek, etc.) along with location coordinates. On success the outlet enters `biometric_submitted` and the partner bank typically approves within minutes (rare cases up to a few hours). Poll /status until `state=active`.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"reference_key\": \"bm_2f8ad...\",\n    \"pid_data\": \"{\\\"pidData\\\": \\\"<encrypted>\\\", \\\"skey\\\": \\\"...\\\", \\\"hmac\\\": \\\"...\\\"}\",\n    \"biometric_type\": \"FINGERPRINT\",\n    \"latitude\": 28.6139,\n    \"longitude\": 77.209\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Refresh Biometric Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/refresh",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "onboarding",
                                "activation",
                                "biometric",
                                "refresh"
                            ]
                        },
                        "description": "Force-refresh the per-rail product activation flags from the Bank 2 partner. Useful when a merchant's biometric was just approved by the bank and they need an immediate UI update without waiting for the 30-minute poll job. Rate-limited."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"statuscode\": \"TXN\",\n    \"status\": \"success\",\n    \"message\": \"Status refreshed.\",\n    \"data\": {\n        \"state\": \"active\",\n        \"products\": {\n            \"upi_atm\": \"active\",\n            \"aeps\": \"active\",\n            \"dmt\": \"active\"\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/onboarding/activation/biometric/refresh",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "onboarding",
                                        "activation",
                                        "biometric",
                                        "refresh"
                                    ]
                                },
                                "description": "Force-refresh the per-rail product activation flags from the Bank 2 partner. Useful when a merchant's biometric was just approved by the bank and they need an immediate UI update without waiting for the 30-minute poll job. Rate-limited."
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Payout",
            "item": [
                {
                    "name": "Get Transfer Modes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/modes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "modes"
                            ]
                        },
                        "description": "List the IMPS / NEFT / RTGS modes this rail accepts, with amount bands and live availability. Use `available_now` to decide whether to show the Express DMT form. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"as_of\": \"2026-10-04T08:00:00+05:30\",\n        \"timezone\": \"Asia/Kolkata\",\n        \"modes\": [\n            {\n                \"code\": \"IMPS\",\n                \"name\": \"Immediate Payment Service\",\n                \"available_now\": true,\n                \"min_amount\": 1,\n                \"max_amount\": 500000,\n                \"typical_time\": \"30 seconds\",\n                \"note\": \"24x7 real-time settlement\"\n            },\n            {\n                \"code\": \"NEFT\",\n                \"name\": \"National Electronic Funds Transfer\",\n                \"available_now\": true,\n                \"min_amount\": 1,\n                \"max_amount\": 99999999,\n                \"typical_time\": \"2 hours (batch)\",\n                \"note\": \"Processed in half-hourly RBI settlement batches\"\n            },\n            {\n                \"code\": \"RTGS\",\n                \"name\": \"Real Time Gross Settlement\",\n                \"available_now\": true,\n                \"min_amount\": 200000,\n                \"max_amount\": 99999999,\n                \"typical_time\": \"Real-time\",\n                \"note\": \"High-value real-time gross settlement (min \\u20b92,00,000)\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/modes",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "modes"
                                    ]
                                },
                                "description": "List the IMPS / NEFT / RTGS modes this rail accepts, with amount bands and live availability. Use `available_now` to decide whether to show the Express DMT form. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Purpose Codes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/purpose-codes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "purpose-codes"
                            ]
                        },
                        "description": "List the purpose-of-payment codes accepted by `initiate`, so you can build the dropdown from our catalog instead of hardcoding it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"purpose_codes\": [\n            {\n                \"code\": \"VENDOR_PAYMENT\",\n                \"name\": \"Vendor / Supplier Payment\",\n                \"description\": \"Payments made to suppliers, contractors, or commercial vendors.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"SALARY_WAGES\",\n                \"name\": \"Salary / Employee Wages\",\n                \"description\": \"Disbursements for payroll, employee stipends, or consultant wages.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"CUSTOMER_REFUND\",\n                \"name\": \"Customer Refund / Chargeback\",\n                \"description\": \"Return of funds for cancelled orders, services, or warranty claims.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"REIMBURSEMENT\",\n                \"name\": \"Expense Reimbursement\",\n                \"description\": \"Reimbursement of business expenses incurred by staff.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"OTHER\",\n                \"name\": \"Other Business Purpose\",\n                \"description\": \"Other legitimate business transfer. Requires purpose_note (min 8 chars).\",\n                \"requires_note\": true\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/purpose-codes",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "purpose-codes"
                                    ]
                                },
                                "description": "List the purpose-of-payment codes accepted by `initiate`, so you can build the dropdown from our catalog instead of hardcoding it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Wallet Balance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/balance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "balance"
                            ]
                        },
                        "description": "Get the Express DMT wallet balance available to spend and the amount currently held. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"balance\": 250000.5,\n        \"available_balance\": 250000.5,\n        \"locked_balance\": 0,\n        \"currency\": \"INR\",\n        \"status\": \"active\",\n        \"updated_at\": \"2026-10-04T08:00:00+05:30\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/balance",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "balance"
                                    ]
                                },
                                "description": "Get the Express DMT wallet balance available to spend and the amount currently held. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Bank Account",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/verify-account",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "verify-account"
                            ]
                        },
                        "description": "Verify a bank account and get the registered holder name before paying it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_holder_name\": \"Rahul Sharma\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"status\": \"valid\",\n        \"verification_status\": \"verified\",\n        \"account_number\": \"50100012345678\",\n        \"ifsc_code\": \"HDFC0000123\",\n        \"account_holder_name\": \"Rahul Sharma\",\n        \"bank_name\": \"Kotak Mahindra Bank\",\n        \"charged\": 2.36,\n        \"txn_id\": \"VRF991823719\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/verify-account",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "verify-account"
                                    ]
                                },
                                "description": "Verify a bank account and get the registered holder name before paying it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_holder_name\": \"Rahul Sharma\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Express DMT Beneficiary",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/beneficiaries/verify",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "beneficiaries",
                                "verify"
                            ]
                        },
                        "description": "Step 1 of adding a beneficiary: check a bank account and get a `verification_id` valid for 24 hours. Charges ₹2.00 + 18% GST (₹2.36 total) per call (first 30 calls free). See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_name\": \"Rahul Sharma\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Bank account verified successfully via Penny Drop\",\n    \"data\": {\n        \"verification_id\": \"9d9014ab-4228-4efc-8e4a-b51c14f3b7d1\",\n        \"payout_token\": \"ptkn_8f3a9e1c2b4d5e6f7a8b9c0d1e2f3a4b\",\n        \"account_number\": \"50100012345678\",\n        \"ifsc_code\": \"HDFC0000123\",\n        \"name\": \"Rahul Sharma\",\n        \"bank_name\": \"Kotak Mahindra Bank\",\n        \"status\": \"valid\",\n        \"penny_drop_status\": \"SUCCESS\",\n        \"charged\": 2.36,\n        \"gst\": 0.36,\n        \"expires_at\": \"2026-10-05T08:00:00+05:30\",\n        \"payout_token_expires_at\": \"2026-10-04T12:00:00+05:30\",\n        \"token_valid_for\": \"4 hours\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/beneficiaries/verify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "beneficiaries",
                                        "verify"
                                    ]
                                },
                                "description": "Step 1 of adding a beneficiary: check a bank account and get a `verification_id` valid for 24 hours. Charges ₹2.00 + 18% GST (₹2.36 total) per call (first 30 calls free). See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_name\": \"Rahul Sharma\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Add Express DMT Beneficiary",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/beneficiaries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "beneficiaries"
                            ]
                        },
                        "description": "Step 2 of adding a beneficiary: save it using the `verification_id` from step 1. The account+IFSC is stored once per user. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"verification_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n    \"nickname\": \"Vendor Kotak\",\n    \"mobile\": \"9876543210\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Beneficiary saved.\",\n    \"data\": {\n        \"beneficiary_id\": 101,\n        \"name\": \"RAHUL SHARMA\",\n        \"account_number\": \"50100012345678\",\n        \"ifsc_code\": \"HDFC0000123\",\n        \"bank_name\": \"KOTAK MAHINDRA BANK LIMITED\",\n        \"nickname\": \"Vendor Kotak\",\n        \"mobile\": \"9876543210\",\n        \"is_verified\": true,\n        \"verified_at\": \"2026-09-11T10:04:12+05:30\",\n        \"is_active\": true\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/beneficiaries",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "beneficiaries"
                                    ]
                                },
                                "description": "Step 2 of adding a beneficiary: save it using the `verification_id` from step 1. The account+IFSC is stored once per user. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"verification_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n    \"nickname\": \"Vendor Kotak\",\n    \"mobile\": \"9876543210\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "List Express DMT Beneficiaries",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/beneficiaries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "beneficiaries"
                            ]
                        },
                        "description": "List every active, verified beneficiary saved by this API user, newest first. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"items\": [\n            {\n                \"id\": 14029,\n                \"beneficiary_id\": \"BEN14029\",\n                \"name\": \"Rahul Sharma\",\n                \"account_number\": \"50100012345678\",\n                \"ifsc_code\": \"HDFC0000123\",\n                \"bank_name\": \"Kotak Mahindra Bank\",\n                \"nickname\": \"Vendor Kotak\",\n                \"mobile\": \"9876543210\",\n                \"status\": \"active\",\n                \"created_at\": \"2026-10-04T08:00:00+05:30\"\n            }\n        ],\n        \"total\": 1,\n        \"page\": 1,\n        \"per_page\": 20\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/beneficiaries",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "beneficiaries"
                                    ]
                                },
                                "description": "List every active, verified beneficiary saved by this API user, newest first. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Express DMT Beneficiary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/beneficiaries/{id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "beneficiaries",
                                "{id}"
                            ]
                        },
                        "description": "Fetch a single beneficiary owned by this API user. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Beneficiary saved.\",\n    \"data\": {\n        \"beneficiary_id\": 101,\n        \"name\": \"RAHUL SHARMA\",\n        \"account_number\": \"50100012345678\",\n        \"ifsc_code\": \"HDFC0000123\",\n        \"bank_name\": \"KOTAK MAHINDRA BANK LIMITED\",\n        \"nickname\": \"Vendor Kotak\",\n        \"mobile\": \"9876543210\",\n        \"is_verified\": true,\n        \"verified_at\": \"2026-09-11T10:04:12+05:30\",\n        \"is_active\": true\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/beneficiaries/{id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "beneficiaries",
                                        "{id}"
                                    ]
                                },
                                "description": "Fetch a single beneficiary owned by this API user. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Initiate Express DMT",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/initiate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "initiate"
                            ]
                        },
                        "description": "Send an IMPS / NEFT / RTGS transfer to a bank account. Requires a `bene_token` from POST /payout/beneficiaries/verify — verify the beneficiary first. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"MYAPP1699523456789\",\n    \"account_holder_name\": \"Rahul Sharma\",\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"amount\": 100,\n    \"mode\": \"IMPS\",\n    \"mobile\": \"9876543210\",\n    \"remarks\": \"Test transaction\",\n    \"latitude\": 28.7041,\n    \"longitude\": 77.1025,\n    \"purpose\": \"Payment for services\",\n    \"purpose_code\": \"VENDOR_PAYMENT\",\n    \"purpose_note\": \"Invoice INV-2041 for September supply\",\n    \"bene_token\": \"<payout_token from POST /api/v1/payout/beneficiaries/verify>\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"success\",\n    \"message\": \"Payout transfer processed successfully\",\n    \"data\": {\n        \"transaction_id\": \"MYAPP1789965054628\",\n        \"reference_id\": \"MYAPP1789965054628\",\n        \"status\": \"success\",\n        \"amount\": 100,\n        \"charge\": 7,\n        \"gst\": 1.26,\n        \"total_deducted\": 108.26,\n        \"mode\": \"IMPS\",\n        \"utr_number\": \"625110238639\",\n        \"bank_ref_num\": \"625110238639\",\n        \"beneficiary\": {\n            \"name\": \"Rahul Sharma\",\n            \"account_number\": \"50100012345678\",\n            \"ifsc_code\": \"HDFC0000123\",\n            \"bank_name\": \"Kotak Mahindra Bank\"\n        },\n        \"created_at\": \"2026-10-04T10:03:49+05:30\",\n        \"completed_at\": \"2026-10-04T10:04:12+05:30\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/initiate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "initiate"
                                    ]
                                },
                                "description": "Send an IMPS / NEFT / RTGS transfer to a bank account. Requires a `bene_token` from POST /payout/beneficiaries/verify — verify the beneficiary first. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"MYAPP1699523456789\",\n    \"account_holder_name\": \"Rahul Sharma\",\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"amount\": 100,\n    \"mode\": \"IMPS\",\n    \"mobile\": \"9876543210\",\n    \"remarks\": \"Test transaction\",\n    \"latitude\": 28.7041,\n    \"longitude\": 77.1025,\n    \"purpose\": \"Payment for services\",\n    \"purpose_code\": \"VENDOR_PAYMENT\",\n    \"purpose_note\": \"Invoice INV-2041 for September supply\",\n    \"bene_token\": \"<payout_token from POST /api/v1/payout/beneficiaries/verify>\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Check Express DMT Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "status"
                            ]
                        },
                        "description": "Poll the outcome of an Express DMT using its `transaction_id`. Retry until `data.status` is `success`, `failed`, or `refunded`. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"MYAPP1789965054628\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"transaction_id\": \"MYAPP1789965054628\",\n        \"reference_id\": \"MYAPP1789965054628\",\n        \"status\": \"success\",\n        \"amount\": 100,\n        \"charge\": 7,\n        \"gst\": 1.26,\n        \"total_deducted\": 108.26,\n        \"utr_number\": \"625110238639\",\n        \"beneficiary\": {\n            \"name\": \"Rahul Sharma\",\n            \"account_number\": \"50100012345678\",\n            \"ifsc_code\": \"HDFC0000123\",\n            \"bank_name\": \"Kotak Mahindra Bank\"\n        },\n        \"created_at\": \"2026-10-04T10:03:49+05:30\",\n        \"completed_at\": \"2026-10-04T10:04:12+05:30\",\n        \"changed\": false,\n        \"message\": \"Transaction successful\",\n        \"refunded\": false,\n        \"refund_amount\": null\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "status"
                                    ]
                                },
                                "description": "Poll the outcome of an Express DMT using its `transaction_id`. Retry until `data.status` is `success`, `failed`, or `refunded`. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"MYAPP1789965054628\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Express DMT History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/payout/history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "payout",
                                "history"
                            ]
                        },
                        "description": "List past Express DMTs for this API user with date-range, status, and pagination filters. Maximum 90-day window per request. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"items\": [\n            {\n                \"id\": 53101,\n                \"transaction_id\": \"MYAPP1789965054628\",\n                \"reference_id\": \"MYAPP1789965054628\",\n                \"status\": \"success\",\n                \"amount\": 100,\n                \"charge\": 7,\n                \"gst\": 1.26,\n                \"total_deducted\": 108.26,\n                \"mode\": \"IMPS\",\n                \"utr_number\": \"625110238639\",\n                \"beneficiary\": {\n                    \"name\": \"Rahul Sharma\",\n                    \"account_number\": \"50100012345678\",\n                    \"ifsc_code\": \"HDFC0000123\",\n                    \"bank_name\": \"Kotak Mahindra Bank\"\n                },\n                \"created_at\": \"2026-10-04T10:03:49+05:30\",\n                \"completed_at\": \"2026-10-04T10:04:12+05:30\"\n            }\n        ],\n        \"pagination\": {\n            \"current_page\": 1,\n            \"per_page\": 20,\n            \"total_records\": 1,\n            \"total_pages\": 1\n        },\n        \"filters\": {\n            \"status\": \"success\",\n            \"from_date\": \"2026-09-04\",\n            \"to_date\": \"2026-10-04\"\n        }\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/payout/history",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "payout",
                                        "history"
                                    ]
                                },
                                "description": "List past Express DMTs for this API user with date-range, status, and pagination filters. Maximum 90-day window per request. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "⬇ 12. Download Express DMT Postman collection",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/developer/postman/payout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "developer",
                                "postman",
                                "payout"
                            ]
                        },
                        "description": "Download the complete, ready-to-run Express DMT Postman collection for this portal.\n\nWhat is inside:\n• All 11 Express DMT endpoints ordered sequentially — discovery (modes, purpose codes, balance), beneficiary verification & management, Express DMT initiate, status polling, and transaction history.\n• Ready-to-run example request data on every endpoint and saved success / error responses for all scenarios (validation errors, duplicate transaction ID, insufficient funds, expired tokens, cooling period, hold).\n• Automatic HMAC-SHA256 request signing via Pre-request script (calculates X-Client-ID, X-Timestamp, X-Request-ID, and X-Signature). Only client_id and client_secret need to be filled in.\n• Automatic token and ID chaining — verification_id, bene_token (payout_token), beneficiary_id, and transaction_id are auto-extracted from responses and injected into subsequent requests.\n• Dynamic transaction_id generation for initiate calls, preventing 409 collisions on repeated test runs.\n\nHow to use (2 minutes):\n1. Click Download below (or open URL): https://litebanking.com/developer/postman/Express DMT\n2. In Postman: File → Import → select the downloaded file.\n3. Open the collection → Variables tab → enter your client_id and client_secret from Dashboard → API Credentials → Save.\n4. Execute requests from top to bottom (Folder 1 → 2 → 3 → 4)."
                    }
                }
            ]
        },
        {
            "name": "Payout Connected Banking",
            "item": [
                {
                    "name": "List Connected Accounts",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/accounts",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "accounts"
                            ]
                        },
                        "description": "Returns all connected bank accounts linked to the authenticated API caller. Includes account UUID, bank slug, masked debit account number, current status, billing mode, and last-verified timestamp. Accounts in any lifecycle state are returned; filter on `status` client-side."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accounts\": [\n            {\n                \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n                \"nickname\": \"Primary Collection Account\",\n                \"debit_account_masked\": \"****4321\",\n                \"status\": \"active\",\n                \"billing_mode\": \"wallet_charge\",\n                \"is_default\": true,\n                \"last_verified_at\": \"2026-05-01T10:00:00+05:30\",\n                \"created_at\": \"2026-04-01T08:00:00+05:30\"\n            }\n        ]\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/accounts",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "accounts"
                                    ]
                                },
                                "description": "Returns all connected bank accounts linked to the authenticated API caller. Includes account UUID, bank slug, masked debit account number, current status, billing mode, and last-verified timestamp. Accounts in any lifecycle state are returned; filter on `status` client-side."
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Account (Penny Drop)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/verify-account",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "verify-account"
                            ]
                        },
                        "description": "Runs a penny-drop verification against the bank to confirm the connected account is live and the credentials are correct. Call this after onboarding a new account or after a credential rotation. Returns the fetched account balance on success to confirm connectivity.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"verified\": true,\n        \"balance\": 142500,\n        \"currency\": \"INR\",\n        \"verified_at\": \"2026-05-01T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/verify-account",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "verify-account"
                                    ]
                                },
                                "description": "Runs a penny-drop verification against the bank to confirm the connected account is live and the credentials are correct. Call this after onboarding a new account or after a credential rotation. Returns the fetched account balance on success to confirm connectivity.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Get Account Balance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/balance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "balance"
                            ]
                        },
                        "description": "Fetches the current available balance for a connected bank account. Results are cached for up to 60 seconds (configurable) to avoid hammering the bank API. Pass `?connected_account_uuid=` to target a specific account; omit to use the caller's default account."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"balance\": 142500,\n        \"currency\": \"INR\",\n        \"account_number\": \"****4321\",\n        \"fetched_at\": \"2026-05-01T10:00:00+05:30\",\n        \"cached\": false\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/balance",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "balance"
                                    ]
                                },
                                "description": "Fetches the current available balance for a connected bank account. Results are cached for up to 60 seconds (configurable) to avoid hammering the bank API. Pass `?connected_account_uuid=` to target a specific account; omit to use the caller's default account."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Account Statement",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/statement",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "statement"
                            ]
                        },
                        "description": "Fetches a paginated bank statement from the bank for the specified date range. Maximum window: 90 days. Returns debit and credit transactions with amounts, UTR numbers, and narrations. Useful for reconciliation and audit workflows.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"from_date\": \"2026-04-01\",\n    \"to_date\": \"2026-04-30\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"transactions\": [\n            {\n                \"date\": \"2026-04-15\",\n                \"type\": \"debit\",\n                \"amount\": 5000,\n                \"utr\": \"426045678901234\",\n                \"narration\": \"NEFT/CB-TXN-001/John Doe\",\n                \"balance\": 142500\n            }\n        ],\n        \"from_date\": \"2026-04-01\",\n        \"to_date\": \"2026-04-30\",\n        \"total\": 1\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/statement",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "statement"
                                    ]
                                },
                                "description": "Fetches a paginated bank statement from the bank for the specified date range. Maximum window: 90 days. Returns debit and credit transactions with amounts, UTR numbers, and narrations. Useful for reconciliation and audit workflows.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"from_date\": \"2026-04-01\",\n    \"to_date\": \"2026-04-30\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Verify Beneficiary",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/verify-beneficiary",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "verify-beneficiary"
                            ]
                        },
                        "description": "Verifies a beneficiary bank account via IMPS penny-drop before initiating a payout. Returns the account holder name fetched from the bank, allowing you to confirm the account details match your records before committing funds.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"account_number\": \"1234567890\",\n    \"ifsc_code\": \"SBIN0001234\",\n    \"beneficiary_name\": \"John Doe\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"verified\": true,\n        \"account_name\": \"JOHN DOE\",\n        \"account_number\": \"1234567890\",\n        \"ifsc_code\": \"SBIN0001234\",\n        \"bank_name\": \"State Bank of India\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/verify-beneficiary",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "verify-beneficiary"
                                    ]
                                },
                                "description": "Verifies a beneficiary bank account via IMPS penny-drop before initiating a payout. Returns the account holder name fetched from the bank, allowing you to confirm the account details match your records before committing funds.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"account_number\": \"1234567890\",\n    \"ifsc_code\": \"SBIN0001234\",\n    \"beneficiary_name\": \"John Doe\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Initiate Connected Banking Payout",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/payout/initiate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "payout",
                                "initiate"
                            ]
                        },
                        "description": "Initiates a fund transfer from a connected bank account to any beneficiary account. Supports IMPS, NEFT, and RTGS modes. Supply a unique `transaction_id` per transfer — the endpoint is idempotent within the 7-day window so safe retries are possible. Billing modes: `wallet_charge` (fee from main wallet), `source_sweep` (fee swept from the connected account), `fee_wallet` (fee from CB wallet).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"transaction_id\": \"TXN-2026-001\",\n    \"amount\": 10000,\n    \"mode\": \"IMPS\",\n    \"beneficiary_account\": \"1234567890\",\n    \"beneficiary_ifsc\": \"SBIN0001234\",\n    \"beneficiary_name\": \"John Doe\",\n    \"remarks\": \"Invoice #INV-001 settlement\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"transaction_id\": \"TXN-2026-001\",\n        \"reference_id\": \"CB20260501IMPS001\",\n        \"status\": \"pending\",\n        \"amount\": 10000,\n        \"charge\": 5,\n        \"gst\": 0.9,\n        \"utr_number\": null,\n        \"billing_mode\": \"wallet_charge\",\n        \"report_id\": 98765,\n        \"initiated_at\": \"2026-05-01T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/payout/initiate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "payout",
                                        "initiate"
                                    ]
                                },
                                "description": "Initiates a fund transfer from a connected bank account to any beneficiary account. Supports IMPS, NEFT, and RTGS modes. Supply a unique `transaction_id` per transfer — the endpoint is idempotent within the 7-day window so safe retries are possible. Billing modes: `wallet_charge` (fee from main wallet), `source_sweep` (fee swept from the connected account), `fee_wallet` (fee from CB wallet).",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"connected_account_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"transaction_id\": \"TXN-2026-001\",\n    \"amount\": 10000,\n    \"mode\": \"IMPS\",\n    \"beneficiary_account\": \"1234567890\",\n    \"beneficiary_ifsc\": \"SBIN0001234\",\n    \"beneficiary_name\": \"John Doe\",\n    \"remarks\": \"Invoice #INV-001 settlement\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Get Payout Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/payout/status/{txn_id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "payout",
                                "status",
                                "{txn_id}"
                            ]
                        },
                        "description": "Retrieves the current status of a Connected Banking payout by its `transaction_id`. Append `?refresh=true` to trigger a live bank status poll when the payout is still pending — the DB row is updated and the fresh status returned. Omitting `refresh` returns the cached DB state."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"transaction_id\": \"TXN-2026-001\",\n        \"reference_id\": \"CB20260501IMPS001\",\n        \"status\": \"success\",\n        \"amount\": 10000,\n        \"charge\": 5,\n        \"gst\": 0.9,\n        \"utr_number\": \"426045678901234\",\n        \"beneficiary_name\": \"John Doe\",\n        \"beneficiary_account\": \"****7890\",\n        \"beneficiary_ifsc\": \"SBIN0001234\",\n        \"mode\": \"IMPS\",\n        \"billing_mode\": \"wallet_charge\",\n        \"initiated_at\": \"2026-05-01T10:00:00+05:30\",\n        \"last_status_check\": \"2026-05-01T10:05:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/payout/status/{txn_id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "payout",
                                        "status",
                                        "{txn_id}"
                                    ]
                                },
                                "description": "Retrieves the current status of a Connected Banking payout by its `transaction_id`. Append `?refresh=true` to trigger a live bank status poll when the payout is still pending — the DB row is updated and the fresh status returned. Omitting `refresh` returns the cached DB state."
                            }
                        }
                    ]
                },
                {
                    "name": "Payout History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/payout/history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "payout",
                                "history"
                            ]
                        },
                        "description": "Returns a paginated ledger of all Connected Banking payouts for the authenticated caller. Supports date-range filtering (max 90 days per call), status filtering, and per-account scoping. Use the `pagination` block in the response to iterate pages. Default window: last 30 days. Default page size: 20."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"items\": [\n            {\n                \"report_id\": 98765,\n                \"transaction_id\": \"TXN-2026-001\",\n                \"reference_id\": \"CB20260501IMPS001\",\n                \"status\": \"success\",\n                \"amount\": 10000,\n                \"charge\": 5,\n                \"gst\": 0.9,\n                \"utr_number\": \"426045678901234\",\n                \"beneficiary_name\": \"John Doe\",\n                \"beneficiary_account\": \"****7890\",\n                \"beneficiary_ifsc\": \"SBIN0001234\",\n                \"mode\": \"IMPS\",\n                \"billing_mode\": \"wallet_charge\",\n                \"initiated_at\": \"2026-05-01T10:00:00+05:30\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 42,\n            \"per_page\": 20,\n            \"current_page\": 1,\n            \"last_page\": 3,\n            \"from\": 1,\n            \"to\": 20\n        },\n        \"window\": {\n            \"from_date\": \"2026-04-01\",\n            \"to_date\": \"2026-04-30\"\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/payout/history",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "payout",
                                        "history"
                                    ]
                                },
                                "description": "Returns a paginated ledger of all Connected Banking payouts for the authenticated caller. Supports date-range filtering (max 90 days per call), status filtering, and per-account scoping. Use the `pagination` block in the response to iterate pages. Default window: last 30 days. Default page size: 20."
                            }
                        }
                    ]
                },
                {
                    "name": "Connected Banking Health Check",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "X-Api-Key",
                                "value": "{{x-_api-_key}}",
                                "type": "text",
                                "description": "Your platform API key"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/connected-banking/health",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "connected-banking",
                                "health"
                            ]
                        },
                        "description": "Returns a health snapshot for the Connected Banking module scoped to the authenticated caller: pending payout count, age of the oldest pending payout, number of active connected accounts, and overall status (`ok` or `degraded`). Optionally pass `?probe=true&connected_account_uuid=` to perform a live bank connectivity test."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"status\": \"ok\",\n        \"pending_payouts\": 0,\n        \"oldest_pending\": null,\n        \"active_accounts\": 2,\n        \"probe\": null,\n        \"checked_at\": \"2026-05-01T10:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "X-Api-Key",
                                        "value": "{{x-_api-_key}}",
                                        "type": "text",
                                        "description": "Your platform API key"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/connected-banking/health",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "connected-banking",
                                        "health"
                                    ]
                                },
                                "description": "Returns a health snapshot for the Connected Banking module scoped to the authenticated caller: pending payout count, age of the oldest pending payout, number of active connected accounts, and overall status (`ok` or `degraded`). Optionally pass `?probe=true&connected_account_uuid=` to perform a live bank connectivity test."
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Payout Xpress Payout",
            "item": [
                {
                    "name": "Get Transfer Modes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/modes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "modes"
                            ]
                        },
                        "description": "List the IMPS / NEFT / RTGS modes this rail accepts, with amount bands and live availability. Use `available_now` to decide whether to show the payout form. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"as_of\": \"2026-10-04T08:00:00+05:30\",\n        \"timezone\": \"Asia/Kolkata\",\n        \"modes\": [\n            {\n                \"code\": \"IMPS\",\n                \"name\": \"Immediate Payment Service\",\n                \"available_now\": true,\n                \"min_amount\": 1,\n                \"max_amount\": 500000,\n                \"typical_time\": \"30 seconds\",\n                \"note\": \"24x7 real-time settlement\"\n            },\n            {\n                \"code\": \"NEFT\",\n                \"name\": \"National Electronic Funds Transfer\",\n                \"available_now\": true,\n                \"min_amount\": 1,\n                \"max_amount\": 99999999,\n                \"typical_time\": \"2 hours (batch)\",\n                \"note\": \"Processed in half-hourly RBI settlement batches\"\n            },\n            {\n                \"code\": \"RTGS\",\n                \"name\": \"Real Time Gross Settlement\",\n                \"available_now\": true,\n                \"min_amount\": 200000,\n                \"max_amount\": 99999999,\n                \"typical_time\": \"Real-time\",\n                \"note\": \"High-value real-time gross settlement (min \\u20b92,00,000)\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/modes",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "modes"
                                    ]
                                },
                                "description": "List the IMPS / NEFT / RTGS modes this rail accepts, with amount bands and live availability. Use `available_now` to decide whether to show the payout form. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Purpose Codes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/purpose-codes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "purpose-codes"
                            ]
                        },
                        "description": "List the purpose-of-payment codes accepted by `initiate`, so you can build the dropdown from our catalog instead of hardcoding it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"purpose_codes\": [\n            {\n                \"code\": \"VENDOR_PAYMENT\",\n                \"name\": \"Vendor / Supplier Payment\",\n                \"description\": \"Payments made to suppliers, contractors, or commercial vendors.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"SALARY_WAGES\",\n                \"name\": \"Salary / Employee Wages\",\n                \"description\": \"Disbursements for payroll, employee stipends, or consultant wages.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"CUSTOMER_REFUND\",\n                \"name\": \"Customer Refund / Chargeback\",\n                \"description\": \"Return of funds for cancelled orders, services, or warranty claims.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"REIMBURSEMENT\",\n                \"name\": \"Expense Reimbursement\",\n                \"description\": \"Reimbursement of business expenses incurred by staff.\",\n                \"requires_note\": false\n            },\n            {\n                \"code\": \"OTHER\",\n                \"name\": \"Other Business Purpose\",\n                \"description\": \"Other legitimate business transfer. Requires purpose_note (min 8 chars).\",\n                \"requires_note\": true\n            }\n        ]\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/purpose-codes",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "purpose-codes"
                                    ]
                                },
                                "description": "List the purpose-of-payment codes accepted by `initiate`, so you can build the dropdown from our catalog instead of hardcoding it. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Wallet Balance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/balance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "balance"
                            ]
                        },
                        "description": "Get the payout wallet balance available to spend and the amount currently held. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"balance\": 250000.5,\n        \"available_balance\": 250000.5,\n        \"locked_balance\": 0,\n        \"currency\": \"INR\",\n        \"status\": \"active\",\n        \"updated_at\": \"2026-10-04T08:00:00+05:30\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/balance",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "balance"
                                    ]
                                },
                                "description": "Get the payout wallet balance available to spend and the amount currently held. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "Initiate Payout",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/initiate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "initiate"
                            ]
                        },
                        "description": "Send an IMPS / NEFT / RTGS transfer straight to a bank account. Put the account number, IFSC and account holder name in the request — no beneficiary verification or `bene_token` step. Xpress Payout must be activated on your account (403 `XPRESS_PAYOUT_NOT_ASSIGNED` otherwise). `remarks` is optional; if sent it must be exactly one purpose name (`label`) from GET /api/v1/xpress-payout/purpose-codes, otherwise 422. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"MYAPP1699523456789\",\n    \"account_holder_name\": \"Rahul Sharma\",\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"amount\": 100,\n    \"mode\": \"IMPS\",\n    \"mobile\": \"9876543210\",\n    \"remarks\": \"Vendor / Supplier Payment\",\n    \"latitude\": 28.7041,\n    \"longitude\": 77.1025,\n    \"purpose\": \"Payment for services\",\n    \"purpose_code\": \"VENDOR_PAYMENT\",\n    \"purpose_note\": \"Invoice INV-2041 for September supply\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"status\": \"success\",\n    \"message\": \"Payout transfer processed successfully\",\n    \"data\": {\n        \"transaction_id\": \"MYAPP1789965054628\",\n        \"reference_id\": \"MYAPP1789965054628\",\n        \"status\": \"success\",\n        \"amount\": 100,\n        \"charge\": 7,\n        \"gst\": 1.26,\n        \"total_deducted\": 108.26,\n        \"mode\": \"IMPS\",\n        \"utr_number\": \"625110238639\",\n        \"bank_ref_num\": \"625110238639\",\n        \"beneficiary\": {\n            \"name\": \"Rahul Sharma\",\n            \"account_number\": \"50100012345678\",\n            \"ifsc_code\": \"HDFC0000123\",\n            \"bank_name\": \"Kotak Mahindra Bank\"\n        },\n        \"created_at\": \"2026-10-04T10:03:49+05:30\",\n        \"completed_at\": \"2026-10-04T10:04:12+05:30\"\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/initiate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "initiate"
                                    ]
                                },
                                "description": "Send an IMPS / NEFT / RTGS transfer straight to a bank account. Put the account number, IFSC and account holder name in the request — no beneficiary verification or `bene_token` step. Xpress Payout must be activated on your account (403 `XPRESS_PAYOUT_NOT_ASSIGNED` otherwise). `remarks` is optional; if sent it must be exactly one purpose name (`label`) from GET /api/v1/xpress-payout/purpose-codes, otherwise 422. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"MYAPP1699523456789\",\n    \"account_holder_name\": \"Rahul Sharma\",\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"amount\": 100,\n    \"mode\": \"IMPS\",\n    \"mobile\": \"9876543210\",\n    \"remarks\": \"Vendor / Supplier Payment\",\n    \"latitude\": 28.7041,\n    \"longitude\": 77.1025,\n    \"purpose\": \"Payment for services\",\n    \"purpose_code\": \"VENDOR_PAYMENT\",\n    \"purpose_note\": \"Invoice INV-2041 for September supply\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Check Payout Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "status"
                            ]
                        },
                        "description": "Poll the outcome of a payout using its `transaction_id`. Retry until `data.status` is `success`, `failed`, or `refunded`. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"transaction_id\": \"MYAPP1789965054628\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"transaction_id\": \"MYAPP1789965054628\",\n        \"reference_id\": \"MYAPP1789965054628\",\n        \"status\": \"success\",\n        \"amount\": 100,\n        \"charge\": 7,\n        \"gst\": 1.26,\n        \"total_deducted\": 108.26,\n        \"utr_number\": \"625110238639\",\n        \"beneficiary\": {\n            \"name\": \"Rahul Sharma\",\n            \"account_number\": \"50100012345678\",\n            \"ifsc_code\": \"HDFC0000123\",\n            \"bank_name\": \"Kotak Mahindra Bank\"\n        },\n        \"created_at\": \"2026-10-04T10:03:49+05:30\",\n        \"completed_at\": \"2026-10-04T10:04:12+05:30\",\n        \"changed\": false,\n        \"message\": \"Transaction successful\",\n        \"refunded\": false,\n        \"refund_amount\": null\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "status"
                                    ]
                                },
                                "description": "Poll the outcome of a payout using its `transaction_id`. Retry until `data.status` is `success`, `failed`, or `refunded`. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"transaction_id\": \"MYAPP1789965054628\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Payout History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/xpress-payout/history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "xpress-payout",
                                "history"
                            ]
                        },
                        "description": "List past payouts for this API user with date-range, status, and pagination filters. Maximum 90-day window per request. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"items\": [\n            {\n                \"id\": 53101,\n                \"transaction_id\": \"MYAPP1789965054628\",\n                \"reference_id\": \"MYAPP1789965054628\",\n                \"status\": \"success\",\n                \"amount\": 100,\n                \"charge\": 7,\n                \"gst\": 1.26,\n                \"total_deducted\": 108.26,\n                \"mode\": \"IMPS\",\n                \"utr_number\": \"625110238639\",\n                \"beneficiary\": {\n                    \"name\": \"Rahul Sharma\",\n                    \"account_number\": \"50100012345678\",\n                    \"ifsc_code\": \"HDFC0000123\",\n                    \"bank_name\": \"Kotak Mahindra Bank\"\n                },\n                \"created_at\": \"2026-10-04T10:03:49+05:30\",\n                \"completed_at\": \"2026-10-04T10:04:12+05:30\"\n            }\n        ],\n        \"pagination\": {\n            \"current_page\": 1,\n            \"per_page\": 20,\n            \"total_records\": 1,\n            \"total_pages\": 1\n        },\n        \"filters\": {\n            \"status\": \"success\",\n            \"from_date\": \"2026-09-04\",\n            \"to_date\": \"2026-10-04\"\n        }\n    },\n    \"meta\": {\n        \"trace_id\": \"pay_k9v2x4m7q1w8e5r3t0y6\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/xpress-payout/history",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "xpress-payout",
                                        "history"
                                    ]
                                },
                                "description": "List past payouts for this API user with date-range, status, and pagination filters. Maximum 90-day window per request. See [#guide/status-codes](#guide/status-codes) for status meanings and [#errors](#errors) for every error code, precaution, and retry rule."
                            }
                        }
                    ]
                },
                {
                    "name": "⬇ 7. Download Xpress Payout Postman collection",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/developer/postman/xpress-payout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "developer",
                                "postman",
                                "xpress-payout"
                            ]
                        },
                        "description": "Download a ready-to-run Postman collection for every Xpress Payout endpoint. Requests are signed automatically; fill in only client_id and client_secret."
                    }
                }
            ]
        },
        {
            "name": "Recharge",
            "item": [
                {
                    "name": "Get Operators",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/recharge/operators",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "recharge",
                                "operators"
                            ]
                        },
                        "description": "Get the list of available mobile and DTH operators for recharge. Use this to populate operator selection in your application."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"name\": \"Airtel\",\n            \"biller_id\": \"BILAVAIRTEL001\"\n        },\n        {\n            \"name\": \"Jio\",\n            \"biller_id\": \"BILAVJIO000001\"\n        },\n        {\n            \"name\": \"Vi (Vodafone Idea)\",\n            \"biller_id\": \"BILAVVODA00001\"\n        },\n        {\n            \"name\": \"BSNL\",\n            \"biller_id\": \"BILAVBSNL00001\"\n        }\n    ]\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/recharge/operators",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "recharge",
                                        "operators"
                                    ]
                                },
                                "description": "Get the list of available mobile and DTH operators for recharge. Use this to populate operator selection in your application."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Circles",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/recharge/circles",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "recharge",
                                "circles"
                            ]
                        },
                        "description": "Get the list of available telecom circles (regions) for recharge. Use along with operators to fetch plans."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"name\": \"Delhi NCR\",\n            \"value\": \"Delhi NCR\"\n        },\n        {\n            \"name\": \"Maharashtra\",\n            \"value\": \"Maharashtra\"\n        },\n        {\n            \"name\": \"Karnataka\",\n            \"value\": \"Karnataka\"\n        },\n        {\n            \"name\": \"Tamil Nadu\",\n            \"value\": \"Tamil Nadu\"\n        },\n        {\n            \"name\": \"UP East\",\n            \"value\": \"UP East\"\n        },\n        {\n            \"name\": \"Rajasthan\",\n            \"value\": \"Rajasthan\"\n        }\n    ]\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/recharge/circles",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "recharge",
                                        "circles"
                                    ]
                                },
                                "description": "Get the list of available telecom circles (regions) for recharge. Use along with operators to fetch plans."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Recharge Plans",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/recharge/plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "recharge",
                                "plans"
                            ]
                        },
                        "description": "Fetch available recharge plans for a specific operator and circle. Returns cached plans when available for faster response.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"operator\": \"Airtel\",\n    \"circle\": \"Delhi NCR\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"plan_id\": \"PLN001\",\n            \"plan_name\": \"Unlimited Pack\",\n            \"amount\": 299,\n            \"talktime\": \"Unlimited\",\n            \"validity\": \"28 days\",\n            \"description\": \"Unlimited calls + 1.5GB/day data\",\n            \"category_type\": \"Unlimited\"\n        },\n        {\n            \"plan_id\": \"PLN002\",\n            \"plan_name\": \"Data Pack\",\n            \"amount\": 199,\n            \"talktime\": \"0\",\n            \"validity\": \"24 days\",\n            \"description\": \"1GB/day data\",\n            \"category_type\": \"Data\"\n        }\n    ]\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/recharge/plans",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "recharge",
                                        "plans"
                                    ]
                                },
                                "description": "Fetch available recharge plans for a specific operator and circle. Returns cached plans when available for faster response.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"operator\": \"Airtel\",\n    \"circle\": \"Delhi NCR\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Process Recharge",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/recharge/process",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "recharge",
                                "process"
                            ]
                        },
                        "description": "Process a mobile or DTH recharge. Validates wallet balance, deducts amount with charges and GST, and processes through the recharge provider. Auto-refunds on failure.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile_number\": \"9876543210\",\n    \"operator\": \"Airtel\",\n    \"circle\": \"Delhi NCR\",\n    \"amount\": 299,\n    \"biller_id\": \"BILAVAIRTEL001\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Recharge successful\",\n    \"data\": {\n        \"ref_id\": \"RCH20260227A1B2C3\",\n        \"txn_ref_id\": \"BAV123456789\",\n        \"mobile_number\": \"9876543210\",\n        \"operator\": \"Airtel\",\n        \"amount\": 299,\n        \"status\": \"success\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/recharge/process",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "recharge",
                                        "process"
                                    ]
                                },
                                "description": "Process a mobile or DTH recharge. Validates wallet balance, deducts amount with charges and GST, and processes through the recharge provider. Auto-refunds on failure.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"mobile_number\": \"9876543210\",\n    \"operator\": \"Airtel\",\n    \"circle\": \"Delhi NCR\",\n    \"amount\": 299,\n    \"biller_id\": \"BILAVAIRTEL001\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Recharge Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/recharge/status/{ref_id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "recharge",
                                "status",
                                "{ref_id}"
                            ]
                        },
                        "description": "Check the status of a recharge transaction. For pending transactions, queries the provider for live status and updates accordingly. Auto-refunds wallet on provider-confirmed failure."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"ref_id\": \"RCH20260227A1B2C3\",\n        \"status\": \"success\",\n        \"message\": \"Recharge successful\",\n        \"txn_ref_id\": \"BAV123456789\",\n        \"amount\": 299\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/recharge/status/{ref_id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "recharge",
                                        "status",
                                        "{ref_id}"
                                    ]
                                },
                                "description": "Check the status of a recharge transaction. For pending transactions, queries the provider for live status and updates accordingly. Auto-refunds wallet on provider-confirmed failure."
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Reports",
            "item": [
                {
                    "name": "Get Available Reports",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/reports/available",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "reports",
                                "available"
                            ]
                        },
                        "description": "Get all custom reports available to the authenticated user based on their role permissions. Results are cached for 30 minutes."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"reports\": [\n        {\n            \"id\": \"report_65f3a1_1698765432\",\n            \"name\": \"Daily Payout Summary\",\n            \"description\": \"Payout transactions grouped by date\",\n            \"service_type\": \"payout\",\n            \"report_type\": \"table\"\n        },\n        {\n            \"id\": \"report_75a4b2_1698765500\",\n            \"name\": \"Recharge Report\",\n            \"description\": \"All recharge transactions\",\n            \"service_type\": \"recharge\",\n            \"report_type\": \"table\"\n        }\n    ]\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/reports/available",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "reports",
                                        "available"
                                    ]
                                },
                                "description": "Get all custom reports available to the authenticated user based on their role permissions. Results are cached for 30 minutes."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Report Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/reports/custom/{reportId}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "reports",
                                "custom",
                                "{reportId}"
                            ]
                        },
                        "description": "Get the configuration and metadata for a specific custom report including field definitions, permissions, and report type."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"report\": {\n        \"id\": \"report_65f3a1_1698765432\",\n        \"name\": \"Daily Payout Summary\",\n        \"description\": \"All payout transactions with user and financial details\",\n        \"service_type\": \"payout\",\n        \"report_type\": \"table\",\n        \"fields\": [\n            {\n                \"id\": \"txnid\",\n                \"name\": \"Transaction ID\",\n                \"type\": \"text\"\n            },\n            {\n                \"id\": \"amount\",\n                \"name\": \"Amount\",\n                \"type\": \"currency\"\n            },\n            {\n                \"id\": \"status\",\n                \"name\": \"Status\",\n                \"type\": \"badge\"\n            },\n            {\n                \"id\": \"created_at\",\n                \"name\": \"Date/Time\",\n                \"type\": \"datetime\"\n            }\n        ]\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/reports/custom/{reportId}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "reports",
                                        "custom",
                                        "{reportId}"
                                    ]
                                },
                                "description": "Get the configuration and metadata for a specific custom report including field definitions, permissions, and report type."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Report Data",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/reports/custom/{reportId}/data",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "reports",
                                "custom",
                                "{reportId}",
                                "data"
                            ]
                        },
                        "description": "Fetch the actual data for a custom report with optional date range, status, and amount filters. Returns formatted data with summary statistics and performance metrics.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"from_date\": \"2026-02-01\",\n    \"to_date\": \"2026-02-27\",\n    \"status\": \"success\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"txnid\": \"TXN20260227001\",\n            \"amount\": \"5,000.00\",\n            \"status\": \"success\",\n            \"created_at\": \"27-02-2026 10:30:00\"\n        }\n    ],\n    \"summary\": {\n        \"total_records\": 150,\n        \"total_amount\": 750000,\n        \"success_rate\": 94.4\n    },\n    \"performance\": {\n        \"execution_time_ms\": 120,\n        \"records_count\": 150\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/reports/custom/{reportId}/data",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "reports",
                                        "custom",
                                        "{reportId}",
                                        "data"
                                    ]
                                },
                                "description": "Fetch the actual data for a custom report with optional date range, status, and amount filters. Returns formatted data with summary statistics and performance metrics.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"from_date\": \"2026-02-01\",\n    \"to_date\": \"2026-02-27\",\n    \"status\": \"success\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Get Service Statements",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/statements/{serviceType}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "statements",
                                "{serviceType}"
                            ]
                        },
                        "description": "Fetch paginated transaction statements for any service type. Supports search, date range, amount filters, and sorting. Role-based data access is enforced automatically. Service types: payout, recharge, aeps, dmt, bbps, upi_collection, fund, wallet."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"txnid\": \"PAY20260227001\",\n            \"amount\": \"10,000.00\",\n            \"status\": \"success\",\n            \"created_at\": \"27-02-2026 14:30:00\",\n            \"account_number\": \"1234****5678\"\n        }\n    ],\n    \"recordsTotal\": 500,\n    \"recordsFiltered\": 500,\n    \"config\": {\n        \"headers\": [\n            {\n                \"key\": \"txnid\",\n                \"name\": \"Transaction ID\",\n                \"type\": \"text\"\n            },\n            {\n                \"key\": \"amount\",\n                \"name\": \"Amount\",\n                \"type\": \"currency\"\n            },\n            {\n                \"key\": \"status\",\n                \"name\": \"Status\",\n                \"type\": \"badge\"\n            }\n        ],\n        \"service_name\": \"Payout\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/statements/{serviceType}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "statements",
                                        "{serviceType}"
                                    ]
                                },
                                "description": "Fetch paginated transaction statements for any service type. Supports search, date range, amount filters, and sorting. Role-based data access is enforced automatically. Service types: payout, recharge, aeps, dmt, bbps, upi_collection, fund, wallet."
                            }
                        }
                    ]
                },
                {
                    "name": "Bulk Export Statements",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/statements/{serviceType}/bulk-export",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "statements",
                                "{serviceType}",
                                "bulk-export"
                            ]
                        },
                        "description": "Initiate a bulk export of statement data for a service type. Supports Excel, CSV, and PDF formats. Restricted to admin and whitelabel roles with export permissions.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"format\": \"csv\",\n    \"from_date\": \"2026-02-01\",\n    \"to_date\": \"2026-02-27\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Export is being processed\",\n    \"data\": {\n        \"export_id\": \"export_65f3a1b2c_1698765432\",\n        \"status\": \"queued\",\n        \"download_url\": \"/downloads/reports/export_65f3a1b2c_1698765432\",\n        \"estimated_records\": 5000\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/statements/{serviceType}/bulk-export",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "statements",
                                        "{serviceType}",
                                        "bulk-export"
                                    ]
                                },
                                "description": "Initiate a bulk export of statement data for a service type. Supports Excel, CSV, and PDF formats. Restricted to admin and whitelabel roles with export permissions.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"format\": \"csv\",\n    \"from_date\": \"2026-02-01\",\n    \"to_date\": \"2026-02-27\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Get Service Summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/statements/{serviceType}/summary",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "statements",
                                "{serviceType}",
                                "summary"
                            ]
                        },
                        "description": "Get dashboard-style summary metrics for a specific service. Returns total transactions, amounts, success rates, commissions, and other key statistics."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"total_transactions\": 1250,\n        \"total_amount\": 6500000,\n        \"success_count\": 1180,\n        \"failed_count\": 45,\n        \"pending_count\": 25,\n        \"success_rate\": 94.4,\n        \"total_commission\": 32500,\n        \"average_amount\": 5200\n    },\n    \"service_type\": \"payout\",\n    \"period\": \"today\"\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/statements/{serviceType}/summary",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "statements",
                                        "{serviceType}",
                                        "summary"
                                    ]
                                },
                                "description": "Get dashboard-style summary metrics for a specific service. Returns total transactions, amounts, success rates, commissions, and other key statistics."
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Verification",
            "item": [
                {
                    "name": "Account Verification",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/account",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "account"
                            ]
                        },
                        "description": "Verify a bank account and return the registered holder name. Scheme charge for slug=account-verification is mandatory — the call is refused with SCHEME_NOT_CONFIGURED / NO_SCHEME_ASSIGNED until admin sets it. Wallet is debited, then refunded if the bank rejects the account.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_name\": \"Rahul Sharma\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Account verified successfully\",\n    \"data\": {\n        \"verification_status\": \"verified\",\n        \"account_number\": \"50100012345678\",\n        \"ifsc_code\": \"HDFC0000123\",\n        \"account_name\": \"RAHUL SHARMA\",\n        \"charged\": 4.72,\n        \"verification\": {\n            \"registered_name\": \"RAHUL SHARMA\",\n            \"validation_id\": \"625110238639\",\n            \"account_type\": \"SAVINGS\",\n            \"validation_status\": \"A\"\n        },\n        \"statuscode\": \"TXN\",\n        \"txn_id\": \"ACV202609081020001234\",\n        \"pricing_audit_id\": null\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/account",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "account"
                                    ]
                                },
                                "description": "Verify a bank account and return the registered holder name. Scheme charge for slug=account-verification is mandatory — the call is refused with SCHEME_NOT_CONFIGURED / NO_SCHEME_ASSIGNED until admin sets it. Wallet is debited, then refunded if the bank rejects the account.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"account_number\": \"50100012345678\",\n    \"ifsc_code\": \"HDFC0000123\",\n    \"account_name\": \"Rahul Sharma\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Corporate CIN Verification",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/corporate-cin",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "corporate-cin"
                            ]
                        },
                        "description": "Fetch company registration details from a Corporate Identification Number.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"cin\": \"U72900DL2019PTC349962\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Verification completed.\",\n    \"data\": {\n        \"cin\": \"U72900DL2019PTC349962\",\n        \"company_name\": \"EXAMPLE PRIVATE LIMITED\",\n        \"company_status\": \"Active\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/corporate-cin",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "corporate-cin"
                                    ]
                                },
                                "description": "Fetch company registration details from a Corporate Identification Number.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"cin\": \"U72900DL2019PTC349962\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "Vehicle RC Verification",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/rc",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "rc"
                            ]
                        },
                        "description": "Fetch vehicle registration details from an RC number.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"rc_number\": \"MH12AB1234\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Verification completed.\",\n    \"data\": {\n        \"rc_number\": \"MH12AB1234\",\n        \"owner_name\": \"EXAMPLE OWNER\",\n        \"fuel_type\": \"PETROL\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/rc",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "rc"
                                    ]
                                },
                                "description": "Fetch vehicle registration details from an RC number.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"rc_number\": \"MH12AB1234\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "PAN Name Verification",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/pan-name",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "pan-name"
                            ]
                        },
                        "description": "Fetch the name registered against a PAN.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"pan\": \"ABCDE1234F\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Verification completed.\",\n    \"data\": {\n        \"pan\": \"ABCDE1234F\",\n        \"full_name\": \"EXAMPLE NAME\",\n        \"category\": \"person\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/pan-name",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "pan-name"
                                    ]
                                },
                                "description": "Fetch the name registered against a PAN.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"pan\": \"ABCDE1234F\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "DigiLocker Link",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/digilocker/create-link",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "digilocker",
                                "create-link"
                            ]
                        },
                        "description": "Create a DigiLocker link. This call is charged once. Status and Aadhaar download for the same link are not charged again.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"redirect_url\": \"https://example.com/kyc/done\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Verification link created.\",\n    \"data\": {\n        \"reference_id\": \"00000000-0000-4000-8000-000000000000\",\n        \"link\": \"https://example.com/digilocker\",\n        \"expires_in\": 600\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/digilocker/create-link",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "digilocker",
                                        "create-link"
                                    ]
                                },
                                "description": "Create a DigiLocker link. This call is charged once. Status and Aadhaar download for the same link are not charged again.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"redirect_url\": \"https://example.com/kyc/done\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "DigiLocker Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/digilocker/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "digilocker",
                                "status"
                            ]
                        },
                        "description": "Read the status of a DigiLocker link you created. Not charged.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reference_id\": \"00000000-0000-4000-8000-000000000000\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Link status fetched.\",\n    \"data\": {\n        \"reference_id\": \"00000000-0000-4000-8000-000000000000\",\n        \"status\": \"pending\",\n        \"completed\": false\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/digilocker/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "digilocker",
                                        "status"
                                    ]
                                },
                                "description": "Read the status of a DigiLocker link you created. Not charged.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"reference_id\": \"00000000-0000-4000-8000-000000000000\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "DigiLocker Aadhaar",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/verification/digilocker/aadhaar",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "verification",
                                "digilocker",
                                "aadhaar"
                            ]
                        },
                        "description": "Download Aadhaar details after the holder completes the DigiLocker link. Not charged.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reference_id\": \"00000000-0000-4000-8000-000000000000\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Aadhaar details fetched.\",\n    \"data\": {\n        \"reference_id\": \"00000000-0000-4000-8000-000000000000\",\n        \"name\": \"EXAMPLE NAME\",\n        \"masked_aadhaar\": \"XXXX-XXXX-1234\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/verification/digilocker/aadhaar",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "verification",
                                        "digilocker",
                                        "aadhaar"
                                    ]
                                },
                                "description": "Download Aadhaar details after the holder completes the DigiLocker link. Not charged.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"reference_id\": \"00000000-0000-4000-8000-000000000000\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "Virtual Account",
            "item": [
                {
                    "name": "Create Virtual Account",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/create",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "create"
                            ]
                        },
                        "description": "Create a new virtual account with dedicated bank account number and optional UPI VPA for receiving payments. Each virtual account provides a unique collection point.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Primary Collection Account\",\n    \"customer_identifier\": \"CUST_1001\",\n    \"description\": \"Virtual account for order payments\",\n    \"enable_upi\": true,\n    \"close_by\": \"2025-12-31 23:59:59\",\n    \"notes\": {\n        \"order_id\": \"ORD_98765\",\n        \"source\": \"api\"\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Virtual account created successfully\",\n    \"data\": {\n        \"id\": 101,\n        \"customer_identifier\": \"CUST_1001\",\n        \"va_id\": \"va_Qx1234567890abc\",\n        \"status\": \"active\",\n        \"bank_account\": {\n            \"account_number\": \"1112220034567890\",\n            \"ifsc_code\": \"RATN0VAAPIS\",\n            \"bank_name\": \"LiteBanking Virtual Account\",\n            \"beneficiary_name\": \"Primary Collection Account\"\n        },\n        \"upi\": {\n            \"vpa\": \"cust1001@litebanking\"\n        },\n        \"created_at\": \"2025-11-29T04:00:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/create",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "create"
                                    ]
                                },
                                "description": "Create a new virtual account with dedicated bank account number and optional UPI VPA for receiving payments. Each virtual account provides a unique collection point.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"name\": \"Primary Collection Account\",\n    \"customer_identifier\": \"CUST_1001\",\n    \"description\": \"Virtual account for order payments\",\n    \"enable_upi\": true,\n    \"close_by\": \"2025-12-31 23:59:59\",\n    \"notes\": {\n        \"order_id\": \"ORD_98765\",\n        \"source\": \"api\"\n    }\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    "name": "List Virtual Accounts",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "list"
                            ]
                        },
                        "description": "Fetch paginated list of all virtual accounts for the authenticated user with optional status filtering."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"virtual_accounts\": [\n            {\n                \"id\": 101,\n                \"customer_identifier\": \"CUST_1001\",\n                \"name\": \"Primary Collection Account\",\n                \"status\": \"active\",\n                \"account_number\": \"1112220034567890\",\n                \"ifsc_code\": \"RATN0VAAPIS\",\n                \"vpa\": \"cust1001@litebanking\",\n                \"total_received\": 250000,\n                \"total_credited\": 243000,\n                \"payment_count\": 32,\n                \"created_at\": \"2025-11-01T09:15:00+05:30\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"per_page\": 20,\n            \"current_page\": 1,\n            \"last_page\": 1\n        }\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/list",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "list"
                                    ]
                                },
                                "description": "Fetch paginated list of all virtual accounts for the authenticated user with optional status filtering."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Virtual Account Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/{id}",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "{id}"
                            ]
                        },
                        "description": "Get detailed information about a specific virtual account including real-time balance, financial summary, and recent payments."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 101,\n        \"customer_identifier\": \"CUST_1001\",\n        \"name\": \"Primary Collection Account\",\n        \"status\": \"active\",\n        \"realtime_balance\": 12500.5,\n        \"bank_account\": {\n            \"account_number\": \"1112220034567890\",\n            \"ifsc_code\": \"RATN0VAAPIS\",\n            \"bank_name\": \"LiteBanking Virtual Account\",\n            \"beneficiary_name\": \"Primary Collection Account\"\n        },\n        \"upi\": {\n            \"vpa\": \"cust1001@litebanking\"\n        },\n        \"financial\": {\n            \"total_received\": 250000,\n            \"total_charges\": 5000,\n            \"total_gst\": 900,\n            \"total_credited\": 243000,\n            \"payment_count\": 32\n        },\n        \"recent_payments\": [\n            {\n                \"id\": 501,\n                \"amount\": 5000,\n                \"net_amount\": 4850,\n                \"status\": \"captured\",\n                \"method\": \"bank_transfer\",\n                \"utr_number\": \"HDFC12345ABC\",\n                \"created_at\": \"2025-11-29T03:15:00+05:30\"\n            }\n        ],\n        \"created_at\": \"2025-11-01T09:15:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/{id}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "{id}"
                                    ]
                                },
                                "description": "Get detailed information about a specific virtual account including real-time balance, financial summary, and recent payments."
                            }
                        }
                    ]
                },
                {
                    "name": "Close Virtual Account",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/{id}/close",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "{id}",
                                "close"
                            ]
                        },
                        "description": "Close an active virtual account. Once closed, no further payments can be received and the account cannot be reopened."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"message\": \"Virtual account closed successfully\",\n    \"data\": {\n        \"id\": 101,\n        \"status\": \"closed\",\n        \"closed_at\": \"2025-11-30T18:30:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/{id}/close",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "{id}",
                                        "close"
                                    ]
                                },
                                "description": "Close an active virtual account. Once closed, no further payments can be received and the account cannot be reopened."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Virtual Account Payments",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/{id}/payments",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "{id}",
                                "payments"
                            ]
                        },
                        "description": "Fetch all payments received in a specific virtual account with complete transaction details."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"virtual_account_id\": 101,\n        \"payments\": [\n            {\n                \"id\": \"pay_Qx1234567890abc\",\n                \"amount\": 5000,\n                \"currency\": \"INR\",\n                \"status\": \"captured\",\n                \"method\": \"bank_transfer\",\n                \"utr\": \"HDFC12345ABC\",\n                \"payer_name\": \"John Doe\",\n                \"payer_account\": \"XXXX1234\",\n                \"created_at\": \"2025-11-29T03:15:00+05:30\"\n            }\n        ],\n        \"count\": 1\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/{id}/payments",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "{id}",
                                        "payments"
                                    ]
                                },
                                "description": "Fetch all payments received in a specific virtual account with complete transaction details."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Virtual Account Balance",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/balance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "balance"
                            ]
                        },
                        "description": "Get consolidated real-time balance across all active virtual accounts."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"total_balance\": 12500.5,\n        \"currency\": \"INR\",\n        \"accounts\": [\n            {\n                \"id\": 101,\n                \"customer_identifier\": \"CUST_1001\",\n                \"name\": \"Primary Collection Account\",\n                \"balance\": 7500.25,\n                \"amount_paid\": 7500.25\n            },\n            {\n                \"id\": 102,\n                \"customer_identifier\": \"CUST_1002\",\n                \"name\": \"Secondary Account\",\n                \"balance\": 5000.25,\n                \"amount_paid\": 5000.25\n            }\n        ],\n        \"fetched_at\": \"2025-11-29T04:05:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/balance",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "balance"
                                    ]
                                },
                                "description": "Get consolidated real-time balance across all active virtual accounts."
                            }
                        }
                    ]
                },
                {
                    "name": "Get Virtual Account Stats",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/stats",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "stats"
                            ]
                        },
                        "description": "Get high-level statistics for all virtual account collections including total received, credited amounts, and charges."
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"total_virtual_accounts\": 2,\n        \"active_virtual_accounts\": 2,\n        \"total_payments\": 32,\n        \"successful_payments\": 32,\n        \"total_received\": 250000,\n        \"total_credited\": 243000,\n        \"total_charges_paid\": 5000\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/stats",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "stats"
                                    ]
                                },
                                "description": "Get high-level statistics for all virtual account collections including total received, credited amounts, and charges."
                            }
                        }
                    ]
                },
                {
                    "name": "Check Payment Status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/virtual-account/payment/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "virtual-account",
                                "payment",
                                "status"
                            ]
                        },
                        "description": "Check the status of a specific payment received in virtual account by payment_id or UTR number.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"payment_id\": \"pay_Qx1234567890\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": [
                        {
                            "name": "Success",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"success\": true,\n    \"data\": {\n        \"payment_id\": \"pay_Qx1234567890\",\n        \"internal_id\": 501,\n        \"virtual_account_id\": 101,\n        \"customer_identifier\": \"CUST_1001\",\n        \"amount\": 5000,\n        \"charge\": 25,\n        \"gst\": 4.5,\n        \"tds\": 0,\n        \"net_amount\": 4970.5,\n        \"status\": \"captured\",\n        \"utr\": \"HDFC12345ABC\",\n        \"method\": \"bank_transfer\",\n        \"payer\": {\n            \"name\": \"John Doe\",\n            \"account_number\": \"1234567890\",\n            \"ifsc\": \"HDFC0001234\",\n            \"bank_name\": \"HDFC Bank\",\n            \"vpa\": null\n        },\n        \"opening_balance\": 10000,\n        \"closing_balance\": 14970.5,\n        \"created_at\": \"2025-11-29T03:10:00+05:30\",\n        \"captured_at\": \"2025-11-29T03:15:00+05:30\",\n        \"processed_at\": \"2025-11-29T03:15:00+05:30\"\n    }\n}",
                            "_postman_previewlanguage": "json",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json",
                                        "type": "text"
                                    },
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "type": "text"
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/api/v1/virtual-account/payment/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "api",
                                        "v1",
                                        "virtual-account",
                                        "payment",
                                        "status"
                                    ]
                                },
                                "description": "Check the status of a specific payment received in virtual account by payment_id or UTR number.",
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"payment_id\": \"pay_Qx1234567890\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        }
    ]
}
