List Meta Data for International External Accounts
Suggest Edits
8.1 Overview
You can gather all dynamic fields and validation details for an international external account based on country, currency, and holder type using the POST method, as described below.
This information is fetched directly from a third-party service outside the Ahrvo system, and customers must supply all specified fields.
8.2 Resource Access
Production (api.ahrvo.network)
POST https://api.ahrvo.network/banking/us2/v1/customer/id/{customerId}/internationalExternalAccount/metadata
Staging (gateway.ahrvo.network)
POST https://gateway.ahrvo.network/banking/us2/v1/customer/id/{customerId}/internationalExternalAccount/metadata
8.3 Arguments
| Field | Mandatory / Optional | Description |
|---|---|---|
holderType | Yes | Holder type of the account (CONSUMER | CORPORATE) |
country | Yes | Destination country (2-letter ISO code, e.g., US) |
currency | Yes | Currency for which metadata is required (see Appendix) |
8.4 Example Request
Fetch metadata for creating an International External Account
POST /banking/us2/v1/customer/id/458293/internationalExternalAccount/metadata HTTP/1.1
Host: {hostname}
Authorization: Bearer {jwtToken}
x-api-key: {apiKey}
Content-Type: application/json
{
"holderType": "CONSUMER",
"country": "CN",
"currency": "CNY"
}
8.5 Example Response
{
"holderType": "CONSUMER",
"country": "CN",
"currency": "CNY",
"metadata": [
{
"fieldName": "holderName",
"fieldValidation": { "length": "35" },
"description": "Name",
"isMandatory": true
},
{
"fieldName": "holderEmail",
"fieldValidation": { "length": "100" },
"description": "Email Address",
"isMandatory": false
},
{
"fieldName": "holderAddress.addressLine1",
"fieldValidation": { "length": "25" },
"description": "Address Line 1",
"isMandatory": false
},
{
"fieldName": "holderAddress.addressLine2",
"fieldValidation": { "length": "20" },
"description": "Address Line 2",
"isMandatory": false
},
{
"fieldName": "holderAddress.city",
"fieldValidation": {
"characterType": "Alphanumeric",
"length": "20"
},
"description": "City",
"isMandatory": false
},
{
"fieldName": "holderAddress.state",
"fieldValidation": {
"characterType": "Alphanumeric",
"length": "15"
},
"description": "State",
"isMandatory": false
},
{
"fieldName": "holderAddress.zip",
"fieldValidation": {
"characterType": "Alphanumeric",
"length": "20"
},
"description": "Zip",
"isMandatory": false
},
{
"fieldName": "accountNumber",
"fieldValidation": {
"characterType": "Alphanumeric",
"length": "35"
},
"description": "Account Number",
"isMandatory": true
},
{
"fieldName": "swiftCode",
"fieldValidation": {
"characterType": "Alphanumeric",
"length": "100"
},
"description": "Routing Code",
"isMandatory": true
},
{
"fieldName": "internationalRoutingCode",
"fieldValidation": {
"characterType": "Numeric",
"beginsWith": "9",
"length": "5"
},
"description": "CNAPS",
"isMandatory": true
},
{
"fieldName": "additionalDetail.taxID",
"fieldValidation": {
"characterType": "Alphanumeric",
"beginsWith": "Cana",
"length": "9"
},
"description": "CTID",
"isMandatory": true
}
]
}
8.6 Example HTTP Status
```http
HTTP/1.1 200 OK