Skip to main content

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

ParameterTypeRequiredDescription
beneficiaryIdnumberYesA 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

FieldTypeRequiredDescription
beneficiaryEntityTypestringNoEither individual or company.
currencystringNo3-letter currency code.
beneficiaryCountryCodestringNo2-letter ISO country code.
accountNumberstringNoAccount number or IBAN.
nationalIdstringNoRouting code, IFSC code, or national identifier.
countrystringNoCountry name.
beneficiaryFirstNamestringNoFirst name (for individual recipients).
beneficiaryLastNamestringNoLast name (for individual recipients).
beneficiaryCompanyNamestringNoBusiness name (for corporate recipients).
isMobileMoneybooleanNoSet to true for mobile money wallets.

Response

Success Response (200 OK)

{
"success": true,
"account": {
"id": 283,
"status": "approved"
}
}

Response Fields

FieldTypeDescription
successbooleanIndicates whether the update request succeeded.
account.idnumberBeneficiary identifier updated.
account.statusstringPost-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);

Interactive API Explorer