From 7aa07c673c78e78e2d941669ab7960e10686de32 Mon Sep 17 00:00:00 2001 From: Jason Wang Date: Tue, 13 Jan 2026 15:27:52 -0800 Subject: [PATCH] Add new swift account type to grid --- mintlify/openapi.yaml | 63 +++++++++++++++++++ openapi.yaml | 63 +++++++++++++++++++ .../common/BankAccountOrWalletType.yaml | 1 + .../common/PaymentAccountOrWalletInfo.yaml | 3 +- .../common/PaymentSwiftAccountInfo.yaml | 12 ++++ .../schemas/common/SwiftAccountInfo.yaml | 24 +++++++ .../ExternalAccountCreateRequest.yaml | 4 +- .../ExternalAccountInfo.yaml | 3 + .../SwiftAccountExternalAccountInfo.yaml | 19 ++++++ 9 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 openapi/components/schemas/common/PaymentSwiftAccountInfo.yaml create mode 100644 openapi/components/schemas/common/SwiftAccountInfo.yaml create mode 100644 openapi/components/schemas/external_accounts/SwiftAccountExternalAccountInfo.yaml diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index b8ed0ed..e1796b9 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -4690,6 +4690,7 @@ components: FBO: '#/components/schemas/PaymentFboAccountInfo' UPI: '#/components/schemas/PaymentUpiAccountInfo' NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + SWIFT_ACCOUNT: '#/components/schemas/PaymentSwiftAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -4879,6 +4880,43 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF + SwiftAccountInfo: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - SWIFT_ACCOUNT + example: SWIFT_ACCOUNT + accountNumber: + type: string + description: Bank account number + example: '1234567890' + swiftBic: + type: string + description: SWIFT/BIC code (8 or 11 characters). Recommended for international transfers. + example: DBSASG2X + minLength: 8 + maxLength: 11 + bankName: + type: string + description: Name of the bank + example: DBS Bank + PaymentSwiftAccountInfo: + allOf: + - $ref: '#/components/schemas/PaymentAccountOrWalletInfo' + - $ref: '#/components/schemas/SwiftAccountInfo' + 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 SparkWalletInfo: type: object required: @@ -5013,6 +5051,7 @@ components: - FBO - UPI - NGN_ACCOUNT + - SWIFT_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5354,6 +5393,27 @@ components: - OTHER description: Purpose of payment example: GOODS_OR_SERVICES + SwiftAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/SwiftAccountInfo' + - type: object + required: + - accountType + properties: + accountType: + type: string + enum: + - SWIFT_ACCOUNT + example: SWIFT_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/SparkWalletInfo' @@ -5467,6 +5527,8 @@ components: $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - title: NGN Account $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: SWIFT Account + $ref: '#/components/schemas/SwiftAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5488,6 +5550,7 @@ components: IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' UPI: '#/components/schemas/UpiAccountExternalAccountInfo' NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + SWIFT_ACCOUNT: '#/components/schemas/SwiftAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' diff --git a/openapi.yaml b/openapi.yaml index b8ed0ed..e1796b9 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4690,6 +4690,7 @@ components: FBO: '#/components/schemas/PaymentFboAccountInfo' UPI: '#/components/schemas/PaymentUpiAccountInfo' NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' + SWIFT_ACCOUNT: '#/components/schemas/PaymentSwiftAccountInfo' SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' @@ -4879,6 +4880,43 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF + SwiftAccountInfo: + type: object + required: + - accountType + - accountNumber + - bankName + properties: + accountType: + type: string + enum: + - SWIFT_ACCOUNT + example: SWIFT_ACCOUNT + accountNumber: + type: string + description: Bank account number + example: '1234567890' + swiftBic: + type: string + description: SWIFT/BIC code (8 or 11 characters). Recommended for international transfers. + example: DBSASG2X + minLength: 8 + maxLength: 11 + bankName: + type: string + description: Name of the bank + example: DBS Bank + PaymentSwiftAccountInfo: + allOf: + - $ref: '#/components/schemas/PaymentAccountOrWalletInfo' + - $ref: '#/components/schemas/SwiftAccountInfo' + 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 SparkWalletInfo: type: object required: @@ -5013,6 +5051,7 @@ components: - FBO - UPI - NGN_ACCOUNT + - SWIFT_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET @@ -5354,6 +5393,27 @@ components: - OTHER description: Purpose of payment example: GOODS_OR_SERVICES + SwiftAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/SwiftAccountInfo' + - type: object + required: + - accountType + properties: + accountType: + type: string + enum: + - SWIFT_ACCOUNT + example: SWIFT_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' SparkWalletExternalAccountInfo: allOf: - $ref: '#/components/schemas/SparkWalletInfo' @@ -5467,6 +5527,8 @@ components: $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - title: NGN Account $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: SWIFT Account + $ref: '#/components/schemas/SwiftAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5488,6 +5550,7 @@ components: IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' UPI: '#/components/schemas/UpiAccountExternalAccountInfo' NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' + SWIFT_ACCOUNT: '#/components/schemas/SwiftAccountExternalAccountInfo' SPARK_WALLET: '#/components/schemas/SparkWalletExternalAccountInfo' LIGHTNING: '#/components/schemas/LightningExternalAccountInfo' SOLANA_WALLET: '#/components/schemas/SolanaWalletExternalAccountInfo' diff --git a/openapi/components/schemas/common/BankAccountOrWalletType.yaml b/openapi/components/schemas/common/BankAccountOrWalletType.yaml index c6ee5d1..5dc9417 100644 --- a/openapi/components/schemas/common/BankAccountOrWalletType.yaml +++ b/openapi/components/schemas/common/BankAccountOrWalletType.yaml @@ -7,6 +7,7 @@ enum: - FBO - UPI - NGN_ACCOUNT + - SWIFT_ACCOUNT - SPARK_WALLET - LIGHTNING - SOLANA_WALLET diff --git a/openapi/components/schemas/common/PaymentAccountOrWalletInfo.yaml b/openapi/components/schemas/common/PaymentAccountOrWalletInfo.yaml index fe63f85..37355a3 100644 --- a/openapi/components/schemas/common/PaymentAccountOrWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentAccountOrWalletInfo.yaml @@ -14,8 +14,9 @@ discriminator: FBO: ./PaymentFboAccountInfo.yaml UPI: ./PaymentUpiAccountInfo.yaml NGN_ACCOUNT: ./PaymentNgnAccountInfo.yaml + SWIFT_ACCOUNT: ./PaymentSwiftAccountInfo.yaml SPARK_WALLET: ./PaymentSparkWalletInfo.yaml LIGHTNING: ./PaymentLightningInvoiceInfo.yaml SOLANA_WALLET: ./PaymentSolanaWalletInfo.yaml TRON_WALLET: ./PaymentTronWalletInfo.yaml - POLYGON_WALLET: ./PaymentPolygonWalletInfo.yaml \ No newline at end of file + POLYGON_WALLET: ./PaymentPolygonWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentSwiftAccountInfo.yaml b/openapi/components/schemas/common/PaymentSwiftAccountInfo.yaml new file mode 100644 index 0000000..93c2783 --- /dev/null +++ b/openapi/components/schemas/common/PaymentSwiftAccountInfo.yaml @@ -0,0 +1,12 @@ +allOf: + - $ref: ./PaymentAccountOrWalletInfo.yaml + - $ref: ./SwiftAccountInfo.yaml +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/SwiftAccountInfo.yaml b/openapi/components/schemas/common/SwiftAccountInfo.yaml new file mode 100644 index 0000000..e147f58 --- /dev/null +++ b/openapi/components/schemas/common/SwiftAccountInfo.yaml @@ -0,0 +1,24 @@ +type: object +required: + - accountType + - accountNumber + - bankName +properties: + accountType: + type: string + enum: [SWIFT_ACCOUNT] + example: SWIFT_ACCOUNT + accountNumber: + type: string + description: Bank account number + example: '1234567890' + swiftBic: + type: string + description: SWIFT/BIC code (8 or 11 characters). Recommended for international transfers. + example: DBSASG2X + minLength: 8 + maxLength: 11 + bankName: + type: string + description: Name of the bank + example: DBS Bank diff --git a/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml b/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml index 5b8a018..6d52561 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml @@ -1,4 +1,4 @@ -allOf: + allOf: - type: object required: - currency @@ -29,4 +29,4 @@ allOf: incoming UMA payments will be deposited into the primary internal account for the customer. default: false accountInfo: - $ref: ./ExternalAccountInfo.yaml \ No newline at end of file + $ref: ./ExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml index 367d160..8edf4b2 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml @@ -11,6 +11,8 @@ oneOf: $ref: ./UpiAccountExternalAccountInfo.yaml - title: NGN Account $ref: ./NgnAccountExternalAccountInfo.yaml + - title: SWIFT Account + $ref: ./SwiftAccountExternalAccountInfo.yaml - title: Spark Wallet $ref: ./SparkWalletExternalAccountInfo.yaml - title: Lightning @@ -32,6 +34,7 @@ discriminator: IBAN: ./IbanAccountExternalAccountInfo.yaml UPI: ./UpiAccountExternalAccountInfo.yaml NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml + SWIFT_ACCOUNT: ./SwiftAccountExternalAccountInfo.yaml SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/SwiftAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SwiftAccountExternalAccountInfo.yaml new file mode 100644 index 0000000..382c506 --- /dev/null +++ b/openapi/components/schemas/external_accounts/SwiftAccountExternalAccountInfo.yaml @@ -0,0 +1,19 @@ +allOf: + - $ref: ../common/SwiftAccountInfo.yaml + - type: object + required: + - accountType + properties: + accountType: + type: string + enum: [SWIFT_ACCOUNT] + example: SWIFT_ACCOUNT + beneficiary: + oneOf: + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ./IndividualBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml