diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index f9bb0be0..8a22bbb9 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -1037,8 +1037,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -1167,8 +1165,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -5677,11 +5673,10 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfo: + UsdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - routingNumber properties: @@ -5689,16 +5684,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 @@ -5715,11 +5700,22 @@ components: title: USD Bank Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -5740,23 +5736,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 @@ -5768,33 +5757,32 @@ components: title: MXN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI reference: 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 @@ -5813,33 +5801,33 @@ components: title: DKK Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: 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 @@ -5858,32 +5846,33 @@ components: title: EUR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/EurAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: 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 @@ -5895,12 +5884,11 @@ components: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfo: + - $ref: '#/components/schemas/InrAccountInfoBase' + NgnAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -5908,12 +5896,6 @@ components: type: string enum: - NGN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5930,20 +5912,26 @@ components: title: NGN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -5952,12 +5940,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) @@ -5983,20 +5965,26 @@ components: title: CAD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6004,12 +5992,6 @@ components: type: string enum: - GBP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -6028,20 +6010,26 @@ components: title: GBP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS reference: 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 @@ -6050,12 +6038,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 @@ -6078,20 +6060,26 @@ components: title: HKD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6101,12 +6089,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 @@ -6137,20 +6119,26 @@ components: title: IDR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6159,12 +6147,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 @@ -6187,20 +6169,26 @@ components: title: MYR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6208,12 +6196,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 @@ -6231,20 +6213,26 @@ components: title: PHP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6253,14 +6241,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 @@ -6284,20 +6264,28 @@ components: title: SGD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER reference: 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 @@ -6306,12 +6294,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 @@ -6334,20 +6316,26 @@ components: title: THB Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6356,12 +6344,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 @@ -6384,11 +6366,18 @@ components: title: VND Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -6573,23 +6562,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) @@ -6608,20 +6590,26 @@ components: title: AED Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/AedAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6629,12 +6617,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 @@ -6651,20 +6633,26 @@ components: title: KES Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/KesAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6672,12 +6660,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 @@ -6694,20 +6676,26 @@ components: title: MWK Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MwkAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6715,12 +6703,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 @@ -6737,20 +6719,26 @@ components: title: RWF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/RwfAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6758,12 +6746,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 @@ -6780,20 +6762,26 @@ components: title: TZS Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/TzsAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6801,12 +6789,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 @@ -6823,20 +6805,26 @@ components: title: UGX Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UgxAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -6845,12 +6833,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 @@ -6878,20 +6860,26 @@ components: title: XOF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/XofAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6899,12 +6887,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 @@ -6921,20 +6903,26 @@ components: title: ZAR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ZarAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6942,12 +6930,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 @@ -6964,20 +6946,26 @@ components: title: ZMW Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ZmwAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6985,12 +6973,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 @@ -7007,20 +6989,26 @@ components: title: BWP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7029,12 +7017,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 @@ -7060,20 +7042,26 @@ components: title: XAF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/XafAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7082,13 +7070,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 @@ -7118,20 +7099,27 @@ components: title: BDT Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/BdtAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7140,13 +7128,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 @@ -7169,32 +7150,33 @@ components: title: COP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/CopAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7218,20 +7200,26 @@ components: title: EGP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/EgpAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -7239,13 +7227,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 @@ -7262,20 +7243,27 @@ components: title: GHS Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GhsAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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: @@ -7283,13 +7271,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 @@ -7306,32 +7287,33 @@ components: title: GTQ Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GtqAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7343,20 +7325,26 @@ components: title: HTG Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/HtgAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7365,12 +7353,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 @@ -7392,20 +7374,26 @@ components: title: JMD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/JmdAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -7413,13 +7401,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 @@ -7443,11 +7424,19 @@ components: title: PKR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PkrAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -7677,11 +7666,10 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfo: + BrlAccountInfoBase: type: object required: - accountType - - paymentRails - pixKey - pixKeyType - taxId @@ -7690,12 +7678,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) @@ -7782,11 +7764,18 @@ components: title: BRL Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BrlAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX beneficiary: oneOf: - title: Individual Beneficiary @@ -7836,11 +7825,18 @@ components: title: CAD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -7887,11 +7883,19 @@ components: title: DKK Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT beneficiary: oneOf: - title: Individual Beneficiary @@ -7939,13 +7943,21 @@ components: title: EUR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/EurAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: - beneficiary: - oneOf: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + beneficiary: + oneOf: - title: Individual Beneficiary $ref: '#/components/schemas/EurBeneficiary' - title: Business Beneficiary @@ -7990,11 +8002,18 @@ components: title: GBP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS beneficiary: oneOf: - title: Individual Beneficiary @@ -8041,11 +8060,18 @@ components: title: HKD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8092,11 +8118,18 @@ components: title: IDR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8143,11 +8176,18 @@ components: title: INR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' + - $ref: '#/components/schemas/InrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI beneficiary: oneOf: - title: Individual Beneficiary @@ -8194,11 +8234,18 @@ components: title: KES Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/KesAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8245,11 +8292,18 @@ components: title: MWK Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MwkAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8296,11 +8350,18 @@ components: title: MXN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI beneficiary: oneOf: - title: Individual Beneficiary @@ -8347,11 +8408,18 @@ components: title: MYR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8398,11 +8466,18 @@ components: title: NGN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8449,11 +8524,18 @@ components: title: PHP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8500,11 +8582,18 @@ components: title: RWF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/RwfAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8551,11 +8640,20 @@ components: title: SGD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8602,11 +8700,18 @@ components: title: THB Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8653,11 +8758,18 @@ components: title: TZS Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TzsAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8704,11 +8816,18 @@ components: title: UGX Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UgxAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8755,11 +8874,22 @@ components: title: USD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8806,11 +8936,18 @@ components: title: VND Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8857,11 +8994,18 @@ components: title: XOF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/XofAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8908,11 +9052,18 @@ components: title: ZAR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ZarAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8959,11 +9110,18 @@ components: title: ZMW Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ZmwAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9068,11 +9226,18 @@ components: title: AED Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/AedAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9119,11 +9284,18 @@ components: title: BWP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9170,11 +9342,18 @@ components: title: XAF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/XafAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9221,11 +9400,19 @@ components: title: BDT Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BdtAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9273,11 +9460,19 @@ components: title: COP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CopAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9327,11 +9522,18 @@ components: title: EGP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/EgpAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9378,11 +9580,19 @@ components: title: GHS Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GhsAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9430,11 +9640,19 @@ components: title: GTQ Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GtqAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9481,11 +9699,18 @@ components: title: HTG Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HtgAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9534,11 +9759,18 @@ components: title: JMD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/JmdAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9585,11 +9817,19 @@ components: title: PKR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PkrAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9736,35 +9976,825 @@ components: example: SOLANA_MAINNET accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' - ExternalAccountCreateRequest: + BrlExternalAccountCreateInfo: + title: BRL Account allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' - 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/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + 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' + 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' + AedExternalAccountCreateInfo: + title: AED Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' + - type: object + required: + - beneficiary + properties: + 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' + 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' + 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' + BdtExternalAccountCreateInfo: + title: BDT Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BdtBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BdtBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + CopExternalAccountCreateInfo: + title: COP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/CopBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/CopBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + EgpExternalAccountCreateInfo: + title: EGP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/EgpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/EgpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GhsExternalAccountCreateInfo: + title: GHS Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GhsBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GhsBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GtqExternalAccountCreateInfo: + title: GTQ Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GtqBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GtqBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HtgExternalAccountCreateInfo: + title: HTG Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HtgBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HtgBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + JmdExternalAccountCreateInfo: + title: JMD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/JmdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/JmdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PkrExternalAccountCreateInfo: + title: PKR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PkrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PkrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountCreateInfoOneOf: + oneOf: + - $ref: '#/components/schemas/BrlExternalAccountCreateInfo' + - $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/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' + - $ref: '#/components/schemas/AedExternalAccountCreateInfo' + - $ref: '#/components/schemas/BwpExternalAccountCreateInfo' + - $ref: '#/components/schemas/XafExternalAccountCreateInfo' + - $ref: '#/components/schemas/BdtExternalAccountCreateInfo' + - $ref: '#/components/schemas/CopExternalAccountCreateInfo' + - $ref: '#/components/schemas/EgpExternalAccountCreateInfo' + - $ref: '#/components/schemas/GhsExternalAccountCreateInfo' + - $ref: '#/components/schemas/GtqExternalAccountCreateInfo' + - $ref: '#/components/schemas/HtgExternalAccountCreateInfo' + - $ref: '#/components/schemas/JmdExternalAccountCreateInfo' + - $ref: '#/components/schemas/PkrExternalAccountCreateInfo' + discriminator: + propertyName: accountType + mapping: + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountCreateInfo' + 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' + 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' + AED_ACCOUNT: '#/components/schemas/AedExternalAccountCreateInfo' + BWP_ACCOUNT: '#/components/schemas/BwpExternalAccountCreateInfo' + XAF_ACCOUNT: '#/components/schemas/XafExternalAccountCreateInfo' + BDT_ACCOUNT: '#/components/schemas/BdtExternalAccountCreateInfo' + COP_ACCOUNT: '#/components/schemas/CopExternalAccountCreateInfo' + EGP_ACCOUNT: '#/components/schemas/EgpExternalAccountCreateInfo' + GHS_ACCOUNT: '#/components/schemas/GhsExternalAccountCreateInfo' + GTQ_ACCOUNT: '#/components/schemas/GtqExternalAccountCreateInfo' + HTG_ACCOUNT: '#/components/schemas/HtgExternalAccountCreateInfo' + JMD_ACCOUNT: '#/components/schemas/JmdExternalAccountCreateInfo' + LIGHTNING_ACCOUNT: '#/components/schemas/LightningExternalAccountInfo' + PKR_ACCOUNT: '#/components/schemas/PkrExternalAccountCreateInfo' + 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: @@ -9780,7 +10810,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 f9bb0be0..8a22bbb9 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1037,8 +1037,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -1167,8 +1165,6 @@ paths: currency: USD accountInfo: accountType: USD_ACCOUNT - paymentRails: - - ACH accountNumber: '12345678901' routingNumber: '123456789' accountCategory: CHECKING @@ -5677,11 +5673,10 @@ components: properties: accountType: $ref: '#/components/schemas/PaymentAccountType' - UsdAccountInfo: + UsdAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - routingNumber properties: @@ -5689,16 +5684,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 @@ -5715,11 +5700,22 @@ components: title: USD Bank Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -5740,23 +5736,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 @@ -5768,33 +5757,32 @@ components: title: MXN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI reference: 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 @@ -5813,33 +5801,33 @@ components: title: DKK Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: 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 @@ -5858,32 +5846,33 @@ components: title: EUR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/EurAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: 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 @@ -5895,12 +5884,11 @@ components: title: INR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' - NgnAccountInfo: + - $ref: '#/components/schemas/InrAccountInfoBase' + NgnAccountInfoBase: type: object required: - accountType - - paymentRails - accountNumber - bankName properties: @@ -5908,12 +5896,6 @@ components: type: string enum: - NGN_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - BANK_TRANSFER accountNumber: type: string description: Nigerian bank account number @@ -5930,20 +5912,26 @@ components: title: NGN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -5952,12 +5940,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) @@ -5983,20 +5965,26 @@ components: title: CAD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6004,12 +5992,6 @@ components: type: string enum: - GBP_ACCOUNT - paymentRails: - type: array - items: - type: string - enum: - - FASTER_PAYMENTS sortCode: type: string description: The UK sort code @@ -6028,20 +6010,26 @@ components: title: GBP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS reference: 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 @@ -6050,12 +6038,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 @@ -6078,20 +6060,26 @@ components: title: HKD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6101,12 +6089,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 @@ -6137,20 +6119,26 @@ components: title: IDR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6159,12 +6147,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 @@ -6187,20 +6169,26 @@ components: title: MYR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6208,12 +6196,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 @@ -6231,20 +6213,26 @@ components: title: PHP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6253,14 +6241,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 @@ -6284,20 +6264,28 @@ components: title: SGD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER reference: 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 @@ -6306,12 +6294,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 @@ -6334,20 +6316,26 @@ components: title: THB Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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 @@ -6356,12 +6344,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 @@ -6384,11 +6366,18 @@ components: title: VND Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -6573,23 +6562,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) @@ -6608,20 +6590,26 @@ components: title: AED Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/AedAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6629,12 +6617,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 @@ -6651,20 +6633,26 @@ components: title: KES Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/KesAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6672,12 +6660,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 @@ -6694,20 +6676,26 @@ components: title: MWK Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/MwkAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6715,12 +6703,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 @@ -6737,20 +6719,26 @@ components: title: RWF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/RwfAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6758,12 +6746,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 @@ -6780,20 +6762,26 @@ components: title: TZS Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/TzsAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6801,12 +6789,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 @@ -6823,20 +6805,26 @@ components: title: UGX Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/UgxAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -6845,12 +6833,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 @@ -6878,20 +6860,26 @@ components: title: XOF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/XofAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6899,12 +6887,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 @@ -6921,20 +6903,26 @@ components: title: ZAR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ZarAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -6942,12 +6930,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 @@ -6964,20 +6946,26 @@ components: title: ZMW Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/ZmwAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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: @@ -6985,12 +6973,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 @@ -7007,20 +6989,26 @@ components: title: BWP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7029,12 +7017,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 @@ -7060,20 +7042,26 @@ components: title: XAF Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/XafAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7082,13 +7070,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 @@ -7118,20 +7099,27 @@ components: title: BDT Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/BdtAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7140,13 +7128,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 @@ -7169,32 +7150,33 @@ components: title: COP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/CopAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7218,20 +7200,26 @@ components: title: EGP Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/EgpAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -7239,13 +7227,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 @@ -7262,20 +7243,27 @@ components: title: GHS Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GhsAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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: @@ -7283,13 +7271,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 @@ -7306,32 +7287,33 @@ components: title: GTQ Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/GtqAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: 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 @@ -7343,20 +7325,26 @@ components: title: HTG Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/HtgAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: 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 @@ -7365,12 +7353,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 @@ -7392,20 +7374,26 @@ components: title: JMD Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/JmdAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: 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: @@ -7413,13 +7401,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 @@ -7443,11 +7424,19 @@ components: title: PKR Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/PkrAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to properly credit it @@ -7677,11 +7666,10 @@ components: properties: accountType: $ref: '#/components/schemas/ExternalAccountType' - BrlAccountInfo: + BrlAccountInfoBase: type: object required: - accountType - - paymentRails - pixKey - pixKeyType - taxId @@ -7690,12 +7678,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) @@ -7782,11 +7764,18 @@ components: title: BRL Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BrlAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX beneficiary: oneOf: - title: Individual Beneficiary @@ -7836,11 +7825,18 @@ components: title: CAD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CadAccountInfo' + - $ref: '#/components/schemas/CadAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -7887,11 +7883,19 @@ components: title: DKK Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/DkkAccountInfo' + - $ref: '#/components/schemas/DkkAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT beneficiary: oneOf: - title: Individual Beneficiary @@ -7939,13 +7943,21 @@ components: title: EUR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/EurAccountInfo' + - $ref: '#/components/schemas/EurAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: - beneficiary: - oneOf: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT + beneficiary: + oneOf: - title: Individual Beneficiary $ref: '#/components/schemas/EurBeneficiary' - title: Business Beneficiary @@ -7990,11 +8002,18 @@ components: title: GBP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GbpAccountInfo' + - $ref: '#/components/schemas/GbpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS beneficiary: oneOf: - title: Individual Beneficiary @@ -8041,11 +8060,18 @@ components: title: HKD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HkdAccountInfo' + - $ref: '#/components/schemas/HkdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8092,11 +8118,18 @@ components: title: IDR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/IdrAccountInfo' + - $ref: '#/components/schemas/IdrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8143,11 +8176,18 @@ components: title: INR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/InrAccountInfo' + - $ref: '#/components/schemas/InrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI beneficiary: oneOf: - title: Individual Beneficiary @@ -8194,11 +8234,18 @@ components: title: KES Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/KesAccountInfo' + - $ref: '#/components/schemas/KesAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8245,11 +8292,18 @@ components: title: MWK Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MwkAccountInfo' + - $ref: '#/components/schemas/MwkAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8296,11 +8350,18 @@ components: title: MXN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MxnAccountInfo' + - $ref: '#/components/schemas/MxnAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI beneficiary: oneOf: - title: Individual Beneficiary @@ -8347,11 +8408,18 @@ components: title: MYR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/MyrAccountInfo' + - $ref: '#/components/schemas/MyrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8398,11 +8466,18 @@ components: title: NGN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' + - $ref: '#/components/schemas/NgnAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8449,11 +8524,18 @@ components: title: PHP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PhpAccountInfo' + - $ref: '#/components/schemas/PhpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8500,11 +8582,18 @@ components: title: RWF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/RwfAccountInfo' + - $ref: '#/components/schemas/RwfAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8551,11 +8640,20 @@ components: title: SGD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/SgdAccountInfo' + - $ref: '#/components/schemas/SgdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8602,11 +8700,18 @@ components: title: THB Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ThbAccountInfo' + - $ref: '#/components/schemas/ThbAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8653,11 +8758,18 @@ components: title: TZS Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/TzsAccountInfo' + - $ref: '#/components/schemas/TzsAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8704,11 +8816,18 @@ components: title: UGX Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UgxAccountInfo' + - $ref: '#/components/schemas/UgxAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8755,11 +8874,22 @@ components: title: USD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsdAccountInfo' + - $ref: '#/components/schemas/UsdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8806,11 +8936,18 @@ components: title: VND Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/VndAccountInfo' + - $ref: '#/components/schemas/VndAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8857,11 +8994,18 @@ components: title: XOF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/XofAccountInfo' + - $ref: '#/components/schemas/XofAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -8908,11 +9052,18 @@ components: title: ZAR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ZarAccountInfo' + - $ref: '#/components/schemas/ZarAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -8959,11 +9110,18 @@ components: title: ZMW Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/ZmwAccountInfo' + - $ref: '#/components/schemas/ZmwAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9068,11 +9226,18 @@ components: title: AED Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/AedAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9119,11 +9284,18 @@ components: title: BWP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BwpAccountInfo' + - $ref: '#/components/schemas/BwpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9170,11 +9342,18 @@ components: title: XAF Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/XafAccountInfo' + - $ref: '#/components/schemas/XafAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9221,11 +9400,19 @@ components: title: BDT Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/BdtAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9273,11 +9460,19 @@ components: title: COP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/CopAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9327,11 +9522,18 @@ components: title: EGP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/EgpAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9378,11 +9580,19 @@ components: title: GHS Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GhsAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9430,11 +9640,19 @@ components: title: GTQ Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/GtqAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9481,11 +9699,18 @@ components: title: HTG Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/HtgAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9534,11 +9759,18 @@ components: title: JMD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/JmdAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary @@ -9585,11 +9817,19 @@ components: title: PKR Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/PkrAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary @@ -9736,35 +9976,825 @@ components: example: SOLANA_MAINNET accountInfo: $ref: '#/components/schemas/ExternalAccountInfoOneOf' - ExternalAccountCreateRequest: + BrlExternalAccountCreateInfo: + title: BRL Account allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BrlAccountInfoBase' - 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/BrlBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BrlBeneficiary' + 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' + 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' + AedExternalAccountCreateInfo: + title: AED Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/AedAccountInfoBase' + - type: object + required: + - beneficiary + properties: + 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' + 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' + 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' + BdtExternalAccountCreateInfo: + title: BDT Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/BdtAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/BdtBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/BdtBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + CopExternalAccountCreateInfo: + title: COP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/CopAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/CopBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/CopBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + EgpExternalAccountCreateInfo: + title: EGP Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/EgpAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/EgpBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/EgpBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GhsExternalAccountCreateInfo: + title: GHS Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GhsAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GhsBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GhsBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + GtqExternalAccountCreateInfo: + title: GTQ Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/GtqAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/GtqBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/GtqBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + HtgExternalAccountCreateInfo: + title: HTG Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/HtgAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/HtgBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/HtgBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + JmdExternalAccountCreateInfo: + title: JMD Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/JmdAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/JmdBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/JmdBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + PkrExternalAccountCreateInfo: + title: PKR Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/PkrAccountInfoBase' + - type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: '#/components/schemas/PkrBeneficiary' + - title: Business Beneficiary + $ref: '#/components/schemas/BusinessBeneficiary' + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: '#/components/schemas/PkrBeneficiary' + BUSINESS: '#/components/schemas/BusinessBeneficiary' + ExternalAccountCreateInfoOneOf: + oneOf: + - $ref: '#/components/schemas/BrlExternalAccountCreateInfo' + - $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/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' + - $ref: '#/components/schemas/AedExternalAccountCreateInfo' + - $ref: '#/components/schemas/BwpExternalAccountCreateInfo' + - $ref: '#/components/schemas/XafExternalAccountCreateInfo' + - $ref: '#/components/schemas/BdtExternalAccountCreateInfo' + - $ref: '#/components/schemas/CopExternalAccountCreateInfo' + - $ref: '#/components/schemas/EgpExternalAccountCreateInfo' + - $ref: '#/components/schemas/GhsExternalAccountCreateInfo' + - $ref: '#/components/schemas/GtqExternalAccountCreateInfo' + - $ref: '#/components/schemas/HtgExternalAccountCreateInfo' + - $ref: '#/components/schemas/JmdExternalAccountCreateInfo' + - $ref: '#/components/schemas/PkrExternalAccountCreateInfo' + discriminator: + propertyName: accountType + mapping: + BRL_ACCOUNT: '#/components/schemas/BrlExternalAccountCreateInfo' + 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' + 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' + AED_ACCOUNT: '#/components/schemas/AedExternalAccountCreateInfo' + BWP_ACCOUNT: '#/components/schemas/BwpExternalAccountCreateInfo' + XAF_ACCOUNT: '#/components/schemas/XafExternalAccountCreateInfo' + BDT_ACCOUNT: '#/components/schemas/BdtExternalAccountCreateInfo' + COP_ACCOUNT: '#/components/schemas/CopExternalAccountCreateInfo' + EGP_ACCOUNT: '#/components/schemas/EgpExternalAccountCreateInfo' + GHS_ACCOUNT: '#/components/schemas/GhsExternalAccountCreateInfo' + GTQ_ACCOUNT: '#/components/schemas/GtqExternalAccountCreateInfo' + HTG_ACCOUNT: '#/components/schemas/HtgExternalAccountCreateInfo' + JMD_ACCOUNT: '#/components/schemas/JmdExternalAccountCreateInfo' + LIGHTNING_ACCOUNT: '#/components/schemas/LightningExternalAccountInfo' + PKR_ACCOUNT: '#/components/schemas/PkrExternalAccountCreateInfo' + 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: @@ -9780,7 +10810,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/PaymentAedAccountInfo.yaml b/openapi/components/schemas/common/PaymentAedAccountInfo.yaml index 54f0deca..f5899525 100644 --- a/openapi/components/schemas/common/PaymentAedAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentAedAccountInfo.yaml @@ -1,11 +1,18 @@ title: AED Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./AedAccountInfo.yaml +- $ref: ./AedAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentBdtAccountInfo.yaml b/openapi/components/schemas/common/PaymentBdtAccountInfo.yaml index 975eb587..0ddb282b 100644 --- a/openapi/components/schemas/common/PaymentBdtAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentBdtAccountInfo.yaml @@ -1,11 +1,19 @@ title: BDT Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./BdtAccountInfo.yaml +- $ref: ./BdtAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentBwpAccountInfo.yaml b/openapi/components/schemas/common/PaymentBwpAccountInfo.yaml index 940250b1..5b552fad 100644 --- a/openapi/components/schemas/common/PaymentBwpAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentBwpAccountInfo.yaml @@ -1,11 +1,18 @@ title: BWP Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./BwpAccountInfo.yaml +- $ref: ./BwpAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentCadAccountInfo.yaml b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml index 3ea13ccd..bd2fdc98 100644 --- a/openapi/components/schemas/common/PaymentCadAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentCadAccountInfo.yaml @@ -1,11 +1,18 @@ title: CAD Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./CadAccountInfo.yaml + - $ref: ./CadAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentCopAccountInfo.yaml b/openapi/components/schemas/common/PaymentCopAccountInfo.yaml index f3b401b2..e894fea2 100644 --- a/openapi/components/schemas/common/PaymentCopAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentCopAccountInfo.yaml @@ -1,11 +1,19 @@ title: COP Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./CopAccountInfo.yaml +- $ref: ./CopAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml index 65b215a0..2b267430 100644 --- a/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentDkkAccountInfo.yaml @@ -1,11 +1,19 @@ title: DKK Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./DkkAccountInfo.yaml + - $ref: ./DkkAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentEgpAccountInfo.yaml b/openapi/components/schemas/common/PaymentEgpAccountInfo.yaml index bd4d3114..81da9359 100644 --- a/openapi/components/schemas/common/PaymentEgpAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentEgpAccountInfo.yaml @@ -1,11 +1,18 @@ title: EGP Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./EgpAccountInfo.yaml +- $ref: ./EgpAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentEurAccountInfo.yaml b/openapi/components/schemas/common/PaymentEurAccountInfo.yaml index c141a23e..65b0ab35 100644 --- a/openapi/components/schemas/common/PaymentEurAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentEurAccountInfo.yaml @@ -1,11 +1,19 @@ title: EUR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./EurAccountInfo.yaml + - $ref: ./EurAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml index 7e932200..7c7cf6b2 100644 --- a/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentGbpAccountInfo.yaml @@ -1,11 +1,18 @@ title: GBP Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./GbpAccountInfo.yaml + - $ref: ./GbpAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentGhsAccountInfo.yaml b/openapi/components/schemas/common/PaymentGhsAccountInfo.yaml index ad9a6e43..ee3e7fec 100644 --- a/openapi/components/schemas/common/PaymentGhsAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentGhsAccountInfo.yaml @@ -1,11 +1,19 @@ title: GHS Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./GhsAccountInfo.yaml +- $ref: ./GhsAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentGtqAccountInfo.yaml b/openapi/components/schemas/common/PaymentGtqAccountInfo.yaml index 79f63347..23ea5e53 100644 --- a/openapi/components/schemas/common/PaymentGtqAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentGtqAccountInfo.yaml @@ -1,11 +1,19 @@ title: GTQ Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./GtqAccountInfo.yaml +- $ref: ./GtqAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml index a2bd89c4..9cef1ac1 100644 --- a/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentHkdAccountInfo.yaml @@ -1,11 +1,18 @@ title: HKD Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./HkdAccountInfo.yaml + - $ref: ./HkdAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentHtgAccountInfo.yaml b/openapi/components/schemas/common/PaymentHtgAccountInfo.yaml index d2cd4700..91b28200 100644 --- a/openapi/components/schemas/common/PaymentHtgAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentHtgAccountInfo.yaml @@ -1,11 +1,18 @@ title: HTG Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./HtgAccountInfo.yaml +- $ref: ./HtgAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml index 2d50391a..c058b0f9 100644 --- a/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentIdrAccountInfo.yaml @@ -1,11 +1,18 @@ title: IDR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./IdrAccountInfo.yaml + - $ref: ./IdrAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentInrAccountInfo.yaml b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml index bae4ad5b..93488bce 100644 --- a/openapi/components/schemas/common/PaymentInrAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentInrAccountInfo.yaml @@ -1,4 +1,4 @@ title: INR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./InrAccountInfo.yaml + - $ref: ./InrAccountInfoBase.yaml diff --git a/openapi/components/schemas/common/PaymentJmdAccountInfo.yaml b/openapi/components/schemas/common/PaymentJmdAccountInfo.yaml index 00d7fca2..3d15a0a0 100644 --- a/openapi/components/schemas/common/PaymentJmdAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentJmdAccountInfo.yaml @@ -1,11 +1,18 @@ title: JMD Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./JmdAccountInfo.yaml +- $ref: ./JmdAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentKesAccountInfo.yaml b/openapi/components/schemas/common/PaymentKesAccountInfo.yaml index 9b7bf856..4138a3df 100644 --- a/openapi/components/schemas/common/PaymentKesAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentKesAccountInfo.yaml @@ -1,11 +1,18 @@ title: KES Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./KesAccountInfo.yaml +- $ref: ./KesAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentMwkAccountInfo.yaml b/openapi/components/schemas/common/PaymentMwkAccountInfo.yaml index 5ca44099..48b1a9db 100644 --- a/openapi/components/schemas/common/PaymentMwkAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentMwkAccountInfo.yaml @@ -1,11 +1,18 @@ title: MWK Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./MwkAccountInfo.yaml +- $ref: ./MwkAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml index 0a0a59c9..ee5a06f1 100644 --- a/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentMxnAccountInfo.yaml @@ -1,11 +1,18 @@ title: MXN Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./MxnAccountInfo.yaml + - $ref: ./MxnAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml index c6de86bd..e8512f46 100644 --- a/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentMyrAccountInfo.yaml @@ -1,11 +1,18 @@ title: MYR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./MyrAccountInfo.yaml + - $ref: ./MyrAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentNgnAccountInfo.yaml b/openapi/components/schemas/common/PaymentNgnAccountInfo.yaml index df13df49..9e620864 100644 --- a/openapi/components/schemas/common/PaymentNgnAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentNgnAccountInfo.yaml @@ -1,11 +1,18 @@ title: NGN Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./NgnAccountInfo.yaml + - $ref: ./NgnAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml index d2537c5b..892a3397 100644 --- a/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentPhpAccountInfo.yaml @@ -1,11 +1,18 @@ title: PHP Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./PhpAccountInfo.yaml + - $ref: ./PhpAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentPkrAccountInfo.yaml b/openapi/components/schemas/common/PaymentPkrAccountInfo.yaml index 8c44d7e3..ab283fd7 100644 --- a/openapi/components/schemas/common/PaymentPkrAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentPkrAccountInfo.yaml @@ -1,11 +1,19 @@ title: PKR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./PkrAccountInfo.yaml +- $ref: ./PkrAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentRwfAccountInfo.yaml b/openapi/components/schemas/common/PaymentRwfAccountInfo.yaml index dd38963c..1775d30b 100644 --- a/openapi/components/schemas/common/PaymentRwfAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentRwfAccountInfo.yaml @@ -1,11 +1,18 @@ title: RWF Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./RwfAccountInfo.yaml +- $ref: ./RwfAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml index 05f3fb98..ab6740ef 100644 --- a/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentSgdAccountInfo.yaml @@ -1,11 +1,20 @@ title: SGD Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./SgdAccountInfo.yaml + - $ref: ./SgdAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentThbAccountInfo.yaml b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml index 021bb188..cb4886df 100644 --- a/openapi/components/schemas/common/PaymentThbAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentThbAccountInfo.yaml @@ -1,11 +1,18 @@ title: THB Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./ThbAccountInfo.yaml + - $ref: ./ThbAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentTzsAccountInfo.yaml b/openapi/components/schemas/common/PaymentTzsAccountInfo.yaml index 45e7384f..b313f0c5 100644 --- a/openapi/components/schemas/common/PaymentTzsAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentTzsAccountInfo.yaml @@ -1,11 +1,18 @@ title: TZS Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./TzsAccountInfo.yaml +- $ref: ./TzsAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentUgxAccountInfo.yaml b/openapi/components/schemas/common/PaymentUgxAccountInfo.yaml index f6f7df05..9abd04b8 100644 --- a/openapi/components/schemas/common/PaymentUgxAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentUgxAccountInfo.yaml @@ -1,11 +1,18 @@ title: UGX Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./UgxAccountInfo.yaml +- $ref: ./UgxAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml index e30410e2..44ee985b 100644 --- a/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentUsdAccountInfo.yaml @@ -1,11 +1,22 @@ title: USD Bank Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./UsdAccountInfo.yaml + - $ref: ./UsdAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentVndAccountInfo.yaml b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml index 684fe9d4..fcbda6ab 100644 --- a/openapi/components/schemas/common/PaymentVndAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentVndAccountInfo.yaml @@ -1,11 +1,18 @@ title: VND Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - - $ref: ./VndAccountInfo.yaml + - $ref: ./VndAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: >- diff --git a/openapi/components/schemas/common/PaymentXafAccountInfo.yaml b/openapi/components/schemas/common/PaymentXafAccountInfo.yaml index 88cc7cd0..53aac104 100644 --- a/openapi/components/schemas/common/PaymentXafAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentXafAccountInfo.yaml @@ -1,11 +1,18 @@ title: XAF Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./XafAccountInfo.yaml +- $ref: ./XafAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentXofAccountInfo.yaml b/openapi/components/schemas/common/PaymentXofAccountInfo.yaml index f6e69bc1..3cc6b1cb 100644 --- a/openapi/components/schemas/common/PaymentXofAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentXofAccountInfo.yaml @@ -1,11 +1,18 @@ title: XOF Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./XofAccountInfo.yaml +- $ref: ./XofAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentZarAccountInfo.yaml b/openapi/components/schemas/common/PaymentZarAccountInfo.yaml index 0b01a141..4cc39f97 100644 --- a/openapi/components/schemas/common/PaymentZarAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentZarAccountInfo.yaml @@ -1,11 +1,18 @@ title: ZAR Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./ZarAccountInfo.yaml +- $ref: ./ZarAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER reference: type: string description: Unique reference code that must be included with the payment to diff --git a/openapi/components/schemas/common/PaymentZmwAccountInfo.yaml b/openapi/components/schemas/common/PaymentZmwAccountInfo.yaml index e4dd8d9d..55fc1ec1 100644 --- a/openapi/components/schemas/common/PaymentZmwAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentZmwAccountInfo.yaml @@ -1,11 +1,18 @@ title: ZMW Account allOf: - $ref: ./BasePaymentAccountInfo.yaml -- $ref: ./ZmwAccountInfo.yaml +- $ref: ./ZmwAccountInfoBase.yaml - type: object required: + - paymentRails - reference properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY reference: type: string description: Unique reference code that must be included with the payment to 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/AedExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/AedExternalAccountInfo.yaml index 3841b370..5cc49c1d 100644 --- a/openapi/components/schemas/external_accounts/AedExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/AedExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: AED Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/AedAccountInfo.yaml +- $ref: ../common/AedAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/BdtExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/BdtExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..dd53a34b --- /dev/null +++ b/openapi/components/schemas/external_accounts/BdtExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: BDT Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/BdtAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/BdtBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/BdtBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BdtExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BdtExternalAccountInfo.yaml index f3f92455..ea975424 100644 --- a/openapi/components/schemas/external_accounts/BdtExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BdtExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: BDT Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/BdtAccountInfo.yaml +- $ref: ../common/BdtAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/BrlExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml index 88398d15..229ae79d 100644 --- a/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BrlExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: BRL Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/BrlAccountInfo.yaml +- $ref: ../common/BrlAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PIX beneficiary: oneOf: - title: Individual Beneficiary 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/BwpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BwpExternalAccountInfo.yaml index 5b878a95..25acfa54 100644 --- a/openapi/components/schemas/external_accounts/BwpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BwpExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: BWP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/BwpAccountInfo.yaml +- $ref: ../common/BwpAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/CadExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CadExternalAccountInfo.yaml index 916c0015..c15b9cd8 100644 --- a/openapi/components/schemas/external_accounts/CadExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/CadExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: CAD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/CadAccountInfo.yaml +- $ref: ../common/CadAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/CopExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/CopExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..17af4977 --- /dev/null +++ b/openapi/components/schemas/external_accounts/CopExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: COP Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/CopAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/CopBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/CopBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/CopExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CopExternalAccountInfo.yaml index 18e54d80..6ab648e7 100644 --- a/openapi/components/schemas/external_accounts/CopExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/CopExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: COP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/CopAccountInfo.yaml +- $ref: ../common/CopAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/DkkExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml index 5eb703b7..7d73e42c 100644 --- a/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/DkkExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: DKK Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/DkkAccountInfo.yaml +- $ref: ../common/DkkAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/EgpExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/EgpExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..a6e892fa --- /dev/null +++ b/openapi/components/schemas/external_accounts/EgpExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: EGP Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/EgpAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/EgpBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/EgpBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/EgpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/EgpExternalAccountInfo.yaml index 15883e1b..178dcfa3 100644 --- a/openapi/components/schemas/external_accounts/EgpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/EgpExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: EGP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/EgpAccountInfo.yaml +- $ref: ../common/EgpAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/EurExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/EurExternalAccountInfo.yaml index 4749afe2..4b3d2193 100644 --- a/openapi/components/schemas/external_accounts/EurExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/EurExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: EUR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/EurAccountInfo.yaml +- $ref: ../common/EurAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SEPA + - SEPA_INSTANT beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml b/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml new file mode 100644 index 00000000..eee99464 --- /dev/null +++ b/openapi/components/schemas/external_accounts/ExternalAccountCreateInfoOneOf.yaml @@ -0,0 +1,89 @@ +oneOf: +- $ref: ./BrlExternalAccountCreateInfo.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: ./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 +- $ref: ./AedExternalAccountCreateInfo.yaml +- $ref: ./BwpExternalAccountCreateInfo.yaml +- $ref: ./XafExternalAccountCreateInfo.yaml +- $ref: ./BdtExternalAccountCreateInfo.yaml +- $ref: ./CopExternalAccountCreateInfo.yaml +- $ref: ./EgpExternalAccountCreateInfo.yaml +- $ref: ./GhsExternalAccountCreateInfo.yaml +- $ref: ./GtqExternalAccountCreateInfo.yaml +- $ref: ./HtgExternalAccountCreateInfo.yaml +- $ref: ./JmdExternalAccountCreateInfo.yaml +- $ref: ./PkrExternalAccountCreateInfo.yaml +discriminator: + propertyName: accountType + mapping: + BRL_ACCOUNT: ./BrlExternalAccountCreateInfo.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 + 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 + AED_ACCOUNT: ./AedExternalAccountCreateInfo.yaml + BWP_ACCOUNT: ./BwpExternalAccountCreateInfo.yaml + XAF_ACCOUNT: ./XafExternalAccountCreateInfo.yaml + BDT_ACCOUNT: ./BdtExternalAccountCreateInfo.yaml + COP_ACCOUNT: ./CopExternalAccountCreateInfo.yaml + EGP_ACCOUNT: ./EgpExternalAccountCreateInfo.yaml + GHS_ACCOUNT: ./GhsExternalAccountCreateInfo.yaml + GTQ_ACCOUNT: ./GtqExternalAccountCreateInfo.yaml + HTG_ACCOUNT: ./HtgExternalAccountCreateInfo.yaml + JMD_ACCOUNT: ./JmdExternalAccountCreateInfo.yaml + LIGHTNING_ACCOUNT: ./LightningExternalAccountInfo.yaml + PKR_ACCOUNT: ./PkrExternalAccountCreateInfo.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/GbpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml index 5a40ee63..81cea433 100644 --- a/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/GbpExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: GBP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/GbpAccountInfo.yaml +- $ref: ../common/GbpAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - FASTER_PAYMENTS beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/GhsExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/GhsExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..7bb935e8 --- /dev/null +++ b/openapi/components/schemas/external_accounts/GhsExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: GHS Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/GhsAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/GhsBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/GhsBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/GhsExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GhsExternalAccountInfo.yaml index 10400588..507ab496 100644 --- a/openapi/components/schemas/external_accounts/GhsExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/GhsExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: GHS Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/GhsAccountInfo.yaml +- $ref: ../common/GhsAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/GtqExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/GtqExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..52944140 --- /dev/null +++ b/openapi/components/schemas/external_accounts/GtqExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: GTQ Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/GtqAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/GtqBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/GtqBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/GtqExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GtqExternalAccountInfo.yaml index 634f927c..ce7ac631 100644 --- a/openapi/components/schemas/external_accounts/GtqExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/GtqExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: GTQ Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/GtqAccountInfo.yaml +- $ref: ../common/GtqAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/HkdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml index b34f29e3..70f90fa0 100644 --- a/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/HkdExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: HKD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/HkdAccountInfo.yaml +- $ref: ../common/HkdAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/HtgExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/HtgExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..cd12e354 --- /dev/null +++ b/openapi/components/schemas/external_accounts/HtgExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: HTG Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/HtgAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/HtgBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/HtgBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/HtgExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/HtgExternalAccountInfo.yaml index 73b39982..0c8593d6 100644 --- a/openapi/components/schemas/external_accounts/HtgExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/HtgExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: HTG Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/HtgAccountInfo.yaml +- $ref: ../common/HtgAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/IdrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml index 2dc92607..baa53464 100644 --- a/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/IdrExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: IDR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/IdrAccountInfo.yaml +- $ref: ../common/IdrAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/InrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml index 6bc9c87a..6f9c8d53 100644 --- a/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/InrExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: INR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/InrAccountInfo.yaml +- $ref: ../common/InrAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - UPI beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/JmdExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/JmdExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..d1820a68 --- /dev/null +++ b/openapi/components/schemas/external_accounts/JmdExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: JMD Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/JmdAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/JmdBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/JmdBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/JmdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/JmdExternalAccountInfo.yaml index 315dea2c..4847cf81 100644 --- a/openapi/components/schemas/external_accounts/JmdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/JmdExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: JMD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/JmdAccountInfo.yaml +- $ref: ../common/JmdAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/KesExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/KesExternalAccountInfo.yaml index 9f7d132f..071dd201 100644 --- a/openapi/components/schemas/external_accounts/KesExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/KesExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: KES Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/KesAccountInfo.yaml +- $ref: ../common/KesAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/MwkExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MwkExternalAccountInfo.yaml index 7ec356fa..323264df 100644 --- a/openapi/components/schemas/external_accounts/MwkExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/MwkExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: MWK Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/MwkAccountInfo.yaml +- $ref: ../common/MwkAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/MxnExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml index 726984f9..5b8d0b99 100644 --- a/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/MxnExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: MXN Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/MxnAccountInfo.yaml +- $ref: ../common/MxnAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - SPEI beneficiary: oneOf: - title: Individual Beneficiary 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/MyrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml index 4c6d180e..84424a75 100644 --- a/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/MyrExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: MYR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/MyrAccountInfo.yaml +- $ref: ../common/MyrAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/NgnExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/NgnExternalAccountInfo.yaml index 0109b2b9..3db2d34e 100644 --- a/openapi/components/schemas/external_accounts/NgnExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/NgnExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: NGN Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/NgnAccountInfo.yaml +- $ref: ../common/NgnAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/PhpExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml index 182c8139..6019c3fe 100644 --- a/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PhpExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: PHP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/PhpAccountInfo.yaml +- $ref: ../common/PhpAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary diff --git a/openapi/components/schemas/external_accounts/PkrExternalAccountCreateInfo.yaml b/openapi/components/schemas/external_accounts/PkrExternalAccountCreateInfo.yaml new file mode 100644 index 00000000..2bc7000a --- /dev/null +++ b/openapi/components/schemas/external_accounts/PkrExternalAccountCreateInfo.yaml @@ -0,0 +1,19 @@ +title: PKR Account +allOf: +- $ref: ./BaseExternalAccountInfo.yaml +- $ref: ../common/PkrAccountInfoBase.yaml +- type: object + required: + - beneficiary + properties: + beneficiary: + oneOf: + - title: Individual Beneficiary + $ref: ../common/PkrBeneficiary.yaml + - title: Business Beneficiary + $ref: ../common/BusinessBeneficiary.yaml + discriminator: + propertyName: beneficiaryType + mapping: + INDIVIDUAL: ../common/PkrBeneficiary.yaml + BUSINESS: ../common/BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/PkrExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PkrExternalAccountInfo.yaml index 817a9dc7..6d3080d9 100644 --- a/openapi/components/schemas/external_accounts/PkrExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PkrExternalAccountInfo.yaml @@ -1,11 +1,19 @@ title: PKR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/PkrAccountInfo.yaml +- $ref: ../common/PkrAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/RwfExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/RwfExternalAccountInfo.yaml index d0fa1c69..457380dd 100644 --- a/openapi/components/schemas/external_accounts/RwfExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/RwfExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: RWF Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/RwfAccountInfo.yaml +- $ref: ../common/RwfAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/SgdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml index 36689ad7..389de12e 100644 --- a/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SgdExternalAccountInfo.yaml @@ -1,11 +1,20 @@ title: SGD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/SgdAccountInfo.yaml +- $ref: ../common/SgdAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - PAYNOW + - FAST + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/ThbExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml index 507ed98a..9e2adf66 100644 --- a/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ThbExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: THB Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/ThbAccountInfo.yaml +- $ref: ../common/ThbAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/TzsExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/TzsExternalAccountInfo.yaml index bdea9518..63c4fd5a 100644 --- a/openapi/components/schemas/external_accounts/TzsExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/TzsExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: TZS Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/TzsAccountInfo.yaml +- $ref: ../common/TzsAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/UgxExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UgxExternalAccountInfo.yaml index bb1edf44..80d26ae4 100644 --- a/openapi/components/schemas/external_accounts/UgxExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/UgxExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: UGX Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/UgxAccountInfo.yaml +- $ref: ../common/UgxAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/UsdExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml index b86e5184..4edba0b9 100644 --- a/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/UsdExternalAccountInfo.yaml @@ -1,11 +1,22 @@ title: USD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/UsdAccountInfo.yaml +- $ref: ../common/UsdAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - ACH + - WIRE + - RTP + - FEDNOW + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/VndExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml index 2e44a669..1d46488a 100644 --- a/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/VndExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: VND Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/VndAccountInfo.yaml +- $ref: ../common/VndAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/XafExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/XafExternalAccountInfo.yaml index 160afd6b..b02efb58 100644 --- a/openapi/components/schemas/external_accounts/XafExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/XafExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: XAF Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/XafAccountInfo.yaml +- $ref: ../common/XafAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/XofExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/XofExternalAccountInfo.yaml index 2b5e319d..109fdf57 100644 --- a/openapi/components/schemas/external_accounts/XofExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/XofExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: XOF Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/XofAccountInfo.yaml +- $ref: ../common/XofAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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/ZarExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ZarExternalAccountInfo.yaml index 35ec70bd..d1e3cdc8 100644 --- a/openapi/components/schemas/external_accounts/ZarExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ZarExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: ZAR Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/ZarAccountInfo.yaml +- $ref: ../common/ZarAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - BANK_TRANSFER beneficiary: oneOf: - title: Individual Beneficiary 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/components/schemas/external_accounts/ZmwExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ZmwExternalAccountInfo.yaml index 3584e18d..b4886920 100644 --- a/openapi/components/schemas/external_accounts/ZmwExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ZmwExternalAccountInfo.yaml @@ -1,11 +1,18 @@ title: ZMW Account allOf: - $ref: ./BaseExternalAccountInfo.yaml -- $ref: ../common/ZmwAccountInfo.yaml +- $ref: ../common/ZmwAccountInfoBase.yaml - type: object required: + - paymentRails - beneficiary properties: + paymentRails: + type: array + items: + type: string + enum: + - MOBILE_MONEY beneficiary: oneOf: - title: Individual Beneficiary 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