Skip to main content

Update a Beneficiary (Legacy)

Overview

This service is used to update beneficiary details by specifying their beneficiaryId. Beneficiaries re-enter an approval process once updated in live environments.

Resource Access

  • HTTP Method: PUT
  • Endpoint: /profile/v2.1/beneficiaries/{beneficiaryId}
  • Authentication: Bearer token required

Request Headers

HeaderValueRequiredDescription
Acceptapplication/jsonYesContent type for the response
AuthorizationBearer {access_token}YesBearer token for authentication
Content-Typeapplication/jsonYesRequest body content type
x-api-keystringNoAPI key for additional authentication

Path Parameters

ParameterTypeRequiredDescription
beneficiaryIdnumberYesThe unique ID of the beneficiary to update (e.g. 283).

Request Body

{
"beneficiaryEntityType": "company",
"beneficiaryFirstName": "Jon",
"beneficiaryLastName": "Doe",
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"beneficiaryCountryCode": "IN",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India"
}

Request Fields

FieldTypeRequiredDescription
beneficiaryEntityTypestringNoindividual or company.
beneficiaryFirstNamestringNoUpdated first name.
beneficiaryLastNamestringNoUpdated last name.
beneficiaryCompanyNamestringNoUpdated company name.
currencystringNoCurrency code.
accountNumberstringNoUpdated account number.
nationalIdstringNoBank SWIFT / IFSC / routing code.

Response

Success Response (200 OK)

{
"success": true,
"account": {
"id": 283,
"accountNumber": "2000293918130",
"bankName": "PUNJAB NATIONAL BANK",
"beneficiaryCompanyName": "Ahrvo",
"status": "approved"
}
}

Response Fields

FieldTypeDescription
successbooleanWhether beneficiary update succeeded.
account.idnumberBeneficiary ID.
account.statusstringStatus after update.

Error Responses

  • 400 Bad Request: Invalid parameters or malformed request
  • 401 Unauthorized: Missing or invalid Bearer authentication token
  • 403 Forbidden: Insufficient account permissions
  • 404 Not Found: Resource not found
  • 500 Internal Server Error: An internal server error occurred

Code Examples

Base URL

Production: https://api.ahrvo.network
Staging: https://gateway.ahrvo.network

cURL

curl -X PUT \
'https://gateway.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/283' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"beneficiaryEntityType": "company",
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"beneficiaryCountryCode": "IN",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India"
}'

Python

import requests

url = "https://gateway.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/283"
headers = {
"Accept": "application/json",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
payload = {
"beneficiaryCompanyName": "Ahrvo",
"currency": "INR",
"accountNumber": "2000293918130",
"nationalId": "PUNB0644100",
"country": "India"
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())

JavaScript (Node.js)

const axios = require('axios');

const beneficiaryId = 283;
const url = `https://gateway.ahrvo.network/banking/ibans/v2/profile/v2.1/beneficiaries/${beneficiaryId}`;
const headers = {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
};
const data = {
beneficiaryCompanyName: 'Ahrvo',
currency: 'INR',
accountNumber: '2000293918130',
nationalId: 'PUNB0644100',
country: 'India'
};

axios.put(url, data, { headers })
.then(response => console.log(response.data))
.catch(error => console.error(error.response ? error.response.data : error.message));

Usage Notes

  • Modifying critical banking fields (account number, sort code) will trigger re-approval before payouts can be routed.

Interactive API Explorer