diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index c8ef1d7..abcbcd2 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -4715,6 +4715,7 @@ components: example: DEUTDEFF minLength: 8 maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ PaymentIbanAccountInfo: allOf: - $ref: '#/components/schemas/PaymentAccountOrWalletInfo' @@ -5274,6 +5275,200 @@ components: - OTHER description: Purpose of payment example: GOODS_OR_SERVICES + CadAccountInfo: + type: object + required: + - accountType + - bankCode + - branchCode + - accountNumber + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + example: 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/CadAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + example: CAD_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + example: 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: + allOf: + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + example: GBP_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + example: PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PhpAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + example: PHP_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfo: + type: object + required: + - accountType + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + example: 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' + SgdAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + example: SGD_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' @@ -5387,6 +5582,14 @@ components: $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - title: NGN Account $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5408,6 +5611,10 @@ components: 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' diff --git a/openapi.yaml b/openapi.yaml index c8ef1d7..abcbcd2 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4715,6 +4715,7 @@ components: example: DEUTDEFF minLength: 8 maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ PaymentIbanAccountInfo: allOf: - $ref: '#/components/schemas/PaymentAccountOrWalletInfo' @@ -5274,6 +5275,200 @@ components: - OTHER description: Purpose of payment example: GOODS_OR_SERVICES + CadAccountInfo: + type: object + required: + - accountType + - bankCode + - branchCode + - accountNumber + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + example: 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/CadAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - CAD_ACCOUNT + example: CAD_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpAccountInfo: + type: object + required: + - accountType + - sortCode + - accountNumber + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + example: 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: + allOf: + - $ref: '#/components/schemas/GbpAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + example: GBP_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpAccountInfo: + type: object + required: + - accountType + - bankName + - accountNumber + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + example: PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' + PhpAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/PhpAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + example: PHP_ACCOUNT + beneficiary: + oneOf: + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdAccountInfo: + type: object + required: + - accountType + - bankName + - swiftCode + - accountNumber + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + example: 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' + SgdAccountExternalAccountInfo: + allOf: + - $ref: '#/components/schemas/SgdAccountInfo' + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + example: SGD_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' @@ -5387,6 +5582,14 @@ components: $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - title: NGN Account $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - title: CAD Account + $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - title: GBP Account + $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + - title: PHP Account + $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + - title: SGD Account + $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - title: Spark Wallet $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - title: Lightning @@ -5408,6 +5611,10 @@ components: 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' diff --git a/openapi/components/schemas/common/CadAccountInfo.yaml b/openapi/components/schemas/common/CadAccountInfo.yaml new file mode 100644 index 0000000..cd98026 --- /dev/null +++ b/openapi/components/schemas/common/CadAccountInfo.yaml @@ -0,0 +1,32 @@ +type: object +required: + - accountType + - bankCode + - branchCode + - accountNumber +properties: + accountType: + type: string + enum: [CAD_ACCOUNT] + example: 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}$ diff --git a/openapi/components/schemas/common/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml new file mode 100644 index 0000000..f4a6d1f --- /dev/null +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -0,0 +1,22 @@ +type: object +required: + - accountType + - sortCode + - accountNumber +properties: + accountType: + type: string + enum: [GBP_ACCOUNT] + example: 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}$ diff --git a/openapi/components/schemas/common/IbanAccountInfo.yaml b/openapi/components/schemas/common/IbanAccountInfo.yaml index ed03513..59ea47a 100644 --- a/openapi/components/schemas/common/IbanAccountInfo.yaml +++ b/openapi/components/schemas/common/IbanAccountInfo.yaml @@ -20,3 +20,4 @@ properties: 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/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml new file mode 100644 index 0000000..c01091d --- /dev/null +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -0,0 +1,18 @@ +type: object +required: + - accountType + - bankName + - accountNumber +properties: + accountType: + type: string + enum: [PHP_ACCOUNT] + example: PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + example: '001234567890' diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml new file mode 100644 index 0000000..fd262d2 --- /dev/null +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -0,0 +1,26 @@ +type: object +required: + - accountType + - bankName + - swiftCode + - accountNumber +properties: + accountType: + type: string + enum: [SGD_ACCOUNT] + example: 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' diff --git a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml new file mode 100644 index 0000000..a569985 --- /dev/null +++ b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml @@ -0,0 +1,20 @@ +allOf: + - $ref: ../common/CadAccountInfo.yaml + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: [CAD_ACCOUNT] + example: CAD_ACCOUNT + beneficiary: + oneOf: + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ./IndividualBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml index 367d160..3833c6b 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountInfo.yaml @@ -11,6 +11,14 @@ oneOf: $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 @@ -32,9 +40,13 @@ discriminator: 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 SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml LIGHTNING: ./LightningExternalAccountInfo.yaml SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml TRON_WALLET: ./TronWalletExternalAccountInfo.yaml POLYGON_WALLET: ./PolygonWalletExternalAccountInfo.yaml - BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml \ No newline at end of file + BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml new file mode 100644 index 0000000..58f0d32 --- /dev/null +++ b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml @@ -0,0 +1,20 @@ +allOf: + - $ref: ../common/GbpAccountInfo.yaml + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: [GBP_ACCOUNT] + example: GBP_ACCOUNT + beneficiary: + oneOf: + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ./IndividualBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml new file mode 100644 index 0000000..977eed5 --- /dev/null +++ b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml @@ -0,0 +1,20 @@ +allOf: + - $ref: ../common/PhpAccountInfo.yaml + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: [PHP_ACCOUNT] + example: PHP_ACCOUNT + beneficiary: + oneOf: + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ./IndividualBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml new file mode 100644 index 0000000..a74a508 --- /dev/null +++ b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml @@ -0,0 +1,20 @@ +allOf: + - $ref: ../common/SgdAccountInfo.yaml + - type: object + required: + - accountType + - beneficiary + properties: + accountType: + type: string + enum: [SGD_ACCOUNT] + example: SGD_ACCOUNT + beneficiary: + oneOf: + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ./IndividualBeneficiary.yaml + BUSINESS: ./BusinessBeneficiary.yaml