Partner API
Create Beneficiary
POST
/v1/partner/beneficiariesCreates a beneficiary in pending approval state for the corporate bound to the API key.
Auth
Header: x-api-key
Use the bank-provisioned partner API key for authentication.
Usage Notes
- Header: x-api-key
- Creates the beneficiary in pending_approval state
- beneBankAccounts is always an array — send one entry for a single account, up to five for many
- At most one account may set isDefault; if none do, the first entry is the default. The default is used unless a payout names another
- Every benePackageCodes entry must be active and available to the corporate bound to this API key
- Beneficiary becomes usable only after checker approval
Request Fields
initiatedByUserIdstringrequiredThe user this integration acts as — either a service user your admin creates under Users, or a real human user whose account already exists. Its role decides which packages and debit accounts you can use, managed under Roles & Access.
beneIdstringrequired3–40 characters: letters and numbers only. Lowercase is normalized to uppercase; spaces and special characters are rejected.
beneNamestringrequiredBeneficiary legal or trading name.
beneBankAccountsarrayrequiredThe beneficiary's bank accounts — always an array, even for a single account. One to five entries. Each entry accepts:
accountNumber— required, at least 6 digits.ifscCode— required, at least 5 characters.accountName— optional; defaults to the beneficiary name.isDefault— optional. At most one entry may set it. If no entry sets it, the first entry is the default.
benePhoneNumberstringrequiredBeneficiary contact phone number.
beneEmailstringoptionalOptional beneficiary email address.
beneTypestringoptionalOptional beneficiary type. Defaults to vendor.
benePackageCodesstringrequiredOne or more active package codes available to the corporate bound to this API key.
tagsstringoptionalOptional string tags for internal segmentation.
POST /v1/partner/beneficiaries
x-api-key: fp_test_51H8xKlMnOpQrStUv
Content-Type: application/json
{
"initiatedByUserId": "system-user-8f3a2b",
"beneId": "ORBITVENDOR001",
"beneName": "Orbit Vendor Services",
"beneBankAccounts": [
{
"accountNumber": "409876543210",
"ifscCode": "HDFC0001234"
}
],
"benePhoneNumber": "9876543210",
"benePackageCodes": ["MAINPAY"]
}
# Multiple accounts — same shape, choose the default with isDefault:
{
"initiatedByUserId": "system-user-8f3a2b",
"beneId": "ORBITVENDOR002",
"beneName": "Orbit Vendor Services",
"beneBankAccounts": [
{
"accountNumber": "409876543210",
"ifscCode": "HDFC0001234",
"isDefault": true
},
{
"accountNumber": "555666777888",
"ifscCode": "ICIC0000456"
}
],
"benePhoneNumber": "9876543210",
"benePackageCodes": ["MAINPAY"]
}Sample Success Response
{
"message": "Beneficiary accepted for checker approval",
"beneficiary": {
"beneficiaryId": "ORBITVENDOR002",
"accounts": [
{
"accountId": "acct-...",
"accountNumber": "409876543210",
"ifsc": "HDFC0001234",
"isDefault": true
},
{
"accountId": "acct-...",
"accountNumber": "555666777888",
"ifsc": "ICIC0000456",
"isDefault": false
}
]
}
}Sample Error Response
{
"message": "A beneficiary with the same name and bank account number already exists"
}