### Parameters

| Type     | Required | Description                                                                  |
|----------|----------|------------------------------------------------------------------------------|
| String!  | true     | 2 letter ISO code of the country the bank account is located                |
| String!  | true     | The 3 character code of the currency                                         |
| String!  | true     | 2 letter ISO code of the country the beneficiary resides in                  |

### GraphQL Query

```graphql
query beneficiaryRequiredFields (
    $bank_country: ISO3166_1!
    $currency: ISO4217!
    $beneficiary_country: ISO3166_1
) {
    beneficiaryRequiredFields (
        bank_country: $bank_country
        currency: $currency
        beneficiary_country: $beneficiary_country
    ) {
        personal {
            variable
            regex
            variable_sub_type
            example
        }
        business {
            variable
            regex
            variable_sub_type
            example
            valid_bank_codes {
                code
                bank_name
                swift_bic
            }
        }
    }
}
```

### Query Variables

JSON

```json
{
  "bank_country": "BR",
  "currency": "BRL",
  "beneficiary_coutnry": "BR"
}
```

query

string

Defaults to {}

# ``200      200

object

data

object

beneficiaryRequiredFields

object

beneficiaryRequiredFields object

# ``400      400

NodeShell

```

xxxxxxxxxx

const axios = require('axios');

let data = JSON.stringify({

query: `query beneficiaryRequiredFields (

$bank_country: ISO3166_1!

$currency: ISO4217!

$beneficiary_country: ISO3166_1

) {

beneficiaryRequiredFields (

bank_country: $bank_country

currency: $currency

beneficiary_country: $beneficiary_country

) {

personal {

variable

regex

variable_sub_type

example

}

business {

variable

regex

variable_sub_type

example

valid_bank_codes {

code

bank_name

swift_bic

}

}

}

}`,

variables: {"bank_country":"BR","currency":"BRL","beneficiary_coutnry":"BR"}

});

let config = {

method: 'post',

maxBodyLength: Infinity,

url: 'https://sandbox.external.routefusion.com/graphql',

headers: {

'Content-Type': 'application/json',

'Authorization': '••••••'

},

data : data

};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

```

```

xxxxxxxxxx

{
  "data": {
    "beneficiaryRequiredFields": {
      "personal": [
        {
          "variable": "bank_country",
          "regex": "/^[A-Z]{2}$/"
        },
        {
          "variable": "country",
          "regex": "/^[A-Z]{2}$/"
        },
        {
          "variable": "currency",
          "regex": "/^[A-Z]{3}$/"
        },
        {
          "variable": "email",
          "regex": "/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])\/"
        },
        {
          "variable": "entity_id",
          "regex": "/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i"
        },
        {
          "variable": "first_name",
          "regex": "/^.{2,}$/"
        },
        {
          "variable": "last_name",
          "regex": "/^.{2,}$/"
        }
      ],
      "business": [
        {
          "variable": "bank_country",
          "regex": "/^[A-Z]{2}$/"
        },
        {
          "variable": "business_country"
        },
        {
          "variable": "business_name",
          "regex": "/^.{2,}$/"
        },
        {
          "variable": "currency",
          "regex": "/^[A-Z]{3}$/"
        },
        {
          "variable": "email",
          "regex": "/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])\/"
        },
        {
          "variable": "entity_id",
          "regex": "/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i"
        }
      ]
    }
  }
}
