---
title: "Update Beneficiary"
method: POST
path: "/v1/beneficiaries/{id}"
tags: ["Beneficiaries"]
---

# Update Beneficiary

`POST /v1/beneficiaries/{id}`

Update a beneficiary. Entity type of the beneficiary cannot be modified.

## Path parameters

- `id` string, uuid, required

## Headers

- `x-on-behalf-of` string
- `x-idempotency-key` string, uuid

## Request body

- union
  - object
    - `entity_type` string, required — The type of beneficiary entity.
    - `email` string — Email address of the beneficiary.
    - `company_name` string, required — Company name of the beneficiary, only exist when the entity_type is COMPANY. - When `payment_method = SWIFT`: * Only English letters, numbers, special characters (half-width format), and spaces can be included. * Allowed special characters: `-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……` - When `payment_method = LOCAL`: * No strict validation rules apply, local language characters are supported. - No need to pass this field when `bank_details.bank_country_code = SG` & `bank_details.account_currency_code = SGD` - When `bank_country_code = CN` & `account_currency_code = CNH` & `payment_method = LOCAL` & `entity_type = COMPANY`, Chinese characters and Chinese parentheses `（）` are supported.
    - `payment_method` union, required — The payment method details to confirm the PaymentIntent. The PaymentIntent will be confirmed automatically when `payment_method` is set.
      - object
        - `type` 'card', required
        - `card` object, required
          - `card_name` string, required — Card holder name. Maximum length is 128.
          - `card_number` string, required — Card number.
          - `expiry_month` string, required — Two digit number representing the card's expiration month.
          - `expiry_year` string, required — Four digit number representing the card's expiration year.
          - `cvc` string, required — The CVC code of this card is mandatory for all transactions, except for those initiated by the merchant or involving network tokenization.
          - `network` 'visa' | 'mastercard' | 'unionpay', required — The card network. The card networks listed are accepted values for this field. Availability is evaluated at the account level.
          - `billing` CardBilling, required — Billing information of the customer.
            - `first_name` string, required — First name of the customer. Maximum length is 128.
            - `last_name` string, required — Last name of the customer. Maximum length is 128.
            - `email` string, email, required — Email address of the customer.
            - `phone_number` string — Phone number of the customer.
            - `address` Address, required
              - …
          - `auto_capture` boolean — Specifies whether the funds should be requested automatically after the payment is authorized. Set it to `false` if you want to capture the funds sometimes later.
          - `authorization_type` 'authorization' | 'pre_authorization', required — The authorization type for the card payment. Options are `authorization` (default) and `pre_authorization`. Use `pre_authorization` to hold funds for more than 7 days, available only for Visa and Mastercard. `auto_capture` must be `false` for pre-authorization.
          - `three_ds_action` 'enforce_3ds' | 'skip_3ds', required — Controls 3D Secure behavior for this payment: - `enforce_3ds`: Always trigger 3DS authentication, regardless of issuer risk assessment. - `skip_3ds`: Skip 3DS authentication. The liability for chargebacks remains with the merchant.
          - `three_ds` CardThreeDS
            - `return_url` string — Return URL for 3ds callbacks (in case 3ds is triggered).
            - `acs_response` string — 3DS ACS response (application/x-www-form-urlencoded).
            - `device_data_collection_res` string — Device data collection response.
            - `ds_transaction_id` string — 3DS transactionId.
      - object
        - `type` 'card_present', required
        - `card_present` object, required
          - `card_number` string, required — Card number.
          - `expiry_month` string, required — MM
          - `expiry_year` string, required — YYYY
          - `cardholder_verification_method` 'online_pin' | 'manual_signature' | 'skipped' — Method used to verify the cardholder's identity at the point of sale. - `online_pin`: Cardholder entered a PIN that was verified online by the issuer. - `manual_signature`: Cardholder provided a handwritten signature. - `skipped`: Cardholder verification was not performed (e.g., contactless under floor limit).
          - `encrypted_pin` string — Encrypted personal identification number.
          - `pan_entry_mode` 'manual_entry' | 'chip' | 'magstripe' | 'contactless_chip' | 'contactless_magstripe', required — The way the terminal reads the card information: - `manual_entry`: Manually keyed into POS terminal - `chip`: Read from direct contact with a chip card - `magstripe`: Read from direct contact with magnetic stripe card - `contactless_chip`: Read from a contactless interface using chip data - `contactless_magstripe`: Read from a contactless interface using magnetic stripe data (MSD)
          - `fallback` boolean — The default is false. Set to true when: - Chip card at a chip-capable terminal was unable to process transactions using data on the chip or magnetic strip and use entry mode manual - Chip card at a chip-capable terminal was unable to process transactions using data on the chip and use entry mode `contact_magnetic_stripe_card`
          - `fallback_reason` 'chip_read_failure' — Fallback reason applicable when fallback is true. Set to `chip_read_failure` when all of the following conditions are met: - The transaction is initiated at a chip-capable terminal - `pan_entry_mode` is `magstripe` - The previous transaction initiated by the terminal was an unsuccessful chip read
          - `emv_tags` string — Tag-length-value (TLV)-encoded data read from a chip card.
          - `track1` string — Track 1 read from magnetic stripe card
          - `track2` string — Track 2 is read from a magnetic stripe card or is track 2 equivalent data get from the chip card. Track 2 is required when pan_entry_mode is not `manual_entry`.
          - `terminal_info` object
            - `terminal_id` string — An up to 8 digit alphanumeric ID used to identify the terminal at the card acceptor location of the user's POS system.
            - `mobile_device` boolean — Indicate whether the POS terminal is a mobile POS device.
            - `system_trace_audit_number` string — System Trace Audit Number. A 6-digit numeric sequence that uniquely identifies each transaction processed by a terminal. Critical for transaction reconciliation and dispute resolution.
            - `use_embedded_reader` boolean — Indicate whether the reader is embedded in a mobile POS device.
      - object
        - `type` 'applepay', required
        - `applepay` object, required — Apple Pay payment information. Required when `type` is set to `applepay`.
          - `flow` 'redirect' | 'mobile_web' | 'mobile_app' | 'contactless', required — Specifies the checkout flow type: - `redirect`: Redirect-based online payment - `mobile_web`: Mobile browser (H5) payment - `mobile_app`: Native app payment - `contactless`: In-person NFC contactless payment
          - `os_type` 'ios' — Required when `flow` is `mobile_web` or `mobile_app`. Fixed value `ios` for Apple Pay.
          - `is_present` boolean — Whether the customer is physically present during payment. Set to `true` for in-person (contactless) payments, `false` for online payments.
          - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'jcb', required — The card network (lowercase).
          - `card_type` 'debit' | 'credit' — The type of the card.
          - `token_type` 'decrypted' | 'encrypted', required — The token data format: - `decrypted`: Merchant has decrypted the Apple Pay token and provides structured DPAN + Cryptogram data - `encrypted`: Raw encrypted Apple Pay token (reserved for future use)
          - `auth_method` 'cryptogram_3ds' | 'pan_only', required — The authentication method used by Apple Pay: - `cryptogram_3ds`: Token includes a cryptogram, 3DS is already applied. No additional 3DS required. - `pan_only`: Token contains only PAN data. Additional 3DS verification may be triggered.
          - `network_token` object, required — The decrypted Network Token data. Required when `token_type` is `decrypted`.
            - `number` string, required — Device Primary Account Number (DPAN), 12-52 characters.
            - `expiry_month` string, required — Two-digit expiration month (01-12).
            - `expiry_year` string, required — Four-digit expiration year.
            - `cryptogram` string, required — Online Payment Cryptogram (Base64 encoded). Only required when `auth_method` is `cryptogram_3ds`.
            - `eci` string — Electronic Commerce Indicator. Only required when `auth_method` is `cryptogram_3ds`. Typical value: `07`.
          - `billing_contact` object — Billing contact information from Apple Pay.
            - `first_name` string — Given name (first name).
            - `last_name` string — Family name (last name).
            - `email` string, email — Email address.
            - `phone` string — Phone number.
            - `address` object — Billing address.
              - …
      - object
        - `type` 'googlepay', required
        - `googlepay` object, required — Google Pay payment information. Required when `type` is set to `googlepay`.
          - `flow` 'redirect' | 'mobile_web' | 'mobile_app' | 'contactless', required — Specifies the checkout flow type: - `redirect`: Redirect-based online payment - `mobile_web`: Mobile browser (H5) payment - `mobile_app`: Native app payment - `contactless`: In-person NFC contactless payment
          - `os_type` 'ios' | 'android' — Required when `flow` is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment. Set to `true` for in-person (contactless) payments, `false` for online payments.
          - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'jcb', required — The card network (lowercase).
          - `card_type` 'debit' | 'credit' — The type of the card.
          - `token_type` 'decrypted' | 'encrypted', required — The token data format: - `decrypted`: Merchant has decrypted the Google Pay token and provides structured DPAN + Cryptogram data - `encrypted`: Raw encrypted Google Pay token (reserved for future use)
          - `auth_method` 'cryptogram_3ds' | 'pan_only', required — The authentication method used by Google Pay: - `cryptogram_3ds`: Token includes a cryptogram, 3DS is already applied. No additional 3DS required. - `pan_only`: Token contains only PAN data. Additional 3DS verification may be triggered.
          - `network_token` object, required — The decrypted Network Token data. Required when `token_type` is `decrypted`.
            - `number` string, required — Device Primary Account Number (DPAN), 12-52 characters.
            - `expiry_month` string, required — Two-digit expiration month (01-12).
            - `expiry_year` string, required — Four-digit expiration year.
            - `cryptogram` string — Online Payment Cryptogram (Base64 encoded). Only required when `auth_method` is `cryptogram_3ds`.
            - `eci` string — Electronic Commerce Indicator. Only required when `auth_method` is `cryptogram_3ds`. Typical value: `05`.
          - `billing_address` object — Billing address information from Google Pay.
            - `first_name` string — First name.
            - `last_name` string — Last name.
            - `email` string, email — Email address.
            - `phone` string — Phone number.
            - `address1` string — Address line 1.
            - `address2` string — Address line 2.
            - `locality` string — City or locality.
            - `administrative_area` string — State, province, or administrative area.
            - `postal_code` string — Postal code.
            - `country_code` string — Country code (ISO 3166-1 alpha-2).
      - object
        - `type` 'alipaycn', required
        - `alipaycn` object, required — AlipayCN payment information. Required when `type` is set to `alipaycn`
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
      - object
        - `type` 'alipayhk', required
        - `alipayhk` object, required — AlipayHK payment information. Required when `type` is set to `alipayhk`
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'unionpay', required
        - `unionpay` object, required — UnionPay payment information. Required when `type` is set to `unionpay`
          - `flow` 'qrcode' | 'securepay', required — The UnionPay checkout flow: - `qrcode`: Merchant-presented QR code for the customer to scan with the UnionPay app. - `securepay`: Server-to-server secure payment (redirect-based online checkout).
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
      - object
        - `type` 'wechatpay', required
        - `wechatpay` object, required — WeChat Pay payment information. Required when `type` is set to `wechatpay`.
          - `flow` 'qrcode' | 'mini_program' | 'mobile_app' | 'mobile_web' | 'official_account', required — The WeChat Pay checkout flow: - `qrcode`: Merchant-presented QR code for the customer to scan. - `mini_program`: Payment inside a WeChat Mini Program. - `mobile_app`: Payment triggered from a native mobile app via WeChat SDK. - `mobile_web`: Payment triggered from a mobile browser (H5), redirects to WeChat. - `official_account`: Payment inside a WeChat Official Account (JSAPI).
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `open_id` string — Required when `flow` is `mini_program`, `mobile_app` or `official_account`.
      - object
        - `type` 'grabpay', required
        - `grabpay` object, required — GrabPay payment information. Required when `type` is set to `grabpay`.
          - `flow` 'qrcode', required — Specifies the checkout flow type.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `shopper_name` string — The name of the shopper.
      - object
        - `type` 'crypto', required
        - `crypto` object, required — Cryptocurrency payment information. Required when `type` is set to `crypto`. **Important:** Currency must be `USD`. **Legal Notice:** This API Reference is issued and published by UQPAY PTY LTD (UQPAY Australia), a member of the UQPAY Group. As the sole publishing entity, UQPAY Australia assumes full and exclusive responsibility for the content, versioning, and maintenance of this document. Unless expressly stated otherwise, no other entity within the UQPAY Group shall be considered a publisher or held liable for the information contained herein.
          - `flow` 'redirect' | 'qrcode', required — The specific payment flow to use: - `redirect`: Redirects customer to a crypto payment gateway - `qrcode`: Generates a QR code for direct blockchain payment
          - `network` 'ETH' | 'TRON' — Blockchain network for the transaction. Required when `flow` is `qrcode`. - `ETH`: Ethereum network - `TRON`: TRON network
          - `is_present` false, required — Whether the customer is physically present during payment. Must be `false` for crypto payments.
          - `payer_info` object — Payer compliance information collected to satisfy the AML/CTF Travel Rule for virtual asset transfers. **Conditional requirement:** Required when the order amount reaches the compliance threshold configured by UQPAY for the merchant; otherwise this object can be omitted entirely.
            - `name` string, required — Full legal name of the payer (individual or entity).
            - `email` string, email — Payer email address. Validated for standard email format when provided.
            - `identifier` object, required — A unique identifier for the payer. Exactly one identifier must be provided, selected via the `type` field. The structure of `value` varies based on `type`.
              - …
      - object
        - `type` 'paynow', required
        - `paynow` object, required — PayNow payment information. Required when `type` is set to `paynow`.
          - `flow` 'qrcode', required — The checkout flow. Only `qrcode` (merchant-presented QR code) is supported.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'truemoney', required
        - `truemoney` object, required — Truemoney payment information. Required when `type` is set to `truemoney`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'tng', required
        - `tng` object, required — Touch'n Go payment information. Required when `type` is set to `tng`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'gcash', required
        - `gcash` object, required — GCash payment information. Required when `type` is set to `gcash`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'dana', required
        - `dana` object, required — Dana payment information. Required when `type` is set to `dana`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'kakaopay', required
        - `kakaopay` object, required — KakaoPay payment information. Required when `type` is set to `kakaopay`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'toss', required
        - `toss` object, required — Toss Pay payment information. Required when `type` is set to `toss`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'naverpay', required
        - `naverpay` object, required — Naver Pay payment information. Required when `type` is set to `naverpay`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
    - `nickname` string — Nickname of the beneficiary.
    - `bank_details` BeneficiaryBankDetails, required
      - `bank_name` string, required — Name of the bank.
      - `bank_address` string, required — Address of the bank.
      - `bank_country_code` string, required — Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - `account_holder` string, required — Account holder name of the beneficiary's bank account. - When `payment_method = SWIFT`: * Only English letters, numbers, special characters (half-width format), and spaces can be included. * Allowed special characters: `-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……` - When `payment_method = LOCAL`: * No strict validation rules apply, local language characters are supported. - When `entity_type = INDIVIDUAL`, `bank_details.bank_country_code = SG`, and `bank_details.account_currency_code = SGD`, another validation rules apply: * `account_holder` must contain only English alphabetic characters (A–Z, a–z) and spaces. * Length must be between 2 and 140 characters. * At least one space is required to separate first name and last name. - If the `bank_country_code = CN`, `account_currency_code = CNH`, and `payment_method = LOCAL` please provide the account holder name in **Chinese characters**, as required by local banks. * Furthermore, when `entity_type = COMPANY`, Chinese parentheses `（）` are also supported.
      - `account_currency_code` string, required — Three-letter currency code
      - `account_number` string — Account number, mostly for non-european countries, either account_number or iban should be filled. Only English letters (uppercase and lowercase) and digits are allowed; dashes or other special characters are not permitted.
      - `iban` string — For the following countries/regions, **IBAN is mandatory** (mostly applicable to European and some other countries): **Country Codes**: `AL`, `AD`, `AT`, `AZ`, `BH`, `BY`, `BE`, `BA`, `BR`, `BG`, `CR`, `HR`, `CY`, `CZ`, `DK`, `DO`, `EG`, `SV`, `EE`, `FO`, `FI`, `FR`, `GE`, `DE`, `GI`, `GR`, `GL`, `GT`, `VA`, `HU`, `IS`, `IQ`, `IE`, `IL`, `IT`, `JO`, `KZ`, `XK`, `KW`, `LV`, `LB`, `LY`, `LI`, `LT`, `LU`, `MT`, `MR`, `MU`, `MD`, `MC`, `ME`, `NL`, `MK`, `NO`, `PK`, `PS`, `PL`, `PT`, `QA`, `RO`, `LC`, `SM`, `ST`, `SA`, `RS`, `SC`, `SK`, `SI`, `ES`, `SD`, `SE`, `CH`, `TL`, `TN`, `TR`, `UA`, `AE`, `GB`, `VG`. If the beneficiary bank is located in any of the above-listed countries/regions, **IBAN must be provided**.
      - `swift_code` string, required — Swift code of the beneficiary's bank account.
      - `clearing_system` string, required — Specifies the clearing system to be used for the transaction. The available options vary by currency and correspond to the local payment infrastructure. - **USD:** `ACH`, `Fedwire`, `SWIFT` - **SGD:** `FAST`, `GIRO`, `RTGS`, `SWIFT`, `PayNow` - **CNH:** `LOCAL`, `SWIFT` - **HKD:** `ACH`, `FPS`, `RTGS`, `SWIFT` - **EUR:** `LOCAL`, `SWIFT` - **CAD:** `EFT`, `Interac e-Transfer`, `SWIFT`, `Bill Payment` - **MYR:** `LOCAL` - **GBP:** `Faster Payments`, `CHAPS`, `SWIFT` - **IDR:** `LOCAL` - **JPY:** `LOCAL`, `SWIFT` - **NZD:** `Bank Transfer`, `SWIFT` - **AUD:** `Bank Transfer`, `SWIFT`
      - `routing_code_type1` string — Routing code type, must be one of: * `ach` - Required when account_currency_code = "USD" and clearing_system = "ACH". * `aba` - Required when account_currency_code = "USD" and clearing_system = "FEDWIRE". - Required when account_currency_code = "USD" and clearing_system = "SWIFT" and bank_country_code = "US" * `bank_code` - Required when account_currency_code = "CAD" and clearing_system = "EFT" OR account_currency_code = "HKD" and clearing_system = "LOCAL". * `sort_code` - Required when account_currency_code = "GBP" and clearing_system = "FASTER PAYMENTS". **Must be exactly 6 digits.** * `bsb_code` - Required when account_currency_code = "AUD" and clearing_system = "LOCAL". * `ifsc` - Required when account_currency_code = "INR" and clearing_system = "IFSC". * `cnaps_number` - Required when account_currency_code = "CNH" and bank_country_code = "CN".
      - `routing_code_value1` string — Routing code value.Routing code for routing_code_type_1.If supplied, routing_code_type_1 should also be supplied.
      - `routing_code_type2` string — Routing code sub type. * `branch_code` - Required when account_currency_code = "CAD" and clearing_system = "EFT".
      - `routing_code_value2` string — Routing code sub type value.Routing code for routing_code_type_2.If supplied, routing_code_type_2 should also be supplied.
    - `address` BeneficiaryAddress, required — Address of the beneficiary. - No need to pass this field when `bank_details.bank_country_code = SG` & `bank_details.account_currency_code = SGD`
      - `country` string, required — Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - `nationality` string — Two-letter country code representing nationality of the beneficiary.
      - `city` string, required — City of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
      - `street_address` string, required — Street of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
      - `postal_code` string, required — Postal code of the beneficiary.
      - `state` string, required — State or province of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
    - `additional_info` BeneficiaryAdditionalInfo — Additional information for beneficiaries.
      - `organization_code` string — The Unified Social Credit Identifier assigned to the organization. This field is for companies registered in Mainland China.
      - `proxy_id` string — PayNow proxy identifier (SGD). Supports UEN, phone number, or VPA as the value.
      - `id_type` 'PASSPORT' | 'NATIONAL_ID' | 'DRIVERS_LICENSE' — Identification document type for individual beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = INDIVIDUAL.
      - `id_number` string — Identification number for individual beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = INDIVIDUAL.
      - `tax_id` string — Tax identification number for company beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = COMPANY.
      - `msisdn` string — Mobile phone number in international format with country code. - Format: +[country_code][phone_number], e.g., +65111111. - Required when bank_details.account_currency_code = COP. - Required when bank_details.account_currency_code = HKD & clearing_system = LOCAL
  - object
    - `entity_type` string, required — The type of beneficiary entity.
    - `email` string — Email address of the beneficiary.
    - `payment_method` union, required — The payment method details to confirm the PaymentIntent. The PaymentIntent will be confirmed automatically when `payment_method` is set.
      - object
        - `type` 'card', required
        - `card` object, required
          - `card_name` string, required — Card holder name. Maximum length is 128.
          - `card_number` string, required — Card number.
          - `expiry_month` string, required — Two digit number representing the card's expiration month.
          - `expiry_year` string, required — Four digit number representing the card's expiration year.
          - `cvc` string, required — The CVC code of this card is mandatory for all transactions, except for those initiated by the merchant or involving network tokenization.
          - `network` 'visa' | 'mastercard' | 'unionpay', required — The card network. The card networks listed are accepted values for this field. Availability is evaluated at the account level.
          - `billing` CardBilling, required — Billing information of the customer.
            - `first_name` string, required — First name of the customer. Maximum length is 128.
            - `last_name` string, required — Last name of the customer. Maximum length is 128.
            - `email` string, email, required — Email address of the customer.
            - `phone_number` string — Phone number of the customer.
            - `address` Address, required
              - …
          - `auto_capture` boolean — Specifies whether the funds should be requested automatically after the payment is authorized. Set it to `false` if you want to capture the funds sometimes later.
          - `authorization_type` 'authorization' | 'pre_authorization', required — The authorization type for the card payment. Options are `authorization` (default) and `pre_authorization`. Use `pre_authorization` to hold funds for more than 7 days, available only for Visa and Mastercard. `auto_capture` must be `false` for pre-authorization.
          - `three_ds_action` 'enforce_3ds' | 'skip_3ds', required — Controls 3D Secure behavior for this payment: - `enforce_3ds`: Always trigger 3DS authentication, regardless of issuer risk assessment. - `skip_3ds`: Skip 3DS authentication. The liability for chargebacks remains with the merchant.
          - `three_ds` CardThreeDS
            - `return_url` string — Return URL for 3ds callbacks (in case 3ds is triggered).
            - `acs_response` string — 3DS ACS response (application/x-www-form-urlencoded).
            - `device_data_collection_res` string — Device data collection response.
            - `ds_transaction_id` string — 3DS transactionId.
      - object
        - `type` 'card_present', required
        - `card_present` object, required
          - `card_number` string, required — Card number.
          - `expiry_month` string, required — MM
          - `expiry_year` string, required — YYYY
          - `cardholder_verification_method` 'online_pin' | 'manual_signature' | 'skipped' — Method used to verify the cardholder's identity at the point of sale. - `online_pin`: Cardholder entered a PIN that was verified online by the issuer. - `manual_signature`: Cardholder provided a handwritten signature. - `skipped`: Cardholder verification was not performed (e.g., contactless under floor limit).
          - `encrypted_pin` string — Encrypted personal identification number.
          - `pan_entry_mode` 'manual_entry' | 'chip' | 'magstripe' | 'contactless_chip' | 'contactless_magstripe', required — The way the terminal reads the card information: - `manual_entry`: Manually keyed into POS terminal - `chip`: Read from direct contact with a chip card - `magstripe`: Read from direct contact with magnetic stripe card - `contactless_chip`: Read from a contactless interface using chip data - `contactless_magstripe`: Read from a contactless interface using magnetic stripe data (MSD)
          - `fallback` boolean — The default is false. Set to true when: - Chip card at a chip-capable terminal was unable to process transactions using data on the chip or magnetic strip and use entry mode manual - Chip card at a chip-capable terminal was unable to process transactions using data on the chip and use entry mode `contact_magnetic_stripe_card`
          - `fallback_reason` 'chip_read_failure' — Fallback reason applicable when fallback is true. Set to `chip_read_failure` when all of the following conditions are met: - The transaction is initiated at a chip-capable terminal - `pan_entry_mode` is `magstripe` - The previous transaction initiated by the terminal was an unsuccessful chip read
          - `emv_tags` string — Tag-length-value (TLV)-encoded data read from a chip card.
          - `track1` string — Track 1 read from magnetic stripe card
          - `track2` string — Track 2 is read from a magnetic stripe card or is track 2 equivalent data get from the chip card. Track 2 is required when pan_entry_mode is not `manual_entry`.
          - `terminal_info` object
            - `terminal_id` string — An up to 8 digit alphanumeric ID used to identify the terminal at the card acceptor location of the user's POS system.
            - `mobile_device` boolean — Indicate whether the POS terminal is a mobile POS device.
            - `system_trace_audit_number` string — System Trace Audit Number. A 6-digit numeric sequence that uniquely identifies each transaction processed by a terminal. Critical for transaction reconciliation and dispute resolution.
            - `use_embedded_reader` boolean — Indicate whether the reader is embedded in a mobile POS device.
      - object
        - `type` 'applepay', required
        - `applepay` object, required — Apple Pay payment information. Required when `type` is set to `applepay`.
          - `flow` 'redirect' | 'mobile_web' | 'mobile_app' | 'contactless', required — Specifies the checkout flow type: - `redirect`: Redirect-based online payment - `mobile_web`: Mobile browser (H5) payment - `mobile_app`: Native app payment - `contactless`: In-person NFC contactless payment
          - `os_type` 'ios' — Required when `flow` is `mobile_web` or `mobile_app`. Fixed value `ios` for Apple Pay.
          - `is_present` boolean — Whether the customer is physically present during payment. Set to `true` for in-person (contactless) payments, `false` for online payments.
          - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'jcb', required — The card network (lowercase).
          - `card_type` 'debit' | 'credit' — The type of the card.
          - `token_type` 'decrypted' | 'encrypted', required — The token data format: - `decrypted`: Merchant has decrypted the Apple Pay token and provides structured DPAN + Cryptogram data - `encrypted`: Raw encrypted Apple Pay token (reserved for future use)
          - `auth_method` 'cryptogram_3ds' | 'pan_only', required — The authentication method used by Apple Pay: - `cryptogram_3ds`: Token includes a cryptogram, 3DS is already applied. No additional 3DS required. - `pan_only`: Token contains only PAN data. Additional 3DS verification may be triggered.
          - `network_token` object, required — The decrypted Network Token data. Required when `token_type` is `decrypted`.
            - `number` string, required — Device Primary Account Number (DPAN), 12-52 characters.
            - `expiry_month` string, required — Two-digit expiration month (01-12).
            - `expiry_year` string, required — Four-digit expiration year.
            - `cryptogram` string, required — Online Payment Cryptogram (Base64 encoded). Only required when `auth_method` is `cryptogram_3ds`.
            - `eci` string — Electronic Commerce Indicator. Only required when `auth_method` is `cryptogram_3ds`. Typical value: `07`.
          - `billing_contact` object — Billing contact information from Apple Pay.
            - `first_name` string — Given name (first name).
            - `last_name` string — Family name (last name).
            - `email` string, email — Email address.
            - `phone` string — Phone number.
            - `address` object — Billing address.
              - …
      - object
        - `type` 'googlepay', required
        - `googlepay` object, required — Google Pay payment information. Required when `type` is set to `googlepay`.
          - `flow` 'redirect' | 'mobile_web' | 'mobile_app' | 'contactless', required — Specifies the checkout flow type: - `redirect`: Redirect-based online payment - `mobile_web`: Mobile browser (H5) payment - `mobile_app`: Native app payment - `contactless`: In-person NFC contactless payment
          - `os_type` 'ios' | 'android' — Required when `flow` is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment. Set to `true` for in-person (contactless) payments, `false` for online payments.
          - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'jcb', required — The card network (lowercase).
          - `card_type` 'debit' | 'credit' — The type of the card.
          - `token_type` 'decrypted' | 'encrypted', required — The token data format: - `decrypted`: Merchant has decrypted the Google Pay token and provides structured DPAN + Cryptogram data - `encrypted`: Raw encrypted Google Pay token (reserved for future use)
          - `auth_method` 'cryptogram_3ds' | 'pan_only', required — The authentication method used by Google Pay: - `cryptogram_3ds`: Token includes a cryptogram, 3DS is already applied. No additional 3DS required. - `pan_only`: Token contains only PAN data. Additional 3DS verification may be triggered.
          - `network_token` object, required — The decrypted Network Token data. Required when `token_type` is `decrypted`.
            - `number` string, required — Device Primary Account Number (DPAN), 12-52 characters.
            - `expiry_month` string, required — Two-digit expiration month (01-12).
            - `expiry_year` string, required — Four-digit expiration year.
            - `cryptogram` string — Online Payment Cryptogram (Base64 encoded). Only required when `auth_method` is `cryptogram_3ds`.
            - `eci` string — Electronic Commerce Indicator. Only required when `auth_method` is `cryptogram_3ds`. Typical value: `05`.
          - `billing_address` object — Billing address information from Google Pay.
            - `first_name` string — First name.
            - `last_name` string — Last name.
            - `email` string, email — Email address.
            - `phone` string — Phone number.
            - `address1` string — Address line 1.
            - `address2` string — Address line 2.
            - `locality` string — City or locality.
            - `administrative_area` string — State, province, or administrative area.
            - `postal_code` string — Postal code.
            - `country_code` string — Country code (ISO 3166-1 alpha-2).
      - object
        - `type` 'alipaycn', required
        - `alipaycn` object, required — AlipayCN payment information. Required when `type` is set to `alipaycn`
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
      - object
        - `type` 'alipayhk', required
        - `alipayhk` object, required — AlipayHK payment information. Required when `type` is set to `alipayhk`
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'unionpay', required
        - `unionpay` object, required — UnionPay payment information. Required when `type` is set to `unionpay`
          - `flow` 'qrcode' | 'securepay', required — The UnionPay checkout flow: - `qrcode`: Merchant-presented QR code for the customer to scan with the UnionPay app. - `securepay`: Server-to-server secure payment (redirect-based online checkout).
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_app`. One of `ios`, `android`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
      - object
        - `type` 'wechatpay', required
        - `wechatpay` object, required — WeChat Pay payment information. Required when `type` is set to `wechatpay`.
          - `flow` 'qrcode' | 'mini_program' | 'mobile_app' | 'mobile_web' | 'official_account', required — The WeChat Pay checkout flow: - `qrcode`: Merchant-presented QR code for the customer to scan. - `mini_program`: Payment inside a WeChat Mini Program. - `mobile_app`: Payment triggered from a native mobile app via WeChat SDK. - `mobile_web`: Payment triggered from a mobile browser (H5), redirects to WeChat. - `official_account`: Payment inside a WeChat Official Account (JSAPI).
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `open_id` string — Required when `flow` is `mini_program`, `mobile_app` or `official_account`.
      - object
        - `type` 'grabpay', required
        - `grabpay` object, required — GrabPay payment information. Required when `type` is set to `grabpay`.
          - `flow` 'qrcode', required — Specifies the checkout flow type.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web`.
          - `is_present` boolean — Whether the customer is physically present during payment.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `shopper_name` string — The name of the shopper.
      - object
        - `type` 'crypto', required
        - `crypto` object, required — Cryptocurrency payment information. Required when `type` is set to `crypto`. **Important:** Currency must be `USD`. **Legal Notice:** This API Reference is issued and published by UQPAY PTY LTD (UQPAY Australia), a member of the UQPAY Group. As the sole publishing entity, UQPAY Australia assumes full and exclusive responsibility for the content, versioning, and maintenance of this document. Unless expressly stated otherwise, no other entity within the UQPAY Group shall be considered a publisher or held liable for the information contained herein.
          - `flow` 'redirect' | 'qrcode', required — The specific payment flow to use: - `redirect`: Redirects customer to a crypto payment gateway - `qrcode`: Generates a QR code for direct blockchain payment
          - `network` 'ETH' | 'TRON' — Blockchain network for the transaction. Required when `flow` is `qrcode`. - `ETH`: Ethereum network - `TRON`: TRON network
          - `is_present` false, required — Whether the customer is physically present during payment. Must be `false` for crypto payments.
          - `payer_info` object — Payer compliance information collected to satisfy the AML/CTF Travel Rule for virtual asset transfers. **Conditional requirement:** Required when the order amount reaches the compliance threshold configured by UQPAY for the merchant; otherwise this object can be omitted entirely.
            - `name` string, required — Full legal name of the payer (individual or entity).
            - `email` string, email — Payer email address. Validated for standard email format when provided.
            - `identifier` object, required — A unique identifier for the payer. Exactly one identifier must be provided, selected via the `type` field. The structure of `value` varies based on `type`.
              - …
      - object
        - `type` 'paynow', required
        - `paynow` object, required — PayNow payment information. Required when `type` is set to `paynow`.
          - `flow` 'qrcode', required — The checkout flow. Only `qrcode` (merchant-presented QR code) is supported.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'truemoney', required
        - `truemoney` object, required — Truemoney payment information. Required when `type` is set to `truemoney`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'tng', required
        - `tng` object, required — Touch'n Go payment information. Required when `type` is set to `tng`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'gcash', required
        - `gcash` object, required — GCash payment information. Required when `type` is set to `gcash`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'dana', required
        - `dana` object, required — Dana payment information. Required when `type` is set to `dana`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'kakaopay', required
        - `kakaopay` object, required — KakaoPay payment information. Required when `type` is set to `kakaopay`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'toss', required
        - `toss` object, required — Toss Pay payment information. Required when `type` is set to `toss`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
      - object
        - `type` 'naverpay', required
        - `naverpay` object, required — Naver Pay payment information. Required when `type` is set to `naverpay`.
          - `flow` 'qrcode', required — The specific payment flow to use.
          - `os_type` 'ios' | 'android' — Required when flow is `mobile_web` or `mobile_app`. One of `ios`, `android`.
          - `payment_code` string — The customer presents a payment code (generated from a payment app like an e-wallet) to the merchant for scanning.
          - `is_present` boolean — Whether the customer is physically present during payment.
    - `nickname` string — Nickname of the beneficiary.
    - `first_name` string, required — First name of the beneficiary, only exist when the entity_type is INDIVIDUAL. - When `payment_method = SWIFT`: * Only English letters, numbers, special characters (half-width format), and spaces can be included. * Allowed special characters: `-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……` - When `payment_method = LOCAL`: * No strict validation rules apply, local language characters are supported. - No need to pass this field when `bank_details.bank_country_code = SG` & `bank_details.account_currency_code = SGD`
    - `last_name` string, required — Last name of the beneficiary, only exist when the entity_type is INDIVIDUAL. - When `payment_method = SWIFT`: * Only English letters, numbers, special characters (half-width format), and spaces can be included. * Allowed special characters: `-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……` - When `payment_method = LOCAL`: * No strict validation rules apply, local language characters are supported. - No need to pass this field when `bank_details.bank_country_code = SG` & `bank_details.account_currency_code = SGD`
    - `id_number` string — The identification number of the individual beneficiary. Mandatory when the beneficiary is a Mainland China resident and the following conditions are met: - `bank_details.account_currency_code` is `CNH` - `payment_method` is `LOCAL`
    - `bank_details` BeneficiaryBankDetails, required
      - `bank_name` string, required — Name of the bank.
      - `bank_address` string, required — Address of the bank.
      - `bank_country_code` string, required — Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - `account_holder` string, required — Account holder name of the beneficiary's bank account. - When `payment_method = SWIFT`: * Only English letters, numbers, special characters (half-width format), and spaces can be included. * Allowed special characters: `-_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' < > ? /・……` - When `payment_method = LOCAL`: * No strict validation rules apply, local language characters are supported. - When `entity_type = INDIVIDUAL`, `bank_details.bank_country_code = SG`, and `bank_details.account_currency_code = SGD`, another validation rules apply: * `account_holder` must contain only English alphabetic characters (A–Z, a–z) and spaces. * Length must be between 2 and 140 characters. * At least one space is required to separate first name and last name. - If the `bank_country_code = CN`, `account_currency_code = CNH`, and `payment_method = LOCAL` please provide the account holder name in **Chinese characters**, as required by local banks. * Furthermore, when `entity_type = COMPANY`, Chinese parentheses `（）` are also supported.
      - `account_currency_code` string, required — Three-letter currency code
      - `account_number` string — Account number, mostly for non-european countries, either account_number or iban should be filled. Only English letters (uppercase and lowercase) and digits are allowed; dashes or other special characters are not permitted.
      - `iban` string — For the following countries/regions, **IBAN is mandatory** (mostly applicable to European and some other countries): **Country Codes**: `AL`, `AD`, `AT`, `AZ`, `BH`, `BY`, `BE`, `BA`, `BR`, `BG`, `CR`, `HR`, `CY`, `CZ`, `DK`, `DO`, `EG`, `SV`, `EE`, `FO`, `FI`, `FR`, `GE`, `DE`, `GI`, `GR`, `GL`, `GT`, `VA`, `HU`, `IS`, `IQ`, `IE`, `IL`, `IT`, `JO`, `KZ`, `XK`, `KW`, `LV`, `LB`, `LY`, `LI`, `LT`, `LU`, `MT`, `MR`, `MU`, `MD`, `MC`, `ME`, `NL`, `MK`, `NO`, `PK`, `PS`, `PL`, `PT`, `QA`, `RO`, `LC`, `SM`, `ST`, `SA`, `RS`, `SC`, `SK`, `SI`, `ES`, `SD`, `SE`, `CH`, `TL`, `TN`, `TR`, `UA`, `AE`, `GB`, `VG`. If the beneficiary bank is located in any of the above-listed countries/regions, **IBAN must be provided**.
      - `swift_code` string, required — Swift code of the beneficiary's bank account.
      - `clearing_system` string, required — Specifies the clearing system to be used for the transaction. The available options vary by currency and correspond to the local payment infrastructure. - **USD:** `ACH`, `Fedwire`, `SWIFT` - **SGD:** `FAST`, `GIRO`, `RTGS`, `SWIFT`, `PayNow` - **CNH:** `LOCAL`, `SWIFT` - **HKD:** `ACH`, `FPS`, `RTGS`, `SWIFT` - **EUR:** `LOCAL`, `SWIFT` - **CAD:** `EFT`, `Interac e-Transfer`, `SWIFT`, `Bill Payment` - **MYR:** `LOCAL` - **GBP:** `Faster Payments`, `CHAPS`, `SWIFT` - **IDR:** `LOCAL` - **JPY:** `LOCAL`, `SWIFT` - **NZD:** `Bank Transfer`, `SWIFT` - **AUD:** `Bank Transfer`, `SWIFT`
      - `routing_code_type1` string — Routing code type, must be one of: * `ach` - Required when account_currency_code = "USD" and clearing_system = "ACH". * `aba` - Required when account_currency_code = "USD" and clearing_system = "FEDWIRE". - Required when account_currency_code = "USD" and clearing_system = "SWIFT" and bank_country_code = "US" * `bank_code` - Required when account_currency_code = "CAD" and clearing_system = "EFT" OR account_currency_code = "HKD" and clearing_system = "LOCAL". * `sort_code` - Required when account_currency_code = "GBP" and clearing_system = "FASTER PAYMENTS". **Must be exactly 6 digits.** * `bsb_code` - Required when account_currency_code = "AUD" and clearing_system = "LOCAL". * `ifsc` - Required when account_currency_code = "INR" and clearing_system = "IFSC". * `cnaps_number` - Required when account_currency_code = "CNH" and bank_country_code = "CN".
      - `routing_code_value1` string — Routing code value.Routing code for routing_code_type_1.If supplied, routing_code_type_1 should also be supplied.
      - `routing_code_type2` string — Routing code sub type. * `branch_code` - Required when account_currency_code = "CAD" and clearing_system = "EFT".
      - `routing_code_value2` string — Routing code sub type value.Routing code for routing_code_type_2.If supplied, routing_code_type_2 should also be supplied.
    - `address` BeneficiaryAddress, required — Address of the beneficiary. - No need to pass this field when `bank_details.bank_country_code = SG` & `bank_details.account_currency_code = SGD`
      - `country` string, required — Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - `nationality` string — Two-letter country code representing nationality of the beneficiary.
      - `city` string, required — City of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
      - `street_address` string, required — Street of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
      - `postal_code` string, required — Postal code of the beneficiary.
      - `state` string, required — State or province of the beneficiary. For request validation, non-empty values must match `^[A-Za-z0-9\s\-_().,:@#~!$%^&*+={}\[\]\\|"'<>?/・……]+$`. This applies to all currencies and payment methods. Empty strings and omitted fields skip the character-regex check; whether the field is required is still determined by the existing required-field rules for the endpoint and payout scenario.
    - `additional_info` BeneficiaryAdditionalInfo — Additional information for beneficiaries.
      - `organization_code` string — The Unified Social Credit Identifier assigned to the organization. This field is for companies registered in Mainland China.
      - `proxy_id` string — PayNow proxy identifier (SGD). Supports UEN, phone number, or VPA as the value.
      - `id_type` 'PASSPORT' | 'NATIONAL_ID' | 'DRIVERS_LICENSE' — Identification document type for individual beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = INDIVIDUAL.
      - `id_number` string — Identification number for individual beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = INDIVIDUAL.
      - `tax_id` string — Tax identification number for company beneficiaries. - Required when bank_details.account_currency_code = COP & entity_type = COMPANY.
      - `msisdn` string — Mobile phone number in international format with country code. - Format: +[country_code][phone_number], e.g., +65111111. - Required when bank_details.account_currency_code = COP. - Required when bank_details.account_currency_code = HKD & clearing_system = LOCAL

## Response `200`

Beneficiary update successfully.

- BeneficiaryCreationResponse
  - `beneficiary_id` string, uuid — Universally unique identifier (UUID v4) of the beneficiary.
  - `short_reference_id` string — The reference generated by the system to identify the entity.

---

[API](https://skmtc.dev/uqpay/apis/authentication-api.md) · [All operations](https://skmtc.dev/uqpay/apis/authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/uqpay/authentication-api/revisions/cef532a10777/schema)
