diff --git a/.github/workflows/stainless-action.yml b/.github/workflows/stainless-action.yml index 895b84bb..208a3220 100644 --- a/.github/workflows/stainless-action.yml +++ b/.github/workflows/stainless-action.yml @@ -37,7 +37,7 @@ jobs: org: ${{ env.STAINLESS_ORG }} project: ${{ env.STAINLESS_PROJECT }} oas_path: ${{ env.OAS_PATH }} - guess_config: true + guess_config: false merge: if: github.event.action == 'closed' && github.event.pull_request.merged == true diff --git a/.stainless/stainless.yml b/.stainless/stainless.yml index a883c23b..135a8181 100644 --- a/.stainless/stainless.yml +++ b/.stainless/stainless.yml @@ -684,3 +684,5 @@ diagnostics: Schema/EnumHasOneMember: true Schema/RequiredPropertyNotDefined: true Schema/IsAmbiguous: true + Endpoint/NotFound: true + Method/PaginatedWithoutMatchingScheme: true diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index d78dd6af..9b702c73 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -1001,8 +1001,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -1131,8 +1129,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -5725,11 +5721,10 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfo: + UsdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - routingNumber properties: @@ -5737,16 +5732,6 @@ components: type: string enum: - USD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -5759,6 +5744,23 @@ components: minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ + UsdAccountInfo: + allOf: + - $ref: '#/components/schemas/UsdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER PaymentUsdAccountInfo: title: USD Bank Account allOf: @@ -5788,23 +5790,16 @@ components: type: string description: A PIX QR code payload that can be used to fund the transaction. This can be rendered as a QR code image or pasted into a PIX-compatible banking app. minLength: 1 - MxnAccountInfo: + MxnAccountInfoBase: type: object required: - accountType - - paymentRails - clabeNumber properties: accountType: type: string enum: - MXN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SPEI clabeNumber: type: string description: The CLABE number of the bank @@ -5812,6 +5807,19 @@ components: minLength: 18 maxLength: 18 pattern: ^[0-9]{18}$ + MxnAccountInfo: + allOf: + - $ref: '#/components/schemas/MxnAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI PaymentMxnAccountInfo: title: MXN Account allOf: @@ -5825,24 +5833,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - DkkAccountInfo: + DkkAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - DKK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5857,6 +5857,20 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + DkkAccountInfo: + allOf: + - $ref: '#/components/schemas/DkkAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT PaymentDkkAccountInfo: title: DKK Account allOf: @@ -5870,24 +5884,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EurAccountInfo: + EurAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - EUR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5902,6 +5908,20 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + EurAccountInfo: + allOf: + - $ref: '#/components/schemas/EurAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT PaymentEurAccountInfo: title: EUR Account allOf: @@ -5915,23 +5935,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - InrAccountInfo: + InrAccountInfoBase: type: object required: - accountType - - paymentRails - vpa properties: accountType: type: string enum: - INR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - UPI vpa: type: string description: The UPI Virtual Payment Address @@ -5939,16 +5952,28 @@ components: minLength: 3 maxLength: 255 pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ + InrAccountInfo: + allOf: + - $ref: '#/components/schemas/InrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI PaymentInrAccountInfo: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfo: + NgnAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -5956,12 +5981,6 @@ components: type: string enum: - NGN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5974,6 +5993,19 @@ components: description: The name of the bank minLength: 1 maxLength: 255 + NgnAccountInfo: + allOf: + - $ref: '#/components/schemas/NgnAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentNgnAccountInfo: title: NGN Account allOf: @@ -5987,11 +6019,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - CadAccountInfo: + CadAccountInfoBase: type: object required: - accountType - - paymentRails - bankCode - branchCode - accountNumber @@ -6000,12 +6031,6 @@ components: type: string enum: - CAD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankCode: type: string description: Canadian financial institution number (3 digits) @@ -6027,6 +6052,19 @@ components: minLength: 7 maxLength: 12 pattern: ^[0-9]{7,12}$ + CadAccountInfo: + allOf: + - $ref: '#/components/schemas/CadAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentCadAccountInfo: title: CAD Account allOf: @@ -6040,11 +6078,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GbpAccountInfo: + GbpAccountInfoBase: type: object required: - accountType - - paymentRails - sortCode - accountNumber properties: @@ -6052,12 +6089,6 @@ components: type: string enum: - GBP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -6072,6 +6103,19 @@ components: maxLength: 8 example: '12345678' pattern: ^[0-9]{8}$ + GbpAccountInfo: + allOf: + - $ref: '#/components/schemas/GbpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS PaymentGbpAccountInfo: title: GBP Account allOf: @@ -6085,11 +6129,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HkdAccountInfo: + HkdAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6098,12 +6141,6 @@ components: type: string enum: - HKD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6122,6 +6159,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + HkdAccountInfo: + allOf: + - $ref: '#/components/schemas/HkdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentHkdAccountInfo: title: HKD Account allOf: @@ -6135,11 +6185,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - IdrAccountInfo: + IdrAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6149,12 +6198,6 @@ components: type: string enum: - IDR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6181,6 +6224,19 @@ components: minLength: 7 maxLength: 15 pattern: ^\+62[0-9]{9,12}$ + IdrAccountInfo: + allOf: + - $ref: '#/components/schemas/IdrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentIdrAccountInfo: title: IDR Account allOf: @@ -6194,11 +6250,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MyrAccountInfo: + MyrAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6207,12 +6262,6 @@ components: type: string enum: - MYR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6231,6 +6280,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + MyrAccountInfo: + allOf: + - $ref: '#/components/schemas/MyrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentMyrAccountInfo: title: MYR Account allOf: @@ -6244,11 +6306,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PhpAccountInfo: + PhpAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber properties: @@ -6256,12 +6317,6 @@ components: type: string enum: - PHP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6275,6 +6330,19 @@ components: maxLength: 16 example: '001234567890' pattern: ^[0-9]{8,16}$ + PhpAccountInfo: + allOf: + - $ref: '#/components/schemas/PhpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentPhpAccountInfo: title: PHP Account allOf: @@ -6288,11 +6356,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SgdAccountInfo: + SgdAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6301,14 +6368,6 @@ components: type: string enum: - SGD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6328,6 +6387,21 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + SgdAccountInfo: + allOf: + - $ref: '#/components/schemas/SgdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER PaymentSgdAccountInfo: title: SGD Account allOf: @@ -6341,11 +6415,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ThbAccountInfo: + ThbAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6354,12 +6427,6 @@ components: type: string enum: - THB_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6378,6 +6445,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + ThbAccountInfo: + allOf: + - $ref: '#/components/schemas/ThbAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentThbAccountInfo: title: THB Account allOf: @@ -6391,11 +6471,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - VndAccountInfo: + VndAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6404,12 +6483,6 @@ components: type: string enum: - VND_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6428,6 +6501,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + VndAccountInfo: + allOf: + - $ref: '#/components/schemas/VndAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentVndAccountInfo: title: VND Account allOf: @@ -6621,23 +6707,16 @@ components: description: Type of asset enum: - USDC - AedAccountInfo: + AedAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - AED_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER iban: type: string description: UAE IBAN (23 characters, starting with AE) @@ -6652,6 +6731,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + AedAccountInfo: + allOf: + - $ref: '#/components/schemas/AedAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentAedAccountInfo: title: AED Account allOf: @@ -6665,11 +6757,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - KesAccountInfo: + KesAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6677,12 +6768,6 @@ components: type: string enum: - KES_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Kenyan mobile money phone number @@ -6695,6 +6780,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + KesAccountInfo: + allOf: + - $ref: '#/components/schemas/KesAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentKesAccountInfo: title: KES Account allOf: @@ -6708,11 +6806,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MwkAccountInfo: + MwkAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6720,12 +6817,6 @@ components: type: string enum: - MWK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6738,6 +6829,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + MwkAccountInfo: + allOf: + - $ref: '#/components/schemas/MwkAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentMwkAccountInfo: title: MWK Account allOf: @@ -6751,11 +6855,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - RwfAccountInfo: + RwfAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6763,12 +6866,6 @@ components: type: string enum: - RWF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Rwandan mobile money phone number @@ -6781,6 +6878,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + RwfAccountInfo: + allOf: + - $ref: '#/components/schemas/RwfAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentRwfAccountInfo: title: RWF Account allOf: @@ -6794,11 +6904,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - TzsAccountInfo: + TzsAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6806,12 +6915,6 @@ components: type: string enum: - TZS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Tanzanian mobile money phone number @@ -6824,6 +6927,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + TzsAccountInfo: + allOf: + - $ref: '#/components/schemas/TzsAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentTzsAccountInfo: title: TZS Account allOf: @@ -6837,11 +6953,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UgxAccountInfo: + UgxAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6849,12 +6964,6 @@ components: type: string enum: - UGX_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6867,6 +6976,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + UgxAccountInfo: + allOf: + - $ref: '#/components/schemas/UgxAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentUgxAccountInfo: title: UGX Account allOf: @@ -6880,11 +7002,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XofAccountInfo: + XofAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider - region @@ -6893,12 +7014,6 @@ components: type: string enum: - XOF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6922,6 +7037,19 @@ components: - CI - SN - TG + XofAccountInfo: + allOf: + - $ref: '#/components/schemas/XofAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentXofAccountInfo: title: XOF Account allOf: @@ -6935,11 +7063,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZarAccountInfo: + ZarAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -6947,12 +7074,6 @@ components: type: string enum: - ZAR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: South African bank account number @@ -6965,6 +7086,19 @@ components: description: The name of the bank minLength: 1 maxLength: 255 + ZarAccountInfo: + allOf: + - $ref: '#/components/schemas/ZarAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentZarAccountInfo: title: ZAR Account allOf: @@ -6978,11 +7112,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZmwAccountInfo: + ZmwAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6990,12 +7123,6 @@ components: type: string enum: - ZMW_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Zambian mobile money phone number @@ -7008,6 +7135,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + ZmwAccountInfo: + allOf: + - $ref: '#/components/schemas/ZmwAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentZmwAccountInfo: title: ZMW Account allOf: @@ -7021,11 +7161,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BwpAccountInfo: + BwpAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -7033,12 +7172,6 @@ components: type: string enum: - BWP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7051,6 +7184,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + BwpAccountInfo: + allOf: + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentBwpAccountInfo: title: BWP Account allOf: @@ -7064,11 +7210,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XafAccountInfo: + XafAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider - region @@ -7077,12 +7222,6 @@ components: type: string enum: - XAF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7104,6 +7243,19 @@ components: enum: - CM - CG + XafAccountInfo: + allOf: + - $ref: '#/components/schemas/XafAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentXafAccountInfo: title: XAF Account allOf: @@ -7117,11 +7269,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BdtAccountInfo: + BdtAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - branchCode - phoneNumber @@ -7130,13 +7281,6 @@ components: type: string enum: - BDT_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7162,6 +7306,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + BdtAccountInfo: + allOf: + - $ref: '#/components/schemas/BdtAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentBdtAccountInfo: title: BDT Account allOf: @@ -7175,11 +7333,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - CopAccountInfo: + CopAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankAccountType - phoneNumber @@ -7188,13 +7345,6 @@ components: type: string enum: - COP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7213,6 +7363,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + CopAccountInfo: + allOf: + - $ref: '#/components/schemas/CopAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentCopAccountInfo: title: COP Account allOf: @@ -7226,23 +7390,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EgpAccountInfo: + EgpAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber properties: accountType: type: string enum: - EGP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -7262,6 +7419,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + EgpAccountInfo: + allOf: + - $ref: '#/components/schemas/EgpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentEgpAccountInfo: title: EGP Account allOf: @@ -7275,11 +7445,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GhsAccountInfo: + GhsAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7287,13 +7456,6 @@ components: type: string enum: - GHS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7306,6 +7468,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + GhsAccountInfo: + allOf: + - $ref: '#/components/schemas/GhsAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentGhsAccountInfo: title: GHS Account allOf: @@ -7319,11 +7495,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GtqAccountInfo: + GtqAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7331,13 +7506,6 @@ components: type: string enum: - GTQ_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7350,6 +7518,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + GtqAccountInfo: + allOf: + - $ref: '#/components/schemas/GtqAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentGtqAccountInfo: title: GTQ Account allOf: @@ -7363,23 +7545,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HtgAccountInfo: + HtgAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber properties: accountType: type: string enum: - HTG_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7387,6 +7562,19 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + HtgAccountInfo: + allOf: + - $ref: '#/components/schemas/HtgAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentHtgAccountInfo: title: HTG Account allOf: @@ -7400,11 +7588,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - JmdAccountInfo: + JmdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - branchCode - bankAccountType @@ -7413,12 +7600,6 @@ components: type: string enum: - JMD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -7436,6 +7617,19 @@ components: enum: - CHECKING - SAVINGS + JmdAccountInfo: + allOf: + - $ref: '#/components/schemas/JmdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentJmdAccountInfo: title: JMD Account allOf: @@ -7449,11 +7643,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PkrAccountInfo: + PkrAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7461,13 +7654,6 @@ components: type: string enum: - PKR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7487,6 +7673,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + PkrAccountInfo: + allOf: + - $ref: '#/components/schemas/PkrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentPkrAccountInfo: title: PKR Account allOf: @@ -7725,11 +7925,10 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfo: + BrlAccountInfoBase: type: object required: - accountType - - paymentRails - pixKey - pixKeyType - taxId @@ -7738,12 +7937,6 @@ components: type: string enum: - BRL_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PIX pixKey: type: string description: The PIX key (email, phone, CPF, CNPJ, or random) @@ -7764,6 +7957,19 @@ components: minLength: 11 maxLength: 14 pattern: ^[0-9]{11,14}$ + BrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BrlAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX BrlBeneficiary: title: Individual Beneficiary type: object @@ -9784,35 +9990,648 @@ components: example: SOLANA_MAINNET accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' - ExternalAccountCreateRequest: + AedExternalAccountCreateInfo: + title: AED Account allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: - - currency - - accountInfo + - beneficiary properties: - customerId: - type: string - description: The ID of the customer for whom to create the external account. If not provided, the external account will be created on behalf of the platform. - example: Customer:019542f5-b3e7-1d02-0000-000000000001 - currency: - type: string - description: The ISO 4217 currency code - example: USD - platformAccountId: - type: string - description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. - example: ext_acc_123456 - defaultUmaDepositAccount: - type: boolean - description: Whether to set the external account as the default UMA deposit account. When set to true, incoming payments to this customer's UMA address will be automatically deposited into this external account. False if not provided. Note that only one external account can be set as the default UMA deposit account for a customer, so if there is already a default UMA deposit account, this will override the existing default UMA deposit account. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. - default: false - cryptoNetwork: - type: string - description: 'The blockchain network for this external account. Required when the account is a cryptocurrency wallet (e.g. SolanaWallet, PolygonWallet, TronWallet). Specifies which network the wallet is on. Example values: SOLANA_MAINNET, SOLANA_DEVNET, ETHEREUM_MAINNET, POLYGON_MAINNET, TRON_MAINNET.' - example: SOLANA_MAINNET - accountInfo: - $ref: '#/components/schemas/ExternalAccountInfoOneOf' + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/AedBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/AedBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + BrlExternalAccountCreateInfo: + title: BRL Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' + - 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' + BwpExternalAccountCreateInfo: + title: BWP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BwpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BwpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + CadExternalAccountCreateInfo: + title: CAD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/CadBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/CadBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkExternalAccountCreateInfo: + title: DKK Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' + - 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' + EurExternalAccountCreateInfo: + title: EUR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/EurBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/EurBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpExternalAccountCreateInfo: + title: GBP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' + - 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' + HkdExternalAccountCreateInfo: + title: HKD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' + - 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' + IdrExternalAccountCreateInfo: + title: IDR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' + - 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' + InrExternalAccountCreateInfo: + title: INR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfoBase' + - 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' + KesExternalAccountCreateInfo: + title: KES Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/KesBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/KesBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MwkExternalAccountCreateInfo: + title: MWK Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MwkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MwkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnExternalAccountCreateInfo: + title: MXN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' + - 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' + MyrExternalAccountCreateInfo: + title: MYR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' + - 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' + NgnExternalAccountCreateInfo: + title: NGN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/NgnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/NgnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpExternalAccountCreateInfo: + title: PHP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' + - type: object + required: + - 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' + RwfExternalAccountCreateInfo: + title: RWF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/RwfBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/RwfBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdExternalAccountCreateInfo: + title: SGD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' + - type: object + required: + - 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' + ThbExternalAccountCreateInfo: + title: THB Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' + - 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' + TzsExternalAccountCreateInfo: + title: TZS Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/TzsBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/TzsBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UgxExternalAccountCreateInfo: + title: UGX Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UgxBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UgxBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdExternalAccountCreateInfo: + title: USD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' + - 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' + VndExternalAccountCreateInfo: + title: VND Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' + - 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' + XafExternalAccountCreateInfo: + title: XAF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/XafBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/XafBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + XofExternalAccountCreateInfo: + title: XOF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/XofBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/XofBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZarExternalAccountCreateInfo: + title: ZAR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ZarBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ZarBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZmwExternalAccountCreateInfo: + title: ZMW Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ZmwBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ZmwBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountCreateInfoOneOf: + oneOf: + - $ref: '#/components/schemas/AedExternalAccountCreateInfo' + - $ref: '#/components/schemas/BrlExternalAccountCreateInfo' + - $ref: '#/components/schemas/BwpExternalAccountCreateInfo' + - $ref: '#/components/schemas/CadExternalAccountCreateInfo' + - $ref: '#/components/schemas/DkkExternalAccountCreateInfo' + - $ref: '#/components/schemas/EurExternalAccountCreateInfo' + - $ref: '#/components/schemas/GbpExternalAccountCreateInfo' + - $ref: '#/components/schemas/HkdExternalAccountCreateInfo' + - $ref: '#/components/schemas/IdrExternalAccountCreateInfo' + - $ref: '#/components/schemas/InrExternalAccountCreateInfo' + - $ref: '#/components/schemas/KesExternalAccountCreateInfo' + - $ref: '#/components/schemas/MwkExternalAccountCreateInfo' + - $ref: '#/components/schemas/MxnExternalAccountCreateInfo' + - $ref: '#/components/schemas/MyrExternalAccountCreateInfo' + - $ref: '#/components/schemas/NgnExternalAccountCreateInfo' + - $ref: '#/components/schemas/PhpExternalAccountCreateInfo' + - $ref: '#/components/schemas/RwfExternalAccountCreateInfo' + - $ref: '#/components/schemas/SgdExternalAccountCreateInfo' + - $ref: '#/components/schemas/ThbExternalAccountCreateInfo' + - $ref: '#/components/schemas/TzsExternalAccountCreateInfo' + - $ref: '#/components/schemas/UgxExternalAccountCreateInfo' + - $ref: '#/components/schemas/UsdExternalAccountCreateInfo' + - $ref: '#/components/schemas/VndExternalAccountCreateInfo' + - $ref: '#/components/schemas/XafExternalAccountCreateInfo' + - $ref: '#/components/schemas/XofExternalAccountCreateInfo' + - $ref: '#/components/schemas/ZarExternalAccountCreateInfo' + - $ref: '#/components/schemas/ZmwExternalAccountCreateInfo' + - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' + - $ref: '#/components/schemas/LightningExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' + - $ref: '#/components/schemas/EthereumWalletExternalAccountInfo' + discriminator: + propertyName: accountType + mapping: + AED_ACCOUNT: '#/components/schemas/AedExternalAccountCreateInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountCreateInfo' + BWP_ACCOUNT: '#/components/schemas/BwpExternalAccountCreateInfo' + CAD_ACCOUNT: '#/components/schemas/CadExternalAccountCreateInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountCreateInfo' + EUR_ACCOUNT: '#/components/schemas/EurExternalAccountCreateInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountCreateInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountCreateInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountCreateInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountCreateInfo' + KES_ACCOUNT: '#/components/schemas/KesExternalAccountCreateInfo' + MWK_ACCOUNT: '#/components/schemas/MwkExternalAccountCreateInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountCreateInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountCreateInfo' + NGN_ACCOUNT: '#/components/schemas/NgnExternalAccountCreateInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountCreateInfo' + RWF_ACCOUNT: '#/components/schemas/RwfExternalAccountCreateInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountCreateInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountCreateInfo' + TZS_ACCOUNT: '#/components/schemas/TzsExternalAccountCreateInfo' + UGX_ACCOUNT: '#/components/schemas/UgxExternalAccountCreateInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountCreateInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountCreateInfo' + XAF_ACCOUNT: '#/components/schemas/XafExternalAccountCreateInfo' + XOF_ACCOUNT: '#/components/schemas/XofExternalAccountCreateInfo' + ZAR_ACCOUNT: '#/components/schemas/ZarExternalAccountCreateInfo' + ZMW_ACCOUNT: '#/components/schemas/ZmwExternalAccountCreateInfo' + 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' + ETHEREUM_WALLET: '#/components/schemas/EthereumWalletExternalAccountInfo' + ExternalAccountCreateRequest: + allOf: + - type: object + required: + - currency + - accountInfo + properties: + customerId: + type: string + description: The ID of the customer for whom to create the external account. If not provided, the external account will be created on behalf of the platform. + example: Customer:019542f5-b3e7-1d02-0000-000000000001 + currency: + type: string + description: The ISO 4217 currency code + example: USD + platformAccountId: + type: string + description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. + example: ext_acc_123456 + defaultUmaDepositAccount: + type: boolean + description: Whether to set the external account as the default UMA deposit account. When set to true, incoming payments to this customer's UMA address will be automatically deposited into this external account. False if not provided. Note that only one external account can be set as the default UMA deposit account for a customer, so if there is already a default UMA deposit account, this will override the existing default UMA deposit account. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. + default: false + cryptoNetwork: + type: string + description: 'The blockchain network for this external account. Required when the account is a cryptocurrency wallet (e.g. SolanaWallet, PolygonWallet, TronWallet). Specifies which network the wallet is on. Example values: SOLANA_MAINNET, SOLANA_DEVNET, ETHEREUM_MAINNET, POLYGON_MAINNET, TRON_MAINNET.' + example: SOLANA_MAINNET + accountInfo: + $ref: '#/components/schemas/ExternalAccountCreateInfoOneOf' PlatformExternalAccountCreateRequest: type: object required: @@ -9828,7 +10647,7 @@ components: description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. example: ext_acc_123456 accountInfo: - $ref: '#/components/schemas/ExternalAccountInfoOneOf' + $ref: '#/components/schemas/ExternalAccountCreateInfoOneOf' BeneficialOwnerCreateRequest: type: object required: diff --git a/openapi.yaml b/openapi.yaml index d78dd6af..9b702c73 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1001,8 +1001,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -1131,8 +1129,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -5725,11 +5721,10 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfo: + UsdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - routingNumber properties: @@ -5737,16 +5732,6 @@ components: type: string enum: - USD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -5759,6 +5744,23 @@ components: minLength: 9 maxLength: 9 pattern: ^[0-9]{9}$ + UsdAccountInfo: + allOf: + - $ref: '#/components/schemas/UsdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER PaymentUsdAccountInfo: title: USD Bank Account allOf: @@ -5788,23 +5790,16 @@ components: type: string description: A PIX QR code payload that can be used to fund the transaction. This can be rendered as a QR code image or pasted into a PIX-compatible banking app. minLength: 1 - MxnAccountInfo: + MxnAccountInfoBase: type: object required: - accountType - - paymentRails - clabeNumber properties: accountType: type: string enum: - MXN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SPEI clabeNumber: type: string description: The CLABE number of the bank @@ -5812,6 +5807,19 @@ components: minLength: 18 maxLength: 18 pattern: ^[0-9]{18}$ + MxnAccountInfo: + allOf: + - $ref: '#/components/schemas/MxnAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI PaymentMxnAccountInfo: title: MXN Account allOf: @@ -5825,24 +5833,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - DkkAccountInfo: + DkkAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - DKK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5857,6 +5857,20 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + DkkAccountInfo: + allOf: + - $ref: '#/components/schemas/DkkAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT PaymentDkkAccountInfo: title: DKK Account allOf: @@ -5870,24 +5884,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EurAccountInfo: + EurAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - EUR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT iban: type: string description: The IBAN of the bank account @@ -5902,6 +5908,20 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + EurAccountInfo: + allOf: + - $ref: '#/components/schemas/EurAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT PaymentEurAccountInfo: title: EUR Account allOf: @@ -5915,23 +5935,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - InrAccountInfo: + InrAccountInfoBase: type: object required: - accountType - - paymentRails - vpa properties: accountType: type: string enum: - INR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - UPI vpa: type: string description: The UPI Virtual Payment Address @@ -5939,16 +5952,28 @@ components: minLength: 3 maxLength: 255 pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ + InrAccountInfo: + allOf: + - $ref: '#/components/schemas/InrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI PaymentInrAccountInfo: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfo: + NgnAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -5956,12 +5981,6 @@ components: type: string enum: - NGN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5974,6 +5993,19 @@ components: description: The name of the bank minLength: 1 maxLength: 255 + NgnAccountInfo: + allOf: + - $ref: '#/components/schemas/NgnAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentNgnAccountInfo: title: NGN Account allOf: @@ -5987,11 +6019,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - CadAccountInfo: + CadAccountInfoBase: type: object required: - accountType - - paymentRails - bankCode - branchCode - accountNumber @@ -6000,12 +6031,6 @@ components: type: string enum: - CAD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankCode: type: string description: Canadian financial institution number (3 digits) @@ -6027,6 +6052,19 @@ components: minLength: 7 maxLength: 12 pattern: ^[0-9]{7,12}$ + CadAccountInfo: + allOf: + - $ref: '#/components/schemas/CadAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentCadAccountInfo: title: CAD Account allOf: @@ -6040,11 +6078,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GbpAccountInfo: + GbpAccountInfoBase: type: object required: - accountType - - paymentRails - sortCode - accountNumber properties: @@ -6052,12 +6089,6 @@ components: type: string enum: - GBP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -6072,6 +6103,19 @@ components: maxLength: 8 example: '12345678' pattern: ^[0-9]{8}$ + GbpAccountInfo: + allOf: + - $ref: '#/components/schemas/GbpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS PaymentGbpAccountInfo: title: GBP Account allOf: @@ -6085,11 +6129,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HkdAccountInfo: + HkdAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6098,12 +6141,6 @@ components: type: string enum: - HKD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6122,6 +6159,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + HkdAccountInfo: + allOf: + - $ref: '#/components/schemas/HkdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentHkdAccountInfo: title: HKD Account allOf: @@ -6135,11 +6185,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - IdrAccountInfo: + IdrAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6149,12 +6198,6 @@ components: type: string enum: - IDR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6181,6 +6224,19 @@ components: minLength: 7 maxLength: 15 pattern: ^\+62[0-9]{9,12}$ + IdrAccountInfo: + allOf: + - $ref: '#/components/schemas/IdrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentIdrAccountInfo: title: IDR Account allOf: @@ -6194,11 +6250,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MyrAccountInfo: + MyrAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6207,12 +6262,6 @@ components: type: string enum: - MYR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6231,6 +6280,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + MyrAccountInfo: + allOf: + - $ref: '#/components/schemas/MyrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentMyrAccountInfo: title: MYR Account allOf: @@ -6244,11 +6306,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PhpAccountInfo: + PhpAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber properties: @@ -6256,12 +6317,6 @@ components: type: string enum: - PHP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6275,6 +6330,19 @@ components: maxLength: 16 example: '001234567890' pattern: ^[0-9]{8,16}$ + PhpAccountInfo: + allOf: + - $ref: '#/components/schemas/PhpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentPhpAccountInfo: title: PHP Account allOf: @@ -6288,11 +6356,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - SgdAccountInfo: + SgdAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6301,14 +6368,6 @@ components: type: string enum: - SGD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER bankName: type: string description: Name of the beneficiary's bank @@ -6328,6 +6387,21 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + SgdAccountInfo: + allOf: + - $ref: '#/components/schemas/SgdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER PaymentSgdAccountInfo: title: SGD Account allOf: @@ -6341,11 +6415,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ThbAccountInfo: + ThbAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6354,12 +6427,6 @@ components: type: string enum: - THB_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6378,6 +6445,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + ThbAccountInfo: + allOf: + - $ref: '#/components/schemas/ThbAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentThbAccountInfo: title: THB Account allOf: @@ -6391,11 +6471,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - VndAccountInfo: + VndAccountInfoBase: type: object required: - accountType - - paymentRails - bankName - accountNumber - swiftCode @@ -6404,12 +6483,6 @@ components: type: string enum: - VND_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER bankName: type: string description: The name of the bank @@ -6428,6 +6501,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + VndAccountInfo: + allOf: + - $ref: '#/components/schemas/VndAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentVndAccountInfo: title: VND Account allOf: @@ -6621,23 +6707,16 @@ components: description: Type of asset enum: - USDC - AedAccountInfo: + AedAccountInfoBase: type: object required: - accountType - - paymentRails - iban properties: accountType: type: string enum: - AED_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER iban: type: string description: UAE IBAN (23 characters, starting with AE) @@ -6652,6 +6731,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + AedAccountInfo: + allOf: + - $ref: '#/components/schemas/AedAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentAedAccountInfo: title: AED Account allOf: @@ -6665,11 +6757,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - KesAccountInfo: + KesAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6677,12 +6768,6 @@ components: type: string enum: - KES_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Kenyan mobile money phone number @@ -6695,6 +6780,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + KesAccountInfo: + allOf: + - $ref: '#/components/schemas/KesAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentKesAccountInfo: title: KES Account allOf: @@ -6708,11 +6806,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - MwkAccountInfo: + MwkAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6720,12 +6817,6 @@ components: type: string enum: - MWK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6738,6 +6829,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + MwkAccountInfo: + allOf: + - $ref: '#/components/schemas/MwkAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentMwkAccountInfo: title: MWK Account allOf: @@ -6751,11 +6855,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - RwfAccountInfo: + RwfAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6763,12 +6866,6 @@ components: type: string enum: - RWF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Rwandan mobile money phone number @@ -6781,6 +6878,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + RwfAccountInfo: + allOf: + - $ref: '#/components/schemas/RwfAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentRwfAccountInfo: title: RWF Account allOf: @@ -6794,11 +6904,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - TzsAccountInfo: + TzsAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6806,12 +6915,6 @@ components: type: string enum: - TZS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Tanzanian mobile money phone number @@ -6824,6 +6927,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + TzsAccountInfo: + allOf: + - $ref: '#/components/schemas/TzsAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentTzsAccountInfo: title: TZS Account allOf: @@ -6837,11 +6953,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - UgxAccountInfo: + UgxAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6849,12 +6964,6 @@ components: type: string enum: - UGX_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6867,6 +6976,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + UgxAccountInfo: + allOf: + - $ref: '#/components/schemas/UgxAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentUgxAccountInfo: title: UGX Account allOf: @@ -6880,11 +7002,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XofAccountInfo: + XofAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider - region @@ -6893,12 +7014,6 @@ components: type: string enum: - XOF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -6922,6 +7037,19 @@ components: - CI - SN - TG + XofAccountInfo: + allOf: + - $ref: '#/components/schemas/XofAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentXofAccountInfo: title: XOF Account allOf: @@ -6935,11 +7063,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZarAccountInfo: + ZarAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -6947,12 +7074,6 @@ components: type: string enum: - ZAR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: South African bank account number @@ -6965,6 +7086,19 @@ components: description: The name of the bank minLength: 1 maxLength: 255 + ZarAccountInfo: + allOf: + - $ref: '#/components/schemas/ZarAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentZarAccountInfo: title: ZAR Account allOf: @@ -6978,11 +7112,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - ZmwAccountInfo: + ZmwAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -6990,12 +7123,6 @@ components: type: string enum: - ZMW_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: Zambian mobile money phone number @@ -7008,6 +7135,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + ZmwAccountInfo: + allOf: + - $ref: '#/components/schemas/ZmwAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentZmwAccountInfo: title: ZMW Account allOf: @@ -7021,11 +7161,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BwpAccountInfo: + BwpAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider properties: @@ -7033,12 +7172,6 @@ components: type: string enum: - BWP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7051,6 +7184,19 @@ components: description: The mobile money provider name minLength: 1 maxLength: 255 + BwpAccountInfo: + allOf: + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentBwpAccountInfo: title: BWP Account allOf: @@ -7064,11 +7210,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - XafAccountInfo: + XafAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber - provider - region @@ -7077,12 +7222,6 @@ components: type: string enum: - XAF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7104,6 +7243,19 @@ components: enum: - CM - CG + XafAccountInfo: + allOf: + - $ref: '#/components/schemas/XafAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentXafAccountInfo: title: XAF Account allOf: @@ -7117,11 +7269,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BdtAccountInfo: + BdtAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - branchCode - phoneNumber @@ -7130,13 +7281,6 @@ components: type: string enum: - BDT_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7162,6 +7306,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + BdtAccountInfo: + allOf: + - $ref: '#/components/schemas/BdtAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentBdtAccountInfo: title: BDT Account allOf: @@ -7175,11 +7333,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - CopAccountInfo: + CopAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankAccountType - phoneNumber @@ -7188,13 +7345,6 @@ components: type: string enum: - COP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7213,6 +7363,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + CopAccountInfo: + allOf: + - $ref: '#/components/schemas/CopAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentCopAccountInfo: title: COP Account allOf: @@ -7226,23 +7390,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - EgpAccountInfo: + EgpAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber properties: accountType: type: string enum: - EGP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -7262,6 +7419,19 @@ components: minLength: 8 maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + EgpAccountInfo: + allOf: + - $ref: '#/components/schemas/EgpAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentEgpAccountInfo: title: EGP Account allOf: @@ -7275,11 +7445,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GhsAccountInfo: + GhsAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7287,13 +7456,6 @@ components: type: string enum: - GHS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7306,6 +7468,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + GhsAccountInfo: + allOf: + - $ref: '#/components/schemas/GhsAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentGhsAccountInfo: title: GHS Account allOf: @@ -7319,11 +7495,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - GtqAccountInfo: + GtqAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7331,13 +7506,6 @@ components: type: string enum: - GTQ_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7350,6 +7518,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + GtqAccountInfo: + allOf: + - $ref: '#/components/schemas/GtqAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentGtqAccountInfo: title: GTQ Account allOf: @@ -7363,23 +7545,16 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - HtgAccountInfo: + HtgAccountInfoBase: type: object required: - accountType - - paymentRails - phoneNumber properties: accountType: type: string enum: - HTG_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY phoneNumber: type: string description: The phone number in international format @@ -7387,6 +7562,19 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + HtgAccountInfo: + allOf: + - $ref: '#/components/schemas/HtgAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY PaymentHtgAccountInfo: title: HTG Account allOf: @@ -7400,11 +7588,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - JmdAccountInfo: + JmdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - branchCode - bankAccountType @@ -7413,12 +7600,6 @@ components: type: string enum: - JMD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: The account number of the bank @@ -7436,6 +7617,19 @@ components: enum: - CHECKING - SAVINGS + JmdAccountInfo: + allOf: + - $ref: '#/components/schemas/JmdAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER PaymentJmdAccountInfo: title: JMD Account allOf: @@ -7449,11 +7643,10 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - PkrAccountInfo: + PkrAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - phoneNumber properties: @@ -7461,13 +7654,6 @@ components: type: string enum: - PKR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY accountNumber: type: string description: The account number of the bank @@ -7487,6 +7673,20 @@ components: minLength: 7 maxLength: 15 pattern: ^\+[0-9]{6,14}$ + PkrAccountInfo: + allOf: + - $ref: '#/components/schemas/PkrAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY PaymentPkrAccountInfo: title: PKR Account allOf: @@ -7725,11 +7925,10 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfo: + BrlAccountInfoBase: type: object required: - accountType - - paymentRails - pixKey - pixKeyType - taxId @@ -7738,12 +7937,6 @@ components: type: string enum: - BRL_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PIX pixKey: type: string description: The PIX key (email, phone, CPF, CNPJ, or random) @@ -7764,6 +7957,19 @@ components: minLength: 11 maxLength: 14 pattern: ^[0-9]{11,14}$ + BrlAccountInfo: + allOf: + - $ref: '#/components/schemas/BrlAccountInfoBase' + - type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX BrlBeneficiary: title: Individual Beneficiary type: object @@ -9784,35 +9990,648 @@ components: example: SOLANA_MAINNET accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' - ExternalAccountCreateRequest: + AedExternalAccountCreateInfo: + title: AED Account allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: - - currency - - accountInfo + - beneficiary properties: - customerId: - type: string - description: The ID of the customer for whom to create the external account. If not provided, the external account will be created on behalf of the platform. - example: Customer:019542f5-b3e7-1d02-0000-000000000001 - currency: - type: string - description: The ISO 4217 currency code - example: USD - platformAccountId: - type: string - description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. - example: ext_acc_123456 - defaultUmaDepositAccount: - type: boolean - description: Whether to set the external account as the default UMA deposit account. When set to true, incoming payments to this customer's UMA address will be automatically deposited into this external account. False if not provided. Note that only one external account can be set as the default UMA deposit account for a customer, so if there is already a default UMA deposit account, this will override the existing default UMA deposit account. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. - default: false - cryptoNetwork: - type: string - description: 'The blockchain network for this external account. Required when the account is a cryptocurrency wallet (e.g. SolanaWallet, PolygonWallet, TronWallet). Specifies which network the wallet is on. Example values: SOLANA_MAINNET, SOLANA_DEVNET, ETHEREUM_MAINNET, POLYGON_MAINNET, TRON_MAINNET.' - example: SOLANA_MAINNET - accountInfo: - $ref: '#/components/schemas/ExternalAccountInfoOneOf' + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/AedBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/AedBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + BrlExternalAccountCreateInfo: + title: BRL Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' + - 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' + BwpExternalAccountCreateInfo: + title: BWP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BwpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BwpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + CadExternalAccountCreateInfo: + title: CAD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/CadBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/CadBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + DkkExternalAccountCreateInfo: + title: DKK Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' + - 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' + EurExternalAccountCreateInfo: + title: EUR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/EurBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/EurBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GbpExternalAccountCreateInfo: + title: GBP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' + - 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' + HkdExternalAccountCreateInfo: + title: HKD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' + - 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' + IdrExternalAccountCreateInfo: + title: IDR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' + - 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' + InrExternalAccountCreateInfo: + title: INR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/InrAccountInfoBase' + - 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' + KesExternalAccountCreateInfo: + title: KES Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/KesBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/KesBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MwkExternalAccountCreateInfo: + title: MWK Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/MwkBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/MwkBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + MxnExternalAccountCreateInfo: + title: MXN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' + - 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' + MyrExternalAccountCreateInfo: + title: MYR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' + - 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' + NgnExternalAccountCreateInfo: + title: NGN Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/NgnBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/NgnBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PhpExternalAccountCreateInfo: + title: PHP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' + - type: object + required: + - 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' + RwfExternalAccountCreateInfo: + title: RWF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/RwfBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/RwfBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + SgdExternalAccountCreateInfo: + title: SGD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' + - type: object + required: + - 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' + ThbExternalAccountCreateInfo: + title: THB Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' + - 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' + TzsExternalAccountCreateInfo: + title: TZS Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/TzsBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/TzsBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UgxExternalAccountCreateInfo: + title: UGX Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/UgxBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/UgxBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsdExternalAccountCreateInfo: + title: USD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' + - 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' + VndExternalAccountCreateInfo: + title: VND Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' + - 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' + XafExternalAccountCreateInfo: + title: XAF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/XafBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/XafBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + XofExternalAccountCreateInfo: + title: XOF Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/XofBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/XofBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZarExternalAccountCreateInfo: + title: ZAR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ZarBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ZarBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ZmwExternalAccountCreateInfo: + title: ZMW Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/ZmwBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/ZmwBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountCreateInfoOneOf: + oneOf: + - $ref: '#/components/schemas/AedExternalAccountCreateInfo' + - $ref: '#/components/schemas/BrlExternalAccountCreateInfo' + - $ref: '#/components/schemas/BwpExternalAccountCreateInfo' + - $ref: '#/components/schemas/CadExternalAccountCreateInfo' + - $ref: '#/components/schemas/DkkExternalAccountCreateInfo' + - $ref: '#/components/schemas/EurExternalAccountCreateInfo' + - $ref: '#/components/schemas/GbpExternalAccountCreateInfo' + - $ref: '#/components/schemas/HkdExternalAccountCreateInfo' + - $ref: '#/components/schemas/IdrExternalAccountCreateInfo' + - $ref: '#/components/schemas/InrExternalAccountCreateInfo' + - $ref: '#/components/schemas/KesExternalAccountCreateInfo' + - $ref: '#/components/schemas/MwkExternalAccountCreateInfo' + - $ref: '#/components/schemas/MxnExternalAccountCreateInfo' + - $ref: '#/components/schemas/MyrExternalAccountCreateInfo' + - $ref: '#/components/schemas/NgnExternalAccountCreateInfo' + - $ref: '#/components/schemas/PhpExternalAccountCreateInfo' + - $ref: '#/components/schemas/RwfExternalAccountCreateInfo' + - $ref: '#/components/schemas/SgdExternalAccountCreateInfo' + - $ref: '#/components/schemas/ThbExternalAccountCreateInfo' + - $ref: '#/components/schemas/TzsExternalAccountCreateInfo' + - $ref: '#/components/schemas/UgxExternalAccountCreateInfo' + - $ref: '#/components/schemas/UsdExternalAccountCreateInfo' + - $ref: '#/components/schemas/VndExternalAccountCreateInfo' + - $ref: '#/components/schemas/XafExternalAccountCreateInfo' + - $ref: '#/components/schemas/XofExternalAccountCreateInfo' + - $ref: '#/components/schemas/ZarExternalAccountCreateInfo' + - $ref: '#/components/schemas/ZmwExternalAccountCreateInfo' + - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' + - $ref: '#/components/schemas/LightningExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' + - $ref: '#/components/schemas/EthereumWalletExternalAccountInfo' + discriminator: + propertyName: accountType + mapping: + AED_ACCOUNT: '#/components/schemas/AedExternalAccountCreateInfo' + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountCreateInfo' + BWP_ACCOUNT: '#/components/schemas/BwpExternalAccountCreateInfo' + CAD_ACCOUNT: '#/components/schemas/CadExternalAccountCreateInfo' + DKK_ACCOUNT: '#/components/schemas/DkkExternalAccountCreateInfo' + EUR_ACCOUNT: '#/components/schemas/EurExternalAccountCreateInfo' + GBP_ACCOUNT: '#/components/schemas/GbpExternalAccountCreateInfo' + HKD_ACCOUNT: '#/components/schemas/HkdExternalAccountCreateInfo' + IDR_ACCOUNT: '#/components/schemas/IdrExternalAccountCreateInfo' + INR_ACCOUNT: '#/components/schemas/InrExternalAccountCreateInfo' + KES_ACCOUNT: '#/components/schemas/KesExternalAccountCreateInfo' + MWK_ACCOUNT: '#/components/schemas/MwkExternalAccountCreateInfo' + MXN_ACCOUNT: '#/components/schemas/MxnExternalAccountCreateInfo' + MYR_ACCOUNT: '#/components/schemas/MyrExternalAccountCreateInfo' + NGN_ACCOUNT: '#/components/schemas/NgnExternalAccountCreateInfo' + PHP_ACCOUNT: '#/components/schemas/PhpExternalAccountCreateInfo' + RWF_ACCOUNT: '#/components/schemas/RwfExternalAccountCreateInfo' + SGD_ACCOUNT: '#/components/schemas/SgdExternalAccountCreateInfo' + THB_ACCOUNT: '#/components/schemas/ThbExternalAccountCreateInfo' + TZS_ACCOUNT: '#/components/schemas/TzsExternalAccountCreateInfo' + UGX_ACCOUNT: '#/components/schemas/UgxExternalAccountCreateInfo' + USD_ACCOUNT: '#/components/schemas/UsdExternalAccountCreateInfo' + VND_ACCOUNT: '#/components/schemas/VndExternalAccountCreateInfo' + XAF_ACCOUNT: '#/components/schemas/XafExternalAccountCreateInfo' + XOF_ACCOUNT: '#/components/schemas/XofExternalAccountCreateInfo' + ZAR_ACCOUNT: '#/components/schemas/ZarExternalAccountCreateInfo' + ZMW_ACCOUNT: '#/components/schemas/ZmwExternalAccountCreateInfo' + 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' + ETHEREUM_WALLET: '#/components/schemas/EthereumWalletExternalAccountInfo' + ExternalAccountCreateRequest: + allOf: + - type: object + required: + - currency + - accountInfo + properties: + customerId: + type: string + description: The ID of the customer for whom to create the external account. If not provided, the external account will be created on behalf of the platform. + example: Customer:019542f5-b3e7-1d02-0000-000000000001 + currency: + type: string + description: The ISO 4217 currency code + example: USD + platformAccountId: + type: string + description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. + example: ext_acc_123456 + defaultUmaDepositAccount: + type: boolean + description: Whether to set the external account as the default UMA deposit account. When set to true, incoming payments to this customer's UMA address will be automatically deposited into this external account. False if not provided. Note that only one external account can be set as the default UMA deposit account for a customer, so if there is already a default UMA deposit account, this will override the existing default UMA deposit account. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer. + default: false + cryptoNetwork: + type: string + description: 'The blockchain network for this external account. Required when the account is a cryptocurrency wallet (e.g. SolanaWallet, PolygonWallet, TronWallet). Specifies which network the wallet is on. Example values: SOLANA_MAINNET, SOLANA_DEVNET, ETHEREUM_MAINNET, POLYGON_MAINNET, TRON_MAINNET.' + example: SOLANA_MAINNET + accountInfo: + $ref: '#/components/schemas/ExternalAccountCreateInfoOneOf' PlatformExternalAccountCreateRequest: type: object required: @@ -9828,7 +10647,7 @@ components: description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. example: ext_acc_123456 accountInfo: - $ref: '#/components/schemas/ExternalAccountInfoOneOf' + $ref: '#/components/schemas/ExternalAccountCreateInfoOneOf' BeneficialOwnerCreateRequest: type: object required: diff --git a/openapi/components/schemas/common/AedAccountInfo.yaml b/openapi/components/schemas/common/AedAccountInfo.yaml index 663171a5..fd73ae83 100644 --- a/openapi/components/schemas/common/AedAccountInfo.yaml +++ b/openapi/components/schemas/common/AedAccountInfo.yaml @@ -1,30 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- iban -properties: - accountType: - type: string - enum: - - AED_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - iban: - type: string - description: UAE IBAN (23 characters, starting with AE) - example: AE070331234567890123456 - minLength: 23 - maxLength: 23 - pattern: ^AE[0-9]{21}$ - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: EBILAEAD - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./AedAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/AedAccountInfoBase.yaml b/openapi/components/schemas/common/AedAccountInfoBase.yaml new file mode 100644 index 00000000..d7727725 --- /dev/null +++ b/openapi/components/schemas/common/AedAccountInfoBase.yaml @@ -0,0 +1,23 @@ +type: object +required: +- accountType +- iban +properties: + accountType: + type: string + enum: + - AED_ACCOUNT + iban: + type: string + description: UAE IBAN (23 characters, starting with AE) + example: AE070331234567890123456 + minLength: 23 + maxLength: 23 + pattern: ^AE[0-9]{21}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: EBILAEAD + 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/BdtAccountInfo.yaml b/openapi/components/schemas/common/BdtAccountInfo.yaml index d552be0f..abef8be7 100644 --- a/openapi/components/schemas/common/BdtAccountInfo.yaml +++ b/openapi/components/schemas/common/BdtAccountInfo.yaml @@ -1,44 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- branchCode -- phoneNumber -properties: - accountType: - type: string - enum: - - BDT_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - branchCode: - type: string - description: The branch code - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./BdtAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/BdtAccountInfoBase.yaml b/openapi/components/schemas/common/BdtAccountInfoBase.yaml new file mode 100644 index 00000000..a28a003f --- /dev/null +++ b/openapi/components/schemas/common/BdtAccountInfoBase.yaml @@ -0,0 +1,36 @@ +type: object +required: +- accountType +- accountNumber +- branchCode +- phoneNumber +properties: + accountType: + type: string + enum: + - BDT_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DEUTDEFF + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/BrlAccountInfo.yaml b/openapi/components/schemas/common/BrlAccountInfo.yaml index f3c2a60f..8d307bbd 100644 --- a/openapi/components/schemas/common/BrlAccountInfo.yaml +++ b/openapi/components/schemas/common/BrlAccountInfo.yaml @@ -1,38 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- pixKey -- pixKeyType -- taxId -properties: - accountType: - type: string - enum: - - BRL_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PIX - pixKey: - type: string - description: The PIX key (email, phone, CPF, CNPJ, or random) - minLength: 1 - maxLength: 77 - pixKeyType: - type: string - description: The type of PIX key - enum: - - CPF - - CNPJ - - EMAIL - - PHONE - - RANDOM - taxId: - type: string - description: The tax ID (CPF or CNPJ) - minLength: 11 - maxLength: 14 - pattern: ^[0-9]{11,14}$ +allOf: +- $ref: ./BrlAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX diff --git a/openapi/components/schemas/common/BrlAccountInfoBase.yaml b/openapi/components/schemas/common/BrlAccountInfoBase.yaml new file mode 100644 index 00000000..86653e1c --- /dev/null +++ b/openapi/components/schemas/common/BrlAccountInfoBase.yaml @@ -0,0 +1,31 @@ +type: object +required: +- accountType +- pixKey +- pixKeyType +- taxId +properties: + accountType: + type: string + enum: + - BRL_ACCOUNT + pixKey: + type: string + description: The PIX key (email, phone, CPF, CNPJ, or random) + minLength: 1 + maxLength: 77 + pixKeyType: + type: string + description: The type of PIX key + enum: + - CPF + - CNPJ + - EMAIL + - PHONE + - RANDOM + taxId: + type: string + description: The tax ID (CPF or CNPJ) + minLength: 11 + maxLength: 14 + pattern: ^[0-9]{11,14}$ diff --git a/openapi/components/schemas/common/BwpAccountInfo.yaml b/openapi/components/schemas/common/BwpAccountInfo.yaml index 460dd99c..400ab9de 100644 --- a/openapi/components/schemas/common/BwpAccountInfo.yaml +++ b/openapi/components/schemas/common/BwpAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - BWP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./BwpAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/BwpAccountInfoBase.yaml b/openapi/components/schemas/common/BwpAccountInfoBase.yaml new file mode 100644 index 00000000..92702fdc --- /dev/null +++ b/openapi/components/schemas/common/BwpAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - BWP_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/CadAccountInfo.yaml b/openapi/components/schemas/common/CadAccountInfo.yaml index e0380ec8..e660cbc1 100644 --- a/openapi/components/schemas/common/CadAccountInfo.yaml +++ b/openapi/components/schemas/common/CadAccountInfo.yaml @@ -1,39 +1,12 @@ -type: object -required: - - accountType +allOf: +- $ref: ./CadAccountInfoBase.yaml +- type: object + required: - paymentRails - - bankCode - - branchCode - - accountNumber -properties: - accountType: - type: string - enum: - - CAD_ACCOUNT - 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}$ + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/CadAccountInfoBase.yaml b/openapi/components/schemas/common/CadAccountInfoBase.yaml new file mode 100644 index 00000000..efdd5932 --- /dev/null +++ b/openapi/components/schemas/common/CadAccountInfoBase.yaml @@ -0,0 +1,32 @@ +type: object +required: + - accountType + - bankCode + - branchCode + - 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}$ + 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/CopAccountInfo.yaml b/openapi/components/schemas/common/CopAccountInfo.yaml index 0eb3d1c1..e16c7af9 100644 --- a/openapi/components/schemas/common/CopAccountInfo.yaml +++ b/openapi/components/schemas/common/CopAccountInfo.yaml @@ -1,37 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- bankAccountType -- phoneNumber -properties: - accountType: - type: string - enum: - - COP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - bankAccountType: - type: string - description: The bank account type - enum: - - CHECKING - - SAVINGS - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./CopAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/CopAccountInfoBase.yaml b/openapi/components/schemas/common/CopAccountInfoBase.yaml new file mode 100644 index 00000000..8da93898 --- /dev/null +++ b/openapi/components/schemas/common/CopAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- accountNumber +- bankAccountType +- phoneNumber +properties: + accountType: + type: string + enum: + - COP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/DkkAccountInfo.yaml b/openapi/components/schemas/common/DkkAccountInfo.yaml index f0117910..7cd09699 100644 --- a/openapi/components/schemas/common/DkkAccountInfo.yaml +++ b/openapi/components/schemas/common/DkkAccountInfo.yaml @@ -1,31 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- iban -properties: - accountType: - type: string - enum: - - DKK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT - iban: - type: string - description: The IBAN of the bank account - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./DkkAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT diff --git a/openapi/components/schemas/common/DkkAccountInfoBase.yaml b/openapi/components/schemas/common/DkkAccountInfoBase.yaml new file mode 100644 index 00000000..95feb300 --- /dev/null +++ b/openapi/components/schemas/common/DkkAccountInfoBase.yaml @@ -0,0 +1,23 @@ +type: object +required: +- accountType +- iban +properties: + accountType: + type: string + enum: + - DKK_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + 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/EgpAccountInfo.yaml b/openapi/components/schemas/common/EgpAccountInfo.yaml index e3bc6765..a9e27046 100644 --- a/openapi/components/schemas/common/EgpAccountInfo.yaml +++ b/openapi/components/schemas/common/EgpAccountInfo.yaml @@ -1,35 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -properties: - accountType: - type: string - enum: - - EGP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - iban: - type: string - description: The IBAN of the bank account - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./EgpAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/EgpAccountInfoBase.yaml b/openapi/components/schemas/common/EgpAccountInfoBase.yaml new file mode 100644 index 00000000..935cdbf7 --- /dev/null +++ b/openapi/components/schemas/common/EgpAccountInfoBase.yaml @@ -0,0 +1,28 @@ +type: object +required: +- accountType +- accountNumber +properties: + accountType: + type: string + enum: + - EGP_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + 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/EurAccountInfo.yaml b/openapi/components/schemas/common/EurAccountInfo.yaml index ea495f5a..26858d18 100644 --- a/openapi/components/schemas/common/EurAccountInfo.yaml +++ b/openapi/components/schemas/common/EurAccountInfo.yaml @@ -1,31 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- iban -properties: - accountType: - type: string - enum: - - EUR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - SEPA - - SEPA_INSTANT - iban: - type: string - description: The IBAN of the bank account - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: DEUTDEFF - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./EurAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT diff --git a/openapi/components/schemas/common/EurAccountInfoBase.yaml b/openapi/components/schemas/common/EurAccountInfoBase.yaml new file mode 100644 index 00000000..fdaf219b --- /dev/null +++ b/openapi/components/schemas/common/EurAccountInfoBase.yaml @@ -0,0 +1,23 @@ +type: object +required: +- accountType +- iban +properties: + accountType: + type: string + enum: + - EUR_ACCOUNT + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + 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/GbpAccountInfo.yaml b/openapi/components/schemas/common/GbpAccountInfo.yaml index d34f7803..e7c3ba48 100644 --- a/openapi/components/schemas/common/GbpAccountInfo.yaml +++ b/openapi/components/schemas/common/GbpAccountInfo.yaml @@ -1,31 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- sortCode -- accountNumber -properties: - accountType: - type: string - enum: - - GBP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS - sortCode: - type: string - description: The UK sort code - example: '123456' - minLength: 6 - maxLength: 6 - pattern: ^[0-9]{6}$ - accountNumber: - type: string - description: UK bank account number (8 digits) - minLength: 8 - maxLength: 8 - example: '12345678' - pattern: ^[0-9]{8}$ +allOf: +- $ref: ./GbpAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS diff --git a/openapi/components/schemas/common/GbpAccountInfoBase.yaml b/openapi/components/schemas/common/GbpAccountInfoBase.yaml new file mode 100644 index 00000000..d57ec13e --- /dev/null +++ b/openapi/components/schemas/common/GbpAccountInfoBase.yaml @@ -0,0 +1,24 @@ +type: object +required: +- accountType +- sortCode +- accountNumber +properties: + accountType: + type: string + enum: + - GBP_ACCOUNT + sortCode: + type: string + description: The UK sort code + example: '123456' + minLength: 6 + maxLength: 6 + pattern: ^[0-9]{6}$ + accountNumber: + type: string + description: UK bank account number (8 digits) + minLength: 8 + maxLength: 8 + example: '12345678' + pattern: ^[0-9]{8}$ diff --git a/openapi/components/schemas/common/GhsAccountInfo.yaml b/openapi/components/schemas/common/GhsAccountInfo.yaml index a345e7f7..3ffa38f5 100644 --- a/openapi/components/schemas/common/GhsAccountInfo.yaml +++ b/openapi/components/schemas/common/GhsAccountInfo.yaml @@ -1,30 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- phoneNumber -properties: - accountType: - type: string - enum: - - GHS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./GhsAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/GhsAccountInfoBase.yaml b/openapi/components/schemas/common/GhsAccountInfoBase.yaml new file mode 100644 index 00000000..636581a6 --- /dev/null +++ b/openapi/components/schemas/common/GhsAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - GHS_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/GtqAccountInfo.yaml b/openapi/components/schemas/common/GtqAccountInfo.yaml index 4fc089af..9cbc2018 100644 --- a/openapi/components/schemas/common/GtqAccountInfo.yaml +++ b/openapi/components/schemas/common/GtqAccountInfo.yaml @@ -1,30 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- phoneNumber -properties: - accountType: - type: string - enum: - - GTQ_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./GtqAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/GtqAccountInfoBase.yaml b/openapi/components/schemas/common/GtqAccountInfoBase.yaml new file mode 100644 index 00000000..40915add --- /dev/null +++ b/openapi/components/schemas/common/GtqAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - GTQ_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/HkdAccountInfo.yaml b/openapi/components/schemas/common/HkdAccountInfo.yaml index ed477be5..d2854480 100644 --- a/openapi/components/schemas/common/HkdAccountInfo.yaml +++ b/openapi/components/schemas/common/HkdAccountInfo.yaml @@ -1,36 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -properties: - accountType: - type: string - enum: - - HKD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 - accountNumber: - type: string - description: Hong Kong bank account number - minLength: 1 - maxLength: 34 - example: '123456789012' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: HSBCHKHHHKH - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./HkdAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/HkdAccountInfoBase.yaml b/openapi/components/schemas/common/HkdAccountInfoBase.yaml new file mode 100644 index 00000000..619df6a2 --- /dev/null +++ b/openapi/components/schemas/common/HkdAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - HKD_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Hong Kong bank account number + minLength: 1 + maxLength: 34 + example: '123456789012' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: HSBCHKHHHKH + 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/HtgAccountInfo.yaml b/openapi/components/schemas/common/HtgAccountInfo.yaml index 03bc16b9..7287cc73 100644 --- a/openapi/components/schemas/common/HtgAccountInfo.yaml +++ b/openapi/components/schemas/common/HtgAccountInfo.yaml @@ -1,23 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -properties: - accountType: - type: string - enum: - - HTG_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./HtgAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/HtgAccountInfoBase.yaml b/openapi/components/schemas/common/HtgAccountInfoBase.yaml new file mode 100644 index 00000000..797f43e5 --- /dev/null +++ b/openapi/components/schemas/common/HtgAccountInfoBase.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- phoneNumber +properties: + accountType: + type: string + enum: + - HTG_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/IdrAccountInfo.yaml b/openapi/components/schemas/common/IdrAccountInfo.yaml index 0e54e8ef..20243d4b 100644 --- a/openapi/components/schemas/common/IdrAccountInfo.yaml +++ b/openapi/components/schemas/common/IdrAccountInfo.yaml @@ -1,45 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -- phoneNumber -properties: - accountType: - type: string - enum: - - IDR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 - example: Bank Central Asia - accountNumber: - type: string - description: Indonesian bank account number - minLength: 1 - maxLength: 34 - example: '1234567890' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: CENAIDJA - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ - phoneNumber: - type: string - description: Indonesian phone number for e-wallet payments - example: '+6281234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+62[0-9]{9,12}$ +allOf: +- $ref: ./IdrAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/IdrAccountInfoBase.yaml b/openapi/components/schemas/common/IdrAccountInfoBase.yaml new file mode 100644 index 00000000..02fdfa32 --- /dev/null +++ b/openapi/components/schemas/common/IdrAccountInfoBase.yaml @@ -0,0 +1,38 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +- phoneNumber +properties: + accountType: + type: string + enum: + - IDR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + example: Bank Central Asia + accountNumber: + type: string + description: Indonesian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: CENAIDJA + minLength: 8 + maxLength: 11 + pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ + phoneNumber: + type: string + description: Indonesian phone number for e-wallet payments + example: '+6281234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+62[0-9]{9,12}$ diff --git a/openapi/components/schemas/common/InrAccountInfo.yaml b/openapi/components/schemas/common/InrAccountInfo.yaml index 0d056120..0ea13547 100644 --- a/openapi/components/schemas/common/InrAccountInfo.yaml +++ b/openapi/components/schemas/common/InrAccountInfo.yaml @@ -1,23 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- vpa -properties: - accountType: - type: string - enum: - - INR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - UPI - vpa: - type: string - description: The UPI Virtual Payment Address - example: user@upi - minLength: 3 - maxLength: 255 - pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ +allOf: +- $ref: ./InrAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI diff --git a/openapi/components/schemas/common/InrAccountInfoBase.yaml b/openapi/components/schemas/common/InrAccountInfoBase.yaml new file mode 100644 index 00000000..63143fcb --- /dev/null +++ b/openapi/components/schemas/common/InrAccountInfoBase.yaml @@ -0,0 +1,16 @@ +type: object +required: +- accountType +- vpa +properties: + accountType: + type: string + enum: + - INR_ACCOUNT + vpa: + type: string + description: The UPI Virtual Payment Address + example: user@upi + minLength: 3 + maxLength: 255 + pattern: ^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9]+$ diff --git a/openapi/components/schemas/common/JmdAccountInfo.yaml b/openapi/components/schemas/common/JmdAccountInfo.yaml index 4118d807..6afe803d 100644 --- a/openapi/components/schemas/common/JmdAccountInfo.yaml +++ b/openapi/components/schemas/common/JmdAccountInfo.yaml @@ -1,35 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- branchCode -- bankAccountType -properties: - accountType: - type: string - enum: - - JMD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - branchCode: - type: string - description: The branch code - minLength: 5 - maxLength: 5 - pattern: ^[0-9]{5}$ - bankAccountType: - type: string - description: The bank account type - enum: - - CHECKING - - SAVINGS +allOf: +- $ref: ./JmdAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/JmdAccountInfoBase.yaml b/openapi/components/schemas/common/JmdAccountInfoBase.yaml new file mode 100644 index 00000000..5c8f5854 --- /dev/null +++ b/openapi/components/schemas/common/JmdAccountInfoBase.yaml @@ -0,0 +1,28 @@ +type: object +required: +- accountType +- accountNumber +- branchCode +- bankAccountType +properties: + accountType: + type: string + enum: + - JMD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + branchCode: + type: string + description: The branch code + minLength: 5 + maxLength: 5 + pattern: ^[0-9]{5}$ + bankAccountType: + type: string + description: The bank account type + enum: + - CHECKING + - SAVINGS diff --git a/openapi/components/schemas/common/KesAccountInfo.yaml b/openapi/components/schemas/common/KesAccountInfo.yaml index c7c15980..a80ac6c7 100644 --- a/openapi/components/schemas/common/KesAccountInfo.yaml +++ b/openapi/components/schemas/common/KesAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - KES_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: Kenyan mobile money phone number - example: '+254712345678' - minLength: 7 - maxLength: 15 - pattern: ^\+254[0-9]{9}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./KesAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/KesAccountInfoBase.yaml b/openapi/components/schemas/common/KesAccountInfoBase.yaml new file mode 100644 index 00000000..91210976 --- /dev/null +++ b/openapi/components/schemas/common/KesAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - KES_ACCOUNT + phoneNumber: + type: string + description: Kenyan mobile money phone number + example: '+254712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+254[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/MwkAccountInfo.yaml b/openapi/components/schemas/common/MwkAccountInfo.yaml index 67509ee9..9a879f7d 100644 --- a/openapi/components/schemas/common/MwkAccountInfo.yaml +++ b/openapi/components/schemas/common/MwkAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - MWK_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./MwkAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/MwkAccountInfoBase.yaml b/openapi/components/schemas/common/MwkAccountInfoBase.yaml new file mode 100644 index 00000000..2e86815a --- /dev/null +++ b/openapi/components/schemas/common/MwkAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - MWK_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/MxnAccountInfo.yaml b/openapi/components/schemas/common/MxnAccountInfo.yaml index bd86b030..8259c14b 100644 --- a/openapi/components/schemas/common/MxnAccountInfo.yaml +++ b/openapi/components/schemas/common/MxnAccountInfo.yaml @@ -1,23 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- clabeNumber -properties: - accountType: - type: string - enum: - - MXN_ACCOUNT - 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}$ +allOf: +- $ref: ./MxnAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI diff --git a/openapi/components/schemas/common/MxnAccountInfoBase.yaml b/openapi/components/schemas/common/MxnAccountInfoBase.yaml new file mode 100644 index 00000000..d5444dea --- /dev/null +++ b/openapi/components/schemas/common/MxnAccountInfoBase.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/MyrAccountInfo.yaml b/openapi/components/schemas/common/MyrAccountInfo.yaml index a91c2f5e..ec5ab5a4 100644 --- a/openapi/components/schemas/common/MyrAccountInfo.yaml +++ b/openapi/components/schemas/common/MyrAccountInfo.yaml @@ -1,36 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -properties: - accountType: - type: string - enum: - - MYR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 - accountNumber: - type: string - description: Malaysian bank account number - minLength: 1 - maxLength: 34 - example: '1234567890' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: MABORUMMYYY - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./MyrAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/MyrAccountInfoBase.yaml b/openapi/components/schemas/common/MyrAccountInfoBase.yaml new file mode 100644 index 00000000..6a8b8536 --- /dev/null +++ b/openapi/components/schemas/common/MyrAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - MYR_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Malaysian bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: MABORUMMYYY + 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/NgnAccountInfo.yaml b/openapi/components/schemas/common/NgnAccountInfo.yaml index fe0565ab..6ef441b2 100644 --- a/openapi/components/schemas/common/NgnAccountInfo.yaml +++ b/openapi/components/schemas/common/NgnAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- bankName -properties: - accountType: - type: string - enum: - - NGN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - accountNumber: - type: string - description: Nigerian bank account number - minLength: 10 - maxLength: 10 - example: '0123456789' - pattern: ^[0-9]{10}$ - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./NgnAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/NgnAccountInfoBase.yaml b/openapi/components/schemas/common/NgnAccountInfoBase.yaml new file mode 100644 index 00000000..febb24ca --- /dev/null +++ b/openapi/components/schemas/common/NgnAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- accountNumber +- bankName +properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + accountNumber: + type: string + description: Nigerian bank account number + minLength: 10 + maxLength: 10 + example: '0123456789' + pattern: ^[0-9]{10}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/PhpAccountInfo.yaml b/openapi/components/schemas/common/PhpAccountInfo.yaml index 548f26d5..bc3422e1 100644 --- a/openapi/components/schemas/common/PhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PhpAccountInfo.yaml @@ -1,30 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -properties: - accountType: - type: string - enum: - - PHP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: Name of the beneficiary's bank - minLength: 1 - maxLength: 255 - example: BDO Unibank - accountNumber: - type: string - description: Bank account number - minLength: 8 - maxLength: 16 - example: '001234567890' - pattern: ^[0-9]{8,16}$ +allOf: +- $ref: ./PhpAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/PhpAccountInfoBase.yaml b/openapi/components/schemas/common/PhpAccountInfoBase.yaml new file mode 100644 index 00000000..d4451c8b --- /dev/null +++ b/openapi/components/schemas/common/PhpAccountInfoBase.yaml @@ -0,0 +1,23 @@ +type: object +required: +- accountType +- bankName +- accountNumber +properties: + accountType: + type: string + enum: + - PHP_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: BDO Unibank + accountNumber: + type: string + description: Bank account number + minLength: 8 + maxLength: 16 + example: '001234567890' + pattern: ^[0-9]{8,16}$ diff --git a/openapi/components/schemas/common/PkrAccountInfo.yaml b/openapi/components/schemas/common/PkrAccountInfo.yaml index d5a3f6a2..059b85c3 100644 --- a/openapi/components/schemas/common/PkrAccountInfo.yaml +++ b/openapi/components/schemas/common/PkrAccountInfo.yaml @@ -1,37 +1,13 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- phoneNumber -properties: - accountType: - type: string - enum: - - PKR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - - MOBILE_MONEY - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - iban: - type: string - description: The IBAN of the bank account - example: DE89370400440532013000 - minLength: 15 - maxLength: 34 - pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ +allOf: +- $ref: ./PkrAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/PkrAccountInfoBase.yaml b/openapi/components/schemas/common/PkrAccountInfoBase.yaml new file mode 100644 index 00000000..4c3e9801 --- /dev/null +++ b/openapi/components/schemas/common/PkrAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- accountNumber +- phoneNumber +properties: + accountType: + type: string + enum: + - PKR_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + iban: + type: string + description: The IBAN of the bank account + example: DE89370400440532013000 + minLength: 15 + maxLength: 34 + pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ diff --git a/openapi/components/schemas/common/RwfAccountInfo.yaml b/openapi/components/schemas/common/RwfAccountInfo.yaml index 2b86420b..74637bf1 100644 --- a/openapi/components/schemas/common/RwfAccountInfo.yaml +++ b/openapi/components/schemas/common/RwfAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - RWF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: Rwandan mobile money phone number - example: '+250781234567' - minLength: 7 - maxLength: 15 - pattern: ^\+250[0-9]{9}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./RwfAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/RwfAccountInfoBase.yaml b/openapi/components/schemas/common/RwfAccountInfoBase.yaml new file mode 100644 index 00000000..f647d6b0 --- /dev/null +++ b/openapi/components/schemas/common/RwfAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - RWF_ACCOUNT + phoneNumber: + type: string + description: Rwandan mobile money phone number + example: '+250781234567' + minLength: 7 + maxLength: 15 + pattern: ^\+250[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/SgdAccountInfo.yaml b/openapi/components/schemas/common/SgdAccountInfo.yaml index 423e544c..76e6c192 100644 --- a/openapi/components/schemas/common/SgdAccountInfo.yaml +++ b/openapi/components/schemas/common/SgdAccountInfo.yaml @@ -1,39 +1,14 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -properties: - accountType: - type: string - enum: - - SGD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - PAYNOW - - FAST - - BANK_TRANSFER - bankName: - type: string - description: Name of the beneficiary's bank - minLength: 1 - maxLength: 255 - example: DBS Bank Ltd - accountNumber: - type: string - description: Bank account number - minLength: 1 - maxLength: 34 - example: '0123456789' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: DBSSSGSG - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./SgdAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/SgdAccountInfoBase.yaml b/openapi/components/schemas/common/SgdAccountInfoBase.yaml new file mode 100644 index 00000000..159b8a7d --- /dev/null +++ b/openapi/components/schemas/common/SgdAccountInfoBase.yaml @@ -0,0 +1,30 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - SGD_ACCOUNT + bankName: + type: string + description: Name of the beneficiary's bank + minLength: 1 + maxLength: 255 + example: DBS Bank Ltd + accountNumber: + type: string + description: Bank account number + minLength: 1 + maxLength: 34 + example: '0123456789' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: DBSSSGSG + 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/ThbAccountInfo.yaml b/openapi/components/schemas/common/ThbAccountInfo.yaml index d75b0d61..c75916cb 100644 --- a/openapi/components/schemas/common/ThbAccountInfo.yaml +++ b/openapi/components/schemas/common/ThbAccountInfo.yaml @@ -1,36 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -properties: - accountType: - type: string - enum: - - THB_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 - accountNumber: - type: string - description: Thai bank account number - minLength: 1 - maxLength: 34 - example: '1234567890' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: BKKBTHBK - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./ThbAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/ThbAccountInfoBase.yaml b/openapi/components/schemas/common/ThbAccountInfoBase.yaml new file mode 100644 index 00000000..7e5762fe --- /dev/null +++ b/openapi/components/schemas/common/ThbAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - THB_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Thai bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BKKBTHBK + 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/TzsAccountInfo.yaml b/openapi/components/schemas/common/TzsAccountInfo.yaml index d02b75e4..07f6e1fb 100644 --- a/openapi/components/schemas/common/TzsAccountInfo.yaml +++ b/openapi/components/schemas/common/TzsAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - TZS_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: Tanzanian mobile money phone number - example: '+255712345678' - minLength: 7 - maxLength: 15 - pattern: ^\+255[0-9]{9}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./TzsAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/TzsAccountInfoBase.yaml b/openapi/components/schemas/common/TzsAccountInfoBase.yaml new file mode 100644 index 00000000..e85e5531 --- /dev/null +++ b/openapi/components/schemas/common/TzsAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - TZS_ACCOUNT + phoneNumber: + type: string + description: Tanzanian mobile money phone number + example: '+255712345678' + minLength: 7 + maxLength: 15 + pattern: ^\+255[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/UgxAccountInfo.yaml b/openapi/components/schemas/common/UgxAccountInfo.yaml index 9d022398..c11d0310 100644 --- a/openapi/components/schemas/common/UgxAccountInfo.yaml +++ b/openapi/components/schemas/common/UgxAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - UGX_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./UgxAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/UgxAccountInfoBase.yaml b/openapi/components/schemas/common/UgxAccountInfoBase.yaml new file mode 100644 index 00000000..e49fa579 --- /dev/null +++ b/openapi/components/schemas/common/UgxAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - UGX_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/UsdAccountInfo.yaml b/openapi/components/schemas/common/UsdAccountInfo.yaml index d592f529..4d2f9909 100644 --- a/openapi/components/schemas/common/UsdAccountInfo.yaml +++ b/openapi/components/schemas/common/UsdAccountInfo.yaml @@ -1,33 +1,16 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- routingNumber -properties: - accountType: - type: string - enum: - - USD_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - ACH - - WIRE - - RTP - - FEDNOW - - BANK_TRANSFER - accountNumber: - type: string - description: The account number of the bank - minLength: 1 - maxLength: 34 - routingNumber: - type: string - description: The ABA routing number - example: '021000021' - minLength: 9 - maxLength: 9 - pattern: ^[0-9]{9}$ +allOf: +- $ref: ./UsdAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/UsdAccountInfoBase.yaml b/openapi/components/schemas/common/UsdAccountInfoBase.yaml new file mode 100644 index 00000000..e849d396 --- /dev/null +++ b/openapi/components/schemas/common/UsdAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- accountNumber +- routingNumber +properties: + accountType: + type: string + enum: + - USD_ACCOUNT + accountNumber: + type: string + description: The account number of the bank + minLength: 1 + maxLength: 34 + routingNumber: + type: string + description: The ABA routing number + example: '021000021' + minLength: 9 + maxLength: 9 + pattern: ^[0-9]{9}$ diff --git a/openapi/components/schemas/common/VndAccountInfo.yaml b/openapi/components/schemas/common/VndAccountInfo.yaml index d987aaeb..b0fdee25 100644 --- a/openapi/components/schemas/common/VndAccountInfo.yaml +++ b/openapi/components/schemas/common/VndAccountInfo.yaml @@ -1,36 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- bankName -- accountNumber -- swiftCode -properties: - accountType: - type: string - enum: - - VND_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 - accountNumber: - type: string - description: Vietnamese bank account number - minLength: 1 - maxLength: 34 - example: '1234567890' - swiftCode: - type: string - description: The SWIFT/BIC code of the bank - example: BFTVVNVX - minLength: 8 - maxLength: 11 - pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ +allOf: +- $ref: ./VndAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/VndAccountInfoBase.yaml b/openapi/components/schemas/common/VndAccountInfoBase.yaml new file mode 100644 index 00000000..6b49faeb --- /dev/null +++ b/openapi/components/schemas/common/VndAccountInfoBase.yaml @@ -0,0 +1,29 @@ +type: object +required: +- accountType +- bankName +- accountNumber +- swiftCode +properties: + accountType: + type: string + enum: + - VND_ACCOUNT + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 + accountNumber: + type: string + description: Vietnamese bank account number + minLength: 1 + maxLength: 34 + example: '1234567890' + swiftCode: + type: string + description: The SWIFT/BIC code of the bank + example: BFTVVNVX + 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/XafAccountInfo.yaml b/openapi/components/schemas/common/XafAccountInfo.yaml index ed3354e4..b9e5337c 100644 --- a/openapi/components/schemas/common/XafAccountInfo.yaml +++ b/openapi/components/schemas/common/XafAccountInfo.yaml @@ -1,39 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -- region -properties: - accountType: - type: string - enum: - - XAF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 - region: - type: string - description: Country code within the Central African CFA franc zone - minLength: 2 - maxLength: 2 - pattern: ^[A-Z]{2}$ - enum: - - CM - - CG +allOf: +- $ref: ./XafAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/XafAccountInfoBase.yaml b/openapi/components/schemas/common/XafAccountInfoBase.yaml new file mode 100644 index 00000000..32e2c99c --- /dev/null +++ b/openapi/components/schemas/common/XafAccountInfoBase.yaml @@ -0,0 +1,32 @@ +type: object +required: +- accountType +- phoneNumber +- provider +- region +properties: + accountType: + type: string + enum: + - XAF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the Central African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - CM + - CG diff --git a/openapi/components/schemas/common/XofAccountInfo.yaml b/openapi/components/schemas/common/XofAccountInfo.yaml index dc1f3519..218e4e69 100644 --- a/openapi/components/schemas/common/XofAccountInfo.yaml +++ b/openapi/components/schemas/common/XofAccountInfo.yaml @@ -1,41 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -- region -properties: - accountType: - type: string - enum: - - XOF_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: The phone number in international format - example: '+1234567890' - minLength: 7 - maxLength: 15 - pattern: ^\+[0-9]{6,14}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 - region: - type: string - description: Country code within the West African CFA franc zone - minLength: 2 - maxLength: 2 - pattern: ^[A-Z]{2}$ - enum: - - BJ - - CI - - SN - - TG +allOf: +- $ref: ./XofAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/XofAccountInfoBase.yaml b/openapi/components/schemas/common/XofAccountInfoBase.yaml new file mode 100644 index 00000000..bce67946 --- /dev/null +++ b/openapi/components/schemas/common/XofAccountInfoBase.yaml @@ -0,0 +1,34 @@ +type: object +required: +- accountType +- phoneNumber +- provider +- region +properties: + accountType: + type: string + enum: + - XOF_ACCOUNT + phoneNumber: + type: string + description: The phone number in international format + example: '+1234567890' + minLength: 7 + maxLength: 15 + pattern: ^\+[0-9]{6,14}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 + region: + type: string + description: Country code within the West African CFA franc zone + minLength: 2 + maxLength: 2 + pattern: ^[A-Z]{2}$ + enum: + - BJ + - CI + - SN + - TG diff --git a/openapi/components/schemas/common/ZarAccountInfo.yaml b/openapi/components/schemas/common/ZarAccountInfo.yaml index 62a6fff0..556e7401 100644 --- a/openapi/components/schemas/common/ZarAccountInfo.yaml +++ b/openapi/components/schemas/common/ZarAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- accountNumber -- bankName -properties: - accountType: - type: string - enum: - - ZAR_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER - accountNumber: - type: string - description: South African bank account number - minLength: 9 - maxLength: 13 - example: '1234567890' - pattern: ^[0-9]{9,13}$ - bankName: - type: string - description: The name of the bank - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./ZarAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER diff --git a/openapi/components/schemas/common/ZarAccountInfoBase.yaml b/openapi/components/schemas/common/ZarAccountInfoBase.yaml new file mode 100644 index 00000000..8b38d8c4 --- /dev/null +++ b/openapi/components/schemas/common/ZarAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- accountNumber +- bankName +properties: + accountType: + type: string + enum: + - ZAR_ACCOUNT + accountNumber: + type: string + description: South African bank account number + minLength: 9 + maxLength: 13 + example: '1234567890' + pattern: ^[0-9]{9,13}$ + bankName: + type: string + description: The name of the bank + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/common/ZmwAccountInfo.yaml b/openapi/components/schemas/common/ZmwAccountInfo.yaml index 446d3d34..3cce7d88 100644 --- a/openapi/components/schemas/common/ZmwAccountInfo.yaml +++ b/openapi/components/schemas/common/ZmwAccountInfo.yaml @@ -1,29 +1,12 @@ -type: object -required: -- accountType -- paymentRails -- phoneNumber -- provider -properties: - accountType: - type: string - enum: - - ZMW_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - MOBILE_MONEY - phoneNumber: - type: string - description: Zambian mobile money phone number - example: '+260971234567' - minLength: 7 - maxLength: 15 - pattern: ^\+260[0-9]{9}$ - provider: - type: string - description: The mobile money provider name - minLength: 1 - maxLength: 255 +allOf: +- $ref: ./ZmwAccountInfoBase.yaml +- type: object + required: + - paymentRails + properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY diff --git a/openapi/components/schemas/common/ZmwAccountInfoBase.yaml b/openapi/components/schemas/common/ZmwAccountInfoBase.yaml new file mode 100644 index 00000000..ea834759 --- /dev/null +++ b/openapi/components/schemas/common/ZmwAccountInfoBase.yaml @@ -0,0 +1,22 @@ +type: object +required: +- accountType +- phoneNumber +- provider +properties: + accountType: + type: string + enum: + - ZMW_ACCOUNT + phoneNumber: + type: string + description: Zambian mobile money phone number + example: '+260971234567' + minLength: 7 + maxLength: 15 + pattern: ^\+260[0-9]{9}$ + provider: + type: string + description: The mobile money provider name + minLength: 1 + maxLength: 255 diff --git a/openapi/components/schemas/external_accounts/AedExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/AedExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..f569b07d --- /dev/null +++ b/openapi/components/schemas/external_accounts/AedExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: AED Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/AedAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/AedBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/AedBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BrlExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/BrlExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..8d810362 --- /dev/null +++ b/openapi/components/schemas/external_accounts/BrlExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: BRL Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/BrlAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/BrlBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/BrlBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BwpExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/BwpExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..e92b9d92 --- /dev/null +++ b/openapi/components/schemas/external_accounts/BwpExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: BWP Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/BwpAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/BwpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/BwpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/CadExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/CadExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..9e70071c --- /dev/null +++ b/openapi/components/schemas/external_accounts/CadExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: CAD Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/CadAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/CadBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/CadBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/DkkExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/DkkExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..999abfa5 --- /dev/null +++ b/openapi/components/schemas/external_accounts/DkkExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: DKK Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/DkkAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/DkkBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/DkkBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/EurExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/EurExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..f731a290 --- /dev/null +++ b/openapi/components/schemas/external_accounts/EurExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: EUR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/EurAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/EurBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/EurBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml b/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml new file mode 100644 index 00000000..8afe0987 --- /dev/null +++ b/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml @@ -0,0 +1,72 @@ +oneOf: +- $ref: ./AedExternalAccountCreateInfo.yaml +- $ref: ./BrlExternalAccountCreateInfo.yaml +- $ref: ./BwpExternalAccountCreateInfo.yaml +- $ref: ./CadExternalAccountCreateInfo.yaml +- $ref: ./DkkExternalAccountCreateInfo.yaml +- $ref: ./EurExternalAccountCreateInfo.yaml +- $ref: ./GbpExternalAccountCreateInfo.yaml +- $ref: ./HkdExternalAccountCreateInfo.yaml +- $ref: ./IdrExternalAccountCreateInfo.yaml +- $ref: ./InrExternalAccountCreateInfo.yaml +- $ref: ./KesExternalAccountCreateInfo.yaml +- $ref: ./MwkExternalAccountCreateInfo.yaml +- $ref: ./MxnExternalAccountCreateInfo.yaml +- $ref: ./MyrExternalAccountCreateInfo.yaml +- $ref: ./NgnExternalAccountCreateInfo.yaml +- $ref: ./PhpExternalAccountCreateInfo.yaml +- $ref: ./RwfExternalAccountCreateInfo.yaml +- $ref: ./SgdExternalAccountCreateInfo.yaml +- $ref: ./ThbExternalAccountCreateInfo.yaml +- $ref: ./TzsExternalAccountCreateInfo.yaml +- $ref: ./UgxExternalAccountCreateInfo.yaml +- $ref: ./UsdExternalAccountCreateInfo.yaml +- $ref: ./VndExternalAccountCreateInfo.yaml +- $ref: ./XafExternalAccountCreateInfo.yaml +- $ref: ./XofExternalAccountCreateInfo.yaml +- $ref: ./ZarExternalAccountCreateInfo.yaml +- $ref: ./ZmwExternalAccountCreateInfo.yaml +- $ref: ./SparkWalletExternalAccountInfo.yaml +- $ref: ./LightningExternalAccountInfo.yaml +- $ref: ./SolanaWalletExternalAccountInfo.yaml +- $ref: ./TronWalletExternalAccountInfo.yaml +- $ref: ./PolygonWalletExternalAccountInfo.yaml +- $ref: ./BaseWalletExternalAccountInfo.yaml +- $ref: ./EthereumWalletExternalAccountInfo.yaml +discriminator: + propertyName: accountType + mapping: + AED_ACCOUNT: ./AedExternalAccountCreateInfo.yaml + BRL_ACCOUNT: ./BrlExternalAccountCreateInfo.yaml + BWP_ACCOUNT: ./BwpExternalAccountCreateInfo.yaml + CAD_ACCOUNT: ./CadExternalAccountCreateInfo.yaml + DKK_ACCOUNT: ./DkkExternalAccountCreateInfo.yaml + EUR_ACCOUNT: ./EurExternalAccountCreateInfo.yaml + GBP_ACCOUNT: ./GbpExternalAccountCreateInfo.yaml + HKD_ACCOUNT: ./HkdExternalAccountCreateInfo.yaml + IDR_ACCOUNT: ./IdrExternalAccountCreateInfo.yaml + INR_ACCOUNT: ./InrExternalAccountCreateInfo.yaml + KES_ACCOUNT: ./KesExternalAccountCreateInfo.yaml + MWK_ACCOUNT: ./MwkExternalAccountCreateInfo.yaml + MXN_ACCOUNT: ./MxnExternalAccountCreateInfo.yaml + MYR_ACCOUNT: ./MyrExternalAccountCreateInfo.yaml + NGN_ACCOUNT: ./NgnExternalAccountCreateInfo.yaml + PHP_ACCOUNT: ./PhpExternalAccountCreateInfo.yaml + RWF_ACCOUNT: ./RwfExternalAccountCreateInfo.yaml + SGD_ACCOUNT: ./SgdExternalAccountCreateInfo.yaml + THB_ACCOUNT: ./ThbExternalAccountCreateInfo.yaml + TZS_ACCOUNT: ./TzsExternalAccountCreateInfo.yaml + UGX_ACCOUNT: ./UgxExternalAccountCreateInfo.yaml + USD_ACCOUNT: ./UsdExternalAccountCreateInfo.yaml + VND_ACCOUNT: ./VndExternalAccountCreateInfo.yaml + XAF_ACCOUNT: ./XafExternalAccountCreateInfo.yaml + XOF_ACCOUNT: ./XofExternalAccountCreateInfo.yaml + ZAR_ACCOUNT: ./ZarExternalAccountCreateInfo.yaml + ZMW_ACCOUNT: ./ZmwExternalAccountCreateInfo.yaml + SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml + LIGHTNING: ./LightningExternalAccountInfo.yaml + SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml + TRON_WALLET: ./TronWalletExternalAccountInfo.yaml + POLYGON_WALLET: ./PolygonWalletExternalAccountInfo.yaml + BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml + ETHEREUM_WALLET: ./EthereumWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml b/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml index 7dcfafbd..8afb3211 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountCreateRequest.yaml @@ -37,4 +37,4 @@ allOf: ETHEREUM_MAINNET, POLYGON_MAINNET, TRON_MAINNET. example: SOLANA_MAINNET accountInfo: - $ref: ./ExternalAccountInfoOneOf.yaml + $ref: ./ExternalAccountCreateInfoOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/GbpExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/GbpExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..b619dc32 --- /dev/null +++ b/openapi/components/schemas/external_accounts/GbpExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: GBP Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/GbpAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/GbpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/GbpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/HkdExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/HkdExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..9ff43ba6 --- /dev/null +++ b/openapi/components/schemas/external_accounts/HkdExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: HKD Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/HkdAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/HkdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/HkdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/IdrExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/IdrExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..e2c7d8b6 --- /dev/null +++ b/openapi/components/schemas/external_accounts/IdrExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: IDR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/IdrAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/IdrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/IdrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/InrExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/InrExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..e536b6d6 --- /dev/null +++ b/openapi/components/schemas/external_accounts/InrExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: INR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/InrAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/InrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/InrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/KesExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/KesExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..e8692420 --- /dev/null +++ b/openapi/components/schemas/external_accounts/KesExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: KES Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/KesAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/KesBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/KesBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MwkExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/MwkExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..bf4d9ec6 --- /dev/null +++ b/openapi/components/schemas/external_accounts/MwkExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: MWK Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MwkAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MwkBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MwkBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MxnExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/MxnExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..74e71fe5 --- /dev/null +++ b/openapi/components/schemas/external_accounts/MxnExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: MXN Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MxnAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MxnBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MxnBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/MyrExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/MyrExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..80bbbec0 --- /dev/null +++ b/openapi/components/schemas/external_accounts/MyrExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: MYR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/MyrAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/MyrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/MyrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/NgnExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/NgnExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..7cf722e0 --- /dev/null +++ b/openapi/components/schemas/external_accounts/NgnExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: NGN Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/NgnAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/NgnBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/NgnBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PhpExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/PhpExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..f23f3567 --- /dev/null +++ b/openapi/components/schemas/external_accounts/PhpExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: PHP Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/PhpAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/PhpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/PhpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PlatformExternalAccountCreateRequest.yaml b/openapi/components/schemas/external_accounts/PlatformExternalAccountCreateRequest.yaml index 01db6602..27e26f51 100644 --- a/openapi/components/schemas/external_accounts/PlatformExternalAccountCreateRequest.yaml +++ b/openapi/components/schemas/external_accounts/PlatformExternalAccountCreateRequest.yaml @@ -12,4 +12,4 @@ properties: description: Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier. example: ext_acc_123456 accountInfo: - $ref: ./ExternalAccountInfoOneOf.yaml + $ref: ./ExternalAccountCreateInfoOneOf.yaml diff --git a/openapi/components/schemas/external_accounts/RwfExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/RwfExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..fe8b81a1 --- /dev/null +++ b/openapi/components/schemas/external_accounts/RwfExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: RWF Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/RwfAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/RwfBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/RwfBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/SgdExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/SgdExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..e0eddea0 --- /dev/null +++ b/openapi/components/schemas/external_accounts/SgdExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: SGD Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/SgdAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/SgdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/SgdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ThbExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/ThbExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..9f210d29 --- /dev/null +++ b/openapi/components/schemas/external_accounts/ThbExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: THB Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/ThbAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/ThbBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/ThbBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/TzsExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/TzsExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..831f21c8 --- /dev/null +++ b/openapi/components/schemas/external_accounts/TzsExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: TZS Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/TzsAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/TzsBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/TzsBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/UgxExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/UgxExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..2c76012a --- /dev/null +++ b/openapi/components/schemas/external_accounts/UgxExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: UGX Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/UgxAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/UgxBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/UgxBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/UsdExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/UsdExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..483baf77 --- /dev/null +++ b/openapi/components/schemas/external_accounts/UsdExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: USD Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/UsdAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/UsdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/UsdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/VndExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/VndExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..ef529585 --- /dev/null +++ b/openapi/components/schemas/external_accounts/VndExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: VND Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/VndAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/VndBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/VndBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/XafExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/XafExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..a7203a26 --- /dev/null +++ b/openapi/components/schemas/external_accounts/XafExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: XAF Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/XafAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/XafBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/XafBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/XofExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/XofExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..966c9dc7 --- /dev/null +++ b/openapi/components/schemas/external_accounts/XofExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: XOF Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/XofAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/XofBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/XofBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ZarExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/ZarExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..14b9956f --- /dev/null +++ b/openapi/components/schemas/external_accounts/ZarExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: ZAR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/ZarAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/ZarBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/ZarBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/ZmwExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/ZmwExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..c6eb1c89 --- /dev/null +++ b/openapi/components/schemas/external_accounts/ZmwExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: ZMW Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/ZmwAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/ZmwBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/ZmwBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/paths/customers/customers_external_accounts.yaml b/openapi/paths/customers/customers_external_accounts.yaml index e7330774..4a60ff16 100644 --- a/openapi/paths/customers/customers_external_accounts.yaml +++ b/openapi/paths/customers/customers_external_accounts.yaml @@ -110,8 +110,6 @@ post: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: "12345678901" routingNumber: "123456789" accountCategory: CHECKING diff --git a/openapi/paths/platform/platform_external_accounts.yaml b/openapi/paths/platform/platform_external_accounts.yaml index 8ae735b2..42abd3cf 100644 --- a/openapi/paths/platform/platform_external_accounts.yaml +++ b/openapi/paths/platform/platform_external_accounts.yaml @@ -72,8 +72,6 @@ post: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: "12345678901" routingNumber: "123456789" accountCategory: CHECKING