From 32eeae7971c3099f98d0fc4bf19d125613f06b56 Mon Sep 17 00:00:00 2001 From: Aaryaman Bhute Date: Tue, 17 Feb 2026 10:23:45 -0800 Subject: [PATCH 1/6] updates Co-authored-by: Cursor --- mintlify/openapi.yaml | 1237 +++++++++++++---- openapi.yaml | 1237 +++++++++++++---- .../schemas/common/BrlAccountInfo.yaml | 20 + .../schemas/common/BrlBeneficiary.yaml | 32 + .../schemas/common/DkkAccountInfo.yaml | 15 + .../schemas/common/DkkBeneficiary.yaml | 32 + .../schemas/common/GbpAccountInfo.yaml | 8 +- .../schemas/common/GbpBeneficiary.yaml | 32 + .../schemas/common/HkdAccountInfo.yaml | 16 + .../schemas/common/HkdBeneficiary.yaml | 32 + .../schemas/common/IdrAccountInfo.yaml | 16 + .../schemas/common/IdrBeneficiary.yaml | 32 + .../schemas/common/InrAccountInfo.yaml | 12 + .../schemas/common/InrBeneficiary.yaml | 32 + .../schemas/common/MxnAccountInfo.yaml | 16 + .../schemas/common/MxnBeneficiary.yaml | 32 + .../schemas/common/MyrAccountInfo.yaml | 16 + .../schemas/common/MyrBeneficiary.yaml | 32 + .../schemas/common/PhpAccountInfo.yaml | 8 +- .../schemas/common/PhpBeneficiary.yaml | 32 + .../schemas/common/SgdAccountInfo.yaml | 10 +- .../schemas/common/SgdBeneficiary.yaml | 32 + .../schemas/common/ThbAccountInfo.yaml | 16 + .../schemas/common/ThbBeneficiary.yaml | 32 + .../schemas/common/UsdAccountInfo.yaml | 16 + .../schemas/common/UsdBeneficiary.yaml | 34 + .../schemas/common/VndAccountInfo.yaml | 16 + .../schemas/common/VndBeneficiary.yaml | 32 + .../BaseExternalAccountInfo.yaml | 23 +- .../BrlExternalAccountInfo.yaml | 18 + .../CadAccountExternalAccountInfo.yaml | 9 - .../ClabeAccountExternalAccountInfo.yaml | 9 - .../DkkExternalAccountInfo.yaml | 18 + .../ExternalAccountInfoOneOf.yaml | 93 +- .../ExternalAccountType.yaml | 19 +- .../GbpAccountExternalAccountInfo.yaml | 9 - .../GbpExternalAccountInfo.yaml | 18 + .../HkdExternalAccountInfo.yaml | 18 + .../IbanAccountExternalAccountInfo.yaml | 9 - .../IdrExternalAccountInfo.yaml | 18 + .../InrExternalAccountInfo.yaml | 18 + .../MxnExternalAccountInfo.yaml | 18 + .../MyrExternalAccountInfo.yaml | 18 + .../NgnAccountExternalAccountInfo.yaml | 27 - .../PhpAccountExternalAccountInfo.yaml | 9 - .../PhpExternalAccountInfo.yaml | 18 + .../PixAccountExternalAccountInfo.yaml | 9 - .../SgdAccountExternalAccountInfo.yaml | 9 - .../SgdExternalAccountInfo.yaml | 18 + .../ThbExternalAccountInfo.yaml | 18 + .../UpiAccountExternalAccountInfo.yaml | 9 - .../UsAccountExternalAccountInfo.yaml | 9 - .../UsdExternalAccountInfo.yaml | 18 + .../VndExternalAccountInfo.yaml | 18 + 54 files changed, 2785 insertions(+), 769 deletions(-) create mode 100644 openapi/components/schemas/common/BrlAccountInfo.yaml create mode 100644 openapi/components/schemas/common/BrlBeneficiary.yaml create mode 100644 openapi/components/schemas/common/DkkAccountInfo.yaml create mode 100644 openapi/components/schemas/common/DkkBeneficiary.yaml create mode 100644 openapi/components/schemas/common/GbpBeneficiary.yaml create mode 100644 openapi/components/schemas/common/HkdAccountInfo.yaml create mode 100644 openapi/components/schemas/common/HkdBeneficiary.yaml create mode 100644 openapi/components/schemas/common/IdrAccountInfo.yaml create mode 100644 openapi/components/schemas/common/IdrBeneficiary.yaml create mode 100644 openapi/components/schemas/common/InrAccountInfo.yaml create mode 100644 openapi/components/schemas/common/InrBeneficiary.yaml create mode 100644 openapi/components/schemas/common/MxnAccountInfo.yaml create mode 100644 openapi/components/schemas/common/MxnBeneficiary.yaml create mode 100644 openapi/components/schemas/common/MyrAccountInfo.yaml create mode 100644 openapi/components/schemas/common/MyrBeneficiary.yaml create mode 100644 openapi/components/schemas/common/PhpBeneficiary.yaml create mode 100644 openapi/components/schemas/common/SgdBeneficiary.yaml create mode 100644 openapi/components/schemas/common/ThbAccountInfo.yaml create mode 100644 openapi/components/schemas/common/ThbBeneficiary.yaml create mode 100644 openapi/components/schemas/common/UsdAccountInfo.yaml create mode 100644 openapi/components/schemas/common/UsdBeneficiary.yaml create mode 100644 openapi/components/schemas/common/VndAccountInfo.yaml create mode 100644 openapi/components/schemas/common/VndBeneficiary.yaml create mode 100644 openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 1eb035e9..af4f0f20 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -5242,43 +5242,6 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account - BeneficiaryVerificationStatus: - type: string - enum: - - MATCHED - - PARTIAL_MATCH - - NOT_MATCHED - - UNSUPPORTED - - CHECKED_BY_RECEIVING_FI - - PENDING - description: | - The result of verifying the beneficiary name against the account holder name. - - | Status | Description | - |--------|-------------| - | `MATCHED` | The beneficiary name is an exact match | - | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | - | `NOT_MATCHED` | The beneficiary name does not match | - | `UNSUPPORTED` | The payment rail does not support name verification | - | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | - | `PENDING` | Verification is still in progress | - BeneficiaryVerifiedData: - type: object - properties: - fullName: - type: string - description: The verified full name of the account holder as returned by the payment rail - example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,22 +5252,95 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5332,20 +5368,6 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5377,284 +5399,862 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: + GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PhpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + PhpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfo: + type: object + required: + - accountType + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: + type: string + description: SWIFT/BIC code (8 or 11 characters) + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + accountNumber: + type: string + description: Bank account number + example: '0123456789' + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + LightningInfo: + type: object + description: | + Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. + required: + - accountType + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: 1-time use lightning bolt11 invoice payout destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + bolt12: + type: string + description: A bolt12 offer which can be reused as a payment destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + lightningAddress: + type: string + description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. + example: john.doe@lightningwallet.com + LightningExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/LightningInfo' + SolanaWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + TronWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + PolygonWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletInfo' + BaseWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletInfo' + BrlExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfo: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfo: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The VPA of the bank + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnAccountInfo: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - - purposeOfPayment - beneficiary properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MxnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfo: type: object required: - - bankCode - - branchCode - - accountNumber - accountType + - bankName + - accountNumber properties: accountType: type: string enum: - - CAD_ACCOUNT - bankCode: - type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: - type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ + - MYR_ACCOUNT + bankName: + type: string + description: The bank name of the bank accountNumber: type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: + description: The account number of the bank + MyrBeneficiary: type: object required: - - sortCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - GBP_ACCOUNT - sortCode: + - INDIVIDUAL + fullName: type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PhpAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfo: type: object required: + - accountType - bankName - accountNumber - - accountType properties: accountType: type: string enum: - - PHP_ACCOUNT + - THB_ACCOUNT bankName: type: string - description: Name of the beneficiary's bank - example: BDO Unibank + description: The bank name of the bank accountNumber: type: string - description: Bank account number - example: '001234567890' - PhpAccountExternalAccountInfo: + description: The account number of the bank + ThbBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SgdAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfo: type: object required: - - bankName - - swiftCode - - accountNumber - accountType + - accountNumber + - routingNumber properties: accountType: type: string enum: - - SGD_ACCOUNT - bankName: + - USD_ACCOUNT + accountNumber: type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: + description: The account number of the bank + routingNumber: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: + description: The routing number of the bank + UsdBeneficiary: + type: object + required: + - beneficiaryType + - birthDate + - fullName + - nationality + properties: + beneficiaryType: type: string - description: Bank account number - example: '0123456789' - SgdAccountExternalAccountInfo: + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SparkWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - LightningInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfo: type: object - description: | - Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. required: - accountType + - bankName + - accountNumber properties: accountType: type: string enum: - - LIGHTNING - invoice: + - VND_ACCOUNT + bankName: type: string - description: 1-time use lightning bolt11 invoice payout destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - bolt12: + description: The bank name of the bank + accountNumber: type: string - description: A bolt12 offer which can be reused as a payment destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - lightningAddress: + description: The account number of the bank + VndBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: type: string - description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. - example: john.doe@lightningwallet.com - LightningExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/LightningInfo' - SolanaWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' - TronWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' - PolygonWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PolygonWalletInfo' - BaseWalletExternalAccountInfo: + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BaseWalletInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -5664,30 +6264,100 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet - example: US_ACCOUNT + example: GBP_ACCOUNT + BrlAccountInfo: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6373,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -5752,12 +6425,6 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false - beneficiaryVerificationStatus: - $ref: '#/components/schemas/BeneficiaryVerificationStatus' - description: The result of verifying the beneficiary name against the account holder name - beneficiaryVerifiedData: - $ref: '#/components/schemas/BeneficiaryVerifiedData' - description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: @@ -5886,7 +6553,13 @@ components: description: Optional memo or description for the payment example: 'Payment for invoice #1234' counterpartyInformation: - $ref: '#/components/schemas/CounterpartyInformation' + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE discriminator: propertyName: type mapping: @@ -6145,6 +6818,10 @@ components: type: string description: The ID of the quote that was used to trigger this payment example: Quote:019542f5-b3e7-1d02-0000-000000000006 + originalTransactionId: + type: string + description: ID of the original transaction that this transaction is retrying, if applicable + example: Transaction:019542f5-b3e7-1d02-0000-000000000003 paymentInstructions: type: array description: Payment instructions for executing the payment. @@ -6248,14 +6925,6 @@ components: mapping: ACCOUNT: '#/components/schemas/AccountTransactionDestination' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - CounterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE CurrencyPreference: type: object required: @@ -6631,22 +7300,6 @@ components: - SENDING - RECEIVING description: The side of the quote which should be locked and specified in the `lockedCurrencyAmount`. For example, if I want to send exactly $5 MXN from my wallet, I would set this to "sending", and the `lockedCurrencyAmount` to 500 (in cents). If I want the receiver to receive exactly $10 USD, I would set this to "receiving" and the `lockedCurrencyAmount` to 10000 (in cents). - PurposeOfPayment: - type: string - description: The purpose of the payment. This may be required when sending to certain geographies such as India. - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - TAX_PAYMENT - - LOAN_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER QuoteRequest: type: object required: @@ -6676,16 +7329,12 @@ components: example: 1000 immediatelyExecute: type: boolean - description: |- - Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. - This can only be used for quotes with a `source` which is either an internal account, or has direct pull functionality (e.g. ACH pull with an external account). + description: Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. example: false description: type: string description: Optional description/memo for the transfer example: 'Invoice #1234 payment' - purposeOfPayment: - $ref: '#/components/schemas/PurposeOfPayment' senderCustomerInfo: type: object additionalProperties: true diff --git a/openapi.yaml b/openapi.yaml index 1eb035e9..af4f0f20 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5242,43 +5242,6 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account - BeneficiaryVerificationStatus: - type: string - enum: - - MATCHED - - PARTIAL_MATCH - - NOT_MATCHED - - UNSUPPORTED - - CHECKED_BY_RECEIVING_FI - - PENDING - description: | - The result of verifying the beneficiary name against the account holder name. - - | Status | Description | - |--------|-------------| - | `MATCHED` | The beneficiary name is an exact match | - | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | - | `NOT_MATCHED` | The beneficiary name does not match | - | `UNSUPPORTED` | The payment rail does not support name verification | - | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | - | `PENDING` | Verification is still in progress | - BeneficiaryVerifiedData: - type: object - properties: - fullName: - type: string - description: The verified full name of the account holder as returned by the payment rail - example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,22 +5252,95 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5332,20 +5368,6 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5377,284 +5399,862 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: + GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PhpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + PhpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfo: + type: object + required: + - accountType + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: + type: string + description: SWIFT/BIC code (8 or 11 characters) + example: DBSSSGSG + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + accountNumber: + type: string + description: Bank account number + example: '0123456789' + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' + - $ref: '#/components/schemas/SparkWalletInfo' + LightningInfo: + type: object + description: | + Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. + required: + - accountType + properties: + accountType: + type: string + enum: + - LIGHTNING + invoice: + type: string + description: 1-time use lightning bolt11 invoice payout destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + bolt12: + type: string + description: A bolt12 offer which can be reused as a payment destination + example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs + lightningAddress: + type: string + description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. + example: john.doe@lightningwallet.com + LightningExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/LightningInfo' + SolanaWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletInfo' + TronWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletInfo' + PolygonWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletInfo' + BaseWalletExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletInfo' + BrlExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfo: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfo: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The VPA of the bank + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnAccountInfo: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' - type: object required: - - purposeOfPayment - beneficiary properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MxnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfo: type: object required: - - bankCode - - branchCode - - accountNumber - accountType + - bankName + - accountNumber properties: accountType: type: string enum: - - CAD_ACCOUNT - bankCode: - type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: - type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ + - MYR_ACCOUNT + bankName: + type: string + description: The bank name of the bank accountNumber: type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: + description: The account number of the bank + MyrBeneficiary: type: object required: - - sortCode - - accountNumber - - accountType + - beneficiaryType + - fullName properties: - accountType: + beneficiaryType: type: string enum: - - GBP_ACCOUNT - sortCode: + - INDIVIDUAL + fullName: type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: + description: The full name of the beneficiary + birthDate: type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PhpAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfo: type: object required: + - accountType - bankName - accountNumber - - accountType properties: accountType: type: string enum: - - PHP_ACCOUNT + - THB_ACCOUNT bankName: type: string - description: Name of the beneficiary's bank - example: BDO Unibank + description: The bank name of the bank accountNumber: type: string - description: Bank account number - example: '001234567890' - PhpAccountExternalAccountInfo: + description: The account number of the bank + ThbBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SgdAccountInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfo: type: object required: - - bankName - - swiftCode - - accountNumber - accountType + - accountNumber + - routingNumber properties: accountType: type: string enum: - - SGD_ACCOUNT - bankName: + - USD_ACCOUNT + accountNumber: type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: + description: The account number of the bank + routingNumber: type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: + description: The routing number of the bank + UsdBeneficiary: + type: object + required: + - beneficiaryType + - birthDate + - fullName + - nationality + properties: + beneficiaryType: type: string - description: Bank account number - example: '0123456789' - SgdAccountExternalAccountInfo: + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - SparkWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SparkWalletInfo' - LightningInfo: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfo: type: object - description: | - Lightning payment destination. Exactly one of `invoice`, `bolt12`, or `lightningAddress` must be provided. required: - accountType + - bankName + - accountNumber properties: accountType: type: string enum: - - LIGHTNING - invoice: + - VND_ACCOUNT + bankName: type: string - description: 1-time use lightning bolt11 invoice payout destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - bolt12: + description: The bank name of the bank + accountNumber: type: string - description: A bolt12 offer which can be reused as a payment destination - example: lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9cc7g3sdqsvfhkcap3xyhx7un8cqzpgxqzjcsp5f8c52y2stc300gl6s4xswtjpc37hrnnr3c9wvtgjfuvqmpm35evq9qyyssqy4lgd8tj637qcjp05rdpxxykjenthxftej7a2zzmwrmrl70fyj9hvj0rewhzj7jfyuwkwcg9g2jpwtk3wkjtwnkdks84hsnu8xps5vsq4gj5hs - lightningAddress: + description: The account number of the bank + VndBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: type: string - description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. - example: john.doe@lightningwallet.com - LightningExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/LightningInfo' - SolanaWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SolanaWalletInfo' - TronWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TronWalletInfo' - PolygonWalletExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PolygonWalletInfo' - BaseWalletExternalAccountInfo: + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BaseWalletInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -5664,30 +6264,100 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet - example: US_ACCOUNT + example: GBP_ACCOUNT + BrlAccountInfo: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6373,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -5752,12 +6425,6 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false - beneficiaryVerificationStatus: - $ref: '#/components/schemas/BeneficiaryVerificationStatus' - description: The result of verifying the beneficiary name against the account holder name - beneficiaryVerifiedData: - $ref: '#/components/schemas/BeneficiaryVerifiedData' - description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: @@ -5886,7 +6553,13 @@ components: description: Optional memo or description for the payment example: 'Payment for invoice #1234' counterpartyInformation: - $ref: '#/components/schemas/CounterpartyInformation' + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE discriminator: propertyName: type mapping: @@ -6145,6 +6818,10 @@ components: type: string description: The ID of the quote that was used to trigger this payment example: Quote:019542f5-b3e7-1d02-0000-000000000006 + originalTransactionId: + type: string + description: ID of the original transaction that this transaction is retrying, if applicable + example: Transaction:019542f5-b3e7-1d02-0000-000000000003 paymentInstructions: type: array description: Payment instructions for executing the payment. @@ -6248,14 +6925,6 @@ components: mapping: ACCOUNT: '#/components/schemas/AccountTransactionDestination' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - CounterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE CurrencyPreference: type: object required: @@ -6631,22 +7300,6 @@ components: - SENDING - RECEIVING description: The side of the quote which should be locked and specified in the `lockedCurrencyAmount`. For example, if I want to send exactly $5 MXN from my wallet, I would set this to "sending", and the `lockedCurrencyAmount` to 500 (in cents). If I want the receiver to receive exactly $10 USD, I would set this to "receiving" and the `lockedCurrencyAmount` to 10000 (in cents). - PurposeOfPayment: - type: string - description: The purpose of the payment. This may be required when sending to certain geographies such as India. - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - TAX_PAYMENT - - LOAN_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER QuoteRequest: type: object required: @@ -6676,16 +7329,12 @@ components: example: 1000 immediatelyExecute: type: boolean - description: |- - Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. - This can only be used for quotes with a `source` which is either an internal account, or has direct pull functionality (e.g. ACH pull with an external account). + description: Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. example: false description: type: string description: Optional description/memo for the transfer example: 'Invoice #1234 payment' - purposeOfPayment: - $ref: '#/components/schemas/PurposeOfPayment' senderCustomerInfo: type: object additionalProperties: true diff --git a/openapi/components/schemas/common/BrlAccountInfo.yaml b/openapi/components/schemas/common/BrlAccountInfo.yaml new file mode 100644 index 00000000..278a83b8 --- /dev/null +++ b/openapi/components/schemas/common/BrlAccountInfo.yaml @@ -0,0 +1,20 @@ +type: object +required: +- accountType +- pixKey +- pixKeyType +- taxId +properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account diff --git a/openapi/components/schemas/common/BrlBeneficiary.yaml b/openapi/components/schemas/common/BrlBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/BrlBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/DkkAccountInfo.yaml b/openapi/components/schemas/common/DkkAccountInfo.yaml new file mode 100644 index 00000000..b80d6541 --- /dev/null +++ b/openapi/components/schemas/common/DkkAccountInfo.yaml @@ -0,0 +1,15 @@ +type: object +required: +- accountType +- iban +properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank diff --git a/openapi/components/schemas/common/DkkBeneficiary.yaml b/openapi/components/schemas/common/DkkBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/DkkBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml index 68a9a163..9726bb6c 100644 --- a/openapi/components/schemas/common/GbpAccountInfo.yaml +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -1,13 +1,13 @@ type: object required: - - sortCode - - accountNumber - - accountType +- accountType +- sortCode +- accountNumber properties: accountType: type: string enum: - - GBP_ACCOUNT + - GBP_ACCOUNT sortCode: type: string description: UK bank sort code (6 digits, may include hyphens) diff --git a/openapi/components/schemas/common/GbpBeneficiary.yaml b/openapi/components/schemas/common/GbpBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/GbpBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/HkdAccountInfo.yaml b/openapi/components/schemas/common/HkdAccountInfo.yaml new file mode 100644 index 00000000..c3f2c7dd --- /dev/null +++ b/openapi/components/schemas/common/HkdAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/HkdBeneficiary.yaml b/openapi/components/schemas/common/HkdBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/HkdBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/IdrAccountInfo.yaml b/openapi/components/schemas/common/IdrAccountInfo.yaml new file mode 100644 index 00000000..2e601516 --- /dev/null +++ b/openapi/components/schemas/common/IdrAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- sortCode +- accountNumber +properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/IdrBeneficiary.yaml b/openapi/components/schemas/common/IdrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/IdrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/InrAccountInfo.yaml b/openapi/components/schemas/common/InrAccountInfo.yaml new file mode 100644 index 00000000..ef09dec1 --- /dev/null +++ b/openapi/components/schemas/common/InrAccountInfo.yaml @@ -0,0 +1,12 @@ +type: object +required: +- accountType +- vpa +properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The VPA of the bank diff --git a/openapi/components/schemas/common/InrBeneficiary.yaml b/openapi/components/schemas/common/InrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/InrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/MxnAccountInfo.yaml b/openapi/components/schemas/common/MxnAccountInfo.yaml new file mode 100644 index 00000000..d5444dea --- /dev/null +++ b/openapi/components/schemas/common/MxnAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- clabeNumber +properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ diff --git a/openapi/components/schemas/common/MxnBeneficiary.yaml b/openapi/components/schemas/common/MxnBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/MxnBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/MyrAccountInfo.yaml b/openapi/components/schemas/common/MyrAccountInfo.yaml new file mode 100644 index 00000000..490f59e1 --- /dev/null +++ b/openapi/components/schemas/common/MyrAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/MyrBeneficiary.yaml b/openapi/components/schemas/common/MyrBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/MyrBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml index 9b01eda6..3be3ffae 100644 --- a/openapi/components/schemas/common/PhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -1,13 +1,13 @@ type: object required: - - bankName - - accountNumber - - accountType +- accountType +- bankName +- accountNumber properties: accountType: type: string enum: - - PHP_ACCOUNT + - PHP_ACCOUNT bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/PhpBeneficiary.yaml b/openapi/components/schemas/common/PhpBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/PhpBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml index 1821b632..8a0b5517 100644 --- a/openapi/components/schemas/common/SgdAccountInfo.yaml +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -1,14 +1,14 @@ type: object required: - - bankName - - swiftCode - - accountNumber - - accountType +- accountType +- bankName +- swiftCode +- accountNumber properties: accountType: type: string enum: - - SGD_ACCOUNT + - SGD_ACCOUNT bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/SgdBeneficiary.yaml b/openapi/components/schemas/common/SgdBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/SgdBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/ThbAccountInfo.yaml b/openapi/components/schemas/common/ThbAccountInfo.yaml new file mode 100644 index 00000000..6ff0eb90 --- /dev/null +++ b/openapi/components/schemas/common/ThbAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/ThbBeneficiary.yaml b/openapi/components/schemas/common/ThbBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/ThbBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml new file mode 100644 index 00000000..25edd0eb --- /dev/null +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- accountNumber +- routingNumber +properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank diff --git a/openapi/components/schemas/common/UsdBeneficiary.yaml b/openapi/components/schemas/common/UsdBeneficiary.yaml new file mode 100644 index 00000000..68882d7e --- /dev/null +++ b/openapi/components/schemas/common/UsdBeneficiary.yaml @@ -0,0 +1,34 @@ +type: object +required: +- beneficiaryType +- birthDate +- fullName +- nationality +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/VndAccountInfo.yaml b/openapi/components/schemas/common/VndAccountInfo.yaml new file mode 100644 index 00000000..584a0661 --- /dev/null +++ b/openapi/components/schemas/common/VndAccountInfo.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank diff --git a/openapi/components/schemas/common/VndBeneficiary.yaml b/openapi/components/schemas/common/VndBeneficiary.yaml new file mode 100644 index 00000000..c3b5722d --- /dev/null +++ b/openapi/components/schemas/common/VndBeneficiary.yaml @@ -0,0 +1,32 @@ +type: object +required: +- beneficiaryType +- fullName +properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml index ea40286e..cc967a8c 100644 --- a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml @@ -7,19 +7,22 @@ properties: discriminator: propertyName: accountType mapping: - US_ACCOUNT: ./UsAccountExternalAccountInfo.yaml - CLABE: ./ClabeAccountExternalAccountInfo.yaml - PIX: ./PixAccountExternalAccountInfo.yaml - IBAN: ./IbanAccountExternalAccountInfo.yaml - UPI: ./UpiAccountExternalAccountInfo.yaml - NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml - CAD_ACCOUNT: ./CadAccountExternalAccountInfo.yaml - GBP_ACCOUNT: ./GbpAccountExternalAccountInfo.yaml - PHP_ACCOUNT: ./PhpAccountExternalAccountInfo.yaml - SGD_ACCOUNT: ./SgdAccountExternalAccountInfo.yaml + GBP_ACCOUNT: ./GbpExternalAccountInfo.yaml + PHP_ACCOUNT: ./PhpExternalAccountInfo.yaml + SGD_ACCOUNT: ./SgdExternalAccountInfo.yaml SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml TRON_WALLET: ./TronWalletExternalAccountInfo.yaml POLYGON_WALLET: ./PolygonWalletExternalAccountInfo.yaml BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml + BRL_ACCOUNT: ./BrlExternalAccountInfo.yaml + DKK_ACCOUNT: ./DkkExternalAccountInfo.yaml + HKD_ACCOUNT: ./HkdExternalAccountInfo.yaml + IDR_ACCOUNT: ./IdrExternalAccountInfo.yaml + INR_ACCOUNT: ./InrExternalAccountInfo.yaml + MXN_ACCOUNT: ./MxnExternalAccountInfo.yaml + MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml + THB_ACCOUNT: ./ThbExternalAccountInfo.yaml + USD_ACCOUNT: ./UsdExternalAccountInfo.yaml + VND_ACCOUNT: ./VndExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml new file mode 100644 index 00000000..ddfd3557 --- /dev/null +++ b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/BrlAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/BrlBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/BrlBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml deleted file mode 100644 index 055b788c..00000000 --- a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/CadAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml deleted file mode 100644 index e422f992..00000000 --- a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/ClabeAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml new file mode 100644 index 00000000..2a06b867 --- /dev/null +++ b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/DkkAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/DkkBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/DkkBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml index 3833c6b3..b6030a15 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml @@ -1,49 +1,58 @@ oneOf: - - title: US Account - $ref: ./UsAccountExternalAccountInfo.yaml - - title: CLABE Account - $ref: ./ClabeAccountExternalAccountInfo.yaml - - title: PIX Account - $ref: ./PixAccountExternalAccountInfo.yaml - - title: IBAN Account - $ref: ./IbanAccountExternalAccountInfo.yaml - - title: UPI Account - $ref: ./UpiAccountExternalAccountInfo.yaml - - title: NGN Account - $ref: ./NgnAccountExternalAccountInfo.yaml - - title: CAD Account - $ref: ./CadAccountExternalAccountInfo.yaml - - title: GBP Account - $ref: ./GbpAccountExternalAccountInfo.yaml - - title: PHP Account - $ref: ./PhpAccountExternalAccountInfo.yaml - - title: SGD Account - $ref: ./SgdAccountExternalAccountInfo.yaml - - title: Spark Wallet - $ref: ./SparkWalletExternalAccountInfo.yaml - - title: Lightning - $ref: ./LightningExternalAccountInfo.yaml - - title: Solana Wallet - $ref: ./SolanaWalletExternalAccountInfo.yaml - - title: Tron Wallet - $ref: ./TronWalletExternalAccountInfo.yaml - - title: Polygon Wallet - $ref: ./PolygonWalletExternalAccountInfo.yaml - - title: Base Wallet - $ref: ./BaseWalletExternalAccountInfo.yaml +- title: BRL Account + $ref: ./BrlExternalAccountInfo.yaml +- title: DKK Account + $ref: ./DkkExternalAccountInfo.yaml +- title: GBP Account + $ref: ./GbpExternalAccountInfo.yaml +- title: HKD Account + $ref: ./HkdExternalAccountInfo.yaml +- title: IDR Account + $ref: ./IdrExternalAccountInfo.yaml +- title: INR Account + $ref: ./InrExternalAccountInfo.yaml +- title: MXN Account + $ref: ./MxnExternalAccountInfo.yaml +- title: MYR Account + $ref: ./MyrExternalAccountInfo.yaml +- title: PHP Account + $ref: ./PhpExternalAccountInfo.yaml +- title: SGD Account + $ref: ./SgdExternalAccountInfo.yaml +- title: THB Account + $ref: ./ThbExternalAccountInfo.yaml +- title: USD Account + $ref: ./UsdExternalAccountInfo.yaml +- title: VND Account + $ref: ./VndExternalAccountInfo.yaml +- title: Spark Wallet + $ref: ./SparkWalletExternalAccountInfo.yaml +- title: Lightning + $ref: ./LightningExternalAccountInfo.yaml +- title: Solana Wallet + $ref: ./SolanaWalletExternalAccountInfo.yaml +- title: Tron Wallet + $ref: ./TronWalletExternalAccountInfo.yaml +- title: Polygon Wallet + $ref: ./PolygonWalletExternalAccountInfo.yaml +- title: Base Wallet + $ref: ./BaseWalletExternalAccountInfo.yaml discriminator: propertyName: accountType mapping: - US_ACCOUNT: ./UsAccountExternalAccountInfo.yaml - CLABE: ./ClabeAccountExternalAccountInfo.yaml - PIX: ./PixAccountExternalAccountInfo.yaml - IBAN: ./IbanAccountExternalAccountInfo.yaml - UPI: ./UpiAccountExternalAccountInfo.yaml - NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml - CAD_ACCOUNT: ./CadAccountExternalAccountInfo.yaml - GBP_ACCOUNT: ./GbpAccountExternalAccountInfo.yaml - PHP_ACCOUNT: ./PhpAccountExternalAccountInfo.yaml - SGD_ACCOUNT: ./SgdAccountExternalAccountInfo.yaml + BRL_ACCOUNT: ./BrlExternalAccountInfo.yaml + DKK_ACCOUNT: ./DkkExternalAccountInfo.yaml + GBP_ACCOUNT: ./GbpExternalAccountInfo.yaml + HKD_ACCOUNT: ./HkdExternalAccountInfo.yaml + IDR_ACCOUNT: ./IdrExternalAccountInfo.yaml + INR_ACCOUNT: ./InrExternalAccountInfo.yaml + MXN_ACCOUNT: ./MxnExternalAccountInfo.yaml + MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml + PHP_ACCOUNT: ./PhpExternalAccountInfo.yaml + SGD_ACCOUNT: ./SgdExternalAccountInfo.yaml + THB_ACCOUNT: ./ThbExternalAccountInfo.yaml + USD_ACCOUNT: ./UsdExternalAccountInfo.yaml + VND_ACCOUNT: ./VndExternalAccountInfo.yaml SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountType.yaml b/openapi/components/schemas/external_accounts/ExternalAccountType.yaml index 66c8d8b3..be9f55ab 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountType.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountType.yaml @@ -1,12 +1,5 @@ type: string enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -16,5 +9,15 @@ enum: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT description: Type of external account or wallet -example: US_ACCOUNT +example: GBP_ACCOUNT diff --git a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml deleted file mode 100644 index d9d01c90..00000000 --- a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/GbpAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml new file mode 100644 index 00000000..53a6851a --- /dev/null +++ b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/GbpAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/GbpBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/GbpBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml new file mode 100644 index 00000000..95a14095 --- /dev/null +++ b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/HkdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/HkdBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/HkdBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml deleted file mode 100644 index 085cdbc8..00000000 --- a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/IbanAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml new file mode 100644 index 00000000..97057199 --- /dev/null +++ b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/IdrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/IdrBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/IdrBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml new file mode 100644 index 00000000..a2d8c817 --- /dev/null +++ b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/InrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/InrBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/InrBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml new file mode 100644 index 00000000..9effce05 --- /dev/null +++ b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MxnAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MxnBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MxnBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml new file mode 100644 index 00000000..a0d4af0c --- /dev/null +++ b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MyrAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MyrBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MyrBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml deleted file mode 100644 index 959e1bfd..00000000 --- a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,27 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/NgnAccountInfo.yaml - - type: object - required: - - purposeOfPayment - - beneficiary - properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml deleted file mode 100644 index d69becbe..00000000 --- a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/PhpAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml new file mode 100644 index 00000000..605d3f18 --- /dev/null +++ b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/PhpAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/PhpBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/PhpBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml deleted file mode 100644 index f492c457..00000000 --- a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/PixAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml deleted file mode 100644 index 7e4cca1e..00000000 --- a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/SgdAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml new file mode 100644 index 00000000..3965a0a9 --- /dev/null +++ b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/SgdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/SgdBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/SgdBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml new file mode 100644 index 00000000..ed7328ec --- /dev/null +++ b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/ThbAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/ThbBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/ThbBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml deleted file mode 100644 index e7675259..00000000 --- a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/UpiAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml deleted file mode 100644 index 6fa6a96e..00000000 --- a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./BaseExternalAccountInfo.yaml - - $ref: ../common/UsAccountInfo.yaml - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: ./BeneficiaryOneOf.yaml \ No newline at end of file diff --git a/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml new file mode 100644 index 00000000..68ce09ff --- /dev/null +++ b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/UsdAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/UsdBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/UsdBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml new file mode 100644 index 00000000..5ccce3e3 --- /dev/null +++ b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml @@ -0,0 +1,18 @@ +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/VndAccountInfo.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/VndBeneficiary.yaml + - title: Business Beneficiary + $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/VndBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml From c8a1400baa9d153f12b3c333da0712d05d2291c2 Mon Sep 17 00:00:00 2001 From: Aaryaman Bhute Date: Wed, 18 Feb 2026 13:18:41 -0800 Subject: [PATCH 2/6] add --- .../schemas/external_accounts/BaseExternalAccountInfo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml index cc967a8c..166eaeef 100644 --- a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml @@ -25,4 +25,4 @@ discriminator: MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml THB_ACCOUNT: ./ThbExternalAccountInfo.yaml USD_ACCOUNT: ./UsdExternalAccountInfo.yaml - VND_ACCOUNT: ./VndExternalAccountInfo.yaml + VND_ACCOUNT: ./VndExternalAccountInfo.yaml \ No newline at end of file From 68da9c4e24b57835b1ddcd14888a4301af35376c Mon Sep 17 00:00:00 2001 From: Peng Ying Date: Wed, 18 Feb 2026 20:22:11 -0800 Subject: [PATCH 3/6] feat: adding external account validation schema (#206) Added beneficiary name verification fields to the External Account schema. - Added a new `BeneficiaryVerificationStatus` enum with values: `MATCHED`, `PARTIAL_MATCH`, `NOT_MATCHED`, `UNSUPPORTED`, `CHECKED_BY_RECEIVING_FI`, and `PENDING` - Added a new `VerifiedBeneficiaryData` object schema with a `fullName` property - Extended the `ExternalAccount` schema to include: - `beneficiaryVerificationStatus` field to indicate the result of name verification - `beneficiaryVerifiedData` field to store verified account holder information 1. Create an external account with a beneficiary name 2. Verify that the API returns the appropriate verification status and verified data 3. Test each possible verification status to ensure proper handling This change enables beneficiary name verification for external accounts, which helps prevent misdirected payments by confirming that the account holder name matches the expected beneficiary. This feature enhances security and reduces the risk of fraud or errors when sending payments to external accounts. --- mintlify/openapi.yaml | 1177 +++++++++-------------------------------- openapi.yaml | 1177 +++++++++-------------------------------- 2 files changed, 510 insertions(+), 1844 deletions(-) diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index af4f0f20..40ca32a7 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -5242,6 +5242,43 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account + BeneficiaryVerificationStatus: + type: string + enum: + - MATCHED + - PARTIAL_MATCH + - NOT_MATCHED + - UNSUPPORTED + - CHECKED_BY_RECEIVING_FI + - PENDING + description: | + The result of verifying the beneficiary name against the account holder name. + + | Status | Description | + |--------|-------------| + | `MATCHED` | The beneficiary name is an exact match | + | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | + | `NOT_MATCHED` | The beneficiary name does not match | + | `UNSUPPORTED` | The payment rail does not support name verification | + | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | + | `PENDING` | Verification is still in progress | + BeneficiaryVerifiedData: + type: object + properties: + fullName: + type: string + description: The verified full name of the account holder as returned by the payment rail + example: John Doe + UsAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5252,95 +5289,22 @@ components: discriminator: propertyName: accountType mapping: - GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' + CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' + PIX: '#/components/schemas/PixAccountExternalAccountInfo' + IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' + UPI: '#/components/schemas/UpiAccountExternalAccountInfo' + NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' - BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' - DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' - HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' - IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' - INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' - MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' - MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' - THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' - USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' - VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' - GbpAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5368,6 +5332,20 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5399,78 +5377,181 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - GbpExternalAccountInfo: + BeneficiaryOneOf: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IndividualBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ClabeAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/ClabeAccountInfo' - type: object required: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/GbpBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/GbpBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - PhpAccountInfo: + $ref: '#/components/schemas/BeneficiaryOneOf' + PixAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PixAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + IbanAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IbanAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + UpiAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UpiAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + NgnAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfo' + - type: object + required: + - purposeOfPayment + - beneficiary + properties: + purposeOfPayment: + type: string + enum: + - GIFT + - SELF + - GOODS_OR_SERVICES + - EDUCATION + - HEALTH_OR_MEDICAL + - REAL_ESTATE_PURCHASE + - LOAN_PAYMENT + - TAX_PAYMENT + - UTILITY_BILL + - DONATION + - TRAVEL + - OTHER + description: Purpose of payment + example: GOODS_OR_SERVICES + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + CadAccountInfo: type: object required: - - accountType - - bankName + - bankCode + - branchCode - accountNumber + - accountType properties: accountType: type: string enum: - - PHP_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: BDO Unibank + - CAD_ACCOUNT + bankCode: + type: string + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ accountNumber: type: string - description: Bank account number - example: '001234567890' - PhpBeneficiary: + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + CadAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + GbpAccountInfo: type: object required: - - beneficiaryType - - fullName + - sortCode + - accountNumber + - accountType properties: - beneficiaryType: + accountType: type: string enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: + - GBP_ACCOUNT + sortCode: type: string - description: The nationality of the beneficiary - email: + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: type: string - description: The email of the beneficiary - phoneNumber: + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + PhpAccountInfo: + type: object + required: + - bankName + - accountNumber + - accountType + properties: + accountType: type: string - description: The phone number of the beneficiary - registrationNumber: + enum: + - PHP_ACCOUNT + bankName: type: string - description: The registration number of the beneficiary - countryOfResidence: + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - PhpExternalAccountInfo: + description: Bank account number + example: '001234567890' + PhpAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5479,23 +5560,14 @@ components: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/PhpBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/PhpBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' + $ref: '#/components/schemas/BeneficiaryOneOf' SgdAccountInfo: type: object required: - - accountType - bankName - swiftCode - accountNumber + - accountType properties: accountType: type: string @@ -5516,40 +5588,7 @@ components: type: string description: Bank account number example: '0123456789' - SgdBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - SgdExternalAccountInfo: + SgdAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5558,16 +5597,7 @@ components: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/SgdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/SgdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' + $ref: '#/components/schemas/BeneficiaryOneOf' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5615,646 +5645,16 @@ components: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - BrlExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BrlAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/BrlBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/BrlBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - DkkAccountInfo: - type: object - required: - - accountType - - iban - properties: - accountType: - type: string - enum: - - DKK_ACCOUNT - iban: - type: string - description: The IBAN of the bank - swiftBic: - type: string - description: The SWIFT BIC of the bank - DkkBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - DkkExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/DkkBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/DkkBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - HkdAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - HKD_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - HkdBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - HkdExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/HkdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/HkdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - IdrAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - IDR_ACCOUNT - sortCode: - type: string - description: The sort code of the bank - accountNumber: - type: string - description: The account number of the bank - IdrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - IdrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IdrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IdrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - InrAccountInfo: - type: object - required: - - accountType - - vpa - properties: - accountType: - type: string - enum: - - INR_ACCOUNT - vpa: - type: string - description: The VPA of the bank - InrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - InrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/InrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/InrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnAccountInfo: - type: object - required: - - accountType - - clabeNumber - properties: - accountType: - type: string - enum: - - MXN_ACCOUNT - clabeNumber: - type: string - description: The CLABE number of the bank - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ - MxnBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - MxnExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MxnBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/MxnBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - MyrAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - MYR_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - MyrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - MyrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MyrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/MyrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ThbAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - THB_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - ThbBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - ThbExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/ThbBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/ThbBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - UsdAccountInfo: - type: object - required: - - accountType - - accountNumber - - routingNumber - properties: - accountType: - type: string - enum: - - USD_ACCOUNT - accountNumber: - type: string - description: The account number of the bank - routingNumber: - type: string - description: The routing number of the bank - UsdBeneficiary: - type: object - required: - - beneficiaryType - - birthDate - - fullName - - nationality - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - UsdExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/UsdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/UsdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - VndAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - VND_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - VndBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - VndExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/VndBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/VndBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: + - US_ACCOUNT + - CLABE + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -6264,100 +5664,30 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET - - BRL_ACCOUNT - - DKK_ACCOUNT - - HKD_ACCOUNT - - IDR_ACCOUNT - - INR_ACCOUNT - - MXN_ACCOUNT - - MYR_ACCOUNT - - THB_ACCOUNT - - USD_ACCOUNT - - VND_ACCOUNT description: Type of external account or wallet - example: GBP_ACCOUNT - BrlAccountInfo: - type: object - required: - - accountType - - pixKey - - pixKeyType - - taxId - properties: - accountType: - type: string - enum: - - BRL_ACCOUNT - pixKey: - type: string - description: The PIX key of the bank - pixKeyType: - type: string - description: The type of PIX key of the bank - taxId: - type: string - description: The tax ID of the bank account - BrlBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' + example: US_ACCOUNT ExternalAccountInfoOneOf: oneOf: - - title: BRL Account - $ref: '#/components/schemas/BrlExternalAccountInfo' - - title: DKK Account - $ref: '#/components/schemas/DkkExternalAccountInfo' + - title: US Account + $ref: '#/components/schemas/UsAccountExternalAccountInfo' + - title: CLABE Account + $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' + - title: PIX Account + $ref: '#/components/schemas/PixAccountExternalAccountInfo' + - title: IBAN Account + $ref: '#/components/schemas/IbanAccountExternalAccountInfo' + - title: UPI Account + $ref: '#/components/schemas/UpiAccountExternalAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/CadAccountExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpExternalAccountInfo' - - title: HKD Account - $ref: '#/components/schemas/HkdExternalAccountInfo' - - title: IDR Account - $ref: '#/components/schemas/IdrExternalAccountInfo' - - title: INR Account - $ref: '#/components/schemas/InrExternalAccountInfo' - - title: MXN Account - $ref: '#/components/schemas/MxnExternalAccountInfo' - - title: MYR Account - $ref: '#/components/schemas/MyrExternalAccountInfo' + $ref: '#/components/schemas/GbpAccountExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpExternalAccountInfo' + $ref: '#/components/schemas/PhpAccountExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdExternalAccountInfo' - - title: THB Account - $ref: '#/components/schemas/ThbExternalAccountInfo' - - title: USD Account - $ref: '#/components/schemas/UsdExternalAccountInfo' - - title: VND Account - $ref: '#/components/schemas/VndExternalAccountInfo' + $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -6373,19 +5703,16 @@ components: discriminator: propertyName: accountType mapping: - BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' - DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' - HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' - IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' - INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' - MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' - MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' - THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' - USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' - VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' + CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' + PIX: '#/components/schemas/PixAccountExternalAccountInfo' + IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' + UPI: '#/components/schemas/UpiAccountExternalAccountInfo' + NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -6425,6 +5752,12 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false + beneficiaryVerificationStatus: + $ref: '#/components/schemas/BeneficiaryVerificationStatus' + description: The result of verifying the beneficiary name against the account holder name + beneficiaryVerifiedData: + $ref: '#/components/schemas/BeneficiaryVerifiedData' + description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: diff --git a/openapi.yaml b/openapi.yaml index af4f0f20..40ca32a7 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5242,6 +5242,43 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account + BeneficiaryVerificationStatus: + type: string + enum: + - MATCHED + - PARTIAL_MATCH + - NOT_MATCHED + - UNSUPPORTED + - CHECKED_BY_RECEIVING_FI + - PENDING + description: | + The result of verifying the beneficiary name against the account holder name. + + | Status | Description | + |--------|-------------| + | `MATCHED` | The beneficiary name is an exact match | + | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | + | `NOT_MATCHED` | The beneficiary name does not match | + | `UNSUPPORTED` | The payment rail does not support name verification | + | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | + | `PENDING` | Verification is still in progress | + BeneficiaryVerifiedData: + type: object + properties: + fullName: + type: string + description: The verified full name of the account holder as returned by the payment rail + example: John Doe + UsAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5252,95 +5289,22 @@ components: discriminator: propertyName: accountType mapping: - GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' + CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' + PIX: '#/components/schemas/PixAccountExternalAccountInfo' + IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' + UPI: '#/components/schemas/UpiAccountExternalAccountInfo' + NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' - BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' - DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' - HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' - IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' - INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' - MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' - MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' - THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' - USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' - VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' - GbpAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5368,6 +5332,20 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5399,78 +5377,181 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - GbpExternalAccountInfo: + BeneficiaryOneOf: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IndividualBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ClabeAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/ClabeAccountInfo' - type: object required: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/GbpBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/GbpBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - PhpAccountInfo: + $ref: '#/components/schemas/BeneficiaryOneOf' + PixAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PixAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + IbanAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IbanAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + UpiAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UpiAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + NgnAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfo' + - type: object + required: + - purposeOfPayment + - beneficiary + properties: + purposeOfPayment: + type: string + enum: + - GIFT + - SELF + - GOODS_OR_SERVICES + - EDUCATION + - HEALTH_OR_MEDICAL + - REAL_ESTATE_PURCHASE + - LOAN_PAYMENT + - TAX_PAYMENT + - UTILITY_BILL + - DONATION + - TRAVEL + - OTHER + description: Purpose of payment + example: GOODS_OR_SERVICES + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + CadAccountInfo: type: object required: - - accountType - - bankName + - bankCode + - branchCode - accountNumber + - accountType properties: accountType: type: string enum: - - PHP_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: BDO Unibank + - CAD_ACCOUNT + bankCode: + type: string + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ accountNumber: type: string - description: Bank account number - example: '001234567890' - PhpBeneficiary: + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + CadAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + GbpAccountInfo: type: object required: - - beneficiaryType - - fullName + - sortCode + - accountNumber + - accountType properties: - beneficiaryType: + accountType: type: string enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: + - GBP_ACCOUNT + sortCode: type: string - description: The nationality of the beneficiary - email: + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: type: string - description: The email of the beneficiary - phoneNumber: + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' + PhpAccountInfo: + type: object + required: + - bankName + - accountNumber + - accountType + properties: + accountType: type: string - description: The phone number of the beneficiary - registrationNumber: + enum: + - PHP_ACCOUNT + bankName: type: string - description: The registration number of the beneficiary - countryOfResidence: + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - PhpExternalAccountInfo: + description: Bank account number + example: '001234567890' + PhpAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5479,23 +5560,14 @@ components: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/PhpBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/PhpBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' + $ref: '#/components/schemas/BeneficiaryOneOf' SgdAccountInfo: type: object required: - - accountType - bankName - swiftCode - accountNumber + - accountType properties: accountType: type: string @@ -5516,40 +5588,7 @@ components: type: string description: Bank account number example: '0123456789' - SgdBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - SgdExternalAccountInfo: + SgdAccountExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5558,16 +5597,7 @@ components: - beneficiary properties: beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/SgdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/SgdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' + $ref: '#/components/schemas/BeneficiaryOneOf' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5615,646 +5645,16 @@ components: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - BrlExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BrlAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/BrlBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/BrlBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - DkkAccountInfo: - type: object - required: - - accountType - - iban - properties: - accountType: - type: string - enum: - - DKK_ACCOUNT - iban: - type: string - description: The IBAN of the bank - swiftBic: - type: string - description: The SWIFT BIC of the bank - DkkBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - DkkExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/DkkBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/DkkBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - HkdAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - HKD_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - HkdBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - HkdExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/HkdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/HkdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - IdrAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - IDR_ACCOUNT - sortCode: - type: string - description: The sort code of the bank - accountNumber: - type: string - description: The account number of the bank - IdrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - IdrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IdrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IdrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - InrAccountInfo: - type: object - required: - - accountType - - vpa - properties: - accountType: - type: string - enum: - - INR_ACCOUNT - vpa: - type: string - description: The VPA of the bank - InrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - InrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/InrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/InrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnAccountInfo: - type: object - required: - - accountType - - clabeNumber - properties: - accountType: - type: string - enum: - - MXN_ACCOUNT - clabeNumber: - type: string - description: The CLABE number of the bank - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ - MxnBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - MxnExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MxnBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/MxnBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - MyrAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - MYR_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - MyrBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - MyrExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/MyrBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/MyrBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ThbAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - THB_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - ThbBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - ThbExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/ThbBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/ThbBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - UsdAccountInfo: - type: object - required: - - accountType - - accountNumber - - routingNumber - properties: - accountType: - type: string - enum: - - USD_ACCOUNT - accountNumber: - type: string - description: The account number of the bank - routingNumber: - type: string - description: The routing number of the bank - UsdBeneficiary: - type: object - required: - - beneficiaryType - - birthDate - - fullName - - nationality - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - UsdExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/UsdBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/UsdBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - VndAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - VND_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank - VndBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' - VndExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/VndBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/VndBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' ExternalAccountType: type: string enum: + - US_ACCOUNT + - CLABE + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - CAD_ACCOUNT - GBP_ACCOUNT - PHP_ACCOUNT - SGD_ACCOUNT @@ -6264,100 +5664,30 @@ components: - TRON_WALLET - POLYGON_WALLET - BASE_WALLET - - BRL_ACCOUNT - - DKK_ACCOUNT - - HKD_ACCOUNT - - IDR_ACCOUNT - - INR_ACCOUNT - - MXN_ACCOUNT - - MYR_ACCOUNT - - THB_ACCOUNT - - USD_ACCOUNT - - VND_ACCOUNT description: Type of external account or wallet - example: GBP_ACCOUNT - BrlAccountInfo: - type: object - required: - - accountType - - pixKey - - pixKeyType - - taxId - properties: - accountType: - type: string - enum: - - BRL_ACCOUNT - pixKey: - type: string - description: The PIX key of the bank - pixKeyType: - type: string - description: The type of PIX key of the bank - taxId: - type: string - description: The tax ID of the bank account - BrlBeneficiary: - type: object - required: - - beneficiaryType - - fullName - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: The full name of the beneficiary - birthDate: - type: string - description: The birth date of the beneficiary - nationality: - type: string - description: The nationality of the beneficiary - email: - type: string - description: The email of the beneficiary - phoneNumber: - type: string - description: The phone number of the beneficiary - registrationNumber: - type: string - description: The registration number of the beneficiary - countryOfResidence: - type: string - description: The country of residence of the beneficiary - address: - $ref: '#/components/schemas/Address' + example: US_ACCOUNT ExternalAccountInfoOneOf: oneOf: - - title: BRL Account - $ref: '#/components/schemas/BrlExternalAccountInfo' - - title: DKK Account - $ref: '#/components/schemas/DkkExternalAccountInfo' + - title: US Account + $ref: '#/components/schemas/UsAccountExternalAccountInfo' + - title: CLABE Account + $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' + - title: PIX Account + $ref: '#/components/schemas/PixAccountExternalAccountInfo' + - title: IBAN Account + $ref: '#/components/schemas/IbanAccountExternalAccountInfo' + - title: UPI Account + $ref: '#/components/schemas/UpiAccountExternalAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/CadAccountExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpExternalAccountInfo' - - title: HKD Account - $ref: '#/components/schemas/HkdExternalAccountInfo' - - title: IDR Account - $ref: '#/components/schemas/IdrExternalAccountInfo' - - title: INR Account - $ref: '#/components/schemas/InrExternalAccountInfo' - - title: MXN Account - $ref: '#/components/schemas/MxnExternalAccountInfo' - - title: MYR Account - $ref: '#/components/schemas/MyrExternalAccountInfo' + $ref: '#/components/schemas/GbpAccountExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpExternalAccountInfo' + $ref: '#/components/schemas/PhpAccountExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdExternalAccountInfo' - - title: THB Account - $ref: '#/components/schemas/ThbExternalAccountInfo' - - title: USD Account - $ref: '#/components/schemas/UsdExternalAccountInfo' - - title: VND Account - $ref: '#/components/schemas/VndExternalAccountInfo' + $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -6373,19 +5703,16 @@ components: discriminator: propertyName: accountType mapping: - BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' - DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' - HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' - IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' - INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' - MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' - MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' - THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' - USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' - VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' + CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' + PIX: '#/components/schemas/PixAccountExternalAccountInfo' + IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' + UPI: '#/components/schemas/UpiAccountExternalAccountInfo' + NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -6425,6 +5752,12 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false + beneficiaryVerificationStatus: + $ref: '#/components/schemas/BeneficiaryVerificationStatus' + description: The result of verifying the beneficiary name against the account holder name + beneficiaryVerifiedData: + $ref: '#/components/schemas/BeneficiaryVerifiedData' + description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: From aa4eb63be17ad7d79a58f2b9d24e9f0b4dfc2c50 Mon Sep 17 00:00:00 2001 From: Aaryaman Bhute Date: Tue, 17 Feb 2026 10:23:45 -0800 Subject: [PATCH 4/6] updates Co-authored-by: Cursor --- mintlify/openapi.yaml | 1203 +++++++++++++---- openapi.yaml | 1203 +++++++++++++---- .../BaseExternalAccountInfo.yaml | 2 +- 3 files changed, 1871 insertions(+), 537 deletions(-) diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 40ca32a7..af4f0f20 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -5242,43 +5242,6 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account - BeneficiaryVerificationStatus: - type: string - enum: - - MATCHED - - PARTIAL_MATCH - - NOT_MATCHED - - UNSUPPORTED - - CHECKED_BY_RECEIVING_FI - - PENDING - description: | - The result of verifying the beneficiary name against the account holder name. - - | Status | Description | - |--------|-------------| - | `MATCHED` | The beneficiary name is an exact match | - | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | - | `NOT_MATCHED` | The beneficiary name does not match | - | `UNSUPPORTED` | The payment rail does not support name verification | - | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | - | `PENDING` | Verification is still in progress | - BeneficiaryVerifiedData: - type: object - properties: - fullName: - type: string - description: The verified full name of the account holder as returned by the payment rail - example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,22 +5252,95 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5332,20 +5368,6 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5377,152 +5399,7 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' - - type: object - required: - - purposeOfPayment - - beneficiary - properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: - type: object - required: - - bankCode - - branchCode - - accountNumber - - accountType - properties: - accountType: - type: string - enum: - - CAD_ACCOUNT - bankCode: - type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: - type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - accountNumber: - type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: - type: object - required: - - sortCode - - accountNumber - - accountType - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/GbpAccountInfo' @@ -5531,13 +5408,22 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' PhpAccountInfo: type: object required: + - accountType - bankName - accountNumber - - accountType properties: accountType: type: string @@ -5551,7 +5437,40 @@ components: type: string description: Bank account number example: '001234567890' - PhpAccountExternalAccountInfo: + PhpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + PhpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5560,14 +5479,23 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SgdAccountInfo: type: object required: + - accountType - bankName - swiftCode - accountNumber - - accountType properties: accountType: type: string @@ -5588,7 +5516,40 @@ components: type: string description: Bank account number example: '0123456789' - SgdAccountExternalAccountInfo: + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5597,7 +5558,16 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5645,49 +5615,749 @@ components: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - ExternalAccountType: - type: string - enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - - GBP_ACCOUNT - - PHP_ACCOUNT - - SGD_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of external account or wallet - example: US_ACCOUNT + BrlExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfo: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfo: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The VPA of the bank + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnAccountInfo: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MxnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + MyrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + ThbBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfo: + type: object + required: + - accountType + - accountNumber + - routingNumber + properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank + UsdBeneficiary: + type: object + required: + - beneficiaryType + - birthDate + - fullName + - nationality + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + VndBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountType: + type: string + enum: + - GBP_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT + description: Type of external account or wallet + example: GBP_ACCOUNT + BrlAccountInfo: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6373,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -5752,12 +6425,6 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false - beneficiaryVerificationStatus: - $ref: '#/components/schemas/BeneficiaryVerificationStatus' - description: The result of verifying the beneficiary name against the account holder name - beneficiaryVerifiedData: - $ref: '#/components/schemas/BeneficiaryVerifiedData' - description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: diff --git a/openapi.yaml b/openapi.yaml index 40ca32a7..af4f0f20 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5242,43 +5242,6 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account - BeneficiaryVerificationStatus: - type: string - enum: - - MATCHED - - PARTIAL_MATCH - - NOT_MATCHED - - UNSUPPORTED - - CHECKED_BY_RECEIVING_FI - - PENDING - description: | - The result of verifying the beneficiary name against the account holder name. - - | Status | Description | - |--------|-------------| - | `MATCHED` | The beneficiary name is an exact match | - | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | - | `NOT_MATCHED` | The beneficiary name does not match | - | `UNSUPPORTED` | The payment rail does not support name verification | - | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | - | `PENDING` | Verification is still in progress | - BeneficiaryVerifiedData: - type: object - properties: - fullName: - type: string - description: The verified full name of the account holder as returned by the payment rail - example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' BaseExternalAccountInfo: type: object required: @@ -5289,22 +5252,95 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' TRON_WALLET: '#/components/schemas/TronWalletExternalAccountInfo' POLYGON_WALLET: '#/components/schemas/PolygonWalletExternalAccountInfo' BASE_WALLET: '#/components/schemas/BaseWalletExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + GbpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' IndividualBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5332,20 +5368,6 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: allOf: - $ref: '#/components/schemas/BaseBeneficiary' @@ -5377,152 +5399,7 @@ components: - BUSINESS description: Whether the beneficiary is an individual or a business entity example: INDIVIDUAL - BeneficiaryOneOf: - oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - ClabeAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - PixAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - IbanAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - UpiAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - NgnAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' - - type: object - required: - - purposeOfPayment - - beneficiary - properties: - purposeOfPayment: - type: string - enum: - - GIFT - - SELF - - GOODS_OR_SERVICES - - EDUCATION - - HEALTH_OR_MEDICAL - - REAL_ESTATE_PURCHASE - - LOAN_PAYMENT - - TAX_PAYMENT - - UTILITY_BILL - - DONATION - - TRAVEL - - OTHER - description: Purpose of payment - example: GOODS_OR_SERVICES - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - CadAccountInfo: - type: object - required: - - bankCode - - branchCode - - accountNumber - - accountType - properties: - accountType: - type: string - enum: - - CAD_ACCOUNT - bankCode: - type: string - description: Canadian financial institution number (3 digits) - example: '001' - minLength: 3 - maxLength: 3 - pattern: ^[0-9]{3}$ - branchCode: - type: string - description: Transit number identifying the branch (5 digits) - example: '00012' - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - accountNumber: - type: string - description: Bank account number (7-12 digits) - example: '1234567' - minLength: 7 - maxLength: 12 - pattern: ^[0-9]{7,12}$ - CadAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - GbpAccountInfo: - type: object - required: - - sortCode - - accountNumber - - accountType - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ - GbpAccountExternalAccountInfo: + GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/GbpAccountInfo' @@ -5531,13 +5408,22 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GbpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GbpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' PhpAccountInfo: type: object required: + - accountType - bankName - accountNumber - - accountType properties: accountType: type: string @@ -5551,7 +5437,40 @@ components: type: string description: Bank account number example: '001234567890' - PhpAccountExternalAccountInfo: + PhpBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + PhpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5560,14 +5479,23 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PhpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PhpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SgdAccountInfo: type: object required: + - accountType - bankName - swiftCode - accountNumber - - accountType properties: accountType: type: string @@ -5588,7 +5516,40 @@ components: type: string description: Bank account number example: '0123456789' - SgdAccountExternalAccountInfo: + SgdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + SgdExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5597,7 +5558,16 @@ components: - beneficiary properties: beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/SgdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/SgdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5645,49 +5615,749 @@ components: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - ExternalAccountType: - type: string - enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - - GBP_ACCOUNT - - PHP_ACCOUNT - - SGD_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of external account or wallet - example: US_ACCOUNT + BrlExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkAccountInfo: + type: object + required: + - accountType + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + DkkBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + DkkExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/DkkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/DkkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HkdAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + HkdBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + HkdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HkdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HkdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + IdrAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + IdrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + IdrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/IdrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IdrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + InrAccountInfo: + type: object + required: + - accountType + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The VPA of the bank + InrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + InrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/InrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/InrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnAccountInfo: + type: object + required: + - accountType + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + MxnBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MxnExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MxnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MxnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MyrAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + MyrBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + MyrExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MyrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MyrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ThbAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + ThbBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + ThbExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ThbBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ThbBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdAccountInfo: + type: object + required: + - accountType + - accountNumber + - routingNumber + properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank + UsdBeneficiary: + type: object + required: + - beneficiaryType + - birthDate + - fullName + - nationality + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + UsdExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UsdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UsdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + VndAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + VndBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + VndExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/VndBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/VndBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountType: + type: string + enum: + - GBP_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + - BRL_ACCOUNT + - DKK_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - INR_ACCOUNT + - MXN_ACCOUNT + - MYR_ACCOUNT + - THB_ACCOUNT + - USD_ACCOUNT + - VND_ACCOUNT + description: Type of external account or wallet + example: GBP_ACCOUNT + BrlAccountInfo: + type: object + required: + - accountType + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + BrlBeneficiary: + type: object + required: + - beneficiaryType + - fullName + properties: + beneficiaryType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: The full name of the beneficiary + birthDate: + type: string + description: The birth date of the beneficiary + nationality: + type: string + description: The nationality of the beneficiary + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + registrationNumber: + type: string + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/BrlExternalAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/DkkExternalAccountInfo' - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + $ref: '#/components/schemas/GbpExternalAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/HkdExternalAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/IdrExternalAccountInfo' + - title: INR Account + $ref: '#/components/schemas/InrExternalAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/MxnExternalAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/MyrExternalAccountInfo' - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + $ref: '#/components/schemas/PhpExternalAccountInfo' - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + $ref: '#/components/schemas/SgdExternalAccountInfo' + - title: THB Account + $ref: '#/components/schemas/ThbExternalAccountInfo' + - title: USD Account + $ref: '#/components/schemas/UsdExternalAccountInfo' + - title: VND Account + $ref: '#/components/schemas/VndExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5703,16 +6373,19 @@ components: discriminator: propertyName: accountType mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' @@ -5752,12 +6425,6 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false - beneficiaryVerificationStatus: - $ref: '#/components/schemas/BeneficiaryVerificationStatus' - description: The result of verifying the beneficiary name against the account holder name - beneficiaryVerifiedData: - $ref: '#/components/schemas/BeneficiaryVerifiedData' - description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: diff --git a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml index 166eaeef..cc967a8c 100644 --- a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml @@ -25,4 +25,4 @@ discriminator: MYR_ACCOUNT: ./MyrExternalAccountInfo.yaml THB_ACCOUNT: ./ThbExternalAccountInfo.yaml USD_ACCOUNT: ./UsdExternalAccountInfo.yaml - VND_ACCOUNT: ./VndExternalAccountInfo.yaml \ No newline at end of file + VND_ACCOUNT: ./VndExternalAccountInfo.yaml From 7fcddffb10117dec5c1c4dad778eab501ea4ca7f Mon Sep 17 00:00:00 2001 From: Aaryaman Bhute Date: Fri, 20 Feb 2026 10:34:43 -0800 Subject: [PATCH 5/6] remove old and update payment instructions --- mintlify/openapi.yaml | 1200 ++++++++++------- openapi.yaml | 1200 ++++++++++------- .../common/BasePaymentAccountInfo.yaml | 19 +- .../schemas/common/BrlAccountInfo.yaml | 14 + .../schemas/common/BusinessBeneficiary.yaml | 29 + .../schemas/common/CadAccountInfo.yaml | 16 +- .../schemas/common/ClabeAccountInfo.yaml | 16 - .../schemas/common/DkkAccountInfo.yaml | 15 + .../schemas/common/GbpAccountInfo.yaml | 14 + .../schemas/common/HkdAccountInfo.yaml | 14 + .../schemas/common/IbanAccountInfo.yaml | 23 - .../schemas/common/IdrAccountInfo.yaml | 14 + .../schemas/common/InrAccountInfo.yaml | 15 + .../schemas/common/MxnAccountInfo.yaml | 14 + .../schemas/common/MyrAccountInfo.yaml | 14 + .../schemas/common/NgnAccountInfo.yaml | 16 +- .../schemas/common/PaymentAccountType.yaml | 21 +- ...ntInfo.yaml => PaymentBrlAccountInfo.yaml} | 2 +- ...ntInfo.yaml => PaymentCadAccountInfo.yaml} | 2 +- ...ntInfo.yaml => PaymentDkkAccountInfo.yaml} | 2 +- ...ntInfo.yaml => PaymentGbpAccountInfo.yaml} | 2 +- .../schemas/common/PaymentHkdAccountInfo.yaml | 13 + .../schemas/common/PaymentIdrAccountInfo.yaml | 13 + ...ntInfo.yaml => PaymentInrAccountInfo.yaml} | 2 +- .../schemas/common/PaymentInstructions.yaml | 60 +- .../schemas/common/PaymentMxnAccountInfo.yaml | 13 + .../schemas/common/PaymentMyrAccountInfo.yaml | 13 + .../schemas/common/PaymentPhpAccountInfo.yaml | 13 + .../schemas/common/PaymentSgdAccountInfo.yaml | 13 + .../schemas/common/PaymentThbAccountInfo.yaml | 13 + .../schemas/common/PaymentUsdAccountInfo.yaml | 13 + .../schemas/common/PaymentVndAccountInfo.yaml | 13 + .../schemas/common/PhpAccountInfo.yaml | 14 + .../schemas/common/PixAccountInfo.yaml | 29 - .../schemas/common/SgdAccountInfo.yaml | 16 + .../schemas/common/ThbAccountInfo.yaml | 14 + .../schemas/common/UpiAccountInfo.yaml | 13 - .../schemas/common/UsAccountInfo.yaml | 33 - .../schemas/common/UsdAccountInfo.yaml | 17 + .../schemas/common/VndAccountInfo.yaml | 14 + .../external_accounts/BaseBeneficiary.yaml | 2 +- .../external_accounts/BeneficiaryOneOf.yaml | 4 +- .../BrlExternalAccountInfo.yaml | 4 +- .../BusinessBeneficiary.yaml | 23 - .../DkkExternalAccountInfo.yaml | 4 +- .../GbpExternalAccountInfo.yaml | 4 +- .../HkdExternalAccountInfo.yaml | 4 +- .../IdrExternalAccountInfo.yaml | 4 +- .../InrExternalAccountInfo.yaml | 4 +- .../MxnExternalAccountInfo.yaml | 4 +- .../MyrExternalAccountInfo.yaml | 4 +- .../PhpExternalAccountInfo.yaml | 4 +- .../SgdExternalAccountInfo.yaml | 4 +- .../ThbExternalAccountInfo.yaml | 4 +- .../UsdExternalAccountInfo.yaml | 4 +- .../VndExternalAccountInfo.yaml | 4 +- 56 files changed, 1951 insertions(+), 1121 deletions(-) create mode 100644 openapi/components/schemas/common/BusinessBeneficiary.yaml delete mode 100644 openapi/components/schemas/common/ClabeAccountInfo.yaml delete mode 100644 openapi/components/schemas/common/IbanAccountInfo.yaml rename openapi/components/schemas/common/{PaymentPixAccountInfo.yaml => PaymentBrlAccountInfo.yaml} (59%) rename openapi/components/schemas/common/{PaymentUsAccountInfo.yaml => PaymentCadAccountInfo.yaml} (90%) rename openapi/components/schemas/common/{PaymentIbanAccountInfo.yaml => PaymentDkkAccountInfo.yaml} (90%) rename openapi/components/schemas/common/{PaymentClabeAccountInfo.yaml => PaymentGbpAccountInfo.yaml} (90%) create mode 100644 openapi/components/schemas/common/PaymentHkdAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentIdrAccountInfo.yaml rename openapi/components/schemas/common/{PaymentUpiAccountInfo.yaml => PaymentInrAccountInfo.yaml} (59%) create mode 100644 openapi/components/schemas/common/PaymentMxnAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentMyrAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentPhpAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentSgdAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentThbAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentUsdAccountInfo.yaml create mode 100644 openapi/components/schemas/common/PaymentVndAccountInfo.yaml delete mode 100644 openapi/components/schemas/common/PixAccountInfo.yaml delete mode 100644 openapi/components/schemas/common/UpiAccountInfo.yaml delete mode 100644 openapi/components/schemas/common/UsAccountInfo.yaml delete mode 100644 openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index af4f0f20..aaeca601 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -4765,10 +4765,10 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' - PaymentClabeAccountInfo: + PaymentUsdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - reference @@ -4781,62 +4781,467 @@ components: type: object required: - accountType - properties: - accountType: - $ref: '#/components/schemas/PaymentAccountType' - discriminator: - propertyName: accountType - mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' - NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' - SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' - LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' - SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' - TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' - POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' - BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' - UsAccountInfo: - type: object - required: + properties: + accountType: + $ref: '#/components/schemas/PaymentAccountType' + discriminator: + propertyName: accountType + mapping: + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' + SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' + LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' + SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' + TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' + POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' + BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' + BrlAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + PaymentBrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + MxnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + paymentRails: + type: array + items: + type: string + enum: + - SPEI + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + PaymentMxnAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + DkkAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + PaymentDkkAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + InrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS + vpa: + type: string + description: The VPA of the bank + PaymentInrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + NgnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + accountNumber: + type: string + description: Nigerian bank account number + example: '0123456789' + minLength: 10 + maxLength: 10 + pattern: ^[0-9]{10}$ + bankName: + type: string + description: Name of the bank + example: First Bank of Nigeria + PaymentNgnAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + CadAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankCode + - branchCode + - accountNumber + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankCode: + type: string + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + accountNumber: + type: string + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + PaymentCadAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + GbpAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + PaymentGbpAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + HkdAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentHkdAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + IdrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentIdrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + MyrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName - accountNumber - - routingNumber - - accountCategory - - accountType properties: accountType: type: string enum: - - US_ACCOUNT - accountNumber: - type: string - description: US bank account number - example: '123456789' - routingNumber: - type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: - type: string - enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING + - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string - description: Name of the bank - example: Chase Bank - PaymentUsAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentMyrAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - reference @@ -4845,68 +5250,98 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PixAccountInfo: + PhpAccountInfo: type: object required: - - pixKey - - pixKeyType - - taxId - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: + - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: type: string - description: Tax ID of the account holder - example: '1234567890' - PaymentPixAccountInfo: + description: Bank account number + example: '001234567890' + PaymentPhpAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - IbanAccountInfo: + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SgdAccountInfo: type: object required: - - iban - - swiftBic - accountType + - countries + - paymentRails + - bankName + - swiftCode + - accountNumber properties: accountType: type: string enum: - - IBAN - iban: + - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER + bankName: type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - swiftBic: + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: type: string description: SWIFT/BIC code (8 or 11 characters) - example: DEUTDEFF + example: DBSSSGSG minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - PaymentIbanAccountInfo: + accountNumber: + type: string + description: Bank account number + example: '0123456789' + PaymentSgdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' - type: object required: - reference @@ -4915,50 +5350,84 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UpiAccountInfo: + ThbAccountInfo: type: object required: - - vpa - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - UPI - vpa: + - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank - PaymentUpiAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentThbAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' - NgnAccountInfo: + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + VndAccountInfo: type: object required: - - accountNumber - - bankName - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - NGN_ACCOUNT - accountNumber: - type: string - description: Nigerian bank account number - example: '0123456789' - minLength: 10 - maxLength: 10 - pattern: ^[0-9]{10}$ + - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string - description: Name of the bank - example: First Bank of Nigeria - PaymentNgnAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentVndAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' - type: object required: - reference @@ -5118,12 +5587,21 @@ components: PaymentAccountType: type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5131,24 +5609,41 @@ components: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: + example: USD_ACCOUNT + UsdAccountInfo: type: object required: - - clabeNumber - accountType + - countries + - paymentRails + - accountNumber + - routingNumber properties: accountType: type: string enum: - - CLABE - clabeNumber: + - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + accountNumber: type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank PaymentInstructions: type: object required: @@ -5164,16 +5659,36 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - title: USD Bank Account + $ref: '#/components/schemas/PaymentUsdAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/PaymentBrlAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/PaymentMxnAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/PaymentDkkAccountInfo' + - title: INR Account + $ref: '#/components/schemas/PaymentInrAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/PaymentNgnAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/PaymentCadAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/PaymentGbpAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/PaymentHkdAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/PaymentIdrAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/PaymentMyrAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PaymentPhpAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/PaymentSgdAccountInfo' + - title: THB Account + $ref: '#/components/schemas/PaymentThbAccountInfo' + - title: VND Account + $ref: '#/components/schemas/PaymentVndAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/PaymentSparkWalletInfo' - title: Lightning Invoice @@ -5189,11 +5704,21 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -5242,6 +5767,33 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account + BeneficiaryVerificationStatus: + type: string + enum: + - MATCHED + - PARTIAL_MATCH + - NOT_MATCHED + - UNSUPPORTED + - CHECKED_BY_RECEIVING_FI + - PENDING + description: | + The result of verifying the beneficiary name against the account holder name. + + | Status | Description | + |--------|-------------| + | `MATCHED` | The beneficiary name is an exact match | + | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | + | `NOT_MATCHED` | The beneficiary name does not match | + | `UNSUPPORTED` | The payment rail does not support name verification | + | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | + | `PENDING` | Verification is still in progress | + BeneficiaryVerifiedData: + type: object + properties: + fullName: + type: string + description: The verified full name of the account holder as returned by the payment rail + example: John Doe BaseExternalAccountInfo: type: object required: @@ -5271,29 +5823,6 @@ components: THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' - GbpAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ GbpBeneficiary: type: object required: @@ -5321,84 +5850,42 @@ components: description: The phone number of the beneficiary registrationNumber: type: string - description: The registration number of the beneficiary + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BusinessBeneficiary: + type: object + required: + - beneficiaryType + - legalName + properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary countryOfResidence: type: string description: The country of residence of the beneficiary address: $ref: '#/components/schemas/Address' - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - IndividualBeneficiary: - allOf: - - $ref: '#/components/schemas/BaseBeneficiary' - - type: object - required: - - fullName - - birthDate - - nationality - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - BusinessBeneficiary: - allOf: - - $ref: '#/components/schemas/BaseBeneficiary' - - type: object - required: - - legalName - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5418,25 +5905,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GbpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - PhpAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - PHP_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: BDO Unibank - accountNumber: - type: string - description: Bank account number - example: '001234567890' PhpBeneficiary: type: object required: @@ -5489,33 +5957,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/PhpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - SgdAccountInfo: - type: object - required: - - accountType - - bankName - - swiftCode - - accountNumber - properties: - accountType: - type: string - enum: - - SGD_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: - type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: - type: string - description: Bank account number - example: '0123456789' SgdBeneficiary: type: object required: @@ -5634,22 +6075,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BrlBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - DkkAccountInfo: - type: object - required: - - accountType - - iban - properties: - accountType: - type: string - enum: - - DKK_ACCOUNT - iban: - type: string - description: The IBAN of the bank - swiftBic: - type: string - description: The SWIFT BIC of the bank DkkBeneficiary: type: object required: @@ -5702,23 +6127,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/DkkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - HkdAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - HKD_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank HkdBeneficiary: type: object required: @@ -5771,23 +6179,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HkdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - IdrAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - IDR_ACCOUNT - sortCode: - type: string - description: The sort code of the bank - accountNumber: - type: string - description: The account number of the bank IdrBeneficiary: type: object required: @@ -5840,19 +6231,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/IdrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - InrAccountInfo: - type: object - required: - - accountType - - vpa - properties: - accountType: - type: string - enum: - - INR_ACCOUNT - vpa: - type: string - description: The VPA of the bank InrBeneficiary: type: object required: @@ -5905,23 +6283,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/InrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnAccountInfo: - type: object - required: - - accountType - - clabeNumber - properties: - accountType: - type: string - enum: - - MXN_ACCOUNT - clabeNumber: - type: string - description: The CLABE number of the bank - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ MxnBeneficiary: type: object required: @@ -5974,23 +6335,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MxnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MyrAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - MYR_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank MyrBeneficiary: type: object required: @@ -6043,23 +6387,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MyrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - ThbAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - THB_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank ThbBeneficiary: type: object required: @@ -6112,23 +6439,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ThbBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - UsdAccountInfo: - type: object - required: - - accountType - - accountNumber - - routingNumber - properties: - accountType: - type: string - enum: - - USD_ACCOUNT - accountNumber: - type: string - description: The account number of the bank - routingNumber: - type: string - description: The routing number of the bank UsdBeneficiary: type: object required: @@ -6183,23 +6493,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UsdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - VndAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - VND_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank VndBeneficiary: type: object required: @@ -6276,27 +6569,6 @@ components: - VND_ACCOUNT description: Type of external account or wallet example: GBP_ACCOUNT - BrlAccountInfo: - type: object - required: - - accountType - - pixKey - - pixKeyType - - taxId - properties: - accountType: - type: string - enum: - - BRL_ACCOUNT - pixKey: - type: string - description: The PIX key of the bank - pixKeyType: - type: string - description: The type of PIX key of the bank - taxId: - type: string - description: The tax ID of the bank account BrlBeneficiary: type: object required: @@ -6425,6 +6697,12 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false + beneficiaryVerificationStatus: + $ref: '#/components/schemas/BeneficiaryVerificationStatus' + description: The result of verifying the beneficiary name against the account holder name + beneficiaryVerifiedData: + $ref: '#/components/schemas/BeneficiaryVerifiedData' + description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: @@ -6553,13 +6831,7 @@ components: description: Optional memo or description for the payment example: 'Payment for invoice #1234' counterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE + $ref: '#/components/schemas/CounterpartyInformation' discriminator: propertyName: type mapping: @@ -6818,10 +7090,6 @@ components: type: string description: The ID of the quote that was used to trigger this payment example: Quote:019542f5-b3e7-1d02-0000-000000000006 - originalTransactionId: - type: string - description: ID of the original transaction that this transaction is retrying, if applicable - example: Transaction:019542f5-b3e7-1d02-0000-000000000003 paymentInstructions: type: array description: Payment instructions for executing the payment. @@ -6925,6 +7193,14 @@ components: mapping: ACCOUNT: '#/components/schemas/AccountTransactionDestination' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' + CounterpartyInformation: + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE CurrencyPreference: type: object required: @@ -7329,7 +7605,9 @@ components: example: 1000 immediatelyExecute: type: boolean - description: Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. + description: |- + Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. + This can only be used for quotes with a `source` which is either an internal account, or has direct pull functionality (e.g. ACH pull with an external account). example: false description: type: string diff --git a/openapi.yaml b/openapi.yaml index af4f0f20..aaeca601 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4765,10 +4765,10 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' - PaymentClabeAccountInfo: + PaymentUsdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ClabeAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfo' - type: object required: - reference @@ -4781,62 +4781,467 @@ components: type: object required: - accountType - properties: - accountType: - $ref: '#/components/schemas/PaymentAccountType' - discriminator: - propertyName: accountType - mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' - NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' - SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' - LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' - SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' - TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' - POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' - BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' - UsAccountInfo: - type: object - required: + properties: + accountType: + $ref: '#/components/schemas/PaymentAccountType' + discriminator: + propertyName: accountType + mapping: + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' + SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' + LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' + SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' + TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' + POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' + BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' + BrlAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - pixKey + - pixKeyType + - taxId + properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX + pixKey: + type: string + description: The PIX key of the bank + pixKeyType: + type: string + description: The type of PIX key of the bank + taxId: + type: string + description: The tax ID of the bank account + PaymentBrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfo' + MxnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - clabeNumber + properties: + accountType: + type: string + enum: + - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + paymentRails: + type: array + items: + type: string + enum: + - SPEI + clabeNumber: + type: string + description: The CLABE number of the bank + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ + PaymentMxnAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + DkkAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - iban + properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + iban: + type: string + description: The IBAN of the bank + swiftBic: + type: string + description: The SWIFT BIC of the bank + PaymentDkkAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + InrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - vpa + properties: + accountType: + type: string + enum: + - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS + vpa: + type: string + description: The VPA of the bank + PaymentInrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/InrAccountInfo' + NgnAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + accountNumber: + type: string + description: Nigerian bank account number + example: '0123456789' + minLength: 10 + maxLength: 10 + pattern: ^[0-9]{10}$ + bankName: + type: string + description: Name of the bank + example: First Bank of Nigeria + PaymentNgnAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + CadAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankCode + - branchCode + - accountNumber + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankCode: + type: string + description: Canadian financial institution number (3 digits) + example: '001' + minLength: 3 + maxLength: 3 + pattern: ^[0-9]{3}$ + branchCode: + type: string + description: Transit number identifying the branch (5 digits) + example: '00012' + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + accountNumber: + type: string + description: Bank account number (7-12 digits) + example: '1234567' + minLength: 7 + maxLength: 12 + pattern: ^[0-9]{7,12}$ + PaymentCadAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/CadAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + GbpAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS + sortCode: + type: string + description: UK bank sort code (6 digits, may include hyphens) + example: 20-00-00 + pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + example: '12345678' + minLength: 8 + maxLength: 8 + pattern: ^[0-9]{8}$ + PaymentGbpAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + HkdAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: + type: string + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentHkdAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + IdrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + sortCode: + type: string + description: The sort code of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentIdrAccountInfo: + allOf: + - $ref: '#/components/schemas/BasePaymentAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + MyrAccountInfo: + type: object + required: + - accountType + - countries + - paymentRails + - bankName - accountNumber - - routingNumber - - accountCategory - - accountType properties: accountType: type: string enum: - - US_ACCOUNT - accountNumber: - type: string - description: US bank account number - example: '123456789' - routingNumber: - type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: - type: string - enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING + - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string - description: Name of the bank - example: Chase Bank - PaymentUsAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentMyrAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfo' - type: object required: - reference @@ -4845,68 +5250,98 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PixAccountInfo: + PhpAccountInfo: type: object required: - - pixKey - - pixKeyType - - taxId - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: + - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: type: string - description: Tax ID of the account holder - example: '1234567890' - PaymentPixAccountInfo: + description: Bank account number + example: '001234567890' + PaymentPhpAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PixAccountInfo' - IbanAccountInfo: + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + SgdAccountInfo: type: object required: - - iban - - swiftBic - accountType + - countries + - paymentRails + - bankName + - swiftCode + - accountNumber properties: accountType: type: string enum: - - IBAN - iban: + - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER + bankName: type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - swiftBic: + description: Name of the beneficiary's bank + example: DBS Bank Ltd + swiftCode: type: string description: SWIFT/BIC code (8 or 11 characters) - example: DEUTDEFF + example: DBSSSGSG minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - PaymentIbanAccountInfo: + accountNumber: + type: string + description: Bank account number + example: '0123456789' + PaymentSgdAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IbanAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfo' - type: object required: - reference @@ -4915,50 +5350,84 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UpiAccountInfo: + ThbAccountInfo: type: object required: - - vpa - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - UPI - vpa: + - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + bankName: type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank - PaymentUpiAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentThbAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UpiAccountInfo' - NgnAccountInfo: + - $ref: '#/components/schemas/ThbAccountInfo' + - type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to properly credit it + example: UMA-Q12345-REF + VndAccountInfo: type: object required: - - accountNumber - - bankName - accountType + - countries + - paymentRails + - bankName + - accountNumber properties: accountType: type: string enum: - - NGN_ACCOUNT - accountNumber: - type: string - description: Nigerian bank account number - example: '0123456789' - minLength: 10 - maxLength: 10 - pattern: ^[0-9]{10}$ + - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string - description: Name of the bank - example: First Bank of Nigeria - PaymentNgnAccountInfo: + description: The bank name of the bank + accountNumber: + type: string + description: The account number of the bank + PaymentVndAccountInfo: allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/VndAccountInfo' - type: object required: - reference @@ -5118,12 +5587,21 @@ components: PaymentAccountType: type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5131,24 +5609,41 @@ components: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: + example: USD_ACCOUNT + UsdAccountInfo: type: object required: - - clabeNumber - accountType + - countries + - paymentRails + - accountNumber + - routingNumber properties: accountType: type: string enum: - - CLABE - clabeNumber: + - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + accountNumber: type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ + description: The account number of the bank + routingNumber: + type: string + description: The routing number of the bank PaymentInstructions: type: object required: @@ -5164,16 +5659,36 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - title: USD Bank Account + $ref: '#/components/schemas/PaymentUsdAccountInfo' + - title: BRL Account + $ref: '#/components/schemas/PaymentBrlAccountInfo' + - title: MXN Account + $ref: '#/components/schemas/PaymentMxnAccountInfo' + - title: DKK Account + $ref: '#/components/schemas/PaymentDkkAccountInfo' + - title: INR Account + $ref: '#/components/schemas/PaymentInrAccountInfo' + - title: NGN Account + $ref: '#/components/schemas/PaymentNgnAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/PaymentCadAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/PaymentGbpAccountInfo' + - title: HKD Account + $ref: '#/components/schemas/PaymentHkdAccountInfo' + - title: IDR Account + $ref: '#/components/schemas/PaymentIdrAccountInfo' + - title: MYR Account + $ref: '#/components/schemas/PaymentMyrAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PaymentPhpAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/PaymentSgdAccountInfo' + - title: THB Account + $ref: '#/components/schemas/PaymentThbAccountInfo' + - title: VND Account + $ref: '#/components/schemas/PaymentVndAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/PaymentSparkWalletInfo' - title: Lightning Invoice @@ -5189,11 +5704,21 @@ components: discriminator: propertyName: accountType mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' + USD_ACCOUNT: '#/components/schemas/PaymentUsdAccountInfo' + BRL_ACCOUNT: '#/components/schemas/PaymentBrlAccountInfo' + MXN_ACCOUNT: '#/components/schemas/PaymentMxnAccountInfo' + DKK_ACCOUNT: '#/components/schemas/PaymentDkkAccountInfo' + INR_ACCOUNT: '#/components/schemas/PaymentInrAccountInfo' + NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + CAD_ACCOUNT: '#/components/schemas/PaymentCadAccountInfo' + GBP_ACCOUNT: '#/components/schemas/PaymentGbpAccountInfo' + HKD_ACCOUNT: '#/components/schemas/PaymentHkdAccountInfo' + IDR_ACCOUNT: '#/components/schemas/PaymentIdrAccountInfo' + MYR_ACCOUNT: '#/components/schemas/PaymentMyrAccountInfo' + PHP_ACCOUNT: '#/components/schemas/PaymentPhpAccountInfo' + SGD_ACCOUNT: '#/components/schemas/PaymentSgdAccountInfo' + THB_ACCOUNT: '#/components/schemas/PaymentThbAccountInfo' + VND_ACCOUNT: '#/components/schemas/PaymentVndAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -5242,6 +5767,33 @@ components: - UNDER_REVIEW - INACTIVE description: Status of an external account + BeneficiaryVerificationStatus: + type: string + enum: + - MATCHED + - PARTIAL_MATCH + - NOT_MATCHED + - UNSUPPORTED + - CHECKED_BY_RECEIVING_FI + - PENDING + description: | + The result of verifying the beneficiary name against the account holder name. + + | Status | Description | + |--------|-------------| + | `MATCHED` | The beneficiary name is an exact match | + | `PARTIAL_MATCH` | The beneficiary name is a fuzzy match | + | `NOT_MATCHED` | The beneficiary name does not match | + | `UNSUPPORTED` | The payment rail does not support name verification | + | `CHECKED_BY_RECEIVING_FI` | Verification is deferred to the receiving financial institution (e.g. ACH) | + | `PENDING` | Verification is still in progress | + BeneficiaryVerifiedData: + type: object + properties: + fullName: + type: string + description: The verified full name of the account holder as returned by the payment rail + example: John Doe BaseExternalAccountInfo: type: object required: @@ -5271,29 +5823,6 @@ components: THB_ACCOUNT: '#/components/schemas/ThbExternalAccountInfo' USD_ACCOUNT: '#/components/schemas/UsdExternalAccountInfo' VND_ACCOUNT: '#/components/schemas/VndExternalAccountInfo' - GbpAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - sortCode: - type: string - description: UK bank sort code (6 digits, may include hyphens) - example: 20-00-00 - pattern: ^[0-9]{2}-?[0-9]{2}-?[0-9]{2}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - example: '12345678' - minLength: 8 - maxLength: 8 - pattern: ^[0-9]{8}$ GbpBeneficiary: type: object required: @@ -5321,84 +5850,42 @@ components: description: The phone number of the beneficiary registrationNumber: type: string - description: The registration number of the beneficiary + description: The registration number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: '#/components/schemas/Address' + BusinessBeneficiary: + type: object + required: + - beneficiaryType + - legalName + properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary countryOfResidence: type: string description: The country of residence of the beneficiary address: $ref: '#/components/schemas/Address' - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' - IndividualBeneficiary: - allOf: - - $ref: '#/components/schemas/BaseBeneficiary' - - type: object - required: - - fullName - - birthDate - - nationality - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - BusinessBeneficiary: - allOf: - - $ref: '#/components/schemas/BaseBeneficiary' - - type: object - required: - - legalName - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL GbpExternalAccountInfo: allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' @@ -5418,25 +5905,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/GbpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - PhpAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - PHP_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: BDO Unibank - accountNumber: - type: string - description: Bank account number - example: '001234567890' PhpBeneficiary: type: object required: @@ -5489,33 +5957,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/PhpBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - SgdAccountInfo: - type: object - required: - - accountType - - bankName - - swiftCode - - accountNumber - properties: - accountType: - type: string - enum: - - SGD_ACCOUNT - bankName: - type: string - description: Name of the beneficiary's bank - example: DBS Bank Ltd - swiftCode: - type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - accountNumber: - type: string - description: Bank account number - example: '0123456789' SgdBeneficiary: type: object required: @@ -5634,22 +6075,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/BrlBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - DkkAccountInfo: - type: object - required: - - accountType - - iban - properties: - accountType: - type: string - enum: - - DKK_ACCOUNT - iban: - type: string - description: The IBAN of the bank - swiftBic: - type: string - description: The SWIFT BIC of the bank DkkBeneficiary: type: object required: @@ -5702,23 +6127,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/DkkBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - HkdAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - HKD_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank HkdBeneficiary: type: object required: @@ -5771,23 +6179,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/HkdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - IdrAccountInfo: - type: object - required: - - accountType - - sortCode - - accountNumber - properties: - accountType: - type: string - enum: - - IDR_ACCOUNT - sortCode: - type: string - description: The sort code of the bank - accountNumber: - type: string - description: The account number of the bank IdrBeneficiary: type: object required: @@ -5840,19 +6231,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/IdrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - InrAccountInfo: - type: object - required: - - accountType - - vpa - properties: - accountType: - type: string - enum: - - INR_ACCOUNT - vpa: - type: string - description: The VPA of the bank InrBeneficiary: type: object required: @@ -5905,23 +6283,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/InrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MxnAccountInfo: - type: object - required: - - accountType - - clabeNumber - properties: - accountType: - type: string - enum: - - MXN_ACCOUNT - clabeNumber: - type: string - description: The CLABE number of the bank - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ MxnBeneficiary: type: object required: @@ -5974,23 +6335,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MxnBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - MyrAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - MYR_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank MyrBeneficiary: type: object required: @@ -6043,23 +6387,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/MyrBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - ThbAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - THB_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank ThbBeneficiary: type: object required: @@ -6112,23 +6439,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/ThbBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - UsdAccountInfo: - type: object - required: - - accountType - - accountNumber - - routingNumber - properties: - accountType: - type: string - enum: - - USD_ACCOUNT - accountNumber: - type: string - description: The account number of the bank - routingNumber: - type: string - description: The routing number of the bank UsdBeneficiary: type: object required: @@ -6183,23 +6493,6 @@ components: mapping: INDIVIDUAL: '#/components/schemas/UsdBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' - VndAccountInfo: - type: object - required: - - accountType - - bankName - - accountNumber - properties: - accountType: - type: string - enum: - - VND_ACCOUNT - bankName: - type: string - description: The bank name of the bank - accountNumber: - type: string - description: The account number of the bank VndBeneficiary: type: object required: @@ -6276,27 +6569,6 @@ components: - VND_ACCOUNT description: Type of external account or wallet example: GBP_ACCOUNT - BrlAccountInfo: - type: object - required: - - accountType - - pixKey - - pixKeyType - - taxId - properties: - accountType: - type: string - enum: - - BRL_ACCOUNT - pixKey: - type: string - description: The PIX key of the bank - pixKeyType: - type: string - description: The type of PIX key of the bank - taxId: - type: string - description: The tax ID of the bank account BrlBeneficiary: type: object required: @@ -6425,6 +6697,12 @@ components: type: boolean description: Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. example: false + beneficiaryVerificationStatus: + $ref: '#/components/schemas/BeneficiaryVerificationStatus' + description: The result of verifying the beneficiary name against the account holder name + beneficiaryVerifiedData: + $ref: '#/components/schemas/BeneficiaryVerifiedData' + description: Verified beneficiary data returned by the payment rail, if available accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' ExternalAccountCreateRequest: @@ -6553,13 +6831,7 @@ components: description: Optional memo or description for the payment example: 'Payment for invoice #1234' counterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE + $ref: '#/components/schemas/CounterpartyInformation' discriminator: propertyName: type mapping: @@ -6818,10 +7090,6 @@ components: type: string description: The ID of the quote that was used to trigger this payment example: Quote:019542f5-b3e7-1d02-0000-000000000006 - originalTransactionId: - type: string - description: ID of the original transaction that this transaction is retrying, if applicable - example: Transaction:019542f5-b3e7-1d02-0000-000000000003 paymentInstructions: type: array description: Payment instructions for executing the payment. @@ -6925,6 +7193,14 @@ components: mapping: ACCOUNT: '#/components/schemas/AccountTransactionDestination' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' + CounterpartyInformation: + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE CurrencyPreference: type: object required: @@ -7329,7 +7605,9 @@ components: example: 1000 immediatelyExecute: type: boolean - description: Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. + description: |- + Whether to immediately execute the quote after creation. If true, the quote will be executed and the transaction will be created at the current exchange rate. It should only be used if you don't want to lock and view rate details before executing the quote. If you are executing a pre-existing quote, use the `/quotes/{quoteId}/execute` endpoint instead. This is false by default. + This can only be used for quotes with a `source` which is either an internal account, or has direct pull functionality (e.g. ACH pull with an external account). example: false description: type: string diff --git a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml index 0549480e..9c1adb77 100644 --- a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml +++ b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml @@ -7,12 +7,21 @@ properties: discriminator: propertyName: accountType mapping: - CLABE: ./PaymentClabeAccountInfo.yaml - US_ACCOUNT: ./PaymentUsAccountInfo.yaml - PIX: ./PaymentPixAccountInfo.yaml - IBAN: ./PaymentIbanAccountInfo.yaml - UPI: ./PaymentUpiAccountInfo.yaml + USD_ACCOUNT: ./PaymentUsdAccountInfo.yaml + BRL_ACCOUNT: ./PaymentBrlAccountInfo.yaml + MXN_ACCOUNT: ./PaymentMxnAccountInfo.yaml + DKK_ACCOUNT: ./PaymentDkkAccountInfo.yaml + INR_ACCOUNT: ./PaymentInrAccountInfo.yaml NGN_ACCOUNT: ./PaymentNgnAccountInfo.yaml + CAD_ACCOUNT: ./PaymentCadAccountInfo.yaml + GBP_ACCOUNT: ./PaymentGbpAccountInfo.yaml + HKD_ACCOUNT: ./PaymentHkdAccountInfo.yaml + IDR_ACCOUNT: ./PaymentIdrAccountInfo.yaml + MYR_ACCOUNT: ./PaymentMyrAccountInfo.yaml + PHP_ACCOUNT: ./PaymentPhpAccountInfo.yaml + SGD_ACCOUNT: ./PaymentSgdAccountInfo.yaml + THB_ACCOUNT: ./PaymentThbAccountInfo.yaml + VND_ACCOUNT: ./PaymentVndAccountInfo.yaml SPARK_WALLET: ./PaymentSparkWalletInfo.yaml LIGHTNING: ./PaymentLightningInvoiceInfo.yaml SOLANA_WALLET: ./PaymentSolanaWalletInfo.yaml diff --git a/openapi/components/schemas/common/BrlAccountInfo.yaml b/openapi/components/schemas/common/BrlAccountInfo.yaml index 278a83b8..0b81154a 100644 --- a/openapi/components/schemas/common/BrlAccountInfo.yaml +++ b/openapi/components/schemas/common/BrlAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - pixKey - pixKeyType - taxId @@ -9,6 +11,18 @@ properties: type: string enum: - BRL_ACCOUNT + countries: + type: array + items: + type: string + enum: + - BR + paymentRails: + type: array + items: + type: string + enum: + - PIX pixKey: type: string description: The PIX key of the bank diff --git a/openapi/components/schemas/common/BusinessBeneficiary.yaml b/openapi/components/schemas/common/BusinessBeneficiary.yaml new file mode 100644 index 00000000..901d8f85 --- /dev/null +++ b/openapi/components/schemas/common/BusinessBeneficiary.yaml @@ -0,0 +1,29 @@ +type: object +required: +- beneficiaryType +- legalName +properties: + beneficiaryType: + type: string + enum: + - BUSINESS + legalName: + type: string + description: The legal name of the business + registrationNumber: + type: string + description: The registration number of the business + taxId: + type: string + description: The tax identification number of the business + email: + type: string + description: The email of the beneficiary + phoneNumber: + type: string + description: The phone number of the beneficiary + countryOfResidence: + type: string + description: The country of residence of the beneficiary + address: + $ref: ./Address.yaml diff --git a/openapi/components/schemas/common/CadAccountInfo.yaml b/openapi/components/schemas/common/CadAccountInfo.yaml index 5504fe99..d64ecd24 100644 --- a/openapi/components/schemas/common/CadAccountInfo.yaml +++ b/openapi/components/schemas/common/CadAccountInfo.yaml @@ -1,14 +1,28 @@ type: object required: + - accountType + - countries + - paymentRails - bankCode - branchCode - accountNumber - - accountType properties: accountType: type: string enum: - CAD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - CA + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankCode: type: string description: Canadian financial institution number (3 digits) diff --git a/openapi/components/schemas/common/ClabeAccountInfo.yaml b/openapi/components/schemas/common/ClabeAccountInfo.yaml deleted file mode 100644 index 6f70a2f4..00000000 --- a/openapi/components/schemas/common/ClabeAccountInfo.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -required: - - clabeNumber - - accountType -properties: - accountType: - type: string - enum: - - CLABE - clabeNumber: - type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ diff --git a/openapi/components/schemas/common/DkkAccountInfo.yaml b/openapi/components/schemas/common/DkkAccountInfo.yaml index b80d6541..5555d2b6 100644 --- a/openapi/components/schemas/common/DkkAccountInfo.yaml +++ b/openapi/components/schemas/common/DkkAccountInfo.yaml @@ -1,12 +1,27 @@ type: object required: - accountType +- countries +- paymentRails - iban properties: accountType: type: string enum: - DKK_ACCOUNT + countries: + type: array + items: + type: string + enum: + - DK + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT iban: type: string description: The IBAN of the bank diff --git a/openapi/components/schemas/common/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml index 9726bb6c..2624ed6a 100644 --- a/openapi/components/schemas/common/GbpAccountInfo.yaml +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - sortCode - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - GBP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - GB + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS sortCode: type: string description: UK bank sort code (6 digits, may include hyphens) diff --git a/openapi/components/schemas/common/HkdAccountInfo.yaml b/openapi/components/schemas/common/HkdAccountInfo.yaml index c3f2c7dd..bc312f82 100644 --- a/openapi/components/schemas/common/HkdAccountInfo.yaml +++ b/openapi/components/schemas/common/HkdAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - HKD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - HK + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The bank name of the bank diff --git a/openapi/components/schemas/common/IbanAccountInfo.yaml b/openapi/components/schemas/common/IbanAccountInfo.yaml deleted file mode 100644 index 51a2c9d6..00000000 --- a/openapi/components/schemas/common/IbanAccountInfo.yaml +++ /dev/null @@ -1,23 +0,0 @@ -type: object -required: - - iban - - swiftBic - - accountType -properties: - accountType: - type: string - enum: - - IBAN - iban: - type: string - description: International Bank Account Number - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - swiftBic: - type: string - description: SWIFT/BIC code (8 or 11 characters) - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ diff --git a/openapi/components/schemas/common/IdrAccountInfo.yaml b/openapi/components/schemas/common/IdrAccountInfo.yaml index 2e601516..a21b46fd 100644 --- a/openapi/components/schemas/common/IdrAccountInfo.yaml +++ b/openapi/components/schemas/common/IdrAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - sortCode - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - IDR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - ID + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER sortCode: type: string description: The sort code of the bank diff --git a/openapi/components/schemas/common/InrAccountInfo.yaml b/openapi/components/schemas/common/InrAccountInfo.yaml index ef09dec1..bece63e9 100644 --- a/openapi/components/schemas/common/InrAccountInfo.yaml +++ b/openapi/components/schemas/common/InrAccountInfo.yaml @@ -1,12 +1,27 @@ type: object required: - accountType +- countries +- paymentRails - vpa properties: accountType: type: string enum: - INR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - IN + paymentRails: + type: array + items: + type: string + enum: + - UPI + - IMPS vpa: type: string description: The VPA of the bank diff --git a/openapi/components/schemas/common/MxnAccountInfo.yaml b/openapi/components/schemas/common/MxnAccountInfo.yaml index d5444dea..4398d06d 100644 --- a/openapi/components/schemas/common/MxnAccountInfo.yaml +++ b/openapi/components/schemas/common/MxnAccountInfo.yaml @@ -1,12 +1,26 @@ type: object required: - accountType +- countries +- paymentRails - clabeNumber properties: accountType: type: string enum: - MXN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MX + paymentRails: + type: array + items: + type: string + enum: + - SPEI clabeNumber: type: string description: The CLABE number of the bank diff --git a/openapi/components/schemas/common/MyrAccountInfo.yaml b/openapi/components/schemas/common/MyrAccountInfo.yaml index 490f59e1..9fc45627 100644 --- a/openapi/components/schemas/common/MyrAccountInfo.yaml +++ b/openapi/components/schemas/common/MyrAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - MYR_ACCOUNT + countries: + type: array + items: + type: string + enum: + - MY + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The bank name of the bank diff --git a/openapi/components/schemas/common/NgnAccountInfo.yaml b/openapi/components/schemas/common/NgnAccountInfo.yaml index cd9eb309..9d15c172 100644 --- a/openapi/components/schemas/common/NgnAccountInfo.yaml +++ b/openapi/components/schemas/common/NgnAccountInfo.yaml @@ -1,13 +1,27 @@ type: object required: + - accountType + - countries + - paymentRails - accountNumber - bankName - - accountType properties: accountType: type: string enum: - NGN_ACCOUNT + countries: + type: array + items: + type: string + enum: + - NG + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number diff --git a/openapi/components/schemas/common/PaymentAccountType.yaml b/openapi/components/schemas/common/PaymentAccountType.yaml index 1b5f6af5..4377774e 100644 --- a/openapi/components/schemas/common/PaymentAccountType.yaml +++ b/openapi/components/schemas/common/PaymentAccountType.yaml @@ -1,11 +1,20 @@ type: string enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI + - USD_ACCOUNT + - BRL_ACCOUNT + - MXN_ACCOUNT + - DKK_ACCOUNT + - INR_ACCOUNT - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - HKD_ACCOUNT + - IDR_ACCOUNT + - MYR_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - THB_ACCOUNT + - VND_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -13,4 +22,4 @@ enum: - POLYGON_WALLET - BASE_WALLET description: Type of payment account or wallet -example: US_ACCOUNT +example: USD_ACCOUNT diff --git a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml b/openapi/components/schemas/common/PaymentBrlAccountInfo.yaml similarity index 59% rename from openapi/components/schemas/common/PaymentPixAccountInfo.yaml rename to openapi/components/schemas/common/PaymentBrlAccountInfo.yaml index f8e0b0bc..96cfe5f2 100644 --- a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentBrlAccountInfo.yaml @@ -1,3 +1,3 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./PixAccountInfo.yaml + - $ref: ./BrlAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentUsAccountInfo.yaml rename to openapi/components/schemas/common/PaymentCadAccountInfo.yaml index 526d5d06..c8c8fda1 100644 --- a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./UsAccountInfo.yaml + - $ref: ./CadAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentIbanAccountInfo.yaml rename to openapi/components/schemas/common/PaymentDkkAccountInfo.yaml index d5c67fb1..83f48626 100644 --- a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./IbanAccountInfo.yaml + - $ref: ./DkkAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml similarity index 90% rename from openapi/components/schemas/common/PaymentClabeAccountInfo.yaml rename to openapi/components/schemas/common/PaymentGbpAccountInfo.yaml index 29f6d4a2..883c3b27 100644 --- a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml @@ -1,6 +1,6 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./ClabeAccountInfo.yaml + - $ref: ./GbpAccountInfo.yaml - type: object required: - reference diff --git a/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml new file mode 100644 index 00000000..077fa3e2 --- /dev/null +++ b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./HkdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml new file mode 100644 index 00000000..a7413a99 --- /dev/null +++ b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./IdrAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml similarity index 59% rename from openapi/components/schemas/common/PaymentUpiAccountInfo.yaml rename to openapi/components/schemas/common/PaymentInrAccountInfo.yaml index af4b9900..084e54bc 100644 --- a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml @@ -1,3 +1,3 @@ allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./UpiAccountInfo.yaml + - $ref: ./InrAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentInstructions.yaml b/openapi/components/schemas/common/PaymentInstructions.yaml index 313d0cb1..a8d294f7 100644 --- a/openapi/components/schemas/common/PaymentInstructions.yaml +++ b/openapi/components/schemas/common/PaymentInstructions.yaml @@ -14,16 +14,36 @@ properties: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: ../common/PaymentClabeAccountInfo.yaml - - title: US Bank Account - $ref: ../common/PaymentUsAccountInfo.yaml - - title: PIX Account - $ref: ../common/PaymentPixAccountInfo.yaml - - title: IBAN Account - $ref: ../common/PaymentIbanAccountInfo.yaml - - title: UPI Account - $ref: ../common/PaymentUpiAccountInfo.yaml + - title: USD Bank Account + $ref: ../common/PaymentUsdAccountInfo.yaml + - title: BRL Account + $ref: ../common/PaymentBrlAccountInfo.yaml + - title: MXN Account + $ref: ../common/PaymentMxnAccountInfo.yaml + - title: DKK Account + $ref: ../common/PaymentDkkAccountInfo.yaml + - title: INR Account + $ref: ../common/PaymentInrAccountInfo.yaml + - title: NGN Account + $ref: ../common/PaymentNgnAccountInfo.yaml + - title: CAD Account + $ref: ../common/PaymentCadAccountInfo.yaml + - title: GBP Account + $ref: ../common/PaymentGbpAccountInfo.yaml + - title: HKD Account + $ref: ../common/PaymentHkdAccountInfo.yaml + - title: IDR Account + $ref: ../common/PaymentIdrAccountInfo.yaml + - title: MYR Account + $ref: ../common/PaymentMyrAccountInfo.yaml + - title: PHP Account + $ref: ../common/PaymentPhpAccountInfo.yaml + - title: SGD Account + $ref: ../common/PaymentSgdAccountInfo.yaml + - title: THB Account + $ref: ../common/PaymentThbAccountInfo.yaml + - title: VND Account + $ref: ../common/PaymentVndAccountInfo.yaml - title: Spark Wallet $ref: ../common/PaymentSparkWalletInfo.yaml - title: Lightning Invoice @@ -39,11 +59,21 @@ properties: discriminator: propertyName: accountType mapping: - CLABE: ../common/PaymentClabeAccountInfo.yaml - US_ACCOUNT: ../common/PaymentUsAccountInfo.yaml - PIX: ../common/PaymentPixAccountInfo.yaml - IBAN: ../common/PaymentIbanAccountInfo.yaml - UPI: ../common/PaymentUpiAccountInfo.yaml + USD_ACCOUNT: ../common/PaymentUsdAccountInfo.yaml + BRL_ACCOUNT: ../common/PaymentBrlAccountInfo.yaml + MXN_ACCOUNT: ../common/PaymentMxnAccountInfo.yaml + DKK_ACCOUNT: ../common/PaymentDkkAccountInfo.yaml + INR_ACCOUNT: ../common/PaymentInrAccountInfo.yaml + NGN_ACCOUNT: ../common/PaymentNgnAccountInfo.yaml + CAD_ACCOUNT: ../common/PaymentCadAccountInfo.yaml + GBP_ACCOUNT: ../common/PaymentGbpAccountInfo.yaml + HKD_ACCOUNT: ../common/PaymentHkdAccountInfo.yaml + IDR_ACCOUNT: ../common/PaymentIdrAccountInfo.yaml + MYR_ACCOUNT: ../common/PaymentMyrAccountInfo.yaml + PHP_ACCOUNT: ../common/PaymentPhpAccountInfo.yaml + SGD_ACCOUNT: ../common/PaymentSgdAccountInfo.yaml + THB_ACCOUNT: ../common/PaymentThbAccountInfo.yaml + VND_ACCOUNT: ../common/PaymentVndAccountInfo.yaml SPARK_WALLET: ../common/PaymentSparkWalletInfo.yaml LIGHTNING: ../common/PaymentLightningInvoiceInfo.yaml SOLANA_WALLET: ../common/PaymentSolanaWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml new file mode 100644 index 00000000..f24e22bb --- /dev/null +++ b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./MxnAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml new file mode 100644 index 00000000..294d7a69 --- /dev/null +++ b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./MyrAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml new file mode 100644 index 00000000..89638673 --- /dev/null +++ b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./PhpAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml new file mode 100644 index 00000000..dd47c842 --- /dev/null +++ b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./SgdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentThbAccountInfo.yaml b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml new file mode 100644 index 00000000..23131b6f --- /dev/null +++ b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./ThbAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml new file mode 100644 index 00000000..097a79e2 --- /dev/null +++ b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./UsdAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PaymentVndAccountInfo.yaml b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml new file mode 100644 index 00000000..89c58845 --- /dev/null +++ b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml @@ -0,0 +1,13 @@ +allOf: + - $ref: ./BasePaymentAccountInfo.yaml + - $ref: ./VndAccountInfo.yaml + - type: object + required: + - reference + properties: + reference: + type: string + description: >- + Unique reference code that must be included with the payment to properly + credit it + example: UMA-Q12345-REF diff --git a/openapi/components/schemas/common/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml index 3be3ffae..8f1a74a7 100644 --- a/openapi/components/schemas/common/PhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - PHP_ACCOUNT + countries: + type: array + items: + type: string + enum: + - PH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/PixAccountInfo.yaml b/openapi/components/schemas/common/PixAccountInfo.yaml deleted file mode 100644 index fb37639a..00000000 --- a/openapi/components/schemas/common/PixAccountInfo.yaml +++ /dev/null @@ -1,29 +0,0 @@ -type: object -required: - - pixKey - - pixKeyType - - taxId - - accountType -properties: - accountType: - type: string - enum: - - PIX - pixKey: - type: string - description: PIX key for Brazilian instant payments - example: '55119876543210' - pixKeyType: - type: string - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - description: Type of PIX key being used - example: PHONE - taxId: - type: string - description: Tax ID of the account holder - example: '1234567890' diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml index 8a0b5517..6923a923 100644 --- a/openapi/components/schemas/common/SgdAccountInfo.yaml +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - swiftCode - accountNumber @@ -9,6 +11,20 @@ properties: type: string enum: - SGD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - SG + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank diff --git a/openapi/components/schemas/common/ThbAccountInfo.yaml b/openapi/components/schemas/common/ThbAccountInfo.yaml index 6ff0eb90..307ac918 100644 --- a/openapi/components/schemas/common/ThbAccountInfo.yaml +++ b/openapi/components/schemas/common/ThbAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - THB_ACCOUNT + countries: + type: array + items: + type: string + enum: + - TH + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The bank name of the bank diff --git a/openapi/components/schemas/common/UpiAccountInfo.yaml b/openapi/components/schemas/common/UpiAccountInfo.yaml deleted file mode 100644 index dc579b61..00000000 --- a/openapi/components/schemas/common/UpiAccountInfo.yaml +++ /dev/null @@ -1,13 +0,0 @@ -type: object -required: - - vpa - - accountType -properties: - accountType: - type: string - enum: - - UPI - vpa: - type: string - description: Virtual Payment Address for UPI payments - example: somecustomers@okbank diff --git a/openapi/components/schemas/common/UsAccountInfo.yaml b/openapi/components/schemas/common/UsAccountInfo.yaml deleted file mode 100644 index e5673516..00000000 --- a/openapi/components/schemas/common/UsAccountInfo.yaml +++ /dev/null @@ -1,33 +0,0 @@ -type: object -required: - - accountNumber - - routingNumber - - accountCategory - - accountType -properties: - accountType: - type: string - enum: - - US_ACCOUNT - accountNumber: - type: string - description: US bank account number - example: '123456789' - routingNumber: - type: string - description: ACH routing number (9 digits) - example: '987654321' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ - accountCategory: - type: string - enum: - - CHECKING - - SAVINGS - description: Type of account (checking or savings) - example: CHECKING - bankName: - type: string - description: Name of the bank - example: Chase Bank diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml index 25edd0eb..b6638bec 100644 --- a/openapi/components/schemas/common/UsdAccountInfo.yaml +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - accountNumber - routingNumber properties: @@ -8,6 +10,21 @@ properties: type: string enum: - USD_ACCOUNT + countries: + type: array + items: + type: string + enum: + - US + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW accountNumber: type: string description: The account number of the bank diff --git a/openapi/components/schemas/common/VndAccountInfo.yaml b/openapi/components/schemas/common/VndAccountInfo.yaml index 584a0661..4901b33d 100644 --- a/openapi/components/schemas/common/VndAccountInfo.yaml +++ b/openapi/components/schemas/common/VndAccountInfo.yaml @@ -1,6 +1,8 @@ type: object required: - accountType +- countries +- paymentRails - bankName - accountNumber properties: @@ -8,6 +10,18 @@ properties: type: string enum: - VND_ACCOUNT + countries: + type: array + items: + type: string + enum: + - VN + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER bankName: type: string description: The bank name of the bank diff --git a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml index 27bd7e85..7e37692a 100644 --- a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml +++ b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml @@ -10,4 +10,4 @@ discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ./IndividualBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml index f7c7e1e5..7620a6a8 100644 --- a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml +++ b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml @@ -2,9 +2,9 @@ oneOf: - title: Individual Beneficiary $ref: ./IndividualBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ./IndividualBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml index ddfd3557..ba4f3ba4 100644 --- a/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/BrlBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/BrlBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml b/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml deleted file mode 100644 index bb6ae236..00000000 --- a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml +++ /dev/null @@ -1,23 +0,0 @@ -allOf: - - $ref: ./BaseBeneficiary.yaml - - type: object - required: - - legalName - - beneficiaryType - properties: - beneficiaryType: - type: string - enum: - - BUSINESS - legalName: - type: string - description: Legal name of the business - example: Acme Corporation, Inc. - registrationNumber: - type: string - description: Business registration number - example: BRN-123456789 - taxId: - type: string - description: Tax identification number - example: EIN-987654321 diff --git a/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml index 2a06b867..9d6f0e79 100644 --- a/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/DkkBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/DkkBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml index 53a6851a..000ffee0 100644 --- a/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/GbpBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/GbpBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml index 95a14095..ba02b912 100644 --- a/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/HkdBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/HkdBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml index 97057199..e4437b38 100644 --- a/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/IdrBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/IdrBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml index a2d8c817..c31c94cf 100644 --- a/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/InrBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/InrBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml index 9effce05..3bb82b0f 100644 --- a/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/MxnBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/MxnBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml index a0d4af0c..d364bde3 100644 --- a/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/MyrBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/MyrBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml index 605d3f18..6226f5f5 100644 --- a/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/PhpBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/PhpBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml index 3965a0a9..c12c56b3 100644 --- a/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/SgdBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/SgdBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml index ed7328ec..4d148997 100644 --- a/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/ThbBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/ThbBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml index 68ce09ff..d595cdcb 100644 --- a/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/UsdBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/UsdBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml index 5ccce3e3..72bc949e 100644 --- a/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml @@ -10,9 +10,9 @@ allOf: - title: Individual Beneficiary $ref: ../common/VndBeneficiary.yaml - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + $ref: ../common/BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: ../common/VndBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml From 1460f90e20c014bc2682c879bf9de592819e2c18 Mon Sep 17 00:00:00 2001 From: Aaryaman Bhute Date: Fri, 20 Feb 2026 10:57:04 -0800 Subject: [PATCH 6/6] fix: update stainless config for currency-based account schemas Update stale references to old payment-method-based schema names (UsAccountExternalAccountInfo, PaymentClabeAccountInfo, etc.) and remove BaseBeneficiary transform that no longer matches bundled output. Co-authored-by: Cursor --- .stainless/stainless.yml | 52 +++++++++++++++++++++------------------- mintlify/openapi.yaml | 18 ++++++++++++++ openapi.yaml | 18 ++++++++++++++ 3 files changed, 63 insertions(+), 25 deletions(-) diff --git a/.stainless/stainless.yml b/.stainless/stainless.yml index d6f56b6f..cabd8e1f 100644 --- a/.stainless/stainless.yml +++ b/.stainless/stainless.yml @@ -109,16 +109,19 @@ resources: subresources: external_accounts: models: - us_account_info: '#/components/schemas/UsAccountExternalAccountInfo' - clabe_account_info: '#/components/schemas/ClabeAccountExternalAccountInfo' - pix_account_info: '#/components/schemas/PixAccountExternalAccountInfo' - iban_account_info: '#/components/schemas/IbanAccountExternalAccountInfo' - upi_account_info: '#/components/schemas/UpiAccountExternalAccountInfo' - ngn_account_info: '#/components/schemas/NgnAccountExternalAccountInfo' - cad_account_info: '#/components/schemas/CadAccountExternalAccountInfo' - gbp_account_info: '#/components/schemas/GbpAccountExternalAccountInfo' - php_account_info: '#/components/schemas/PhpAccountExternalAccountInfo' - sgd_account_info: '#/components/schemas/SgdAccountExternalAccountInfo' + usd_account_info: '#/components/schemas/UsdExternalAccountInfo' + brl_account_info: '#/components/schemas/BrlExternalAccountInfo' + mxn_account_info: '#/components/schemas/MxnExternalAccountInfo' + dkk_account_info: '#/components/schemas/DkkExternalAccountInfo' + inr_account_info: '#/components/schemas/InrExternalAccountInfo' + gbp_account_info: '#/components/schemas/GbpExternalAccountInfo' + hkd_account_info: '#/components/schemas/HkdExternalAccountInfo' + idr_account_info: '#/components/schemas/IdrExternalAccountInfo' + myr_account_info: '#/components/schemas/MyrExternalAccountInfo' + php_account_info: '#/components/schemas/PhpExternalAccountInfo' + sgd_account_info: '#/components/schemas/SgdExternalAccountInfo' + thb_account_info: '#/components/schemas/ThbExternalAccountInfo' + vnd_account_info: '#/components/schemas/VndExternalAccountInfo' spark_wallet_info: '#/components/schemas/SparkWalletExternalAccountInfo' solana_wallet_info: '#/components/schemas/SolanaWalletExternalAccountInfo' tron_wallet_info: '#/components/schemas/TronWalletExternalAccountInfo' @@ -483,12 +486,21 @@ openapi: stripping the accountType discriminator, which causes TS2312 errors args: target: - - "$.components.schemas.PaymentClabeAccountInfo.allOf[0]" - - "$.components.schemas.PaymentUsAccountInfo.allOf[0]" - - "$.components.schemas.PaymentPixAccountInfo.allOf[0]" - - "$.components.schemas.PaymentIbanAccountInfo.allOf[0]" - - "$.components.schemas.PaymentUpiAccountInfo.allOf[0]" + - "$.components.schemas.PaymentUsdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentBrlAccountInfo.allOf[0]" + - "$.components.schemas.PaymentMxnAccountInfo.allOf[0]" + - "$.components.schemas.PaymentDkkAccountInfo.allOf[0]" + - "$.components.schemas.PaymentInrAccountInfo.allOf[0]" - "$.components.schemas.PaymentNgnAccountInfo.allOf[0]" + - "$.components.schemas.PaymentCadAccountInfo.allOf[0]" + - "$.components.schemas.PaymentGbpAccountInfo.allOf[0]" + - "$.components.schemas.PaymentHkdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentIdrAccountInfo.allOf[0]" + - "$.components.schemas.PaymentMyrAccountInfo.allOf[0]" + - "$.components.schemas.PaymentPhpAccountInfo.allOf[0]" + - "$.components.schemas.PaymentSgdAccountInfo.allOf[0]" + - "$.components.schemas.PaymentThbAccountInfo.allOf[0]" + - "$.components.schemas.PaymentVndAccountInfo.allOf[0]" - "$.components.schemas.PaymentSparkWalletInfo.allOf[0]" - "$.components.schemas.PaymentLightningInvoiceInfo.allOf[0]" - "$.components.schemas.PaymentSolanaWalletInfo.allOf[0]" @@ -520,16 +532,6 @@ openapi: - "$.components.schemas.ExternalAccountDetailsDestination.allOf[0]" keys: [ "$ref" ] - # ── beneficiaryType: remove from base schema ── - - command: remove - reason: >- - Remove beneficiaryType $ref from base schema so the inline - single-value enums in each beneficiary variant become the sole definition - args: - target: - - "$.components.schemas.BaseBeneficiary.properties" - keys: [ "beneficiaryType" ] - codeflow: detect_breaking_changes: true release_environment: npm diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index aaeca601..212e82dc 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -7576,6 +7576,22 @@ components: - SENDING - RECEIVING description: The side of the quote which should be locked and specified in the `lockedCurrencyAmount`. For example, if I want to send exactly $5 MXN from my wallet, I would set this to "sending", and the `lockedCurrencyAmount` to 500 (in cents). If I want the receiver to receive exactly $10 USD, I would set this to "receiving" and the `lockedCurrencyAmount` to 10000 (in cents). + PurposeOfPayment: + type: string + description: The purpose of the payment. This may be required when sending to certain geographies such as India. + enum: + - GIFT + - SELF + - GOODS_OR_SERVICES + - EDUCATION + - HEALTH_OR_MEDICAL + - REAL_ESTATE_PURCHASE + - TAX_PAYMENT + - LOAN_PAYMENT + - UTILITY_BILL + - DONATION + - TRAVEL + - OTHER QuoteRequest: type: object required: @@ -7613,6 +7629,8 @@ components: type: string description: Optional description/memo for the transfer example: 'Invoice #1234 payment' + purposeOfPayment: + $ref: '#/components/schemas/PurposeOfPayment' senderCustomerInfo: type: object additionalProperties: true diff --git a/openapi.yaml b/openapi.yaml index aaeca601..212e82dc 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -7576,6 +7576,22 @@ components: - SENDING - RECEIVING description: The side of the quote which should be locked and specified in the `lockedCurrencyAmount`. For example, if I want to send exactly $5 MXN from my wallet, I would set this to "sending", and the `lockedCurrencyAmount` to 500 (in cents). If I want the receiver to receive exactly $10 USD, I would set this to "receiving" and the `lockedCurrencyAmount` to 10000 (in cents). + PurposeOfPayment: + type: string + description: The purpose of the payment. This may be required when sending to certain geographies such as India. + enum: + - GIFT + - SELF + - GOODS_OR_SERVICES + - EDUCATION + - HEALTH_OR_MEDICAL + - REAL_ESTATE_PURCHASE + - TAX_PAYMENT + - LOAN_PAYMENT + - UTILITY_BILL + - DONATION + - TRAVEL + - OTHER QuoteRequest: type: object required: @@ -7613,6 +7629,8 @@ components: type: string description: Optional description/memo for the transfer example: 'Invoice #1234 payment' + purposeOfPayment: + $ref: '#/components/schemas/PurposeOfPayment' senderCustomerInfo: type: object additionalProperties: true