diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 35ccdb62..6c7dedb5 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -459,16 +459,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '401': description: Unauthorized content: @@ -534,16 +525,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '400': description: Bad request content: @@ -582,16 +564,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '401': description: Unauthorized content: @@ -4335,10 +4308,18 @@ components: - BUSINESS description: Whether the customer is an individual or a business entity example: INDIVIDUAL - IndividualCustomer: - allOf: - - $ref: '#/components/schemas/Customer' - - $ref: '#/components/schemas/IndividualCustomerFields' + KycStatus: + type: string + enum: + - APPROVED + - REJECTED + - PENDING_REVIEW + - EXPIRED + - CANCELED + - MANUALLY_APPROVED + - MANUALLY_REJECTED + description: The current KYC status of a customer + example: APPROVED Customer: type: object required: @@ -4380,11 +4361,6 @@ components: description: Whether the customer is marked as deleted example: false readOnly: true - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' Address: type: object required: @@ -4416,6 +4392,35 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US + IndividualCustomerFields: + type: object + required: + - customerType + properties: + customerType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: Individual's full name + example: John Michael Doe + birthDate: + type: string + format: date + description: Date of birth in ISO 8601 format (YYYY-MM-DD) + example: '1990-01-15' + nationality: + type: string + description: Country code (ISO 3166-1 alpha-2) + example: US + address: + $ref: '#/components/schemas/Address' + IndividualCustomer: + title: Individual Customer + allOf: + - $ref: '#/components/schemas/Customer' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessInfoUpdate: type: object description: Additional information for business entities @@ -4522,6 +4527,7 @@ components: description: Tax identification number example: EIN-987654321 BusinessCustomer: + title: Business Customer allOf: - $ref: '#/components/schemas/Customer' - $ref: '#/components/schemas/BusinessCustomerFields' @@ -4529,57 +4535,15 @@ components: properties: businessInfo: $ref: '#/components/schemas/BusinessInfo' - KycStatus: - type: string - enum: - - APPROVED - - REJECTED - - PENDING_REVIEW - - EXPIRED - - CANCELED - - MANUALLY_APPROVED - - MANUALLY_REJECTED - description: The current KYC status of a customer - example: APPROVED - IndividualCustomerFields: - type: object - required: - - customerType - properties: - customerType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - address: - $ref: '#/components/schemas/Address' CustomerOneOf: oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' + - $ref: '#/components/schemas/IndividualCustomer' + - $ref: '#/components/schemas/BusinessCustomer' discriminator: propertyName: customerType mapping: INDIVIDUAL: '#/components/schemas/IndividualCustomer' BUSINESS: '#/components/schemas/BusinessCustomer' - IndividualCustomerCreateRequest: - allOf: - - $ref: '#/components/schemas/CustomerCreateRequest' - - $ref: '#/components/schemas/IndividualCustomerFields' CustomerCreateRequest: type: object required: @@ -4596,12 +4560,13 @@ components: type: string description: Optional UMA address identifier. If not provided during customer creation, one will be generated by the system. If provided during customer update, the UMA address will be updated to the provided value. This is an optional identifier to route payments to the customer. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomerCreateRequest' - BUSINESS: '#/components/schemas/BusinessCustomerCreateRequest' + IndividualCustomerCreateRequest: + title: Individual Customer Create Request + allOf: + - $ref: '#/components/schemas/CustomerCreateRequest' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessCustomerCreateRequest: + title: Business Customer Create Request allOf: - $ref: '#/components/schemas/CustomerCreateRequest' - $ref: '#/components/schemas/BusinessCustomerFields' @@ -4611,10 +4576,8 @@ components: $ref: '#/components/schemas/BusinessInfo' CustomerCreateRequestOneOf: oneOf: - - title: Individual Customer Create Request - $ref: '#/components/schemas/IndividualCustomerCreateRequest' - - title: Business Customer Create Request - $ref: '#/components/schemas/BusinessCustomerCreateRequest' + - $ref: '#/components/schemas/IndividualCustomerCreateRequest' + - $ref: '#/components/schemas/BusinessCustomerCreateRequest' discriminator: propertyName: customerType mapping: @@ -4717,10 +4680,6 @@ components: type: object description: Additional error details additionalProperties: true - IndividualCustomerUpdateRequest: - allOf: - - $ref: '#/components/schemas/CustomerUpdateRequest' - - $ref: '#/components/schemas/IndividualCustomerFields' CustomerUpdateRequest: type: object required: @@ -4732,21 +4691,20 @@ components: type: string description: Optional UMA address identifier. If provided, the customer's UMA address will be updated. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomerUpdateRequest' - BUSINESS: '#/components/schemas/BusinessCustomerUpdateRequest' + IndividualCustomerUpdateRequest: + title: Individual Customer Update Request + allOf: + - $ref: '#/components/schemas/CustomerUpdateRequest' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessCustomerUpdateRequest: + title: Business Customer Update Request allOf: - $ref: '#/components/schemas/CustomerUpdateRequest' - $ref: '#/components/schemas/BusinessCustomerFields' CustomerUpdateRequestOneOf: oneOf: - - title: Individual Customer Update Request - $ref: '#/components/schemas/IndividualCustomerUpdateRequest' - - title: Business Customer Update Request - $ref: '#/components/schemas/BusinessCustomerUpdateRequest' + - $ref: '#/components/schemas/IndividualCustomerUpdateRequest' + - $ref: '#/components/schemas/BusinessCustomerUpdateRequest' discriminator: propertyName: customerType mapping: @@ -4765,7 +4723,49 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' + PaymentAccountType: + type: string + enum: + - CLABE + - US_ACCOUNT + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + description: Type of payment account or wallet + example: US_ACCOUNT + BasePaymentAccountInfo: + type: object + required: + - accountType + properties: + accountType: + $ref: '#/components/schemas/PaymentAccountType' + ClabeAccountInfo: + type: object + required: + - clabeNumber + - accountType + properties: + accountType: + type: string + enum: + - CLABE + clabeNumber: + type: string + description: 18-digit CLABE number (Mexican banking standard) + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ PaymentClabeAccountInfo: + title: CLABE Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/ClabeAccountInfo' @@ -4777,28 +4777,6 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BasePaymentAccountInfo: - type: object - required: - - accountType - properties: - accountType: - $ref: '#/components/schemas/PaymentAccountType' - discriminator: - propertyName: accountType - mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' - NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' - SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' - LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' - SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' - TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' - POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' - BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' UsAccountInfo: type: object required: @@ -4834,6 +4812,7 @@ components: description: Name of the bank example: Chase Bank PaymentUsAccountInfo: + title: US Bank Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/UsAccountInfo' @@ -4876,6 +4855,7 @@ components: description: Tax ID of the account holder example: '1234567890' PaymentPixAccountInfo: + title: PIX Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PixAccountInfo' @@ -4904,6 +4884,7 @@ components: maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ PaymentIbanAccountInfo: + title: IBAN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/IbanAccountInfo' @@ -4930,43 +4911,10 @@ components: description: Virtual Payment Address for UPI payments example: somecustomers@okbank PaymentUpiAccountInfo: + title: UPI Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/UpiAccountInfo' - NgnAccountInfo: - type: object - required: - - accountNumber - - bankName - - accountType - properties: - accountType: - type: string - enum: - - NGN_ACCOUNT - accountNumber: - type: string - description: Nigerian bank account number - example: '0123456789' - minLength: 10 - maxLength: 10 - pattern: ^[0-9]{10}$ - bankName: - type: string - description: Name of the bank - example: First Bank of Nigeria - PaymentNgnAccountInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' - - type: object - required: - - reference - properties: - reference: - type: string - description: Unique reference code that must be included with the payment to properly credit it - example: UMA-Q12345-REF SparkWalletInfo: type: object required: @@ -4982,6 +4930,7 @@ components: description: Spark wallet address example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu PaymentSparkWalletInfo: + title: Spark Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' @@ -5000,6 +4949,7 @@ components: description: Invoice for the payment example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s PaymentLightningInvoiceInfo: + title: Lightning Invoice allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - type: object @@ -5029,6 +4979,7 @@ components: description: Solana wallet address example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg PaymentSolanaWalletInfo: + title: Solana Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' @@ -5055,6 +5006,7 @@ components: description: Tron wallet address example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL PaymentTronWalletInfo: + title: Tron Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' @@ -5080,6 +5032,7 @@ components: description: Polygon eth wallet address example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' PaymentPolygonWalletInfo: + title: Polygon Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' @@ -5105,6 +5058,7 @@ components: description: Base eth wallet address example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' PaymentBaseWalletInfo: + title: Base Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' @@ -5115,40 +5069,6 @@ components: description: Type of asset enum: - USDC - PaymentAccountType: - type: string - enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: - type: object - required: - - clabeNumber - - accountType - properties: - accountType: - type: string - enum: - - CLABE - clabeNumber: - type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ PaymentInstructions: type: object required: @@ -5164,28 +5084,17 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' - - title: Spark Wallet - $ref: '#/components/schemas/PaymentSparkWalletInfo' - - title: Lightning Invoice - $ref: '#/components/schemas/PaymentLightningInvoiceInfo' - - title: Solana Wallet - $ref: '#/components/schemas/PaymentSolanaWalletInfo' - - title: Tron Wallet - $ref: '#/components/schemas/PaymentTronWalletInfo' - - title: Polygon Wallet - $ref: '#/components/schemas/PaymentPolygonWalletInfo' - - title: Base Wallet - $ref: '#/components/schemas/PaymentBaseWalletInfo' + - $ref: '#/components/schemas/PaymentClabeAccountInfo' + - $ref: '#/components/schemas/PaymentUsAccountInfo' + - $ref: '#/components/schemas/PaymentPixAccountInfo' + - $ref: '#/components/schemas/PaymentIbanAccountInfo' + - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - $ref: '#/components/schemas/PaymentSparkWalletInfo' + - $ref: '#/components/schemas/PaymentLightningInvoiceInfo' + - $ref: '#/components/schemas/PaymentSolanaWalletInfo' + - $ref: '#/components/schemas/PaymentTronWalletInfo' + - $ref: '#/components/schemas/PaymentPolygonWalletInfo' + - $ref: '#/components/schemas/PaymentBaseWalletInfo' discriminator: propertyName: accountType mapping: @@ -5269,43 +5178,52 @@ components: type: string description: The verified full name of the account holder as returned by the payment rail example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - BaseExternalAccountInfo: - type: object - required: - - accountType - properties: - accountType: - $ref: '#/components/schemas/ExternalAccountType' - discriminator: - propertyName: accountType - mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' - 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' + ExternalAccountType: + type: string + enum: + - US_ACCOUNT + - CLABE + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + description: Type of external account or wallet + example: US_ACCOUNT + BaseExternalAccountInfo: + type: object + required: + - accountType + properties: + accountType: + $ref: '#/components/schemas/ExternalAccountType' + BeneficiaryType: + type: string + enum: + - INDIVIDUAL + - BUSINESS + description: Whether the beneficiary is an individual or a business entity + example: INDIVIDUAL + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' IndividualBeneficiary: + title: Individual Beneficiary allOf: - $ref: '#/components/schemas/BaseBeneficiary' - type: object @@ -5332,21 +5250,8 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: + title: Business Beneficiary allOf: - $ref: '#/components/schemas/BaseBeneficiary' - type: object @@ -5370,25 +5275,28 @@ components: type: string description: Tax identification number example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL BeneficiaryOneOf: oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsAccountExternalAccountInfo: + title: US Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' ClabeAccountExternalAccountInfo: + title: CLABE Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/ClabeAccountInfo' @@ -5399,6 +5307,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' PixAccountExternalAccountInfo: + title: PIX Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PixAccountInfo' @@ -5409,6 +5318,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' IbanAccountExternalAccountInfo: + title: IBAN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/IbanAccountInfo' @@ -5419,6 +5329,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' UpiAccountExternalAccountInfo: + title: UPI Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/UpiAccountInfo' @@ -5428,7 +5339,30 @@ components: properties: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' + NgnAccountInfo: + type: object + required: + - accountNumber + - bankName + - accountType + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + accountNumber: + type: string + description: Nigerian bank account number + example: '0123456789' + minLength: 10 + maxLength: 10 + pattern: ^[0-9]{10}$ + bankName: + type: string + description: Name of the bank + example: First Bank of Nigeria NgnAccountExternalAccountInfo: + title: NGN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/NgnAccountInfo' @@ -5490,6 +5424,7 @@ components: maxLength: 12 pattern: ^[0-9]{7,12}$ CadAccountExternalAccountInfo: + title: CAD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/CadAccountInfo' @@ -5523,6 +5458,7 @@ components: maxLength: 8 pattern: ^[0-9]{8}$ GbpAccountExternalAccountInfo: + title: GBP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/GbpAccountInfo' @@ -5552,6 +5488,7 @@ components: description: Bank account number example: '001234567890' PhpAccountExternalAccountInfo: + title: PHP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5589,6 +5526,7 @@ components: description: Bank account number example: '0123456789' SgdAccountExternalAccountInfo: + title: SGD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5599,6 +5537,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' SparkWalletExternalAccountInfo: + title: Spark Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' @@ -5626,80 +5565,48 @@ components: description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. example: john.doe@lightningwallet.com LightningExternalAccountInfo: + title: Lightning allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/LightningInfo' SolanaWalletExternalAccountInfo: + title: Solana Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' TronWalletExternalAccountInfo: + title: Tron Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' PolygonWalletExternalAccountInfo: + title: Polygon Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' BaseWalletExternalAccountInfo: + title: Base Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - ExternalAccountType: - type: string - enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - - GBP_ACCOUNT - - PHP_ACCOUNT - - SGD_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of external account or wallet - example: US_ACCOUNT ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' - - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' - - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' - - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - - title: Spark Wallet - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - - title: Lightning - $ref: '#/components/schemas/LightningExternalAccountInfo' - - title: Solana Wallet - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' - - title: Tron Wallet - $ref: '#/components/schemas/TronWalletExternalAccountInfo' - - title: Polygon Wallet - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' - - title: Base Wallet - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountExternalAccountInfo' + - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' + - $ref: '#/components/schemas/PixAccountExternalAccountInfo' + - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' + - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' + - $ref: '#/components/schemas/LightningExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' discriminator: propertyName: accountType mapping: @@ -5838,32 +5745,122 @@ components: Optional Plaid account ID if the customer selected a specific account. If not provided, the default account will be used. example: plaid_account_id_123 - IncomingTransaction: + TransactionStatus: + type: string + enum: + - CREATED + - PENDING + - PROCESSING + - SENT + - COMPLETED + - REJECTED + - FAILED + - REFUNDED + - EXPIRED + description: | + Status of a payment transaction. + + | Status | Description | + |--------|-------------| + | `CREATED` | Initial lookup has been created | + | `PENDING` | Quote has been created | + | `PROCESSING` | Funding has been received and payment initiated | + | `SENT` | Cross border settlement has been initiated | + | `COMPLETED` | Cross border payment has been received, converted and payment has been sent to the offramp network | + | `REJECTED` | Receiving institution or wallet rejected payment, payment has been refunded | + | `FAILED` | An error occurred during payment | + | `REFUNDED` | Payment was unable to complete and refunded | + | `EXPIRED` | Quote has expired | + TransactionDestinationType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - EXTERNAL_ACCOUNT_DETAILS + description: Type of transaction destination + example: ACCOUNT + BaseTransactionDestination: + type: object + required: + - destinationType + properties: + destinationType: + $ref: '#/components/schemas/TransactionDestinationType' + currency: + type: string + description: Currency code for the destination + example: EUR + AccountTransactionDestination: + title: Account Destination allOf: - - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/BaseTransactionDestination' - type: object required: - - type - - receivedAmount + - accountId + - destinationType properties: - type: + destinationType: type: string enum: - - INCOMING - source: - $ref: '#/components/schemas/TransactionSourceOneOf' - receivedAmount: - $ref: '#/components/schemas/CurrencyAmount' - description: Amount received in the recipient's currency - reconciliationInstructions: - $ref: '#/components/schemas/ReconciliationInstructions' - description: Included for all transactions except those with "CREATED" status - rateDetails: - $ref: '#/components/schemas/IncomingRateDetails' - description: Details about the rate and fees for the transaction. - failureReason: - $ref: '#/components/schemas/IncomingTransactionFailureReason' - description: If the transaction failed, this field provides the reason for failure. + - ACCOUNT + accountId: + type: string + description: Destination account identifier + example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 + description: Destination account details + UmaAddressTransactionDestination: + title: UMA Address Destination + allOf: + - $ref: '#/components/schemas/BaseTransactionDestination' + - type: object + required: + - umaAddress + - destinationType + properties: + destinationType: + type: string + enum: + - UMA_ADDRESS + umaAddress: + type: string + description: UMA address of the recipient + example: $receiver@uma.domain.com + description: UMA address destination details + ExternalAccountDetailsTransactionDestination: + title: External Account Details Destination + allOf: + - $ref: '#/components/schemas/BaseTransactionDestination' + - type: object + required: + - externalAccountDetails + - destinationType + properties: + destinationType: + type: string + enum: + - EXTERNAL_ACCOUNT_DETAILS + externalAccountDetails: + $ref: '#/components/schemas/ExternalAccountCreateRequest' + description: Transaction destination where external account details were provided inline at quote creation rather than using a pre-registered external account. + TransactionDestinationOneOf: + oneOf: + - $ref: '#/components/schemas/AccountTransactionDestination' + - $ref: '#/components/schemas/UmaAddressTransactionDestination' + - $ref: '#/components/schemas/ExternalAccountDetailsTransactionDestination' + discriminator: + propertyName: destinationType + mapping: + ACCOUNT: '#/components/schemas/AccountTransactionDestination' + UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' + EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' + CounterpartyInformation: + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE Transaction: type: object required: @@ -5913,12 +5910,27 @@ components: example: 'Payment for invoice #1234' counterpartyInformation: $ref: '#/components/schemas/CounterpartyInformation' - discriminator: - propertyName: type - mapping: - INCOMING: '#/components/schemas/IncomingTransaction' - OUTGOING: '#/components/schemas/OutgoingTransaction' + TransactionSourceType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - REALTIME_FUNDING + description: Type of transaction source + example: ACCOUNT + BaseTransactionSource: + type: object + required: + - sourceType + properties: + sourceType: + $ref: '#/components/schemas/TransactionSourceType' + currency: + type: string + description: Currency code for the source + example: USD AccountTransactionSource: + title: Account Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5935,24 +5947,8 @@ components: description: Source account identifier example: InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965 description: Source account details - BaseTransactionSource: - type: object - required: - - sourceType - properties: - sourceType: - $ref: '#/components/schemas/TransactionSourceType' - currency: - type: string - description: Currency code for the source - example: USD - discriminator: - propertyName: sourceType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionSource' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionSource' - REALTIME_FUNDING: '#/components/schemas/RealtimeFundingTransactionSource' UmaAddressTransactionSource: + title: UMA Address Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5970,6 +5966,7 @@ components: example: $sender@uma.domain.com description: UMA address source details RealtimeFundingTransactionSource: + title: Real-time Funding Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5990,28 +5987,98 @@ components: description: Currency code for the funding source example: USDC description: Transaction was funded using a real-time funding source (RTP, SEPA Instant, Spark, Stables, etc.). - TransactionSourceType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - REALTIME_FUNDING - description: Type of transaction source - example: ACCOUNT TransactionSourceOneOf: oneOf: - - title: Account Source - $ref: '#/components/schemas/AccountTransactionSource' - - title: UMA Address Source - $ref: '#/components/schemas/UmaAddressTransactionSource' - - title: Real-time Funding Source - $ref: '#/components/schemas/RealtimeFundingTransactionSource' + - $ref: '#/components/schemas/AccountTransactionSource' + - $ref: '#/components/schemas/UmaAddressTransactionSource' + - $ref: '#/components/schemas/RealtimeFundingTransactionSource' discriminator: propertyName: sourceType mapping: ACCOUNT: '#/components/schemas/AccountTransactionSource' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionSource' REALTIME_FUNDING: '#/components/schemas/RealtimeFundingTransactionSource' + ReconciliationInstructions: + type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to match it with the correct incoming transaction + example: UMA-Q12345-REF + IncomingRateDetails: + description: Details about the rate and fees for an incoming transaction. + type: object + required: + - gridApiMultiplier + - gridApiFixedFee + - gridApiVariableFeeRate + - gridApiVariableFeeAmount + properties: + gridApiMultiplier: + type: number + format: double + description: The underlying multiplier from the mSATS to the receiving currency, including variable fees. + exclusiveMinimum: 0 + example: 0.925 + gridApiFixedFee: + type: integer + format: int64 + description: The fixed fee charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). + minimum: 0 + example: 10 + gridApiVariableFeeRate: + type: number + format: double + description: The variable fee rate charged by the Grid product to execute the quote as a percentage of the receiving currency amount. + exclusiveMinimum: 0 + example: 0.003 + gridApiVariableFeeAmount: + type: number + format: int64 + description: The variable fee amount charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). This is the receiving amount times gridApiVariableFeeRate. + minimum: 0 + example: 30 + IncomingTransactionFailureReason: + type: string + enum: + - LNURLP_FAILED + - PAY_REQUEST_FAILED + - PAYMENT_APPROVAL_WEBHOOK_ERROR + - PAYMENT_APPROVAL_TIMED_OUT + - OFFRAMP_FAILED + - MISSING_MANDATORY_PAYEE_DATA + - QUOTE_EXPIRED + - QUOTE_EXECUTION_FAILED + description: Reason for failure of an incoming transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. + IncomingTransaction: + title: Incoming Transaction + allOf: + - $ref: '#/components/schemas/Transaction' + - type: object + required: + - type + - receivedAmount + properties: + type: + type: string + enum: + - INCOMING + source: + $ref: '#/components/schemas/TransactionSourceOneOf' + receivedAmount: + $ref: '#/components/schemas/CurrencyAmount' + description: Amount received in the recipient's currency + reconciliationInstructions: + $ref: '#/components/schemas/ReconciliationInstructions' + description: Included for all transactions except those with "CREATED" status + rateDetails: + $ref: '#/components/schemas/IncomingRateDetails' + description: Details about the rate and fees for the transaction. + failureReason: + $ref: '#/components/schemas/IncomingTransactionFailureReason' + description: If the transaction failed, this field provides the reason for failure. Refund: type: object required: @@ -6090,6 +6157,7 @@ components: - TIMEOUT description: Reason for failure of an outgoing transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. OutgoingTransaction: + title: Outgoing Transaction allOf: - $ref: '#/components/schemas/Transaction' - type: object @@ -6148,188 +6216,10 @@ components: failureReason: $ref: '#/components/schemas/OutgoingTransactionFailureReason' description: If the transaction failed, this field provides the reason for failure. - TransactionStatus: - type: string - enum: - - CREATED - - PENDING - - PROCESSING - - SENT - - COMPLETED - - REJECTED - - FAILED - - REFUNDED - - EXPIRED - description: | - Status of a payment transaction. - - | Status | Description | - |--------|-------------| - | `CREATED` | Initial lookup has been created | - | `PENDING` | Quote has been created | - | `PROCESSING` | Funding has been received and payment initiated | - | `SENT` | Cross border settlement has been initiated | - | `COMPLETED` | Cross border payment has been received, converted and payment has been sent to the offramp network | - | `REJECTED` | Receiving institution or wallet rejected payment, payment has been refunded | - | `FAILED` | An error occurred during payment | - | `REFUNDED` | Payment was unable to complete and refunded | - | `EXPIRED` | Quote has expired | - AccountTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - accountId - - destinationType - properties: - destinationType: - type: string - enum: - - ACCOUNT - accountId: - type: string - description: Destination account identifier - example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 - description: Destination account details - BaseTransactionDestination: - type: object - required: - - destinationType - properties: - destinationType: - $ref: '#/components/schemas/TransactionDestinationType' - currency: - type: string - description: Currency code for the destination - example: EUR - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - UmaAddressTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - umaAddress - - destinationType - properties: - destinationType: - type: string - enum: - - UMA_ADDRESS - umaAddress: - type: string - description: UMA address of the recipient - example: $receiver@uma.domain.com - description: UMA address destination details - ExternalAccountDetailsTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - externalAccountDetails - - destinationType - properties: - destinationType: - type: string - enum: - - EXTERNAL_ACCOUNT_DETAILS - externalAccountDetails: - $ref: '#/components/schemas/ExternalAccountCreateRequest' - description: Transaction destination where external account details were provided inline at quote creation rather than using a pre-registered external account. - TransactionDestinationType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - EXTERNAL_ACCOUNT_DETAILS - description: Type of transaction destination - example: ACCOUNT - TransactionDestinationOneOf: - oneOf: - - title: Account Destination - $ref: '#/components/schemas/AccountTransactionDestination' - - title: UMA Address Destination - $ref: '#/components/schemas/UmaAddressTransactionDestination' - - title: External Account Details Destination - $ref: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - CounterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE - ReconciliationInstructions: - type: object - required: - - reference - properties: - reference: - type: string - description: Unique reference code that must be included with the payment to match it with the correct incoming transaction - example: UMA-Q12345-REF - IncomingRateDetails: - description: Details about the rate and fees for an incoming transaction. - type: object - required: - - gridApiMultiplier - - gridApiFixedFee - - gridApiVariableFeeRate - - gridApiVariableFeeAmount - properties: - gridApiMultiplier: - type: number - format: double - description: The underlying multiplier from the mSATS to the receiving currency, including variable fees. - exclusiveMinimum: 0 - example: 0.925 - gridApiFixedFee: - type: integer - format: int64 - description: The fixed fee charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). - minimum: 0 - example: 10 - gridApiVariableFeeRate: - type: number - format: double - description: The variable fee rate charged by the Grid product to execute the quote as a percentage of the receiving currency amount. - exclusiveMinimum: 0 - example: 0.003 - gridApiVariableFeeAmount: - type: number - format: int64 - description: The variable fee amount charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). This is the receiving amount times gridApiVariableFeeRate. - minimum: 0 - example: 30 - IncomingTransactionFailureReason: - type: string - enum: - - LNURLP_FAILED - - PAY_REQUEST_FAILED - - PAYMENT_APPROVAL_WEBHOOK_ERROR - - PAYMENT_APPROVAL_TIMED_OUT - - OFFRAMP_FAILED - - MISSING_MANDATORY_PAYEE_DATA - - QUOTE_EXPIRED - - QUOTE_EXECUTION_FAILED - description: Reason for failure of an incoming transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. TransactionOneOf: oneOf: - - title: Incoming Transaction - $ref: '#/components/schemas/IncomingTransaction' - - title: Outgoing Transaction - $ref: '#/components/schemas/OutgoingTransaction' + - $ref: '#/components/schemas/IncomingTransaction' + - $ref: '#/components/schemas/OutgoingTransaction' discriminator: propertyName: type mapping: @@ -6442,7 +6332,22 @@ components: type: object description: Additional error details additionalProperties: true + QuoteSourceType: + type: string + enum: + - ACCOUNT + - REALTIME_FUNDING + description: Type of quote funding source + example: ACCOUNT + BaseQuoteSource: + type: object + required: + - sourceType + properties: + sourceType: + $ref: '#/components/schemas/QuoteSourceType' AccountQuoteSource: + title: Account allOf: - $ref: '#/components/schemas/BaseQuoteSource' - type: object @@ -6463,19 +6368,8 @@ components: description: Required when funding from an FBO account to identify the customer on whose behalf the transaction is being initiated. Otherwise, will default to the customerId of the account owner. example: Customer:019542f5-b3e7-1d02-0000-000000000001 description: Source account details - BaseQuoteSource: - type: object - required: - - sourceType - properties: - sourceType: - $ref: '#/components/schemas/QuoteSourceType' - discriminator: - propertyName: sourceType - mapping: - ACCOUNT: '#/components/schemas/AccountQuoteSource' - REALTIME_FUNDING: '#/components/schemas/RealtimeFundingQuoteSource' RealtimeFundingQuoteSource: + title: Real-time Funding allOf: - $ref: '#/components/schemas/BaseQuoteSource' - type: object @@ -6496,25 +6390,32 @@ components: description: Currency code for the funding source. See [Supported Currencies](https://grid.lightspark.com/platform-overview/core-concepts/currencies-and-rails) for the full list of supported fiat and crypto currencies. example: USD description: Fund the quote using a real-time funding source (RTP, SEPA Instant, Spark, Stables, etc.). This will require manual just-in-time funding using `paymentInstructions` in the response. Because quotes expire quickly, this option is only valid for instant payment methods. Do not try to fund a quote with a non-instant payment method (ACH, etc.). - QuoteSourceType: - type: string - enum: - - ACCOUNT - - REALTIME_FUNDING - description: Type of quote funding source - example: ACCOUNT QuoteSourceOneOf: oneOf: - - title: Account - $ref: '#/components/schemas/AccountQuoteSource' - - title: Real-time Funding - $ref: '#/components/schemas/RealtimeFundingQuoteSource' + - $ref: '#/components/schemas/AccountQuoteSource' + - $ref: '#/components/schemas/RealtimeFundingQuoteSource' discriminator: propertyName: sourceType mapping: ACCOUNT: '#/components/schemas/AccountQuoteSource' REALTIME_FUNDING: '#/components/schemas/RealtimeFundingQuoteSource' + DestinationType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - EXTERNAL_ACCOUNT_DETAILS + description: Type of payment destination + example: ACCOUNT + BaseDestination: + type: object + required: + - destinationType + properties: + destinationType: + $ref: '#/components/schemas/DestinationType' AccountDestination: + title: Account allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6531,20 +6432,8 @@ components: description: Destination account identifier example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 description: Destination account details - BaseDestination: - type: object - required: - - destinationType - properties: - destinationType: - $ref: '#/components/schemas/DestinationType' - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsDestination' UmaAddressDestination: + title: UMA Address allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6574,6 +6463,7 @@ components: example: EUR description: UMA address destination details ExternalAccountDetailsDestination: + title: External Account Details allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6588,22 +6478,11 @@ components: externalAccountDetails: $ref: '#/components/schemas/ExternalAccountCreateRequest' description: A convenient destination option which adds the external account and creates the quote in one step rather than first needing to call /external-accounts to add the account. Useful for one-off payments to some destination. See the external accounts endpoints for test values in sandbox mode. - DestinationType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - EXTERNAL_ACCOUNT_DETAILS - description: Type of payment destination - example: ACCOUNT QuoteDestinationOneOf: oneOf: - - title: Account - $ref: '#/components/schemas/AccountDestination' - - title: UMA Address - $ref: '#/components/schemas/UmaAddressDestination' - - title: External Account Details - $ref: '#/components/schemas/ExternalAccountDetailsDestination' + - $ref: '#/components/schemas/AccountDestination' + - $ref: '#/components/schemas/UmaAddressDestination' + - $ref: '#/components/schemas/ExternalAccountDetailsDestination' discriminator: propertyName: destinationType mapping: diff --git a/openapi.yaml b/openapi.yaml index 35ccdb62..6c7dedb5 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -459,16 +459,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '401': description: Unauthorized content: @@ -534,16 +525,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '400': description: Bad request content: @@ -582,16 +564,7 @@ paths: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' + $ref: '#/components/schemas/CustomerOneOf' '401': description: Unauthorized content: @@ -4335,10 +4308,18 @@ components: - BUSINESS description: Whether the customer is an individual or a business entity example: INDIVIDUAL - IndividualCustomer: - allOf: - - $ref: '#/components/schemas/Customer' - - $ref: '#/components/schemas/IndividualCustomerFields' + KycStatus: + type: string + enum: + - APPROVED + - REJECTED + - PENDING_REVIEW + - EXPIRED + - CANCELED + - MANUALLY_APPROVED + - MANUALLY_REJECTED + description: The current KYC status of a customer + example: APPROVED Customer: type: object required: @@ -4380,11 +4361,6 @@ components: description: Whether the customer is marked as deleted example: false readOnly: true - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomer' - BUSINESS: '#/components/schemas/BusinessCustomer' Address: type: object required: @@ -4416,6 +4392,35 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US + IndividualCustomerFields: + type: object + required: + - customerType + properties: + customerType: + type: string + enum: + - INDIVIDUAL + fullName: + type: string + description: Individual's full name + example: John Michael Doe + birthDate: + type: string + format: date + description: Date of birth in ISO 8601 format (YYYY-MM-DD) + example: '1990-01-15' + nationality: + type: string + description: Country code (ISO 3166-1 alpha-2) + example: US + address: + $ref: '#/components/schemas/Address' + IndividualCustomer: + title: Individual Customer + allOf: + - $ref: '#/components/schemas/Customer' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessInfoUpdate: type: object description: Additional information for business entities @@ -4522,6 +4527,7 @@ components: description: Tax identification number example: EIN-987654321 BusinessCustomer: + title: Business Customer allOf: - $ref: '#/components/schemas/Customer' - $ref: '#/components/schemas/BusinessCustomerFields' @@ -4529,57 +4535,15 @@ components: properties: businessInfo: $ref: '#/components/schemas/BusinessInfo' - KycStatus: - type: string - enum: - - APPROVED - - REJECTED - - PENDING_REVIEW - - EXPIRED - - CANCELED - - MANUALLY_APPROVED - - MANUALLY_REJECTED - description: The current KYC status of a customer - example: APPROVED - IndividualCustomerFields: - type: object - required: - - customerType - properties: - customerType: - type: string - enum: - - INDIVIDUAL - fullName: - type: string - description: Individual's full name - example: John Michael Doe - birthDate: - type: string - format: date - description: Date of birth in ISO 8601 format (YYYY-MM-DD) - example: '1990-01-15' - nationality: - type: string - description: Country code (ISO 3166-1 alpha-2) - example: US - address: - $ref: '#/components/schemas/Address' CustomerOneOf: oneOf: - - title: Individual Customer - $ref: '#/components/schemas/IndividualCustomer' - - title: Business Customer - $ref: '#/components/schemas/BusinessCustomer' + - $ref: '#/components/schemas/IndividualCustomer' + - $ref: '#/components/schemas/BusinessCustomer' discriminator: propertyName: customerType mapping: INDIVIDUAL: '#/components/schemas/IndividualCustomer' BUSINESS: '#/components/schemas/BusinessCustomer' - IndividualCustomerCreateRequest: - allOf: - - $ref: '#/components/schemas/CustomerCreateRequest' - - $ref: '#/components/schemas/IndividualCustomerFields' CustomerCreateRequest: type: object required: @@ -4596,12 +4560,13 @@ components: type: string description: Optional UMA address identifier. If not provided during customer creation, one will be generated by the system. If provided during customer update, the UMA address will be updated to the provided value. This is an optional identifier to route payments to the customer. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomerCreateRequest' - BUSINESS: '#/components/schemas/BusinessCustomerCreateRequest' + IndividualCustomerCreateRequest: + title: Individual Customer Create Request + allOf: + - $ref: '#/components/schemas/CustomerCreateRequest' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessCustomerCreateRequest: + title: Business Customer Create Request allOf: - $ref: '#/components/schemas/CustomerCreateRequest' - $ref: '#/components/schemas/BusinessCustomerFields' @@ -4611,10 +4576,8 @@ components: $ref: '#/components/schemas/BusinessInfo' CustomerCreateRequestOneOf: oneOf: - - title: Individual Customer Create Request - $ref: '#/components/schemas/IndividualCustomerCreateRequest' - - title: Business Customer Create Request - $ref: '#/components/schemas/BusinessCustomerCreateRequest' + - $ref: '#/components/schemas/IndividualCustomerCreateRequest' + - $ref: '#/components/schemas/BusinessCustomerCreateRequest' discriminator: propertyName: customerType mapping: @@ -4717,10 +4680,6 @@ components: type: object description: Additional error details additionalProperties: true - IndividualCustomerUpdateRequest: - allOf: - - $ref: '#/components/schemas/CustomerUpdateRequest' - - $ref: '#/components/schemas/IndividualCustomerFields' CustomerUpdateRequest: type: object required: @@ -4732,21 +4691,20 @@ components: type: string description: Optional UMA address identifier. If provided, the customer's UMA address will be updated. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualCustomerUpdateRequest' - BUSINESS: '#/components/schemas/BusinessCustomerUpdateRequest' + IndividualCustomerUpdateRequest: + title: Individual Customer Update Request + allOf: + - $ref: '#/components/schemas/CustomerUpdateRequest' + - $ref: '#/components/schemas/IndividualCustomerFields' BusinessCustomerUpdateRequest: + title: Business Customer Update Request allOf: - $ref: '#/components/schemas/CustomerUpdateRequest' - $ref: '#/components/schemas/BusinessCustomerFields' CustomerUpdateRequestOneOf: oneOf: - - title: Individual Customer Update Request - $ref: '#/components/schemas/IndividualCustomerUpdateRequest' - - title: Business Customer Update Request - $ref: '#/components/schemas/BusinessCustomerUpdateRequest' + - $ref: '#/components/schemas/IndividualCustomerUpdateRequest' + - $ref: '#/components/schemas/BusinessCustomerUpdateRequest' discriminator: propertyName: customerType mapping: @@ -4765,7 +4723,49 @@ components: example: 12550 currency: $ref: '#/components/schemas/Currency' + PaymentAccountType: + type: string + enum: + - CLABE + - US_ACCOUNT + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + description: Type of payment account or wallet + example: US_ACCOUNT + BasePaymentAccountInfo: + type: object + required: + - accountType + properties: + accountType: + $ref: '#/components/schemas/PaymentAccountType' + ClabeAccountInfo: + type: object + required: + - clabeNumber + - accountType + properties: + accountType: + type: string + enum: + - CLABE + clabeNumber: + type: string + description: 18-digit CLABE number (Mexican banking standard) + example: '123456789012345678' + minLength: 18 + maxLength: 18 + pattern: ^[0-9]{18}$ PaymentClabeAccountInfo: + title: CLABE Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/ClabeAccountInfo' @@ -4777,28 +4777,6 @@ components: type: string description: Unique reference code that must be included with the payment to properly credit it example: UMA-Q12345-REF - BasePaymentAccountInfo: - type: object - required: - - accountType - properties: - accountType: - $ref: '#/components/schemas/PaymentAccountType' - discriminator: - propertyName: accountType - mapping: - CLABE: '#/components/schemas/PaymentClabeAccountInfo' - US_ACCOUNT: '#/components/schemas/PaymentUsAccountInfo' - PIX: '#/components/schemas/PaymentPixAccountInfo' - IBAN: '#/components/schemas/PaymentIbanAccountInfo' - UPI: '#/components/schemas/PaymentUpiAccountInfo' - NGN_ACCOUNT: '#/components/schemas/PaymentNgnAccountInfo' - SPARK_WALLET: '#/components/schemas/PaymentSparkWalletInfo' - LIGHTNING: '#/components/schemas/PaymentLightningInvoiceInfo' - SOLANA_WALLET: '#/components/schemas/PaymentSolanaWalletInfo' - TRON_WALLET: '#/components/schemas/PaymentTronWalletInfo' - POLYGON_WALLET: '#/components/schemas/PaymentPolygonWalletInfo' - BASE_WALLET: '#/components/schemas/PaymentBaseWalletInfo' UsAccountInfo: type: object required: @@ -4834,6 +4812,7 @@ components: description: Name of the bank example: Chase Bank PaymentUsAccountInfo: + title: US Bank Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/UsAccountInfo' @@ -4876,6 +4855,7 @@ components: description: Tax ID of the account holder example: '1234567890' PaymentPixAccountInfo: + title: PIX Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PixAccountInfo' @@ -4904,6 +4884,7 @@ components: maxLength: 11 pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ PaymentIbanAccountInfo: + title: IBAN Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/IbanAccountInfo' @@ -4930,43 +4911,10 @@ components: description: Virtual Payment Address for UPI payments example: somecustomers@okbank PaymentUpiAccountInfo: + title: UPI Account allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/UpiAccountInfo' - NgnAccountInfo: - type: object - required: - - accountNumber - - bankName - - accountType - properties: - accountType: - type: string - enum: - - NGN_ACCOUNT - accountNumber: - type: string - description: Nigerian bank account number - example: '0123456789' - minLength: 10 - maxLength: 10 - pattern: ^[0-9]{10}$ - bankName: - type: string - description: Name of the bank - example: First Bank of Nigeria - PaymentNgnAccountInfo: - allOf: - - $ref: '#/components/schemas/BasePaymentAccountInfo' - - $ref: '#/components/schemas/NgnAccountInfo' - - type: object - required: - - reference - properties: - reference: - type: string - description: Unique reference code that must be included with the payment to properly credit it - example: UMA-Q12345-REF SparkWalletInfo: type: object required: @@ -4982,6 +4930,7 @@ components: description: Spark wallet address example: spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu PaymentSparkWalletInfo: + title: Spark Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' @@ -5000,6 +4949,7 @@ components: description: Invoice for the payment example: sparkrt1pgss8ter0fhc4c220f3zftmpz49h8wqte8eg3m5zkrraplgc048jucgszg3ssqgjzqqekv73mmh842yj7drsjwh7t7tz5zt8wf5kghm5v4ehggszppjp5s80cg3qjdzc55g2567tn3lj705hdsr577tg8ah795mlnt6807y657qhkmgfkf9w75p4wz3l8vhua85zdn6ryj32zuj0p00pv2l5z4u47mw6h4s PaymentLightningInvoiceInfo: + title: Lightning Invoice allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - type: object @@ -5029,6 +4979,7 @@ components: description: Solana wallet address example: 4Nd1m6Qkq7RfKuE5vQ9qP9Tn6H94Ueqb4xXHzsAbd8Wg PaymentSolanaWalletInfo: + title: Solana Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' @@ -5055,6 +5006,7 @@ components: description: Tron wallet address example: TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL PaymentTronWalletInfo: + title: Tron Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' @@ -5080,6 +5032,7 @@ components: description: Polygon eth wallet address example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' PaymentPolygonWalletInfo: + title: Polygon Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' @@ -5105,6 +5058,7 @@ components: description: Base eth wallet address example: '0xAbCDEF1234567890aBCdEf1234567890ABcDef12' PaymentBaseWalletInfo: + title: Base Wallet allOf: - $ref: '#/components/schemas/BasePaymentAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' @@ -5115,40 +5069,6 @@ components: description: Type of asset enum: - USDC - PaymentAccountType: - type: string - enum: - - CLABE - - US_ACCOUNT - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of payment account or wallet - example: US_ACCOUNT - ClabeAccountInfo: - type: object - required: - - clabeNumber - - accountType - properties: - accountType: - type: string - enum: - - CLABE - clabeNumber: - type: string - description: 18-digit CLABE number (Mexican banking standard) - example: '123456789012345678' - minLength: 18 - maxLength: 18 - pattern: ^[0-9]{18}$ PaymentInstructions: type: object required: @@ -5164,28 +5084,17 @@ components: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: '#/components/schemas/PaymentClabeAccountInfo' - - title: US Bank Account - $ref: '#/components/schemas/PaymentUsAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PaymentPixAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/PaymentIbanAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/PaymentUpiAccountInfo' - - title: Spark Wallet - $ref: '#/components/schemas/PaymentSparkWalletInfo' - - title: Lightning Invoice - $ref: '#/components/schemas/PaymentLightningInvoiceInfo' - - title: Solana Wallet - $ref: '#/components/schemas/PaymentSolanaWalletInfo' - - title: Tron Wallet - $ref: '#/components/schemas/PaymentTronWalletInfo' - - title: Polygon Wallet - $ref: '#/components/schemas/PaymentPolygonWalletInfo' - - title: Base Wallet - $ref: '#/components/schemas/PaymentBaseWalletInfo' + - $ref: '#/components/schemas/PaymentClabeAccountInfo' + - $ref: '#/components/schemas/PaymentUsAccountInfo' + - $ref: '#/components/schemas/PaymentPixAccountInfo' + - $ref: '#/components/schemas/PaymentIbanAccountInfo' + - $ref: '#/components/schemas/PaymentUpiAccountInfo' + - $ref: '#/components/schemas/PaymentSparkWalletInfo' + - $ref: '#/components/schemas/PaymentLightningInvoiceInfo' + - $ref: '#/components/schemas/PaymentSolanaWalletInfo' + - $ref: '#/components/schemas/PaymentTronWalletInfo' + - $ref: '#/components/schemas/PaymentPolygonWalletInfo' + - $ref: '#/components/schemas/PaymentBaseWalletInfo' discriminator: propertyName: accountType mapping: @@ -5269,43 +5178,52 @@ components: type: string description: The verified full name of the account holder as returned by the payment rail example: John Doe - UsAccountExternalAccountInfo: - allOf: - - $ref: '#/components/schemas/BaseExternalAccountInfo' - - $ref: '#/components/schemas/UsAccountInfo' - - type: object - required: - - beneficiary - properties: - beneficiary: - $ref: '#/components/schemas/BeneficiaryOneOf' - BaseExternalAccountInfo: - type: object - required: - - accountType - properties: - accountType: - $ref: '#/components/schemas/ExternalAccountType' - discriminator: - propertyName: accountType - mapping: - US_ACCOUNT: '#/components/schemas/UsAccountExternalAccountInfo' - CLABE: '#/components/schemas/ClabeAccountExternalAccountInfo' - PIX: '#/components/schemas/PixAccountExternalAccountInfo' - IBAN: '#/components/schemas/IbanAccountExternalAccountInfo' - UPI: '#/components/schemas/UpiAccountExternalAccountInfo' - NGN_ACCOUNT: '#/components/schemas/NgnAccountExternalAccountInfo' - CAD_ACCOUNT: '#/components/schemas/CadAccountExternalAccountInfo' - GBP_ACCOUNT: '#/components/schemas/GbpAccountExternalAccountInfo' - PHP_ACCOUNT: '#/components/schemas/PhpAccountExternalAccountInfo' - SGD_ACCOUNT: '#/components/schemas/SgdAccountExternalAccountInfo' - 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' + ExternalAccountType: + type: string + enum: + - US_ACCOUNT + - CLABE + - PIX + - IBAN + - UPI + - NGN_ACCOUNT + - CAD_ACCOUNT + - GBP_ACCOUNT + - PHP_ACCOUNT + - SGD_ACCOUNT + - SPARK_WALLET + - LIGHTNING + - SOLANA_WALLET + - TRON_WALLET + - POLYGON_WALLET + - BASE_WALLET + description: Type of external account or wallet + example: US_ACCOUNT + BaseExternalAccountInfo: + type: object + required: + - accountType + properties: + accountType: + $ref: '#/components/schemas/ExternalAccountType' + BeneficiaryType: + type: string + enum: + - INDIVIDUAL + - BUSINESS + description: Whether the beneficiary is an individual or a business entity + example: INDIVIDUAL + BaseBeneficiary: + type: object + required: + - beneficiaryType + properties: + beneficiaryType: + $ref: '#/components/schemas/BeneficiaryType' + address: + $ref: '#/components/schemas/Address' IndividualBeneficiary: + title: Individual Beneficiary allOf: - $ref: '#/components/schemas/BaseBeneficiary' - type: object @@ -5332,21 +5250,8 @@ components: type: string description: Country code (ISO 3166-1 alpha-2) example: US - BaseBeneficiary: - type: object - required: - - beneficiaryType - properties: - beneficiaryType: - $ref: '#/components/schemas/BeneficiaryType' - address: - $ref: '#/components/schemas/Address' - discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' - BUSINESS: '#/components/schemas/BusinessBeneficiary' BusinessBeneficiary: + title: Business Beneficiary allOf: - $ref: '#/components/schemas/BaseBeneficiary' - type: object @@ -5370,25 +5275,28 @@ components: type: string description: Tax identification number example: EIN-987654321 - BeneficiaryType: - type: string - enum: - - INDIVIDUAL - - BUSINESS - description: Whether the beneficiary is an individual or a business entity - example: INDIVIDUAL BeneficiaryOneOf: oneOf: - - title: Individual Beneficiary - $ref: '#/components/schemas/IndividualBeneficiary' - - title: Business Beneficiary - $ref: '#/components/schemas/BusinessBeneficiary' + - $ref: '#/components/schemas/IndividualBeneficiary' + - $ref: '#/components/schemas/BusinessBeneficiary' discriminator: propertyName: beneficiaryType mapping: INDIVIDUAL: '#/components/schemas/IndividualBeneficiary' BUSINESS: '#/components/schemas/BusinessBeneficiary' + UsAccountExternalAccountInfo: + title: US Account + allOf: + - $ref: '#/components/schemas/BaseExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountInfo' + - type: object + required: + - beneficiary + properties: + beneficiary: + $ref: '#/components/schemas/BeneficiaryOneOf' ClabeAccountExternalAccountInfo: + title: CLABE Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/ClabeAccountInfo' @@ -5399,6 +5307,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' PixAccountExternalAccountInfo: + title: PIX Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PixAccountInfo' @@ -5409,6 +5318,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' IbanAccountExternalAccountInfo: + title: IBAN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/IbanAccountInfo' @@ -5419,6 +5329,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' UpiAccountExternalAccountInfo: + title: UPI Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/UpiAccountInfo' @@ -5428,7 +5339,30 @@ components: properties: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' + NgnAccountInfo: + type: object + required: + - accountNumber + - bankName + - accountType + properties: + accountType: + type: string + enum: + - NGN_ACCOUNT + accountNumber: + type: string + description: Nigerian bank account number + example: '0123456789' + minLength: 10 + maxLength: 10 + pattern: ^[0-9]{10}$ + bankName: + type: string + description: Name of the bank + example: First Bank of Nigeria NgnAccountExternalAccountInfo: + title: NGN Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/NgnAccountInfo' @@ -5490,6 +5424,7 @@ components: maxLength: 12 pattern: ^[0-9]{7,12}$ CadAccountExternalAccountInfo: + title: CAD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/CadAccountInfo' @@ -5523,6 +5458,7 @@ components: maxLength: 8 pattern: ^[0-9]{8}$ GbpAccountExternalAccountInfo: + title: GBP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/GbpAccountInfo' @@ -5552,6 +5488,7 @@ components: description: Bank account number example: '001234567890' PhpAccountExternalAccountInfo: + title: PHP Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PhpAccountInfo' @@ -5589,6 +5526,7 @@ components: description: Bank account number example: '0123456789' SgdAccountExternalAccountInfo: + title: SGD Account allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SgdAccountInfo' @@ -5599,6 +5537,7 @@ components: beneficiary: $ref: '#/components/schemas/BeneficiaryOneOf' SparkWalletExternalAccountInfo: + title: Spark Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' @@ -5626,80 +5565,48 @@ components: description: A lightning address which can be used as a payment destination. Note that for UMA addresses, no external account is needed. You can use the UMA address directly as a destination. example: john.doe@lightningwallet.com LightningExternalAccountInfo: + title: Lightning allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/LightningInfo' SolanaWalletExternalAccountInfo: + title: Solana Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' TronWalletExternalAccountInfo: + title: Tron Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' PolygonWalletExternalAccountInfo: + title: Polygon Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' BaseWalletExternalAccountInfo: + title: Base Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - ExternalAccountType: - type: string - enum: - - US_ACCOUNT - - CLABE - - PIX - - IBAN - - UPI - - NGN_ACCOUNT - - CAD_ACCOUNT - - GBP_ACCOUNT - - PHP_ACCOUNT - - SGD_ACCOUNT - - SPARK_WALLET - - LIGHTNING - - SOLANA_WALLET - - TRON_WALLET - - POLYGON_WALLET - - BASE_WALLET - description: Type of external account or wallet - example: US_ACCOUNT ExternalAccountInfoOneOf: oneOf: - - title: US Account - $ref: '#/components/schemas/UsAccountExternalAccountInfo' - - title: CLABE Account - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' - - title: PIX Account - $ref: '#/components/schemas/PixAccountExternalAccountInfo' - - title: IBAN Account - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' - - title: UPI Account - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' - - title: NGN Account - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' - - title: CAD Account - $ref: '#/components/schemas/CadAccountExternalAccountInfo' - - title: GBP Account - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' - - title: PHP Account - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' - - title: SGD Account - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' - - title: Spark Wallet - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' - - title: Lightning - $ref: '#/components/schemas/LightningExternalAccountInfo' - - title: Solana Wallet - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' - - title: Tron Wallet - $ref: '#/components/schemas/TronWalletExternalAccountInfo' - - title: Polygon Wallet - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' - - title: Base Wallet - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' + - $ref: '#/components/schemas/UsAccountExternalAccountInfo' + - $ref: '#/components/schemas/ClabeAccountExternalAccountInfo' + - $ref: '#/components/schemas/PixAccountExternalAccountInfo' + - $ref: '#/components/schemas/IbanAccountExternalAccountInfo' + - $ref: '#/components/schemas/UpiAccountExternalAccountInfo' + - $ref: '#/components/schemas/NgnAccountExternalAccountInfo' + - $ref: '#/components/schemas/CadAccountExternalAccountInfo' + - $ref: '#/components/schemas/GbpAccountExternalAccountInfo' + - $ref: '#/components/schemas/PhpAccountExternalAccountInfo' + - $ref: '#/components/schemas/SgdAccountExternalAccountInfo' + - $ref: '#/components/schemas/SparkWalletExternalAccountInfo' + - $ref: '#/components/schemas/LightningExternalAccountInfo' + - $ref: '#/components/schemas/SolanaWalletExternalAccountInfo' + - $ref: '#/components/schemas/TronWalletExternalAccountInfo' + - $ref: '#/components/schemas/PolygonWalletExternalAccountInfo' + - $ref: '#/components/schemas/BaseWalletExternalAccountInfo' discriminator: propertyName: accountType mapping: @@ -5838,32 +5745,122 @@ components: Optional Plaid account ID if the customer selected a specific account. If not provided, the default account will be used. example: plaid_account_id_123 - IncomingTransaction: + TransactionStatus: + type: string + enum: + - CREATED + - PENDING + - PROCESSING + - SENT + - COMPLETED + - REJECTED + - FAILED + - REFUNDED + - EXPIRED + description: | + Status of a payment transaction. + + | Status | Description | + |--------|-------------| + | `CREATED` | Initial lookup has been created | + | `PENDING` | Quote has been created | + | `PROCESSING` | Funding has been received and payment initiated | + | `SENT` | Cross border settlement has been initiated | + | `COMPLETED` | Cross border payment has been received, converted and payment has been sent to the offramp network | + | `REJECTED` | Receiving institution or wallet rejected payment, payment has been refunded | + | `FAILED` | An error occurred during payment | + | `REFUNDED` | Payment was unable to complete and refunded | + | `EXPIRED` | Quote has expired | + TransactionDestinationType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - EXTERNAL_ACCOUNT_DETAILS + description: Type of transaction destination + example: ACCOUNT + BaseTransactionDestination: + type: object + required: + - destinationType + properties: + destinationType: + $ref: '#/components/schemas/TransactionDestinationType' + currency: + type: string + description: Currency code for the destination + example: EUR + AccountTransactionDestination: + title: Account Destination allOf: - - $ref: '#/components/schemas/Transaction' + - $ref: '#/components/schemas/BaseTransactionDestination' - type: object required: - - type - - receivedAmount + - accountId + - destinationType properties: - type: + destinationType: type: string enum: - - INCOMING - source: - $ref: '#/components/schemas/TransactionSourceOneOf' - receivedAmount: - $ref: '#/components/schemas/CurrencyAmount' - description: Amount received in the recipient's currency - reconciliationInstructions: - $ref: '#/components/schemas/ReconciliationInstructions' - description: Included for all transactions except those with "CREATED" status - rateDetails: - $ref: '#/components/schemas/IncomingRateDetails' - description: Details about the rate and fees for the transaction. - failureReason: - $ref: '#/components/schemas/IncomingTransactionFailureReason' - description: If the transaction failed, this field provides the reason for failure. + - ACCOUNT + accountId: + type: string + description: Destination account identifier + example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 + description: Destination account details + UmaAddressTransactionDestination: + title: UMA Address Destination + allOf: + - $ref: '#/components/schemas/BaseTransactionDestination' + - type: object + required: + - umaAddress + - destinationType + properties: + destinationType: + type: string + enum: + - UMA_ADDRESS + umaAddress: + type: string + description: UMA address of the recipient + example: $receiver@uma.domain.com + description: UMA address destination details + ExternalAccountDetailsTransactionDestination: + title: External Account Details Destination + allOf: + - $ref: '#/components/schemas/BaseTransactionDestination' + - type: object + required: + - externalAccountDetails + - destinationType + properties: + destinationType: + type: string + enum: + - EXTERNAL_ACCOUNT_DETAILS + externalAccountDetails: + $ref: '#/components/schemas/ExternalAccountCreateRequest' + description: Transaction destination where external account details were provided inline at quote creation rather than using a pre-registered external account. + TransactionDestinationOneOf: + oneOf: + - $ref: '#/components/schemas/AccountTransactionDestination' + - $ref: '#/components/schemas/UmaAddressTransactionDestination' + - $ref: '#/components/schemas/ExternalAccountDetailsTransactionDestination' + discriminator: + propertyName: destinationType + mapping: + ACCOUNT: '#/components/schemas/AccountTransactionDestination' + UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' + EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' + CounterpartyInformation: + type: object + description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. + additionalProperties: true + example: + FULL_NAME: John Sender + BIRTH_DATE: '1985-06-15' + NATIONALITY: DE Transaction: type: object required: @@ -5913,12 +5910,27 @@ components: example: 'Payment for invoice #1234' counterpartyInformation: $ref: '#/components/schemas/CounterpartyInformation' - discriminator: - propertyName: type - mapping: - INCOMING: '#/components/schemas/IncomingTransaction' - OUTGOING: '#/components/schemas/OutgoingTransaction' + TransactionSourceType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - REALTIME_FUNDING + description: Type of transaction source + example: ACCOUNT + BaseTransactionSource: + type: object + required: + - sourceType + properties: + sourceType: + $ref: '#/components/schemas/TransactionSourceType' + currency: + type: string + description: Currency code for the source + example: USD AccountTransactionSource: + title: Account Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5935,24 +5947,8 @@ components: description: Source account identifier example: InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965 description: Source account details - BaseTransactionSource: - type: object - required: - - sourceType - properties: - sourceType: - $ref: '#/components/schemas/TransactionSourceType' - currency: - type: string - description: Currency code for the source - example: USD - discriminator: - propertyName: sourceType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionSource' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionSource' - REALTIME_FUNDING: '#/components/schemas/RealtimeFundingTransactionSource' UmaAddressTransactionSource: + title: UMA Address Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5970,6 +5966,7 @@ components: example: $sender@uma.domain.com description: UMA address source details RealtimeFundingTransactionSource: + title: Real-time Funding Source allOf: - $ref: '#/components/schemas/BaseTransactionSource' - type: object @@ -5990,28 +5987,98 @@ components: description: Currency code for the funding source example: USDC description: Transaction was funded using a real-time funding source (RTP, SEPA Instant, Spark, Stables, etc.). - TransactionSourceType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - REALTIME_FUNDING - description: Type of transaction source - example: ACCOUNT TransactionSourceOneOf: oneOf: - - title: Account Source - $ref: '#/components/schemas/AccountTransactionSource' - - title: UMA Address Source - $ref: '#/components/schemas/UmaAddressTransactionSource' - - title: Real-time Funding Source - $ref: '#/components/schemas/RealtimeFundingTransactionSource' + - $ref: '#/components/schemas/AccountTransactionSource' + - $ref: '#/components/schemas/UmaAddressTransactionSource' + - $ref: '#/components/schemas/RealtimeFundingTransactionSource' discriminator: propertyName: sourceType mapping: ACCOUNT: '#/components/schemas/AccountTransactionSource' UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionSource' REALTIME_FUNDING: '#/components/schemas/RealtimeFundingTransactionSource' + ReconciliationInstructions: + type: object + required: + - reference + properties: + reference: + type: string + description: Unique reference code that must be included with the payment to match it with the correct incoming transaction + example: UMA-Q12345-REF + IncomingRateDetails: + description: Details about the rate and fees for an incoming transaction. + type: object + required: + - gridApiMultiplier + - gridApiFixedFee + - gridApiVariableFeeRate + - gridApiVariableFeeAmount + properties: + gridApiMultiplier: + type: number + format: double + description: The underlying multiplier from the mSATS to the receiving currency, including variable fees. + exclusiveMinimum: 0 + example: 0.925 + gridApiFixedFee: + type: integer + format: int64 + description: The fixed fee charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). + minimum: 0 + example: 10 + gridApiVariableFeeRate: + type: number + format: double + description: The variable fee rate charged by the Grid product to execute the quote as a percentage of the receiving currency amount. + exclusiveMinimum: 0 + example: 0.003 + gridApiVariableFeeAmount: + type: number + format: int64 + description: The variable fee amount charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). This is the receiving amount times gridApiVariableFeeRate. + minimum: 0 + example: 30 + IncomingTransactionFailureReason: + type: string + enum: + - LNURLP_FAILED + - PAY_REQUEST_FAILED + - PAYMENT_APPROVAL_WEBHOOK_ERROR + - PAYMENT_APPROVAL_TIMED_OUT + - OFFRAMP_FAILED + - MISSING_MANDATORY_PAYEE_DATA + - QUOTE_EXPIRED + - QUOTE_EXECUTION_FAILED + description: Reason for failure of an incoming transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. + IncomingTransaction: + title: Incoming Transaction + allOf: + - $ref: '#/components/schemas/Transaction' + - type: object + required: + - type + - receivedAmount + properties: + type: + type: string + enum: + - INCOMING + source: + $ref: '#/components/schemas/TransactionSourceOneOf' + receivedAmount: + $ref: '#/components/schemas/CurrencyAmount' + description: Amount received in the recipient's currency + reconciliationInstructions: + $ref: '#/components/schemas/ReconciliationInstructions' + description: Included for all transactions except those with "CREATED" status + rateDetails: + $ref: '#/components/schemas/IncomingRateDetails' + description: Details about the rate and fees for the transaction. + failureReason: + $ref: '#/components/schemas/IncomingTransactionFailureReason' + description: If the transaction failed, this field provides the reason for failure. Refund: type: object required: @@ -6090,6 +6157,7 @@ components: - TIMEOUT description: Reason for failure of an outgoing transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. OutgoingTransaction: + title: Outgoing Transaction allOf: - $ref: '#/components/schemas/Transaction' - type: object @@ -6148,188 +6216,10 @@ components: failureReason: $ref: '#/components/schemas/OutgoingTransactionFailureReason' description: If the transaction failed, this field provides the reason for failure. - TransactionStatus: - type: string - enum: - - CREATED - - PENDING - - PROCESSING - - SENT - - COMPLETED - - REJECTED - - FAILED - - REFUNDED - - EXPIRED - description: | - Status of a payment transaction. - - | Status | Description | - |--------|-------------| - | `CREATED` | Initial lookup has been created | - | `PENDING` | Quote has been created | - | `PROCESSING` | Funding has been received and payment initiated | - | `SENT` | Cross border settlement has been initiated | - | `COMPLETED` | Cross border payment has been received, converted and payment has been sent to the offramp network | - | `REJECTED` | Receiving institution or wallet rejected payment, payment has been refunded | - | `FAILED` | An error occurred during payment | - | `REFUNDED` | Payment was unable to complete and refunded | - | `EXPIRED` | Quote has expired | - AccountTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - accountId - - destinationType - properties: - destinationType: - type: string - enum: - - ACCOUNT - accountId: - type: string - description: Destination account identifier - example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 - description: Destination account details - BaseTransactionDestination: - type: object - required: - - destinationType - properties: - destinationType: - $ref: '#/components/schemas/TransactionDestinationType' - currency: - type: string - description: Currency code for the destination - example: EUR - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - UmaAddressTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - umaAddress - - destinationType - properties: - destinationType: - type: string - enum: - - UMA_ADDRESS - umaAddress: - type: string - description: UMA address of the recipient - example: $receiver@uma.domain.com - description: UMA address destination details - ExternalAccountDetailsTransactionDestination: - allOf: - - $ref: '#/components/schemas/BaseTransactionDestination' - - type: object - required: - - externalAccountDetails - - destinationType - properties: - destinationType: - type: string - enum: - - EXTERNAL_ACCOUNT_DETAILS - externalAccountDetails: - $ref: '#/components/schemas/ExternalAccountCreateRequest' - description: Transaction destination where external account details were provided inline at quote creation rather than using a pre-registered external account. - TransactionDestinationType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - EXTERNAL_ACCOUNT_DETAILS - description: Type of transaction destination - example: ACCOUNT - TransactionDestinationOneOf: - oneOf: - - title: Account Destination - $ref: '#/components/schemas/AccountTransactionDestination' - - title: UMA Address Destination - $ref: '#/components/schemas/UmaAddressTransactionDestination' - - title: External Account Details Destination - $ref: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountTransactionDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressTransactionDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsTransactionDestination' - CounterpartyInformation: - type: object - description: Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses. - additionalProperties: true - example: - FULL_NAME: John Sender - BIRTH_DATE: '1985-06-15' - NATIONALITY: DE - ReconciliationInstructions: - type: object - required: - - reference - properties: - reference: - type: string - description: Unique reference code that must be included with the payment to match it with the correct incoming transaction - example: UMA-Q12345-REF - IncomingRateDetails: - description: Details about the rate and fees for an incoming transaction. - type: object - required: - - gridApiMultiplier - - gridApiFixedFee - - gridApiVariableFeeRate - - gridApiVariableFeeAmount - properties: - gridApiMultiplier: - type: number - format: double - description: The underlying multiplier from the mSATS to the receiving currency, including variable fees. - exclusiveMinimum: 0 - example: 0.925 - gridApiFixedFee: - type: integer - format: int64 - description: The fixed fee charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). - minimum: 0 - example: 10 - gridApiVariableFeeRate: - type: number - format: double - description: The variable fee rate charged by the Grid product to execute the quote as a percentage of the receiving currency amount. - exclusiveMinimum: 0 - example: 0.003 - gridApiVariableFeeAmount: - type: number - format: int64 - description: The variable fee amount charged by the Grid product to execute the quote in the smallest unit of the receiving currency (eg. cents). This is the receiving amount times gridApiVariableFeeRate. - minimum: 0 - example: 30 - IncomingTransactionFailureReason: - type: string - enum: - - LNURLP_FAILED - - PAY_REQUEST_FAILED - - PAYMENT_APPROVAL_WEBHOOK_ERROR - - PAYMENT_APPROVAL_TIMED_OUT - - OFFRAMP_FAILED - - MISSING_MANDATORY_PAYEE_DATA - - QUOTE_EXPIRED - - QUOTE_EXECUTION_FAILED - description: Reason for failure of an incoming transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. TransactionOneOf: oneOf: - - title: Incoming Transaction - $ref: '#/components/schemas/IncomingTransaction' - - title: Outgoing Transaction - $ref: '#/components/schemas/OutgoingTransaction' + - $ref: '#/components/schemas/IncomingTransaction' + - $ref: '#/components/schemas/OutgoingTransaction' discriminator: propertyName: type mapping: @@ -6442,7 +6332,22 @@ components: type: object description: Additional error details additionalProperties: true + QuoteSourceType: + type: string + enum: + - ACCOUNT + - REALTIME_FUNDING + description: Type of quote funding source + example: ACCOUNT + BaseQuoteSource: + type: object + required: + - sourceType + properties: + sourceType: + $ref: '#/components/schemas/QuoteSourceType' AccountQuoteSource: + title: Account allOf: - $ref: '#/components/schemas/BaseQuoteSource' - type: object @@ -6463,19 +6368,8 @@ components: description: Required when funding from an FBO account to identify the customer on whose behalf the transaction is being initiated. Otherwise, will default to the customerId of the account owner. example: Customer:019542f5-b3e7-1d02-0000-000000000001 description: Source account details - BaseQuoteSource: - type: object - required: - - sourceType - properties: - sourceType: - $ref: '#/components/schemas/QuoteSourceType' - discriminator: - propertyName: sourceType - mapping: - ACCOUNT: '#/components/schemas/AccountQuoteSource' - REALTIME_FUNDING: '#/components/schemas/RealtimeFundingQuoteSource' RealtimeFundingQuoteSource: + title: Real-time Funding allOf: - $ref: '#/components/schemas/BaseQuoteSource' - type: object @@ -6496,25 +6390,32 @@ components: description: Currency code for the funding source. See [Supported Currencies](https://grid.lightspark.com/platform-overview/core-concepts/currencies-and-rails) for the full list of supported fiat and crypto currencies. example: USD description: Fund the quote using a real-time funding source (RTP, SEPA Instant, Spark, Stables, etc.). This will require manual just-in-time funding using `paymentInstructions` in the response. Because quotes expire quickly, this option is only valid for instant payment methods. Do not try to fund a quote with a non-instant payment method (ACH, etc.). - QuoteSourceType: - type: string - enum: - - ACCOUNT - - REALTIME_FUNDING - description: Type of quote funding source - example: ACCOUNT QuoteSourceOneOf: oneOf: - - title: Account - $ref: '#/components/schemas/AccountQuoteSource' - - title: Real-time Funding - $ref: '#/components/schemas/RealtimeFundingQuoteSource' + - $ref: '#/components/schemas/AccountQuoteSource' + - $ref: '#/components/schemas/RealtimeFundingQuoteSource' discriminator: propertyName: sourceType mapping: ACCOUNT: '#/components/schemas/AccountQuoteSource' REALTIME_FUNDING: '#/components/schemas/RealtimeFundingQuoteSource' + DestinationType: + type: string + enum: + - ACCOUNT + - UMA_ADDRESS + - EXTERNAL_ACCOUNT_DETAILS + description: Type of payment destination + example: ACCOUNT + BaseDestination: + type: object + required: + - destinationType + properties: + destinationType: + $ref: '#/components/schemas/DestinationType' AccountDestination: + title: Account allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6531,20 +6432,8 @@ components: description: Destination account identifier example: ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123 description: Destination account details - BaseDestination: - type: object - required: - - destinationType - properties: - destinationType: - $ref: '#/components/schemas/DestinationType' - discriminator: - propertyName: destinationType - mapping: - ACCOUNT: '#/components/schemas/AccountDestination' - UMA_ADDRESS: '#/components/schemas/UmaAddressDestination' - EXTERNAL_ACCOUNT_DETAILS: '#/components/schemas/ExternalAccountDetailsDestination' UmaAddressDestination: + title: UMA Address allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6574,6 +6463,7 @@ components: example: EUR description: UMA address destination details ExternalAccountDetailsDestination: + title: External Account Details allOf: - $ref: '#/components/schemas/BaseDestination' - type: object @@ -6588,22 +6478,11 @@ components: externalAccountDetails: $ref: '#/components/schemas/ExternalAccountCreateRequest' description: A convenient destination option which adds the external account and creates the quote in one step rather than first needing to call /external-accounts to add the account. Useful for one-off payments to some destination. See the external accounts endpoints for test values in sandbox mode. - DestinationType: - type: string - enum: - - ACCOUNT - - UMA_ADDRESS - - EXTERNAL_ACCOUNT_DETAILS - description: Type of payment destination - example: ACCOUNT QuoteDestinationOneOf: oneOf: - - title: Account - $ref: '#/components/schemas/AccountDestination' - - title: UMA Address - $ref: '#/components/schemas/UmaAddressDestination' - - title: External Account Details - $ref: '#/components/schemas/ExternalAccountDetailsDestination' + - $ref: '#/components/schemas/AccountDestination' + - $ref: '#/components/schemas/UmaAddressDestination' + - $ref: '#/components/schemas/ExternalAccountDetailsDestination' discriminator: propertyName: destinationType mapping: diff --git a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml index 0549480e..b09fdab3 100644 --- a/openapi/components/schemas/common/BasePaymentAccountInfo.yaml +++ b/openapi/components/schemas/common/BasePaymentAccountInfo.yaml @@ -4,18 +4,3 @@ required: properties: accountType: $ref: ./PaymentAccountType.yaml -discriminator: - propertyName: accountType - mapping: - CLABE: ./PaymentClabeAccountInfo.yaml - US_ACCOUNT: ./PaymentUsAccountInfo.yaml - PIX: ./PaymentPixAccountInfo.yaml - IBAN: ./PaymentIbanAccountInfo.yaml - UPI: ./PaymentUpiAccountInfo.yaml - NGN_ACCOUNT: ./PaymentNgnAccountInfo.yaml - SPARK_WALLET: ./PaymentSparkWalletInfo.yaml - LIGHTNING: ./PaymentLightningInvoiceInfo.yaml - SOLANA_WALLET: ./PaymentSolanaWalletInfo.yaml - TRON_WALLET: ./PaymentTronWalletInfo.yaml - POLYGON_WALLET: ./PaymentPolygonWalletInfo.yaml - BASE_WALLET: ./PaymentBaseWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentBaseWalletInfo.yaml b/openapi/components/schemas/common/PaymentBaseWalletInfo.yaml index e2d3c2f6..52c19806 100644 --- a/openapi/components/schemas/common/PaymentBaseWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentBaseWalletInfo.yaml @@ -1,3 +1,4 @@ +title: Base Wallet allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./BaseWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml b/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml index 29f6d4a2..2c083e3e 100644 --- a/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentClabeAccountInfo.yaml @@ -1,3 +1,4 @@ +title: CLABE Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./ClabeAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml b/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml index d5c67fb1..eaf3fa39 100644 --- a/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentIbanAccountInfo.yaml @@ -1,3 +1,4 @@ +title: IBAN Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./IbanAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentInstructions.yaml b/openapi/components/schemas/common/PaymentInstructions.yaml index 313d0cb1..a61050c2 100644 --- a/openapi/components/schemas/common/PaymentInstructions.yaml +++ b/openapi/components/schemas/common/PaymentInstructions.yaml @@ -14,28 +14,17 @@ properties: example: true accountOrWalletInfo: oneOf: - - title: CLABE Account - $ref: ../common/PaymentClabeAccountInfo.yaml - - title: US Bank Account - $ref: ../common/PaymentUsAccountInfo.yaml - - title: PIX Account - $ref: ../common/PaymentPixAccountInfo.yaml - - title: IBAN Account - $ref: ../common/PaymentIbanAccountInfo.yaml - - title: UPI Account - $ref: ../common/PaymentUpiAccountInfo.yaml - - title: Spark Wallet - $ref: ../common/PaymentSparkWalletInfo.yaml - - title: Lightning Invoice - $ref: ../common/PaymentLightningInvoiceInfo.yaml - - title: Solana Wallet - $ref: ../common/PaymentSolanaWalletInfo.yaml - - title: Tron Wallet - $ref: ../common/PaymentTronWalletInfo.yaml - - title: Polygon Wallet - $ref: ../common/PaymentPolygonWalletInfo.yaml - - title: Base Wallet - $ref: ../common/PaymentBaseWalletInfo.yaml + - $ref: ../common/PaymentClabeAccountInfo.yaml + - $ref: ../common/PaymentUsAccountInfo.yaml + - $ref: ../common/PaymentPixAccountInfo.yaml + - $ref: ../common/PaymentIbanAccountInfo.yaml + - $ref: ../common/PaymentUpiAccountInfo.yaml + - $ref: ../common/PaymentSparkWalletInfo.yaml + - $ref: ../common/PaymentLightningInvoiceInfo.yaml + - $ref: ../common/PaymentSolanaWalletInfo.yaml + - $ref: ../common/PaymentTronWalletInfo.yaml + - $ref: ../common/PaymentPolygonWalletInfo.yaml + - $ref: ../common/PaymentBaseWalletInfo.yaml discriminator: propertyName: accountType mapping: diff --git a/openapi/components/schemas/common/PaymentLightningInvoiceInfo.yaml b/openapi/components/schemas/common/PaymentLightningInvoiceInfo.yaml index 82d60122..12f7d168 100644 --- a/openapi/components/schemas/common/PaymentLightningInvoiceInfo.yaml +++ b/openapi/components/schemas/common/PaymentLightningInvoiceInfo.yaml @@ -1,3 +1,4 @@ +title: Lightning Invoice allOf: - $ref: ./BasePaymentAccountInfo.yaml - type: object diff --git a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml b/openapi/components/schemas/common/PaymentPixAccountInfo.yaml index f8e0b0bc..ad7cf1bc 100644 --- a/openapi/components/schemas/common/PaymentPixAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentPixAccountInfo.yaml @@ -1,3 +1,4 @@ +title: PIX Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./PixAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentPolygonWalletInfo.yaml b/openapi/components/schemas/common/PaymentPolygonWalletInfo.yaml index 76f3b860..8585a7cd 100644 --- a/openapi/components/schemas/common/PaymentPolygonWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentPolygonWalletInfo.yaml @@ -1,3 +1,4 @@ +title: Polygon Wallet allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./PolygonWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentSolanaWalletInfo.yaml b/openapi/components/schemas/common/PaymentSolanaWalletInfo.yaml index 5e674abf..c8828ac3 100644 --- a/openapi/components/schemas/common/PaymentSolanaWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentSolanaWalletInfo.yaml @@ -1,3 +1,4 @@ +title: Solana Wallet allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./SolanaWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentSparkWalletInfo.yaml b/openapi/components/schemas/common/PaymentSparkWalletInfo.yaml index b4a0b247..c4b0021c 100644 --- a/openapi/components/schemas/common/PaymentSparkWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentSparkWalletInfo.yaml @@ -1,3 +1,4 @@ +title: Spark Wallet allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./SparkWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentTronWalletInfo.yaml b/openapi/components/schemas/common/PaymentTronWalletInfo.yaml index 1dbebb9d..ac3e7164 100644 --- a/openapi/components/schemas/common/PaymentTronWalletInfo.yaml +++ b/openapi/components/schemas/common/PaymentTronWalletInfo.yaml @@ -1,3 +1,4 @@ +title: Tron Wallet allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./TronWalletInfo.yaml diff --git a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml b/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml index af4b9900..eef9e34f 100644 --- a/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentUpiAccountInfo.yaml @@ -1,3 +1,4 @@ +title: UPI Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./UpiAccountInfo.yaml diff --git a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml b/openapi/components/schemas/common/PaymentUsAccountInfo.yaml index 526d5d06..27dbf7f3 100644 --- a/openapi/components/schemas/common/PaymentUsAccountInfo.yaml +++ b/openapi/components/schemas/common/PaymentUsAccountInfo.yaml @@ -1,3 +1,4 @@ +title: US Bank Account allOf: - $ref: ./BasePaymentAccountInfo.yaml - $ref: ./UsAccountInfo.yaml diff --git a/openapi/components/schemas/customers/BusinessCustomer.yaml b/openapi/components/schemas/customers/BusinessCustomer.yaml index 0d72cf6a..e436d383 100644 --- a/openapi/components/schemas/customers/BusinessCustomer.yaml +++ b/openapi/components/schemas/customers/BusinessCustomer.yaml @@ -1,3 +1,4 @@ +title: Business Customer allOf: - $ref: ./Customer.yaml - $ref: ./BusinessCustomerFields.yaml diff --git a/openapi/components/schemas/customers/BusinessCustomerCreateRequest.yaml b/openapi/components/schemas/customers/BusinessCustomerCreateRequest.yaml index 8ad56cc2..380a1a42 100644 --- a/openapi/components/schemas/customers/BusinessCustomerCreateRequest.yaml +++ b/openapi/components/schemas/customers/BusinessCustomerCreateRequest.yaml @@ -1,3 +1,4 @@ +title: Business Customer Create Request allOf: - $ref: ./CustomerCreateRequest.yaml - $ref: ./BusinessCustomerFields.yaml diff --git a/openapi/components/schemas/customers/BusinessCustomerUpdateRequest.yaml b/openapi/components/schemas/customers/BusinessCustomerUpdateRequest.yaml index 6d059073..a635e4be 100644 --- a/openapi/components/schemas/customers/BusinessCustomerUpdateRequest.yaml +++ b/openapi/components/schemas/customers/BusinessCustomerUpdateRequest.yaml @@ -1,3 +1,4 @@ +title: Business Customer Update Request allOf: - $ref: ./CustomerUpdateRequest.yaml - $ref: ./BusinessCustomerFields.yaml diff --git a/openapi/components/schemas/customers/Customer.yaml b/openapi/components/schemas/customers/Customer.yaml index 2a0b6fa6..6f34b880 100644 --- a/openapi/components/schemas/customers/Customer.yaml +++ b/openapi/components/schemas/customers/Customer.yaml @@ -40,8 +40,3 @@ properties: description: Whether the customer is marked as deleted example: false readOnly: true -discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ./IndividualCustomer.yaml - BUSINESS: ./BusinessCustomer.yaml diff --git a/openapi/components/schemas/customers/CustomerCreateRequest.yaml b/openapi/components/schemas/customers/CustomerCreateRequest.yaml index a5f17821..a08dade2 100644 --- a/openapi/components/schemas/customers/CustomerCreateRequest.yaml +++ b/openapi/components/schemas/customers/CustomerCreateRequest.yaml @@ -16,8 +16,3 @@ properties: If provided during customer update, the UMA address will be updated to the provided value. This is an optional identifier to route payments to the customer. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com -discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ./IndividualCustomerCreateRequest.yaml - BUSINESS: ./BusinessCustomerCreateRequest.yaml diff --git a/openapi/components/schemas/customers/CustomerCreateRequestOneOf.yaml b/openapi/components/schemas/customers/CustomerCreateRequestOneOf.yaml index 53e9c955..cc96b855 100644 --- a/openapi/components/schemas/customers/CustomerCreateRequestOneOf.yaml +++ b/openapi/components/schemas/customers/CustomerCreateRequestOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Individual Customer Create Request - $ref: ./IndividualCustomerCreateRequest.yaml - - title: Business Customer Create Request - $ref: ./BusinessCustomerCreateRequest.yaml + - $ref: ./IndividualCustomerCreateRequest.yaml + - $ref: ./BusinessCustomerCreateRequest.yaml discriminator: propertyName: customerType mapping: diff --git a/openapi/components/schemas/customers/CustomerOneOf.yaml b/openapi/components/schemas/customers/CustomerOneOf.yaml index c274c9ec..abeff375 100644 --- a/openapi/components/schemas/customers/CustomerOneOf.yaml +++ b/openapi/components/schemas/customers/CustomerOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Individual Customer - $ref: ./IndividualCustomer.yaml - - title: Business Customer - $ref: ./BusinessCustomer.yaml + - $ref: ./IndividualCustomer.yaml + - $ref: ./BusinessCustomer.yaml discriminator: propertyName: customerType mapping: diff --git a/openapi/components/schemas/customers/CustomerUpdateRequest.yaml b/openapi/components/schemas/customers/CustomerUpdateRequest.yaml index 68585c67..d5cc5542 100644 --- a/openapi/components/schemas/customers/CustomerUpdateRequest.yaml +++ b/openapi/components/schemas/customers/CustomerUpdateRequest.yaml @@ -10,8 +10,3 @@ properties: Optional UMA address identifier. If provided, the customer's UMA address will be updated. This is an optional identifier to route payments to the customer. example: $john.doe@uma.domain.com -discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ./IndividualCustomerUpdateRequest.yaml - BUSINESS: ./BusinessCustomerUpdateRequest.yaml diff --git a/openapi/components/schemas/customers/CustomerUpdateRequestOneOf.yaml b/openapi/components/schemas/customers/CustomerUpdateRequestOneOf.yaml index 3574653e..fdeb8ee3 100644 --- a/openapi/components/schemas/customers/CustomerUpdateRequestOneOf.yaml +++ b/openapi/components/schemas/customers/CustomerUpdateRequestOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Individual Customer Update Request - $ref: ./IndividualCustomerUpdateRequest.yaml - - title: Business Customer Update Request - $ref: ./BusinessCustomerUpdateRequest.yaml + - $ref: ./IndividualCustomerUpdateRequest.yaml + - $ref: ./BusinessCustomerUpdateRequest.yaml discriminator: propertyName: customerType mapping: diff --git a/openapi/components/schemas/customers/IndividualCustomer.yaml b/openapi/components/schemas/customers/IndividualCustomer.yaml index 8c878765..5265e90d 100644 --- a/openapi/components/schemas/customers/IndividualCustomer.yaml +++ b/openapi/components/schemas/customers/IndividualCustomer.yaml @@ -1,3 +1,4 @@ +title: Individual Customer allOf: - $ref: ./Customer.yaml - $ref: ./IndividualCustomerFields.yaml diff --git a/openapi/components/schemas/customers/IndividualCustomerCreateRequest.yaml b/openapi/components/schemas/customers/IndividualCustomerCreateRequest.yaml index 2e64cfab..30531f66 100644 --- a/openapi/components/schemas/customers/IndividualCustomerCreateRequest.yaml +++ b/openapi/components/schemas/customers/IndividualCustomerCreateRequest.yaml @@ -1,3 +1,4 @@ +title: Individual Customer Create Request allOf: - $ref: ./CustomerCreateRequest.yaml - $ref: ./IndividualCustomerFields.yaml diff --git a/openapi/components/schemas/customers/IndividualCustomerUpdateRequest.yaml b/openapi/components/schemas/customers/IndividualCustomerUpdateRequest.yaml index e5d536f9..035bc677 100644 --- a/openapi/components/schemas/customers/IndividualCustomerUpdateRequest.yaml +++ b/openapi/components/schemas/customers/IndividualCustomerUpdateRequest.yaml @@ -1,3 +1,4 @@ +title: Individual Customer Update Request allOf: - $ref: ./CustomerUpdateRequest.yaml - $ref: ./IndividualCustomerFields.yaml diff --git a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml index 27bd7e85..878a5539 100644 --- a/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml +++ b/openapi/components/schemas/external_accounts/BaseBeneficiary.yaml @@ -6,8 +6,3 @@ properties: $ref: ./BeneficiaryType.yaml address: $ref: ../common/Address.yaml -discriminator: - propertyName: beneficiaryType - mapping: - INDIVIDUAL: ./IndividualBeneficiary.yaml - BUSINESS: ./BusinessBeneficiary.yaml diff --git a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml index ea40286e..aacc9a92 100644 --- a/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseExternalAccountInfo.yaml @@ -4,22 +4,3 @@ required: properties: accountType: $ref: ./ExternalAccountType.yaml -discriminator: - propertyName: accountType - mapping: - US_ACCOUNT: ./UsAccountExternalAccountInfo.yaml - CLABE: ./ClabeAccountExternalAccountInfo.yaml - PIX: ./PixAccountExternalAccountInfo.yaml - IBAN: ./IbanAccountExternalAccountInfo.yaml - UPI: ./UpiAccountExternalAccountInfo.yaml - NGN_ACCOUNT: ./NgnAccountExternalAccountInfo.yaml - CAD_ACCOUNT: ./CadAccountExternalAccountInfo.yaml - GBP_ACCOUNT: ./GbpAccountExternalAccountInfo.yaml - PHP_ACCOUNT: ./PhpAccountExternalAccountInfo.yaml - SGD_ACCOUNT: ./SgdAccountExternalAccountInfo.yaml - SPARK_WALLET: ./SparkWalletExternalAccountInfo.yaml - LIGHTNING: ./LightningExternalAccountInfo.yaml - SOLANA_WALLET: ./SolanaWalletExternalAccountInfo.yaml - TRON_WALLET: ./TronWalletExternalAccountInfo.yaml - POLYGON_WALLET: ./PolygonWalletExternalAccountInfo.yaml - BASE_WALLET: ./BaseWalletExternalAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml index 32b939d4..7bf6935f 100644 --- a/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Base Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/BaseWalletInfo.yaml diff --git a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml index f7c7e1e5..6b978ef5 100644 --- a/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml +++ b/openapi/components/schemas/external_accounts/BeneficiaryOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Individual Beneficiary - $ref: ./IndividualBeneficiary.yaml - - title: Business Beneficiary - $ref: ./BusinessBeneficiary.yaml + - $ref: ./IndividualBeneficiary.yaml + - $ref: ./BusinessBeneficiary.yaml discriminator: propertyName: beneficiaryType mapping: diff --git a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml b/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml index bb6ae236..fdc80a2c 100644 --- a/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml +++ b/openapi/components/schemas/external_accounts/BusinessBeneficiary.yaml @@ -1,3 +1,4 @@ +title: Business Beneficiary allOf: - $ref: ./BaseBeneficiary.yaml - type: object diff --git a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml index 055b788c..2625b43d 100644 --- a/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/CadAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: CAD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/CadAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml index e422f992..ec52b134 100644 --- a/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/ClabeAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: CLABE Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/ClabeAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml index 3833c6b3..0a828069 100644 --- a/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml +++ b/openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml @@ -1,36 +1,20 @@ oneOf: - - title: US Account - $ref: ./UsAccountExternalAccountInfo.yaml - - title: CLABE Account - $ref: ./ClabeAccountExternalAccountInfo.yaml - - title: PIX Account - $ref: ./PixAccountExternalAccountInfo.yaml - - title: IBAN Account - $ref: ./IbanAccountExternalAccountInfo.yaml - - title: UPI Account - $ref: ./UpiAccountExternalAccountInfo.yaml - - title: NGN Account - $ref: ./NgnAccountExternalAccountInfo.yaml - - title: CAD Account - $ref: ./CadAccountExternalAccountInfo.yaml - - title: GBP Account - $ref: ./GbpAccountExternalAccountInfo.yaml - - title: PHP Account - $ref: ./PhpAccountExternalAccountInfo.yaml - - title: SGD Account - $ref: ./SgdAccountExternalAccountInfo.yaml - - title: Spark Wallet - $ref: ./SparkWalletExternalAccountInfo.yaml - - title: Lightning - $ref: ./LightningExternalAccountInfo.yaml - - title: Solana Wallet - $ref: ./SolanaWalletExternalAccountInfo.yaml - - title: Tron Wallet - $ref: ./TronWalletExternalAccountInfo.yaml - - title: Polygon Wallet - $ref: ./PolygonWalletExternalAccountInfo.yaml - - title: Base Wallet - $ref: ./BaseWalletExternalAccountInfo.yaml + - $ref: ./UsAccountExternalAccountInfo.yaml + - $ref: ./ClabeAccountExternalAccountInfo.yaml + - $ref: ./PixAccountExternalAccountInfo.yaml + - $ref: ./IbanAccountExternalAccountInfo.yaml + - $ref: ./UpiAccountExternalAccountInfo.yaml + - $ref: ./NgnAccountExternalAccountInfo.yaml + - $ref: ./CadAccountExternalAccountInfo.yaml + - $ref: ./GbpAccountExternalAccountInfo.yaml + - $ref: ./PhpAccountExternalAccountInfo.yaml + - $ref: ./SgdAccountExternalAccountInfo.yaml + - $ref: ./SparkWalletExternalAccountInfo.yaml + - $ref: ./LightningExternalAccountInfo.yaml + - $ref: ./SolanaWalletExternalAccountInfo.yaml + - $ref: ./TronWalletExternalAccountInfo.yaml + - $ref: ./PolygonWalletExternalAccountInfo.yaml + - $ref: ./BaseWalletExternalAccountInfo.yaml discriminator: propertyName: accountType mapping: diff --git a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml index d9d01c90..cdd0800d 100644 --- a/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/GbpAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: GBP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/GbpAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml index 085cdbc8..dd459c53 100644 --- a/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/IbanAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: IBAN Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/IbanAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/IndividualBeneficiary.yaml b/openapi/components/schemas/external_accounts/IndividualBeneficiary.yaml index 288ef94b..c7430890 100644 --- a/openapi/components/schemas/external_accounts/IndividualBeneficiary.yaml +++ b/openapi/components/schemas/external_accounts/IndividualBeneficiary.yaml @@ -1,3 +1,4 @@ +title: Individual Beneficiary allOf: - $ref: ./BaseBeneficiary.yaml - type: object diff --git a/openapi/components/schemas/external_accounts/LightningExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/LightningExternalAccountInfo.yaml index 9af277bb..97f24240 100644 --- a/openapi/components/schemas/external_accounts/LightningExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/LightningExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Lightning allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/LightningInfo.yaml diff --git a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml index 959e1bfd..69a3b91d 100644 --- a/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/NgnAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: NGN Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/NgnAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml index d69becbe..40b653e0 100644 --- a/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PhpAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: PHP Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/PhpAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml index f492c457..5a349c06 100644 --- a/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PixAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: PIX Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/PixAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml index d94a7581..8e6594f5 100644 --- a/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Polygon Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/PolygonWalletInfo.yaml diff --git a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml index 7e4cca1e..50cb37d3 100644 --- a/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SgdAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: SGD Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/SgdAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml index 60fe22a8..ff213403 100644 --- a/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Solana Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/SolanaWalletInfo.yaml diff --git a/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml index af530087..267a5ddf 100644 --- a/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Spark Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/SparkWalletInfo.yaml diff --git a/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml index 6ca2accc..f3dedf87 100644 --- a/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: Tron Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/TronWalletInfo.yaml diff --git a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml index e7675259..4972991b 100644 --- a/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/UpiAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: UPI Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/UpiAccountInfo.yaml diff --git a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml index 6fa6a96e..4bb68043 100644 --- a/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/UsAccountExternalAccountInfo.yaml @@ -1,3 +1,4 @@ +title: US Account allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/UsAccountInfo.yaml diff --git a/openapi/components/schemas/quotes/AccountDestination.yaml b/openapi/components/schemas/quotes/AccountDestination.yaml index 8b66265d..01e86ca9 100644 --- a/openapi/components/schemas/quotes/AccountDestination.yaml +++ b/openapi/components/schemas/quotes/AccountDestination.yaml @@ -1,3 +1,4 @@ +title: Account allOf: - $ref: ./BaseDestination.yaml - type: object diff --git a/openapi/components/schemas/quotes/AccountQuoteSource.yaml b/openapi/components/schemas/quotes/AccountQuoteSource.yaml index 908056b2..778870a6 100644 --- a/openapi/components/schemas/quotes/AccountQuoteSource.yaml +++ b/openapi/components/schemas/quotes/AccountQuoteSource.yaml @@ -1,3 +1,4 @@ +title: Account allOf: - $ref: ./BaseQuoteSource.yaml - type: object diff --git a/openapi/components/schemas/quotes/BaseDestination.yaml b/openapi/components/schemas/quotes/BaseDestination.yaml index c4c81646..414f698d 100644 --- a/openapi/components/schemas/quotes/BaseDestination.yaml +++ b/openapi/components/schemas/quotes/BaseDestination.yaml @@ -4,9 +4,3 @@ required: properties: destinationType: $ref: ./DestinationType.yaml -discriminator: - propertyName: destinationType - mapping: - ACCOUNT: ./AccountDestination.yaml - UMA_ADDRESS: ./UmaAddressDestination.yaml - EXTERNAL_ACCOUNT_DETAILS: ./ExternalAccountDetailsDestination.yaml diff --git a/openapi/components/schemas/quotes/BaseQuoteSource.yaml b/openapi/components/schemas/quotes/BaseQuoteSource.yaml index f584b5ad..f2eb7518 100644 --- a/openapi/components/schemas/quotes/BaseQuoteSource.yaml +++ b/openapi/components/schemas/quotes/BaseQuoteSource.yaml @@ -4,8 +4,3 @@ required: properties: sourceType: $ref: ./QuoteSourceType.yaml -discriminator: - propertyName: sourceType - mapping: - ACCOUNT: ./AccountQuoteSource.yaml - REALTIME_FUNDING: ./RealtimeFundingQuoteSource.yaml diff --git a/openapi/components/schemas/quotes/ExternalAccountDetailsDestination.yaml b/openapi/components/schemas/quotes/ExternalAccountDetailsDestination.yaml index 376083ff..a5e3c3ab 100644 --- a/openapi/components/schemas/quotes/ExternalAccountDetailsDestination.yaml +++ b/openapi/components/schemas/quotes/ExternalAccountDetailsDestination.yaml @@ -1,3 +1,4 @@ +title: External Account Details allOf: - $ref: ./BaseDestination.yaml - type: object diff --git a/openapi/components/schemas/quotes/QuoteDestinationOneOf.yaml b/openapi/components/schemas/quotes/QuoteDestinationOneOf.yaml index 3bc5966c..d4020629 100644 --- a/openapi/components/schemas/quotes/QuoteDestinationOneOf.yaml +++ b/openapi/components/schemas/quotes/QuoteDestinationOneOf.yaml @@ -1,10 +1,7 @@ oneOf: - - title: Account - $ref: ./AccountDestination.yaml - - title: UMA Address - $ref: ./UmaAddressDestination.yaml - - title: External Account Details - $ref: ./ExternalAccountDetailsDestination.yaml + - $ref: ./AccountDestination.yaml + - $ref: ./UmaAddressDestination.yaml + - $ref: ./ExternalAccountDetailsDestination.yaml discriminator: propertyName: destinationType mapping: diff --git a/openapi/components/schemas/quotes/QuoteSourceOneOf.yaml b/openapi/components/schemas/quotes/QuoteSourceOneOf.yaml index 57a96df3..e3312500 100644 --- a/openapi/components/schemas/quotes/QuoteSourceOneOf.yaml +++ b/openapi/components/schemas/quotes/QuoteSourceOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Account - $ref: ./AccountQuoteSource.yaml - - title: Real-time Funding - $ref: ./RealtimeFundingQuoteSource.yaml + - $ref: ./AccountQuoteSource.yaml + - $ref: ./RealtimeFundingQuoteSource.yaml discriminator: propertyName: sourceType mapping: diff --git a/openapi/components/schemas/quotes/RealtimeFundingQuoteSource.yaml b/openapi/components/schemas/quotes/RealtimeFundingQuoteSource.yaml index a45b2940..4d5d7da7 100644 --- a/openapi/components/schemas/quotes/RealtimeFundingQuoteSource.yaml +++ b/openapi/components/schemas/quotes/RealtimeFundingQuoteSource.yaml @@ -1,3 +1,4 @@ +title: Real-time Funding allOf: - $ref: ./BaseQuoteSource.yaml - type: object diff --git a/openapi/components/schemas/quotes/UmaAddressDestination.yaml b/openapi/components/schemas/quotes/UmaAddressDestination.yaml index b60dbe34..85230033 100644 --- a/openapi/components/schemas/quotes/UmaAddressDestination.yaml +++ b/openapi/components/schemas/quotes/UmaAddressDestination.yaml @@ -1,3 +1,4 @@ +title: UMA Address allOf: - $ref: ./BaseDestination.yaml - type: object diff --git a/openapi/components/schemas/transactions/AccountTransactionDestination.yaml b/openapi/components/schemas/transactions/AccountTransactionDestination.yaml index cc041182..1e85b52e 100644 --- a/openapi/components/schemas/transactions/AccountTransactionDestination.yaml +++ b/openapi/components/schemas/transactions/AccountTransactionDestination.yaml @@ -1,3 +1,4 @@ +title: Account Destination allOf: - $ref: ./BaseTransactionDestination.yaml - type: object diff --git a/openapi/components/schemas/transactions/AccountTransactionSource.yaml b/openapi/components/schemas/transactions/AccountTransactionSource.yaml index a0862352..f3a05e2a 100644 --- a/openapi/components/schemas/transactions/AccountTransactionSource.yaml +++ b/openapi/components/schemas/transactions/AccountTransactionSource.yaml @@ -1,3 +1,4 @@ +title: Account Source allOf: - $ref: ./BaseTransactionSource.yaml - type: object diff --git a/openapi/components/schemas/transactions/BaseTransactionDestination.yaml b/openapi/components/schemas/transactions/BaseTransactionDestination.yaml index a4437d10..2d8bc0f9 100644 --- a/openapi/components/schemas/transactions/BaseTransactionDestination.yaml +++ b/openapi/components/schemas/transactions/BaseTransactionDestination.yaml @@ -8,9 +8,3 @@ properties: type: string description: Currency code for the destination example: EUR -discriminator: - propertyName: destinationType - mapping: - ACCOUNT: ./AccountTransactionDestination.yaml - UMA_ADDRESS: ./UmaAddressTransactionDestination.yaml - EXTERNAL_ACCOUNT_DETAILS: ./ExternalAccountDetailsTransactionDestination.yaml diff --git a/openapi/components/schemas/transactions/BaseTransactionSource.yaml b/openapi/components/schemas/transactions/BaseTransactionSource.yaml index 0785e706..f87267df 100644 --- a/openapi/components/schemas/transactions/BaseTransactionSource.yaml +++ b/openapi/components/schemas/transactions/BaseTransactionSource.yaml @@ -8,9 +8,3 @@ properties: type: string description: Currency code for the source example: USD -discriminator: - propertyName: sourceType - mapping: - ACCOUNT: ./AccountTransactionSource.yaml - UMA_ADDRESS: ./UmaAddressTransactionSource.yaml - REALTIME_FUNDING: ./RealtimeFundingTransactionSource.yaml diff --git a/openapi/components/schemas/transactions/ExternalAccountDetailsTransactionDestination.yaml b/openapi/components/schemas/transactions/ExternalAccountDetailsTransactionDestination.yaml index 09cf9d62..c323c197 100644 --- a/openapi/components/schemas/transactions/ExternalAccountDetailsTransactionDestination.yaml +++ b/openapi/components/schemas/transactions/ExternalAccountDetailsTransactionDestination.yaml @@ -1,3 +1,4 @@ +title: External Account Details Destination allOf: - $ref: ./BaseTransactionDestination.yaml - type: object diff --git a/openapi/components/schemas/transactions/IncomingTransaction.yaml b/openapi/components/schemas/transactions/IncomingTransaction.yaml index e5a89991..e985ebdc 100644 --- a/openapi/components/schemas/transactions/IncomingTransaction.yaml +++ b/openapi/components/schemas/transactions/IncomingTransaction.yaml @@ -1,3 +1,4 @@ +title: Incoming Transaction allOf: - $ref: ./Transaction.yaml - type: object diff --git a/openapi/components/schemas/transactions/OutgoingTransaction.yaml b/openapi/components/schemas/transactions/OutgoingTransaction.yaml index 385e3277..ebf18a5f 100644 --- a/openapi/components/schemas/transactions/OutgoingTransaction.yaml +++ b/openapi/components/schemas/transactions/OutgoingTransaction.yaml @@ -1,3 +1,4 @@ +title: Outgoing Transaction allOf: - $ref: ./Transaction.yaml - type: object diff --git a/openapi/components/schemas/transactions/RealtimeFundingTransactionSource.yaml b/openapi/components/schemas/transactions/RealtimeFundingTransactionSource.yaml index 2a77fe96..e083a2b6 100644 --- a/openapi/components/schemas/transactions/RealtimeFundingTransactionSource.yaml +++ b/openapi/components/schemas/transactions/RealtimeFundingTransactionSource.yaml @@ -1,3 +1,4 @@ +title: Real-time Funding Source allOf: - $ref: ./BaseTransactionSource.yaml - type: object diff --git a/openapi/components/schemas/transactions/Transaction.yaml b/openapi/components/schemas/transactions/Transaction.yaml index 9fb20ba9..2b72ccad 100644 --- a/openapi/components/schemas/transactions/Transaction.yaml +++ b/openapi/components/schemas/transactions/Transaction.yaml @@ -48,8 +48,3 @@ properties: example: 'Payment for invoice #1234' counterpartyInformation: $ref: ./CounterpartyInformation.yaml -discriminator: - propertyName: type - mapping: - INCOMING: ./IncomingTransaction.yaml - OUTGOING: ./OutgoingTransaction.yaml diff --git a/openapi/components/schemas/transactions/TransactionDestinationOneOf.yaml b/openapi/components/schemas/transactions/TransactionDestinationOneOf.yaml index 9785164b..9f88947f 100644 --- a/openapi/components/schemas/transactions/TransactionDestinationOneOf.yaml +++ b/openapi/components/schemas/transactions/TransactionDestinationOneOf.yaml @@ -1,10 +1,7 @@ oneOf: - - title: Account Destination - $ref: ./AccountTransactionDestination.yaml - - title: UMA Address Destination - $ref: ./UmaAddressTransactionDestination.yaml - - title: External Account Details Destination - $ref: ./ExternalAccountDetailsTransactionDestination.yaml + - $ref: ./AccountTransactionDestination.yaml + - $ref: ./UmaAddressTransactionDestination.yaml + - $ref: ./ExternalAccountDetailsTransactionDestination.yaml discriminator: propertyName: destinationType mapping: diff --git a/openapi/components/schemas/transactions/TransactionOneOf.yaml b/openapi/components/schemas/transactions/TransactionOneOf.yaml index e137ccbf..b3f784ad 100644 --- a/openapi/components/schemas/transactions/TransactionOneOf.yaml +++ b/openapi/components/schemas/transactions/TransactionOneOf.yaml @@ -1,8 +1,6 @@ oneOf: - - title: Incoming Transaction - $ref: ./IncomingTransaction.yaml - - title: Outgoing Transaction - $ref: ./OutgoingTransaction.yaml + - $ref: ./IncomingTransaction.yaml + - $ref: ./OutgoingTransaction.yaml discriminator: propertyName: type mapping: diff --git a/openapi/components/schemas/transactions/TransactionSourceOneOf.yaml b/openapi/components/schemas/transactions/TransactionSourceOneOf.yaml index 730b243e..70854a16 100644 --- a/openapi/components/schemas/transactions/TransactionSourceOneOf.yaml +++ b/openapi/components/schemas/transactions/TransactionSourceOneOf.yaml @@ -1,10 +1,7 @@ oneOf: - - title: Account Source - $ref: ./AccountTransactionSource.yaml - - title: UMA Address Source - $ref: ./UmaAddressTransactionSource.yaml - - title: Real-time Funding Source - $ref: ./RealtimeFundingTransactionSource.yaml + - $ref: ./AccountTransactionSource.yaml + - $ref: ./UmaAddressTransactionSource.yaml + - $ref: ./RealtimeFundingTransactionSource.yaml discriminator: propertyName: sourceType mapping: diff --git a/openapi/components/schemas/transactions/UmaAddressTransactionDestination.yaml b/openapi/components/schemas/transactions/UmaAddressTransactionDestination.yaml index 8d1b5dc0..eeba5ba9 100644 --- a/openapi/components/schemas/transactions/UmaAddressTransactionDestination.yaml +++ b/openapi/components/schemas/transactions/UmaAddressTransactionDestination.yaml @@ -1,3 +1,4 @@ +title: UMA Address Destination allOf: - $ref: ./BaseTransactionDestination.yaml - type: object diff --git a/openapi/components/schemas/transactions/UmaAddressTransactionSource.yaml b/openapi/components/schemas/transactions/UmaAddressTransactionSource.yaml index 6bf36781..ebc7162e 100644 --- a/openapi/components/schemas/transactions/UmaAddressTransactionSource.yaml +++ b/openapi/components/schemas/transactions/UmaAddressTransactionSource.yaml @@ -1,3 +1,4 @@ +title: UMA Address Source allOf: - $ref: ./BaseTransactionSource.yaml - type: object diff --git a/openapi/paths/customers/customers_{customerId}.yaml b/openapi/paths/customers/customers_{customerId}.yaml index d2af2721..5fc3df7f 100644 --- a/openapi/paths/customers/customers_{customerId}.yaml +++ b/openapi/paths/customers/customers_{customerId}.yaml @@ -19,16 +19,7 @@ get: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: ../../components/schemas/customers/IndividualCustomer.yaml - - title: Business Customer - $ref: ../../components/schemas/customers/BusinessCustomer.yaml - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ../../components/schemas/customers/IndividualCustomer.yaml - BUSINESS: ../../components/schemas/customers/BusinessCustomer.yaml + $ref: ../../components/schemas/customers/CustomerOneOf.yaml '401': description: Unauthorized content: @@ -94,16 +85,7 @@ patch: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: ../../components/schemas/customers/IndividualCustomer.yaml - - title: Business Customer - $ref: ../../components/schemas/customers/BusinessCustomer.yaml - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ../../components/schemas/customers/IndividualCustomer.yaml - BUSINESS: ../../components/schemas/customers/BusinessCustomer.yaml + $ref: ../../components/schemas/customers/CustomerOneOf.yaml '400': description: Bad request content: @@ -142,16 +124,7 @@ delete: content: application/json: schema: - oneOf: - - title: Individual Customer - $ref: ../../components/schemas/customers/IndividualCustomer.yaml - - title: Business Customer - $ref: ../../components/schemas/customers/BusinessCustomer.yaml - discriminator: - propertyName: customerType - mapping: - INDIVIDUAL: ../../components/schemas/customers/IndividualCustomer.yaml - BUSINESS: ../../components/schemas/customers/BusinessCustomer.yaml + $ref: ../../components/schemas/customers/CustomerOneOf.yaml '401': description: Unauthorized content: