### Noneditable Fields

The following beneficiary fields and related resources are not editable and cannot be updated after initial creation:

- type
- bank_country
- currency
- creator
- entity

### Parameters

| Parameter                       | Type      | Required |
| ------------------------------- | --------- | -------- |
| user_id                        | String    | true     |
| entity_id                      | String    | true     |
| email                          | String    | true     |
| phone                          | String    | false    |
| phone_country                  | String    | false    |
| first_name                     | String    | true     |
| last_name                      | String    | true     |
| address1                       | String    | false    |
| address2                       | String    | false    |
| city                           | String    | false    |
| state_province_region          | String    | false    |
| postal_code                    | String    | false    |
| country                        | String    | true     |
| tax_number                     | String    | false    |
| name_on_bank_account           | String    | false    |
| swift_bic                      | String    | false    |
| account_type                   | String    | true     |
| account_number                 | String    | true     |
| routing_code                   | String    | false    |
| currency                       | String    | true     |
| bank_name                      | String    | false    |
| branch_name                    | String    | false    |
| bank_address1                  | String    | false    |
| bank_address2                  | String    | false    |
| bank_city                      | String    | false    |
| bank_state_province_region     | String    | false    |
| bank_postal_code               | String    | false    |
| bank_country                   | String    | true     |
| tax_number_expiration          | DateTime  | false    |
| date_of_birth                  | DateTime  | false    |

### GraphQL Query

```graphql
mutation createPersonalBeneficiary (
    $user_id: UUID!
    $entity_id: UUID!
    $email: Email!
    $phone: String
    $first_name: String!
    $last_name: String!
    $address1: String
    $address2: String
    $city: String
    $state_province_region: String
    $postal_code: PostalCode
    $country: ISO3166_1!
    $tax_number: TaxNumber
    $name_on_bank_account: String
    $swift_bic: SwiftBic
    $account_number: BankAccountNumber
    $account_type: AccountType
    $routing_code: BankRoutingCode
    $currency: ISO4217!
    $bank_name: String
    $branch_name: String
    $bank_address1: String
    $bank_address2: String
    $bank_city: String
    $bank_state_province_region: String
    $bank_postal_code: PostalCode
    $bank_country: ISO3166_1!
) {
    createPersonalBeneficiary (
        user_id: $user_id
        entity_id: $entity_id
        email: $email
        phone: $phone
        first_name: $first_name
        last_name: $last_name
        address1: $address1
        address2: $address2
        city: $city
        state_province_region: $state_province_region
        postal_code: $postal_code
        country: $country
        tax_number: $tax_number
        name_on_bank_account: $name_on_bank_account
        swift_bic: $swift_bic
        account_number: $account_number
        account_type: $account_type
        routing_code: $routing_code
        currency: $currency
        bank_name: $bank_name
        branch_name: $branch_name
        bank_address1: $bank_address1
        bank_address2: $bank_address2
        bank_city: $bank_city
        bank_state_province_region: $bank_state_province_region
        bank_postal_code: $bank_postal_code
        bank_country: $bank_country
    )
}
```

### Code Example

```javascript
const axios = require('axios');

let data = JSON.stringify({
  query: `mutation createPersonalBeneficiary (
    $user_id: UUID!
    $entity_id: UUID!
    $email: Email!
    $phone: String
    $first_name: String!
    $last_name: String!
    $address1: String
    $address2: String
    $city: String
    $state_province_region: String
    $postal_code: PostalCode
    $country: ISO3166_1!
    $tax_number: TaxNumber
    $name_on_bank_account: String
    $swift_bic: SwiftBic
    $account_number: BankAccountNumber
    $account_type: AccountType
    $routing_code: BankRoutingCode
    $currency: ISO4217!
    $bank_name: String
    $branch_name: String
    $bank_address1: String
    $bank_address2: String
    $bank_city: String
    $bank_state_province_region: String
    $bank_postal_code: PostalCode
    $bank_country: ISO3166_1!
) {
    createPersonalBeneficiary (
        user_id: $user_id
        entity_id: $entity_id
        email: $email
        phone: $phone
        first_name: $first_name
        last_name: $last_name
        address1: $address1
        address2: $address2
        city: $city
        state_province_region: $state_province_region
        postal_code: $postal_code
        country: $country
        tax_number: $tax_number
        name_on_bank_account: $name_on_bank_account
        swift_bic: $swift_bic
        account_number: $account_number
        account_type: $account_type
        routing_code: $routing_code
        currency: $currency
        bank_name: $bank_name
        branch_name: $branch_name
        bank_address1: $bank_address1
        bank_address2: $bank_address2
        bank_city: $bank_city
        bank_state_province_region: $bank_state_province_region
        bank_postal_code: $bank_postal_code
        bank_country: $bank_country
    )
}`,

variables: {"user_id":"","entity_id":"","bank_country":"","email":"","phone":"","account_number_type":"","country":"","last_name":"","address1":"","currency":"","account_number":"","city":"","first_name":"","phone_country":"","bank_name":"","account_type":""}
});

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);
});
```

```json
{
  "data": {
    "createPersonalBeneficiary": "2d730dca-8640-42f1-9573-5fe398bdcc92"
  }
}
```
