Update a Beneficiary
Overview
This service is used to update a beneficiary by specifying their ID.
Beneficiaries undergo an approval process once they are updated. This is subject to the type of business; if you are a Money Services Business (MSB), beneficiaries will go through an approval process in the live environment.
Resource Access
- HTTP Method:
PUT - Endpoint:
/profile/v2.1/beneficiaries/{beneficiaryId} - Authentication: Bearer token required (
Authorization: Bearer {access_token})
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
beneficiaryId | number | Yes | A unique identifier assigned to the beneficiary to update. |
Request Body
{
"beneficiaryEntityType": "company",
"beneficiaryFirstName": "Jon",
"beneficiaryLastName": "Doe",
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"beneficiaryCountryCode": "IN",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India",
"isMobileMoney": false
}
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
beneficiaryEntityType | string | No | Either individual or company. |
currency | string | No | 3-letter currency code. |
beneficiaryCountryCode | string | No | 2-letter ISO country code. |
accountNumber | string | No | Account number or IBAN. |
nationalId | string | No | Routing code, IFSC code, or national identifier. |
country | string | No | Country name. |
beneficiaryFirstName | string | No | First name (for individual recipients). |
beneficiaryLastName | string | No | Last name (for individual recipients). |
beneficiaryCompanyName | string | No | Business name (for corporate recipients). |
isMobileMoney | boolean | No | Set to true for mobile money wallets. |
Response
Success Response (200 OK)
{
"success": true,
"account": {
"id": 283,
"status": "approved"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates whether the update request succeeded. |
account.id | number | Beneficiary identifier updated. |
account.status | string | Post-update approval status (approved or pending verification). |
Error Responses
- 400 Bad Request: Invalid routing parameters or payload validation failure.
- 401 Unauthorized: Missing or expired access token.
- 403 Forbidden: Action not permitted on this resource.
- 404 Beneficiary Not Found: Specified beneficiary ID does not exist.
- 500 Internal Server Error: Internal platform error.
Code Examples
cURL
curl -X PUT "https://api.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/283" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"beneficiaryEntityType": "company",
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"beneficiaryCountryCode": "IN",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India",
"isMobileMoney": false
}'
Python
import requests
url = "https://api.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/283"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
payload = {
"beneficiaryEntityType": "company",
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"beneficiaryCountryCode": "IN",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India",
"isMobileMoney": False
}
response = requests.put(url, headers=headers, json=payload)
print("Update response:", response.json())
JavaScript / Node.js
const response = await fetch("https://api.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/283", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify({
beneficiaryEntityType: "company",
beneficiaryCompanyName: "Ahrvo",
currency: "INR",
beneficiaryCountryCode: "IN",
accountNumber: "2000293918130",
nationalId: "PUNB0644100",
country: "India",
isMobileMoney: false
})
});
const result = await response.json();
console.log("Updated Beneficiary:", result.account?.id, "Status:", result.account?.status);