---
title: "Validate beneficiary request"
method: POST
path: "/beneficiaries/validate"
tags: ["Beneficiaries"]
---

# Validate beneficiary request

`POST /beneficiaries/validate`

Validates a beneficiary request against Airwallex rules without creating the beneficiary. Use this to provide real-time validation feedback before submission.

## Request body

- object
  - `transfer_methods` string[], required — Transfer methods supported for this beneficiary
  - `beneficiary` object, required — Beneficiary details including personal/company info, address, and bank details
    - `company_name` string
    - `date_of_birth` string
    - `entity_type` string, required — Whether the beneficiary is PERSONAL or COMPANY
    - `first_name` string
    - `last_name` string
    - `address` object, required
      - `city` string
      - `country_code` string, required
      - `postcode` string
      - `state` string
      - `street_address` string
    - `bank_details` object, required
      - `account_currency` string, required
      - `account_name` string, required
      - `account_number` string
      - `account_routing_type1` string
      - `account_routing_value1` string
      - `account_routing_type2` string
      - `account_routing_value2` string
      - `bank_account_category` string
      - `bank_branch` string
      - `bank_country_code` string, required
      - `bank_name` string
      - `bank_street_address` string
      - `binding_mobile_number` string
      - `fingerprint` string
      - `iban` string
      - `local_clearing_system` string
      - `swift_code` string
      - `transaction_reference` string
      - `account_identifier_type` string
      - `account_identifier_value` string
    - `additional_info` object
      - `personal_email` string, email

## Response `200`

OK

- object — Validation result indicating whether the beneficiary request is valid for creation
  - `valid` boolean, required — Whether the beneficiary request passed all validation rules
  - `errors` object[] — Array of validation errors when valid is false. Each error contains the field path, error code, and message.
    - `source` string, required — Dot-notation path to the field that failed validation
    - `code` string, required — Airwallex validation error code
    - `message` string, required — Human-readable error message

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `409` — 409
- `412` — 412
- `422` — 422
- `429` — 429
- `500` — 500
- `501` — 501
- `503` — 503

---

[API](https://skmtc.net/session/apis/session-services-api.md) · [All operations](https://skmtc.net/session/apis/session-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/session/session-services-api/versions/bec3de84da9e/schema)
