openapi: 3.1.0 info: title: API Reference authentication merchant API version: 1.0.0 servers: - url: https://api-sandbox.coinflow.cash/api description: https://api-sandbox.coinflow.cash/api tags: - name: merchant paths: /withdraw/crypto-deposit-address/activate: post: operationId: activate-passive-deposit-address summary: Activate Passive Deposit Address description: 'Activate a passive deposit address so it accepts new payments. If a deposit address already exists for this merchant + withdrawer + chain + token, that address is re-activated and returned. Otherwise a new session is created and its address is activated.' tags: - merchant parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PassiveDepositAddressStatusResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCryptoWithdrawBody' /merchant/block-seller: put: operationId: block-marketplace-seller summary: Bans a seller tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: $ref: '#/components/schemas/BlockSellerRequest' /merchant/blocked/{customerId}: put: operationId: unblock-account summary: Block or Unblock Customer tags: - merchant parameters: - name: customerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: merchantId: type: string reason: type: string status: $ref: '#/components/schemas/AvailabilityStatus' required: - reason /merchant/block-withdrawer/{withdrawerId}: put: operationId: block-or-unblock-withdrawer summary: Block or Unblock Withdrawer tags: - merchant parameters: - name: withdrawerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' reason: type: string status: $ref: '#/components/schemas/AvailabilityStatus' required: - reason - status /merchant/{customerId}/exempt3DS: put: operationId: update-3-ds-exemption summary: Configure 3DS exemption description: Change customer 3DS exemption status tags: - merchant parameters: - name: customerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: merchantId: type: string exempt: type: boolean required: - exempt /merchant/{customerId}/attemptLimit: put: operationId: update-attempt-limit-setting summary: Configure attempt limit setting description: Change customer attempt limit setting tags: - merchant parameters: - name: customerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: merchantId: type: string setting: $ref: '#/components/schemas/FailedAttemptSetting' required: - setting /merchant/chargebacks/{paymentId}/respond: post: operationId: respond summary: Create Chargeback Response description: Respond to a chargeback. This will send the response to the card network. tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: $ref: '#/components/schemas/Merchant_Respond_Request' /withdraw/crypto-deposit-address: post: operationId: create-crypto-withdraw-deposit summary: Create Crypto Withdraw Deposit description: 'Create a crypto deposit session for a payout. Returns a deposit address where the merchant can send funds. Once funds are received via the deposit webhook, the payout is automatically initiated.' tags: - merchant parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CryptoWithdrawDepositResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCryptoWithdrawBody' get: operationId: get-supported-chains summary: Get Supported Chains description: Get the list of supported chains and tokens for crypto deposit withdrawals. tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/GetSupportedChainsResponse' /merchant/exports: post: operationId: create-export summary: Create Export description: Create a new export job tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IExport' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateExportRequest' get: operationId: list-exports summary: List Exports description: List all exports for the merchant tags: - merchant parameters: - name: page in: query required: false schema: type: number format: double - name: limit in: query required: false schema: type: number format: double - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: type: string - name: sortDirection in: query required: false schema: type: number format: double - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/IExport' /withdraw/crypto-deposit-address/deactivate: post: operationId: deactivate-passive-deposit-address summary: Deactivate Passive Deposit Address description: Deactivate (pause) a passive deposit address so it stops accepting new payments. tags: - merchant parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PassiveDepositAddressStatusResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/PassiveDepositAddressBody' /merchant/exports/{exportId}: delete: operationId: delete-export summary: Delete Export description: Delete an export tags: - merchant parameters: - name: exportId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response get: operationId: get-export summary: Get Export description: Get a specific export by ID tags: - merchant parameters: - name: exportId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IExport' /merchant: put: operationId: edit-merchant summary: Edit Merchant description: Edit the merchant details tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IMerchant_string_' requestBody: content: application/json: schema: type: object properties: customerDefaultOverrideLimit: $ref: '#/components/schemas/Cents' fraudEmails: type: array items: type: string chargebackEmails: type: array items: type: string billingEmails: type: array items: type: string settlementAddresses: $ref: '#/components/schemas/MerchantPutRequestBodyContentApplicationJsonSchemaSettlementAddresses' brand: $ref: '#/components/schemas/MerchantBrandSettings' enforceJwt: type: boolean cryptoPayinSettings: $ref: '#/components/schemas/Pick_CryptoPayInSettings.customerEmailNotifications-or-merchantEmailNotifications_' achSettings: $ref: '#/components/schemas/Pick_ACHSettings.customerEmailNotifications-or-merchantEmailNotifications_' cardSettings: $ref: '#/components/schemas/Pick_CardSettings.customerEmailNotifications-or-merchantEmailNotifications_' webhookSettings: $ref: '#/components/schemas/Pick_WebhookSettings.Exclude_keyofWebhookSettings.webhookUrls__' colors: $ref: '#/components/schemas/MerchantTheme' password: type: string get: operationId: get-merchant summary: Get Merchant description: Get the merchant tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IMerchant_string_' /merchant/payments/{paymentId}/fail: put: operationId: fail-payment summary: Fail Payment description: '-- This method is for test environment only -- Force an ACH, Wire, Iban, CashApp or PIX payment to fail' tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response /merchant/chargebacks: get: operationId: get-all-chargebacks summary: Get all chargebacks tags: - merchant parameters: - name: limit in: query required: false schema: type: number format: double - name: page in: query required: false schema: type: number format: double - name: status in: query required: false schema: type: string - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: type: string - name: sortDirection in: query required: false schema: type: number format: double - name: responded in: query required: false schema: type: boolean - name: discrepancy in: query required: false schema: type: boolean - name: processor in: query required: false schema: type: string - name: protection in: query required: false schema: type: string - name: threeDSecure in: query required: false schema: type: string - name: merchantId in: query required: false schema: type: string - name: since in: query required: false schema: type: string - name: until in: query required: false schema: type: string - name: reasonCode in: query required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/AllChargebackResponse' /merchant/payments: get: operationId: get-all-payments summary: Get All Payments tags: - merchant parameters: - name: since in: query description: '- UTC epoch milliseconds of the earliest date to include in the results' required: false schema: type: string - name: until in: query description: '- UTC epoch milliseconds of the latest date to include in the results' required: false schema: type: string - name: page in: query description: '- Page number to return starting from 1. Must be used with limit param.' required: false schema: type: number format: double - name: limit in: query description: '- amount of records per page (def. 100). Must be used with page param.' required: false schema: type: number format: double - name: status in: query required: false schema: type: string - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: $ref: '#/components/schemas/MerchantPaymentsGetParametersSortBy' - name: sortDirection in: query required: false schema: type: number format: double - name: method in: query required: false schema: type: string - name: protection in: query required: false schema: type: string - name: merchantId in: query required: false schema: type: string - name: amount in: query required: false schema: type: string - name: authCode in: query required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/IPayment' /merchant/chargebacks/{paymentId}: get: operationId: get-chargeback summary: Get chargeback data description: Get information about a Chargeback for a payment tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetChargeback_Response_200' /merchant/chargebacks/{paymentId}/draft: get: operationId: get-chargeback-response-draft summary: Get Chargeback Response Draft tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: string put: operationId: save-draft-and-notes summary: Save Chargeback Response Draft tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: notes: type: string draft: type: string /merchant/chargebacks/rate: get: operationId: get-chargeback-stats summary: Get chargeback stats for time frame tags: - merchant parameters: - name: since in: query description: -- YYYY-MM-DD required: false schema: type: string - name: until in: query description: -- YYYY-MM-DD required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ChargebackStats' /merchant/withdraws/payout/balance: get: operationId: get-payout-balance summary: Get Coinflow Wallet Balance tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetPayoutBalance_Response_200' /merchant/customers: get: operationId: get-customer-accounts summary: Get customer list description: List customers for a merchant tags: - merchant parameters: - name: limit in: query required: false schema: type: number format: double - name: page in: query required: false schema: type: number format: double - name: blocked in: query required: false schema: type: string - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: $ref: '#/components/schemas/MerchantCustomersGetParametersSortBy' - name: sortDirection in: query required: false schema: type: number format: double - name: protection in: query required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/ICustomerWallet' /merchant/withdraws/payout/delegated/quote: post: operationId: get-delegated-payout-quote summary: Get Delegated Payout Quote description: 'Get a quote for a delegated payout including the fee breakdown. Shows the total amount that will be debited from the merchant''s wallet, the amount the user will receive, and the merchant fees.' tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DelegatedPayoutQuote' requestBody: content: application/json: schema: $ref: '#/components/schemas/DelegatedPayoutQuoteArgs' /merchant/payments/enhanced/{paymentId}: get: operationId: get-enhanced-tx-information summary: Get Enhanced Transaction Information tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetEnhancedTxInformation_Response_200' /merchant/exports/{exportId}/download: get: operationId: get-export-download-url summary: Get Export Download URL description: Get a signed download URL for a completed export tags: - merchant parameters: - name: exportId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ExportDownloadResponse' /merchant/credits/status/{jobId}: get: operationId: get-job-status summary: Get Job Status description: Get the status of a mint or burn job tags: - merchant parameters: - name: jobId in: path required: true schema: description: Any type - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/JobStatusResponse' /merchant/v2: get: operationId: get-merchant-v-2 summary: Get Merchant description: Get the merchant tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetMerchantV2_Response_200' /merchant/payments/{paymentId}: get: operationId: get-payment-by-id summary: Get Payment By ID tags: - merchant parameters: - name: paymentId in: path description: '- ID of the payment to retrieve' required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IPayment' /merchant/webhooks: get: operationId: get-all-webhooks summary: Get Payment Webhook Activity tags: - merchant parameters: - name: page in: query required: false schema: type: number format: double - name: limit in: query required: false schema: type: number format: double - name: responseCode in: query required: false schema: type: string - name: search in: query description: Search by numeric responseCode required: false schema: type: string - name: eventType in: query required: false schema: type: string - name: merchantId in: query required: false schema: type: string - name: startDate in: query description: Filter by sentAt >= startDate (ISO 8601) required: false schema: type: string - name: endDate in: query description: Filter by sentAt <= endDate (ISO 8601) required: false schema: type: string - name: transactionId in: query description: Search by transaction Id required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/WebhookDisplay' /merchant/payments/ach-returns: get: operationId: get-ach-returns summary: Get Returned ACH Payments tags: - merchant parameters: - name: since in: query description: '- UTC ISO String of the earliest date to include in the results' required: false schema: type: string - name: until in: query description: '- UTC ISO String of the latest date to include in the results' required: false schema: type: string - name: pageSize in: query description: '- Number of results to return per page (MAX 1000)' required: false schema: type: number format: double - name: page in: query description: '- Page number to return' required: false schema: type: number format: double - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: $ref: '#/components/schemas/MerchantPaymentsAchReturnsGetParametersSortBy' - name: sortDirection in: query required: false schema: type: number format: double - name: protection in: query required: false schema: type: string - name: merchantId in: query required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/IPayment' /merchant/submerchants: get: operationId: get-submerchants-for-merchant summary: Get Submerchants under Merchant description: Get submerchant Ids for a merchant tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: type: string /merchant/url-whitelist-requests: get: operationId: get-url-whitelist-requests summary: Get URL Whitelist Requests description: Get all whitelist requests for the current merchant tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetUrlWhitelistRequests_Response_200' /merchant/withdraws/{withdrawalId}: get: operationId: get-withdrawal summary: Get Withdrawal description: "Get a specific withdrawal associated with the merchant\n The withdrawal can be specified by transfer id or transaction" tags: - merchant parameters: - name: withdrawalId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_GetWithdrawal_Response_200' '404': description: Withdrawal not found content: application/json: schema: description: Any type /merchant/withdraws: get: operationId: get-all-withdraws summary: Get Withdraws description: Get All Withdraws associated with the merchant tags: - merchant parameters: - name: since in: query required: false schema: type: string - name: until in: query required: false schema: type: string - name: page in: query required: false schema: type: number format: double - name: status in: query required: false schema: type: string - name: search in: query required: false schema: type: string - name: sortBy in: query required: false schema: $ref: '#/components/schemas/MerchantWithdrawsGetParametersSortBy' - name: sortDirection in: query required: false schema: type: number format: double - name: speed in: query required: false schema: type: string - name: provider in: query required: false schema: type: string - name: merchantId in: query required: false schema: type: string - name: limit in: query required: false schema: type: number format: double - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/WithdrawWithDescriptiveStatus' /merchant/withdrawers: get: operationId: get-withdrawers summary: Gets merchant withdrawers tags: - merchant parameters: - name: blocked in: query description: Filter on blocked status (boolean string - 'true' or 'false') required: false schema: type: string - name: search in: query description: Search term to filter results required: false schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/IWithdrawer' /withdraw/crypto-deposit-address/passive: get: operationId: list-passive-deposit-addresses summary: List Passive Deposit Addresses description: 'List passive deposit addresses (active and paused) belonging to the authenticated merchant + withdrawer. Sessions that were never activated as passive are excluded.' tags: - merchant parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PassiveDepositAddressListResponse' /merchant/credits/mint: post: operationId: mint-credits summary: Mint Credits description: Mint Credits from your Merchant's Coinflow USDC wallet to a users wallet tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_MintCredits_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreditOperation' /merchant/{customerId}/protection: put: operationId: override-chargeback-protection summary: Override Chargeback Protection description: Override the chargeback protection setting to false tags: - merchant parameters: - name: customerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: merchantId: type: string protectionEnabled: type: boolean required: - protectionEnabled /merchant/withdraws/payout/delegated: post: operationId: payout-from-delegated-settlement-wallet summary: Payout to a user via Coinflow Wallet description: 'Payout a user from the coinflow wallet balance. By default, this endpoint waits for transaction confirmation before returning. Set waitForConfirmation to false to return immediately after queuing the transaction.' tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/DelegatedPayoutResponse' '402': description: Insufficient Funds content: application/json: schema: description: Any type '451': description: User Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/PayoutFromDelegatedSettlementWalletRequestUnavailableForLegalReasonsError' '503': description: Payout encountered a temporary issue and needs to be retried, please immediately retry the request. content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/PayoutDelegatedArgs' /merchant/withdraws/payout: post: operationId: do-payout summary: Payout to a user via Merchant Self-Custodial Wallet description: 'Get a transaction which will payout a user''s account upon successful sending of the transaction.' tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/GetWithdrawTransactionResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/UserWithdrawTransactionParams' /merchant/payments/{paymentId}/refund: put: operationId: refund-payment summary: Refund Payment description: 'Refunds a payment. First will check if the users wallet has credits to refund the payment. If so, will take the credits from the users wallet and refund the payment. Otherwise, will transfer USDC from the merchants wallet to Coinflow''s wallet and refund the payment.The amount of USDC transferred will the total amount of the payment + credit card fees + gas fees.' tags: - merchant parameters: - name: paymentId in: path description: '- ID of the payment to refund' required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_RefundPayment_Response_200' requestBody: content: application/json: schema: type: object properties: destinationWallet: type: string partialAmount: $ref: '#/components/schemas/Cents' refundReason: $ref: '#/components/schemas/RefundReason' required: - refundReason /merchant/program: post: operationId: request-program-approval summary: Request Program Approval tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' programId: type: string required: - blockchain - programId /merchant/url-whitelist-request: post: operationId: request-url-whitelist summary: Request URL Whitelisting description: 'Request to whitelist a URL for embedding the checkout form. The request will be placed in a pending state for compliance review.' tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: reason: type: string url: type: string required: - url /merchant/webhooks/{webhookLogId}: post: operationId: resend-webhook summary: Resend Payment Webhook tags: - merchant parameters: - name: webhookLogId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_ResendWebhook_Response_200' '403': description: Not authorized to resend webhook content: application/json: schema: description: Any type '404': description: Webhook not found content: application/json: schema: description: Any type /merchant/url-whitelist: delete: operationId: revoke-url-whitelist summary: Revoke URL Whitelist description: Revokes a URLs whitelist for use in the checkout iframe tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: url: type: string required: - url /merchant/{customerId}/override-limit: put: operationId: set-customer-override-limit summary: Set Customer Override Limit description: Set Customer Override Limit tags: - merchant parameters: - name: customerId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: description: 'Send `customerOverrideLimit: null` to clear the per-customer override and fall back to the merchant default. Sending `{cents: 0}` preserves the explicit "no overrides allowed" state.' content: application/json: schema: type: object properties: merchantId: type: string customerOverrideLimit: oneOf: - $ref: '#/components/schemas/Cents' - type: 'null' required: - customerOverrideLimit /merchant/settlement-address: post: operationId: set-settlement-address summary: Set Settlement Address description: 'Set the blockchain account information which will be used for settlement. Only call this if you want the money processed from credit card transactions to be sent to directly as USDC to a company owned blockchain address.' tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IMerchant_string_' requestBody: content: application/json: schema: type: object properties: address: type: string blockchain: $ref: '#/components/schemas/Blockchain' required: - address - blockchain /merchant/payments/{paymentId}/settle: put: operationId: settle-payment summary: Settle Payment description: '-- This method is for test environment only -- Force an ACH, Wire, Iban, CashApp or PIX payment to settlement' tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Merchant_SettlePayment_Response_200' /merchant/unverify-seller: put: operationId: unverify-seller summary: Unverify Seller tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: reason: type: string merchantId: type: string required: - reason - merchantId /merchant/withdraws/custom-fees: put: operationId: update-custom-withdrawal-fees summary: Update Custom Withdrawal Fees description: Update custom withdrawal fees for a merchant tags: - merchant parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CustomWithdrawFeesConfig' requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomWithdrawFeesConfig' /merchant/chargebacks/{paymentId}/ignore: put: operationId: update-chargeback-ignore-status summary: Update merchant ignore chargeback tags: - merchant parameters: - name: paymentId in: path required: true schema: type: string - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: type: object properties: ignore: type: boolean required: - ignore components: schemas: Pick_IIbanAccount.Exclude_keyofIIbanAccount.vendorData__: type: object properties: last4: type: string accountHash: type: string alias: type: string token: type: string reference: type: string sortCode: type: string bic: type: string required: - last4 - accountHash - alias - token - reference - sortCode description: From T, pick a set of properties whose keys are in the union K title: Pick_IIbanAccount.Exclude_keyofIIbanAccount.vendorData__ Blockchain.ETH: type: string enum: - eth title: Blockchain.ETH WithdrawWebhookData: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' signature: type: string userFees: $ref: '#/components/schemas/CurrencyCents' userGasFees: $ref: '#/components/schemas/CurrencyCents' userCustomFees: $ref: '#/components/schemas/CurrencyCents' userSwapFees: $ref: '#/components/schemas/CurrencyCents' merchantFees: $ref: '#/components/schemas/CurrencyCents' merchantGasFees: $ref: '#/components/schemas/CurrencyCents' merchantSwapFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' currency: $ref: '#/components/schemas/Currency' merchantId: type: string userId: type: string description: 'If you use the `x-coinflow-user-id` header, this will be set to the value of that header. Otherwise, it will use the wallet address if available' idempotencyKey: type: string required: - wallet - blockchain - signature - userFees - userGasFees - userCustomFees - merchantFees - merchantGasFees - total - currency - merchantId title: WithdrawWebhookData Blockchain.STELLAR: type: string enum: - stellar title: Blockchain.STELLAR SettlementLocations: type: string enum: - circle - brale - paper - brale_youpay - bastion title: SettlementLocations ApplePayIntegratorRegistration: type: object properties: domainNames: type: array items: type: string partnerMerchantName: type: string partnerMerchantValidationURI: type: string partnerInternalMerchantIdentifier: type: string required: - domainNames - partnerMerchantName - partnerMerchantValidationURI - partnerInternalMerchantIdentifier title: ApplePayIntegratorRegistration NameCustomerInfo: type: object properties: verificationId: type: string displayName: type: string address: type: string city: type: string state: type: string zip: type: string country: type: string ip: type: string lat: type: string lng: type: string dob: type: string description: Date of birth in YYYY-MM-DD format email: type: string name: type: string title: NameCustomerInfo Merchant_SettlePayment_Response_200: oneOf: - type: number format: double - type: string - description: Any type title: Merchant_SettlePayment_Response_200 IVenmoPaymentInfo: type: object properties: status: $ref: '#/components/schemas/VenmoPaymentStatus' processor: $ref: '#/components/schemas/VenmoProcessor' token: type: string authOnly: type: boolean transaction: type: string capturePending: type: boolean sandboxSimulations: $ref: '#/components/schemas/IVenmoPaymentInfoSandboxSimulations' required: - status - processor - token title: IVenmoPaymentInfo CrbMerchantSettings: type: object properties: customerId: type: string cifNumber: type: string subledgerAccountNumber: type: string environment: $ref: '#/components/schemas/CrbEnvironment' required: - customerId description: 'The merchant''s CRB banking identity. CRB is onboarded manually in CRB''s dashboard — these values are pasted into our merchant dashboard and verified live against CRB before being persisted.' title: CrbMerchantSettings IMerchantUser: type: object properties: email: type: string password: type: string scope: $ref: '#/components/schemas/MerchantScope' secret: type: string resetNonce: type: string resetNonceUsed: type: boolean ssoProvider: $ref: '#/components/schemas/SsoProvider' ssoId: type: string required: - email - scope title: IMerchantUser ICustomerStringBlockConfigOverride: type: object properties: maxDistinctTokensPer30Days: type: number format: double description: Per-customer overrides of merchant `blockConfig`. Only honored when they raise the effective limit. title: ICustomerStringBlockConfigOverride PayoutProviderOption: type: string enum: - aptpay - coinfx - checkbook - BRAID - brale - mock title: PayoutProviderOption VenmoPaymentStatus: type: string enum: - INITIATED - AUTHORIZED - DEPOSITED - SETTLED - REFUNDED - FAILED - CHARGEBACK - CHARGEBACK_LOST - CHARGEBACK_WON - VOIDED title: VenmoPaymentStatus IMerchantStringRiskControls: type: object properties: topup: $ref: '#/components/schemas/TopupRiskControls' title: IMerchantStringRiskControls Blockchain.ARBITRUM: type: string enum: - arbitrum title: Blockchain.ARBITRUM ApaPaymentStatus: type: string enum: - INITIATED - APPROVED - DEPOSITED - SETTLED - FAILED - REFUNDED title: ApaPaymentStatus EftPayoutProvider: type: string enum: - checkbook - aptpay - mock title: EftPayoutProvider IPaymentSubscription: oneOf: - type: string - $ref: '#/components/schemas/ISubscription_string_' title: IPaymentSubscription OverrideMethod.CustomerOverride: type: string enum: - customer_override title: OverrideMethod.CustomerOverride CustomWithdrawFeesConfig: type: object properties: asap: $ref: '#/components/schemas/CustomWithdrawFeeValue' same_day: $ref: '#/components/schemas/CustomWithdrawFeeValue' standard: $ref: '#/components/schemas/CustomWithdrawFeeValue' card: $ref: '#/components/schemas/CustomWithdrawFeeValue' iban: $ref: '#/components/schemas/CustomWithdrawFeeValue' pix: $ref: '#/components/schemas/CustomWithdrawFeeValue' eft: $ref: '#/components/schemas/CustomWithdrawFeeValue' venmo: $ref: '#/components/schemas/CustomWithdrawFeeValue' paypal: $ref: '#/components/schemas/CustomWithdrawFeeValue' wire: $ref: '#/components/schemas/CustomWithdrawFeeValue' interac: $ref: '#/components/schemas/CustomWithdrawFeeValue' global: $ref: '#/components/schemas/CustomWithdrawFeeValue' lineItemLabel: type: string isBundled: type: boolean required: - global - lineItemLabel - isBundled description: Make all properties in T optional title: CustomWithdrawFeesConfig BlockedLevel: type: string enum: - Unverified - Suspended title: BlockedLevel ReserveStatus: type: string enum: - Disabled - Active - SweepFixed title: ReserveStatus Pick_IPayPal.Exclude_keyofIPayPal.vendorData__: type: object properties: isDeleted: type: boolean alias: type: string token: type: string type: $ref: '#/components/schemas/PickIPayPalExcludeKeyofIPayPalVendorDataType' required: - alias - token - type description: From T, pick a set of properties whose keys are in the union K title: Pick_IPayPal.Exclude_keyofIPayPal.vendorData__ JobStatusResponseOneOf2Status: type: string enum: - failed title: JobStatusResponseOneOf2Status MerchantRfiRef: type: object properties: name: type: string status: $ref: '#/components/schemas/RfiStatus' url: type: string assignmentFormId: type: string required: - name - status - url title: MerchantRfiRef CryptoPayinFundsReceivedWebhookData: type: object properties: paymentId: type: string sessionId: type: string depositAddress: type: string blockchainChainId: type: string blockchainName: type: string tokenSymbol: type: string customerId: type: string customerEmail: type: string amount: $ref: '#/components/schemas/Cents' merchantId: type: string transactionHash: type: string receivedAt: type: string format: date-time required: - paymentId - sessionId - depositAddress - blockchainChainId - blockchainName - tokenSymbol - customerId - customerEmail - amount - merchantId - transactionHash - receivedAt title: CryptoPayinFundsReceivedWebhookData PaymentWebhookData: type: object properties: id: type: string wallet: type: string webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' subtotal: $ref: '#/components/schemas/Cents' fees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' fxFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' merchantId: type: string paymentMethod: type: string merchantPaidFees: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' cardToken: type: string last4: type: string bin: type: string reasonCode: type: string reasonMessage: type: string required: - id - wallet - subtotal - fees - gasFees - chargebackProtectionFees - fxFees - total - merchantId title: PaymentWebhookData MerchantPaymentsGetParametersSortBy: type: string enum: - createdAt - amount title: MerchantPaymentsGetParametersSortBy PaymentDeclinedWebhookData3: type: object properties: merchantId: type: string fxFees: $ref: '#/components/schemas/Cents' last4: type: string cardToken: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' id: type: string subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' subtotal: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' merchantPaidFees: $ref: '#/components/schemas/Cents' reasonCode: type: string fees: $ref: '#/components/schemas/Cents' paymentMethod: type: string bin: type: string reasonMessage: type: string declineCode: type: string declineDescription: type: string avsResponseCode: type: string cvvResponseCode: type: string threeDsAuthenticationStatus: $ref: '#/components/schemas/AuthenticationStatus' customerId: type: string required: - merchantId - fxFees - webhookInfo - id - subtotal - chargebackProtectionFees - gasFees - networkFees - total - merchantPaidChargebackProtectionFees - merchantPaidGasFees - merchantPaidFxFees - merchantPaidNetworkFees - invoicedCreditCardFees - invoicedChargebackProtectionFees - invoicedGasFees - invoicedFxFees - invoicedNetworkFees - merchantPaidFees - fees - declineCode - declineDescription - avsResponseCode - cvvResponseCode - threeDsAuthenticationStatus - customerId description: From T, pick a set of properties whose keys are in the union K title: PaymentDeclinedWebhookData3 PassiveDepositAddressStatusResponseStatus: type: string enum: - active - paused title: PassiveDepositAddressStatusResponseStatus WithdrawCurrency: oneOf: - $ref: '#/components/schemas/Currency.USD' - $ref: '#/components/schemas/Currency.EUR' - $ref: '#/components/schemas/Currency.GBP' - $ref: '#/components/schemas/Currency.BRL' - $ref: '#/components/schemas/Currency.CAD' title: WithdrawCurrency RefundStatus: type: string enum: - Pending - Invoiced - Settled - Failed title: RefundStatus CreditOperation: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' amount: $ref: '#/components/schemas/Cents' idempotencyKey: type: string required: - wallet - blockchain - amount title: CreditOperation WebhookCategory: type: string enum: - Purchase - Subscription - KYC - Withdraw - Marketplace title: WebhookCategory IPaymentDelayedSettlement: type: object properties: disbursedAt: type: string format: date-time isDisbursed: type: boolean days: type: number format: double scheduledDate: type: string format: date-time isScheduled: type: boolean required: - isDisbursed - days - scheduledDate - isScheduled title: IPaymentDelayedSettlement UAParser.ICPU: type: object properties: architecture: type: string description: "Possible architecture:\n 68k, amd64, arm, arm64, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc,\n ppc, sparc, sparc64" title: UAParser.ICPU PaymentChargebackWebhookData3: type: object properties: merchantId: type: string fxFees: $ref: '#/components/schemas/Cents' last4: type: string cardToken: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' id: type: string subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' subtotal: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' merchantPaidFees: $ref: '#/components/schemas/Cents' chargebackId: type: string reasonCode: type: string reasonDescription: type: string respondByDate: type: string format: date-time fees: $ref: '#/components/schemas/Cents' paymentMethod: type: string bin: type: string reasonMessage: type: string customerId: type: string required: - merchantId - fxFees - webhookInfo - id - subtotal - chargebackProtectionFees - gasFees - networkFees - total - merchantPaidChargebackProtectionFees - merchantPaidGasFees - merchantPaidFxFees - merchantPaidNetworkFees - invoicedCreditCardFees - invoicedChargebackProtectionFees - invoicedGasFees - invoicedFxFees - invoicedNetworkFees - merchantPaidFees - chargebackId - reasonCode - reasonDescription - respondByDate - fees - customerId description: From T, pick a set of properties whose keys are in the union K title: PaymentChargebackWebhookData3 ACHSettings: type: object properties: processor: $ref: '#/components/schemas/AchProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' maxAmount: $ref: '#/components/schemas/Cents' nameMatchThreshold: type: number format: double requireKycBeforePurchase: type: boolean withdrawNameMatchThreshold: type: number format: double allowDelayedTransactions: type: boolean customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean instantSettle: type: boolean minFee: $ref: '#/components/schemas/Cents' maxFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double fixedFee: $ref: '#/components/schemas/Cents' settlementDays: type: number format: double refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - allowDelayedTransactions - customerEmailNotifications - merchantEmailNotifications - instantSettle title: ACHSettings ICustomerStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: ICustomerStringMerchant RainAutoTopUpCadence: type: string enum: - transaction - hour - day - week - month title: RainAutoTopUpCadence CustomerUsdcTransferDataV2: type: object properties: from: type: string to: type: string value: type: string validAfter: $ref: '#/components/schemas/CustomerUsdcTransferDataV2ValidAfter' validBefore: $ref: '#/components/schemas/CustomerUsdcTransferDataV2ValidBefore' nonce: type: string signature: type: string required: - from - to - value - validAfter - validBefore - nonce - signature description: 'V2 of CustomerUsdcTransferData — replaces the (v, r, s) triple with a single `signature` bytes string, matching USDC FiatTokenV2_2''s bytes-overload `transferWithAuthorization`. All other fields unchanged from V1.' title: CustomerUsdcTransferDataV2 HighnoteMerchantSettings: type: object properties: businessId: type: string primaryAuthorizedPersonId: type: string description: 'Highnote id of the primary business person, captured from the createBusiness response — onboardBusiness attributes its consent to it.' merchantAcceptorId: type: string applicationSubmittedAt: type: string format: date-time description: 'Set when onboardBusiness (the ProductApplication submission) succeeded. A re-run while underwriting is still Pending must not re-submit the application — Highnote rejects duplicates, which would overwrite a healthy Pending status with an error.' required: - businessId title: HighnoteMerchantSettings TokenizationProviderOption: type: string enum: - bt - tokenex title: TokenizationProviderOption NuveiV1MerchantArgs: type: object properties: merchantId: type: string merchantSiteId: type: string conversionAffiliateCountryCode: type: string required: - merchantId - merchantSiteId title: NuveiV1MerchantArgs Partial_WithdrawLimit_: type: object properties: singleTxLimit: $ref: '#/components/schemas/Cents' dailyLimit: $ref: '#/components/schemas/Cents' monthlyLimit: $ref: '#/components/schemas/Cents' description: Make all properties in T optional title: Partial_WithdrawLimit_ InterchangeSettings: type: object properties: useType: type: boolean useRegion: type: boolean useScheme: type: boolean useBrand: type: boolean useDurbin: type: boolean required: - useType - useRegion - useScheme - useBrand - useDurbin title: InterchangeSettings IExportMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IExportMerchant IChargebackUpdate: type: object properties: transactionType: type: string code: type: string description: type: string postedAt: type: string format: date-time required: - transactionType - code - description - postedAt title: IChargebackUpdate ExportProgress: type: object properties: processed: type: number format: double total: type: number format: double required: - processed title: ExportProgress ExportDownloadLog: type: object properties: editor: type: string editorType: $ref: '#/components/schemas/EditorType' ipAddress: type: string downloadedAt: type: string format: date-time required: - editor - editorType - ipAddress - downloadedAt title: ExportDownloadLog IRefundPayment: oneOf: - type: string - $ref: '#/components/schemas/IPayment_string_' title: IRefundPayment WithdrawReviewStatus: type: string enum: - in_review title: WithdrawReviewStatus VerificationVendor: type: string enum: - middesk - sumsub - sumsub_docv - persona - persona_kyb title: VerificationVendor InteracPaymentStatus: type: string enum: - INITIATED - DEPOSITED - SETTLED - FAILED - EXPIRED - REFUNDED title: InteracPaymentStatus Record_any.any_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_any.any_ BlockSellerRequest: type: object properties: merchantId: type: string reason: type: string level: $ref: '#/components/schemas/BlockedLevel' required: - merchantId - reason - level title: BlockSellerRequest InteracPayoutProvider: type: string enum: - checkbook - mock - aptpay title: InteracPayoutProvider IMerchantStringWithdrawFeePayment: type: object properties: paysGasFees: $ref: '#/components/schemas/Partial_Record_Blockchain.boolean__' bundleDelegatedPayoutFees: type: boolean paysSwapFees: type: boolean paysWithdrawFees: type: boolean title: IMerchantStringWithdrawFeePayment PaymentChargebackWebhookData: type: object properties: id: type: string wallet: type: string webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' subtotal: $ref: '#/components/schemas/Cents' fees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' fxFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' merchantId: type: string paymentMethod: type: string merchantPaidFees: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' cardToken: type: string last4: type: string bin: type: string reasonCode: type: string reasonMessage: type: string chargebackId: type: string reasonDescription: type: string respondByDate: type: string format: date-time required: - id - wallet - subtotal - fees - gasFees - chargebackProtectionFees - fxFees - total - merchantId - reasonCode - chargebackId - reasonDescription - respondByDate title: PaymentChargebackWebhookData Blockchain.MONAD: type: string enum: - monad title: Blockchain.MONAD ISubscriptionStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: ISubscriptionStringMerchant CryptoTiers: type: string enum: - stables - majors - volatile title: CryptoTiers PassiveDepositAddressListResponse: type: object properties: addresses: type: array items: $ref: '#/components/schemas/PassiveDepositAddressListItem' required: - addresses title: PassiveDepositAddressListResponse VerificationStatus: type: string enum: - pending - partial-approval - approved - rejected - expired title: VerificationStatus Currency.BRL: type: string enum: - BRL title: Currency.BRL Blockchain: type: string enum: - solana - eth - polygon - base - user - arbitrum - stellar - monad - tempo title: Blockchain Currency.EUR: type: string enum: - EUR title: Currency.EUR VelocityLimitMode: type: string enum: - default - dynamic - custom - no_limit title: VelocityLimitMode WebhookVersion: type: string enum: - Legacy - Version 1 - Version 2 - Version 3 title: WebhookVersion SubscriptionInterval: type: string enum: - Daily - Weekly - Monthly - Yearly title: SubscriptionInterval OverrideMethod: type: string enum: - customer_override - ignored_rejection - pending_review - inline_override title: OverrideMethod IPaymentStringSubscription: oneOf: - type: string - $ref: '#/components/schemas/ISubscription_string_' title: IPaymentStringSubscription PaymentWebhookData3: type: object properties: merchantId: type: string fxFees: $ref: '#/components/schemas/Cents' last4: type: string cardToken: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' id: type: string subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' subtotal: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' merchantPaidFees: $ref: '#/components/schemas/Cents' reasonCode: type: string fees: $ref: '#/components/schemas/Cents' paymentMethod: type: string bin: type: string reasonMessage: type: string customerId: type: string required: - merchantId - fxFees - webhookInfo - id - subtotal - chargebackProtectionFees - gasFees - networkFees - total - merchantPaidChargebackProtectionFees - merchantPaidGasFees - merchantPaidFxFees - merchantPaidNetworkFees - invoicedCreditCardFees - invoicedChargebackProtectionFees - invoicedGasFees - invoicedFxFees - invoicedNetworkFees - merchantPaidFees - fees - customerId description: From T, pick a set of properties whose keys are in the union K title: PaymentWebhookData3 Pick_ACHSettings.customerEmailNotifications-or-merchantEmailNotifications_: type: object properties: customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications description: From T, pick a set of properties whose keys are in the union K title: Pick_ACHSettings.customerEmailNotifications-or-merchantEmailNotifications_ ApaCredentialType: type: string enum: - PHONE - EMAIL - PAN title: ApaCredentialType BinInfo: type: object properties: cardType: $ref: '#/components/schemas/Funding' cardName: type: string cardSegment: $ref: '#/components/schemas/Segment' country: $ref: '#/components/schemas/BinInfoCountry' bankName: type: string required: - cardType - cardName - cardSegment - country - bankName title: BinInfo MerchantCreditsMintPostResponsesContentApplicationJsonSchemaJobId: oneOf: - type: number format: double - type: string title: MerchantCreditsMintPostResponsesContentApplicationJsonSchemaJobId IPaymentCardInfo: type: object properties: storedTransactionType: $ref: '#/components/schemas/StoredCardTransactionType' authorizationPaymentReference: type: string originalPaymentId: type: string description: This is really the permissioning payment Id - what paymentId was used that had a CVV entered to authorize it statementDescriptor: type: string interchangeKey: type: string fraudReport: $ref: '#/components/schemas/FraudReport' enhancedTxInfo: $ref: '#/components/schemas/EnhancedTxInfo' transaction: type: string secureTransactionId: type: string processed3DS: $ref: '#/components/schemas/Verification3DS' cardType: $ref: '#/components/schemas/CardType' last4: type: string token: type: string mobileWallet: $ref: '#/components/schemas/MobileWallet' processor: $ref: '#/components/schemas/PaymentProcessor' authCode: type: string status: $ref: '#/components/schemas/CardPaymentStatus' authOnly: type: boolean required: - processor - authCode - status title: IPaymentCardInfo WithdrawWithDescriptiveStatus: type: object properties: transaction: type: string createdAt: type: string format: date-time amount: $ref: '#/components/schemas/CurrencyCents' speed: $ref: '#/components/schemas/WithdrawSpeed' idempotencyKey: type: string merchant: $ref: '#/components/schemas/WithdrawWithDescriptiveStatusMerchant' blockchain: $ref: '#/components/schemas/Blockchain' wallet: type: string userLocation: $ref: '#/components/schemas/WithdrawWithDescriptiveStatusUserLocation' description: 'Browser-captured geolocation at the time of the withdraw request, when the caller supplied one. Stored independently of payout method so the merchant dashboard can render a map for any withdraw. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' withdrawer: $ref: '#/components/schemas/WithdrawWithDescriptiveStatusWithdrawer' transferId: type: string accountId: type: string usdToForeignExchangeRate: type: number format: double description: 'This is the conversion rate from USD to the foreign currency. For example 0.90 = 0.90 USD/GBP So if you want to convert GBP to USD you would multiply 15 GBP * 0.90 USD/GBP = 13.5 USD If you want to convert USD to GBP you would multiply 13.5 USD * 1/0.90 GBP/USD = 15 GBP' userPaidFees: $ref: '#/components/schemas/WithdrawWithDescriptiveStatusUserPaidFees' merchantPaidFees: $ref: '#/components/schemas/WithdrawWithDescriptiveStatusMerchantPaidFees' returnStatus: $ref: '#/components/schemas/WithdrawFailedReturnStatus' expectedDeliveryDate: type: string format: date-time updatedAt: type: string format: date-time provider: type: string returnTransaction: type: string returnedAt: type: string format: date-time userId: type: string detailMessage: type: string errorData: type: string pin: type: string description: 'Only used for Interac payments if the user must provide their bank a PIN to claim the transfer.' isFirstParty: type: boolean description: 'True when this withdraw was a first-party payout (the merchant withdrawing from their own settlement wallet).' payoutInitiated: type: boolean manuallyFailedBy: $ref: '#/components/schemas/IWithdrawManualFailAudit' manuallySucceededBy: $ref: '#/components/schemas/IWithdrawManualSuccessAudit' orchestrationTraceId: type: string entityTag: $ref: '#/components/schemas/EntityTag' status: $ref: '#/components/schemas/WithdrawStatusWithReview' required: - transaction - createdAt - amount - speed - merchant - blockchain - wallet - withdrawer - transferId - accountId - usdToForeignExchangeRate - userPaidFees - merchantPaidFees - expectedDeliveryDate - updatedAt - provider - status description: From T, pick a set of properties whose keys are in the union K title: WithdrawWithDescriptiveStatus DisbursedFundsWebhookData: type: object properties: id: type: string merchantId: type: string signature: type: string description: 'The on-chain transaction signature for the disbursement. Always set on a successful USDC/Credits disbursement.' settlementType: $ref: '#/components/schemas/SettlementType' blockchain: $ref: '#/components/schemas/Blockchain' amount: $ref: '#/components/schemas/CurrencyCents' disbursedAt: type: string format: date-time required: - id - merchantId - signature - amount - disbursedAt title: DisbursedFundsWebhookData RainAccountDetails: type: object properties: beneficiaryName: type: string beneficiaryAddress: type: string beneficiaryBankName: type: string beneficiaryBankAddress: type: string accountNumber: type: string routingNumber: type: string required: - beneficiaryName - beneficiaryAddress - accountNumber - routingNumber title: RainAccountDetails WithdrawSort: type: string enum: - DEFAULT - CHEAPEST - ORDERED - LIMIT_CONSUMPTION title: WithdrawSort Cents: type: object properties: cents: type: integer required: - cents title: Cents WebhookPacket: type: object properties: eventType: $ref: '#/components/schemas/WebhookEventType' category: $ref: '#/components/schemas/WebhookCategory' created: type: string data: $ref: '#/components/schemas/WebhookPacketData' required: - eventType - category - created - data title: WebhookPacket RainAutoTopUpSettings: type: object properties: enabled: type: boolean targetUsdc: type: number format: double cadence: $ref: '#/components/schemas/RainAutoTopUpCadence' lastRunAt: type: string format: date-time updatedAt: type: string format: date-time updatedBy: type: string required: - enabled - targetUsdc - cadence title: RainAutoTopUpSettings JobStatusResponseOneOf0Status: type: string enum: - pending title: JobStatusResponseOneOf0Status ISecureDsCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: ISecureDsCustomer CurrencyCents: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' required: - cents - currency title: CurrencyCents Record_string.any_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_string.any_ InteracSettings: type: object properties: processor: $ref: '#/components/schemas/InteracProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications title: InteracSettings RefundSource: type: string enum: - Credits - Usdc - Settlement - None title: RefundSource CryptoWithdrawDepositResponse: type: object properties: depositAddress: type: string paymentChainName: type: string paymentCurrencySymbol: type: string paymentAmount: type: string chainLogoUrl: type: string currencyLogoUrl: type: string required: - depositAddress - paymentChainName - paymentCurrencySymbol - paymentAmount - chainLogoUrl - currencyLogoUrl title: CryptoWithdrawDepositResponse ProgramWhitelistStatus: type: string enum: - approved - pending - rejected title: ProgramWhitelistStatus AptpayCanadaMerchantSettings: type: object properties: id: type: string required: - id title: AptpayCanadaMerchantSettings AftSettings: type: object properties: enabled: type: boolean type: $ref: '#/components/schemas/AftType' purpose: $ref: '#/components/schemas/AftPurpose' merchantA2AMastercardAftRecipient: $ref: '#/components/schemas/AftSettingsMerchantA2AMastercardAftRecipient' required: - enabled - type - purpose title: AftSettings IWithdraw: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawWithdrawer' transferId: type: string wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' transaction: type: string accountId: type: string amount: $ref: '#/components/schemas/CurrencyCents' usdToForeignExchangeRate: type: number format: double description: 'This is the conversion rate from USD to the foreign currency. For example 0.90 = 0.90 USD/GBP So if you want to convert GBP to USD you would multiply 15 GBP * 0.90 USD/GBP = 13.5 USD If you want to convert USD to GBP you would multiply 13.5 USD * 1/0.90 GBP/USD = 15 GBP' userPaidFees: $ref: '#/components/schemas/IWithdrawUserPaidFees' merchantPaidFees: $ref: '#/components/schemas/IWithdrawMerchantPaidFees' status: $ref: '#/components/schemas/WithdrawStatus' returnStatus: $ref: '#/components/schemas/WithdrawFailedReturnStatus' expectedDeliveryDate: type: string format: date-time merchant: $ref: '#/components/schemas/IWithdrawMerchant' createdAt: type: string format: date-time updatedAt: type: string format: date-time speed: $ref: '#/components/schemas/WithdrawSpeed' provider: type: string returnTransaction: type: string returnedAt: type: string format: date-time userId: type: string detailMessage: type: string errorData: type: string pin: type: string description: 'Only used for Interac payments if the user must provide their bank a PIN to claim the transfer.' isFirstParty: type: boolean description: 'True when this withdraw was a first-party payout (the merchant withdrawing from their own settlement wallet).' payoutInitiated: type: boolean idempotencyKey: type: string manuallyFailedBy: $ref: '#/components/schemas/IWithdrawManualFailAudit' manuallySucceededBy: $ref: '#/components/schemas/IWithdrawManualSuccessAudit' userLocation: $ref: '#/components/schemas/IWithdrawUserLocation' description: 'Browser-captured geolocation at the time of the withdraw request, when the caller supplied one. Stored independently of payout method so the merchant dashboard can render a map for any withdraw. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' orchestrationTraceId: type: string entityTag: $ref: '#/components/schemas/EntityTag' required: - withdrawer - transferId - wallet - blockchain - transaction - accountId - amount - usdToForeignExchangeRate - userPaidFees - merchantPaidFees - status - expectedDeliveryDate - merchant - createdAt - updatedAt - speed - provider title: IWithdraw FeePayerMode: type: string enum: - user - merchant - invoice title: FeePayerMode SubscriptionWebhookData3: type: object properties: amount: $ref: '#/components/schemas/Cents' interval: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' paymentMethod: type: string planCode: type: string planName: type: string subscriptionId: type: string fundingMethod: type: string reason: type: string customerId: type: string required: - amount - interval - webhookInfo - planCode - planName - subscriptionId - fundingMethod - customerId description: From T, pick a set of properties whose keys are in the union K title: SubscriptionWebhookData3 PassiveDepositAddressListItemStatus: type: string enum: - active - paused title: PassiveDepositAddressListItemStatus IMerchantStringApiKeysItems: type: object properties: scope: $ref: '#/components/schemas/MerchantScope' ips: type: array items: type: string disabled: type: boolean privateUuid: type: string publicUuid: type: string required: - ips - privateUuid - publicUuid title: IMerchantStringApiKeysItems CryptoDepositFundsReceivedWebhookData: type: object properties: sessionId: type: string depositAddress: type: string blockchainChainId: type: string blockchainName: type: string tokenSymbol: type: string user: type: string amount: $ref: '#/components/schemas/Cents' merchantId: type: string transactionHash: type: string receivedAt: type: string format: date-time required: - sessionId - depositAddress - blockchainChainId - blockchainName - tokenSymbol - user - amount - merchantId - transactionHash - receivedAt title: CryptoDepositFundsReceivedWebhookData WithdrawQuoteFeesAndLimit: type: object properties: fee: $ref: '#/components/schemas/CurrencyCents' limit: $ref: '#/components/schemas/CurrencyCents' finalSettlement: $ref: '#/components/schemas/CurrencyCents' expectedDeliveryDate: type: string expectedDeliveryDateISO: type: string customFee: $ref: '#/components/schemas/CustomFeePresentment' required: - fee - limit - finalSettlement - expectedDeliveryDate description: Represents the fees and limits associated with a withdrawal quote. title: WithdrawQuoteFeesAndLimit IvySettings: type: object properties: gbpPayinAccountId: type: string eurAccountId: type: string required: - gbpPayinAccountId - eurAccountId title: IvySettings BlockingRuleScope: type: string enum: - WITHDRAWAL - CHECKOUT - GLOBAL title: BlockingRuleScope EditorType: type: string enum: - Coinflow - Merchant title: EditorType IbanPayoutProvider: type: string enum: - merge - mock - ivy title: IbanPayoutProvider IWithdrawManualSuccessAudit: type: object properties: editor: type: string editorType: $ref: '#/components/schemas/EditorType' ipAddress: type: string succeededAt: type: string format: date-time required: - editor - editorType - ipAddress - succeededAt title: IWithdrawManualSuccessAudit IRefund: type: object properties: _id: type: string totals: $ref: '#/components/schemas/RefundTotals' customer: $ref: '#/components/schemas/IRefundCustomer' merchant: $ref: '#/components/schemas/IRefundMerchant' payment: $ref: '#/components/schemas/IRefundPayment' signature: type: string status: $ref: '#/components/schemas/RefundStatus' reimbursementStatus: $ref: '#/components/schemas/ReimbursementStatus' reimbursementId: type: string outstanding: $ref: '#/components/schemas/Cents' source: $ref: '#/components/schemas/RefundSource' method: $ref: '#/components/schemas/RefundMethod' provider: type: string invoicedAt: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time reason: $ref: '#/components/schemas/RefundReason' refundedBy: $ref: '#/components/schemas/MerchantEditor' failureReason: type: string cryptoRefundInfo: $ref: '#/components/schemas/CryptoRefundInfo' walletDebitStatus: $ref: '#/components/schemas/WalletDebitStatus' walletDebitTxHash: type: string returnSignature: type: string required: - _id - totals - customer - merchant - payment - status - reimbursementStatus - outstanding - source - method - provider - createdAt - updatedAt title: IRefund LinkedBankAccount: type: object properties: routingNumber: type: string accountNumber: type: string accountType: $ref: '#/components/schemas/LinkedBankAccountAccountType' institutionName: type: string plaidAccessToken: type: string plaidAccountId: type: string required: - routingNumber - accountNumber - accountType - plaidAccessToken - plaidAccountId title: LinkedBankAccount CashAppSettings: type: object properties: processor: $ref: '#/components/schemas/CashAppProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications title: CashAppSettings BinInfoCountry: oneOf: - type: string - $ref: '#/components/schemas/Country' title: BinInfoCountry WebhookSettings: type: object properties: webhookUrls: type: array items: type: string version: $ref: '#/components/schemas/WebhookVersion' subscriptions: type: array items: $ref: '#/components/schemas/WebhookEventType' disableAuthorizationHeader: type: boolean disableSubmerchantToParentWebhooks: type: boolean required: - webhookUrls - version - subscriptions title: WebhookSettings IWireProviderSettings: type: object properties: processor: $ref: '#/components/schemas/WireProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean minFee: $ref: '#/components/schemas/Cents' maxFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double fixedFee: $ref: '#/components/schemas/Cents' dailyLimit: $ref: '#/components/schemas/Cents' refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - customerEmailNotifications - merchantEmailNotifications title: IWireProviderSettings MerchantGoLiveChecklist: type: object properties: acceptedToS: type: boolean programWhitelistRequests: type: array items: $ref: '#/components/schemas/ProgramWhitelistRequest' rfis: type: array items: $ref: '#/components/schemas/MerchantRfiRef' onboardingFormSubmitted: type: boolean applicationSubmitted: type: boolean applicationSubmittedAt: type: string format: date-time lockIndustry: type: boolean title: MerchantGoLiveChecklist MerchantTheme: type: object properties: showCardIcon: type: boolean placeholderColor: type: string expirationPlaceholder: type: string cvvPlaceholder: type: string cardNumberPlaceholder: type: string fontWeight: type: string fontSize: type: string style: $ref: '#/components/schemas/MerchantStyle' font: type: string ctaColor: type: string textColorAction: type: string textColorAccent: type: string textColor: type: string backgroundAccent2: type: string backgroundAccent: type: string cardBackground: type: string background: type: string primary: type: string title: MerchantTheme CustomerOverrideLimitWebhookData: type: object properties: customerId: type: string rawCustomerId: type: string merchantId: type: string thresholdPercent: $ref: '#/components/schemas/CustomerOverrideLimitWebhookDataThresholdPercent' currentVolumeCents: type: number format: double overrideLimitCents: type: number format: double required: - customerId - rawCustomerId - merchantId - thresholdPercent - currentVolumeCents - overrideLimitCents title: CustomerOverrideLimitWebhookData UAParser.IEngine: type: object properties: name: type: string description: 'Possible name: Amaya, EdgeHTML, Gecko, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit' version: type: string description: Determined dynamically title: UAParser.IEngine BraidMerchantSettings: type: object properties: businessId: type: number format: double accountId: type: number format: double description: the Braid operating accountId accountNumber: type: string description: the Braid operating account number reserveAccountId: type: number format: double description: the Braid reserve accountId reserveAccountNumber: type: string description: the Braid reserve account number rollingAccountId: type: number format: double description: the Braid rolling accountId rollingAccountNumber: type: string description: the Braid rolling account number required: - businessId - accountId - accountNumber - reserveAccountId - reserveAccountNumber title: BraidMerchantSettings IMerchantStringFirstPartyPayoutOverrides: type: object properties: interacPayoutProvider: $ref: '#/components/schemas/InteracPayoutProvider' wirePayoutProvider: type: array items: $ref: '#/components/schemas/WirePayoutProvider' paypalPayoutProvider: $ref: '#/components/schemas/PayPalPayoutProvider' venmoPayoutProvider: $ref: '#/components/schemas/VenmoPayoutProvider' appleP2cPayoutProvider: $ref: '#/components/schemas/ApplePayPayoutProvider' globalP2cPayoutProvider: $ref: '#/components/schemas/CardPayoutProvider' p2cPayoutProvider: $ref: '#/components/schemas/CardPayoutProvider' eftPayoutProvider: $ref: '#/components/schemas/EftPayoutProvider' pixPayoutProvider: $ref: '#/components/schemas/PixPayoutProvider' rtpPayoutProvider: $ref: '#/components/schemas/RtpPayoutProvider' ibanPayoutProvider: $ref: '#/components/schemas/IbanPayoutProvider' bankPayoutProvider: type: array items: $ref: '#/components/schemas/PayoutProviderOption' title: IMerchantStringFirstPartyPayoutOverrides Blockchain.SOLANA: type: string enum: - solana title: Blockchain.SOLANA IBlockingRule: type: object properties: scope: $ref: '#/components/schemas/BlockingRuleScope' method: $ref: '#/components/schemas/BlockingRuleMethod' listMode: $ref: '#/components/schemas/BlockingRuleListMode' states: type: array items: $ref: '#/components/schemas/USState' countries: type: array items: $ref: '#/components/schemas/Country' required: - scope - method - states description: "A single geo-blocking rule on a merchant. Multiple rules of the same scope\nare OR-combined: any matching rule blocks the request. When both DENY and\nALLOW rules are configured, DENY rules are evaluated first — a matching\nDENY blocks the request even if the user is on a separate ALLOW list.\n\n`listMode` controls interpretation (defaults to `DENY`):\n- `DENY`: the listed countries/states are blocked.\n- `ALLOW`: ONLY the listed countries/states are permitted; everything else\n is blocked.\n\nA rule may specify `countries` (ISO 3166-1 alpha-2 codes), `states`\n(US state codes), or both.\n\n- `scope: GLOBAL` applies to BOTH withdrawal and checkout flows; only valid\n with `method: IP` (the only method that makes sense for both flows).\n- `method: KYC_ADDRESS` is only valid with `scope: WITHDRAWAL`.\n- `method: BILLING_ADDRESS` is only valid with `scope: CHECKOUT`.\n- `method: IP` is **strictly** fail-closed in both DENY and ALLOW modes:\n missing IP, failed lookup, or an unresolvable US state resolved from\n the IP rejects the withdrawal. Both the resolved country and the\n resolved state (US-only) are evaluated on every request against the\n rule's `countries` and `states` lists. Skipped on merchant-initiated\n payouts where no end-user IP exists (`merchantInitiated: true`).\n- `method: GEOLOCATION` is a **best-effort, optional** signal and only\n valid with `scope: WITHDRAWAL`. When the caller supplies a fresh,\n resolvable `userLocation`, the rule enforces strictly against the\n block list. When the signal is absent (browser permission denied,\n merchant did not send coords, stale capture, or reverse-geocode\n failure), enforcement is skipped — pair with an `IP` rule for hard\n real-time enforcement." title: IBlockingRule MpcWalletProvider: type: string enum: - metakeep description: 'The MPC provider Coinflow uses to custody managed settlement wallets. Single source of truth — the merchant type, the predicate, and the query filter all reference this so a new provider can''t silently pass one check but not another.' title: MpcWalletProvider IbanSettings: type: object properties: processor: $ref: '#/components/schemas/IbanProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - customerEmailNotifications - merchantEmailNotifications title: IbanSettings WithdrawStatus: type: string enum: - completed - failed - pending title: WithdrawStatus IbanPaymentStatus: type: string enum: - INITIATED - DEPOSITED - SETTLED - FAILED - EXPIRED - REFUNDED title: IbanPaymentStatus PortalBrand: type: string enum: - approvely - seamlesschex - coinflow - yourbrandhere - Plan2Play - tango - interlace - tapvia title: PortalBrand VendorSettings: type: object properties: aptPayIdentity: type: number format: double aptPayUSCoinflow: type: boolean braid: $ref: '#/components/schemas/BraidMerchantSettings' crb: $ref: '#/components/schemas/CrbMerchantSettings' highnote: $ref: '#/components/schemas/HighnoteMerchantSettings' ivy: $ref: '#/components/schemas/IvySettings' paypal: $ref: '#/components/schemas/PayPalVendorSettings' koard: $ref: '#/components/schemas/VendorSettingsKoard' title: VendorSettings CVVResponseCode: type: string enum: - M - N - P - S - U - X description: 'CVV (Card Verification Value) Response Codes These codes indicate the results of CVV verification checks' title: CVVResponseCode CustomerOverrideLimitWebhookDataThresholdPercent: type: string enum: - '50' - '80' - '100' title: CustomerOverrideLimitWebhookDataThresholdPercent OverrideAuditLog: type: object properties: reason: $ref: '#/components/schemas/OverrideMethod' editor: type: string editorType: $ref: '#/components/schemas/EditorType' overriddenAt: type: string format: date-time ipAddress: type: string required: - reason title: OverrideAuditLog SplitNameCustomerInfo: type: object properties: verificationId: type: string displayName: type: string address: type: string city: type: string state: type: string zip: type: string country: type: string ip: type: string lat: type: string lng: type: string dob: type: string description: Date of birth in YYYY-MM-DD format email: type: string firstName: type: string lastName: type: string required: - firstName - lastName title: SplitNameCustomerInfo ISecureDsErrorResponse: type: object properties: threeDSecureResponse: $ref: '#/components/schemas/ISecureDsErrorResponseThreeDSecureResponse' title: ISecureDsErrorResponse JobStatusResponseOneOf1Status: type: string enum: - completed title: JobStatusResponseOneOf1Status CustomPayInFeeValue: oneOf: - $ref: '#/components/schemas/CustomPayInFeeValue0' - $ref: '#/components/schemas/CustomPayInFeeValue1' title: CustomPayInFeeValue MerchantRespondRequest1: type: object properties: fileKey: type: string required: - fileKey title: MerchantRespondRequest1 Currency.USD: type: string enum: - USD title: Currency.USD Pick_CardSettings.customerEmailNotifications-or-merchantEmailNotifications_: type: object properties: customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications description: From T, pick a set of properties whose keys are in the union K title: Pick_CardSettings.customerEmailNotifications-or-merchantEmailNotifications_ IPopulatedSubscriptionStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IPopulatedSubscriptionStringMerchant CitconSettingsFundPurpose: type: string enum: - goods - services - prizes - rebates - others title: CitconSettingsFundPurpose ChargebackProtectionDecision: type: string enum: - approved - rejected - Not Reviewed - Not Enabled - Overridden - Pending Review title: ChargebackProtectionDecision IExport: type: object properties: _id: type: string exportId: type: string merchant: $ref: '#/components/schemas/IExportMerchant' createdBy: $ref: '#/components/schemas/MerchantEditor' type: $ref: '#/components/schemas/ExportType' format: $ref: '#/components/schemas/ExportFormat' status: $ref: '#/components/schemas/ExportStatus' progress: $ref: '#/components/schemas/ExportProgress' filters: $ref: '#/components/schemas/ExportFilters' filtersHash: type: string r2Key: type: string fileName: type: string fileSize: type: number format: double recordCount: type: number format: double downloadLogs: type: array items: $ref: '#/components/schemas/ExportDownloadLog' errorMessage: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time startedAt: type: string format: date-time completedAt: type: string format: date-time expiresAt: type: string format: date-time required: - _id - exportId - createdBy - type - format - status - filters - filtersHash - createdAt - updatedAt - expiresAt title: IExport IPaymentStringIbanInfo: type: object properties: reference: type: string failedAttempts: type: array items: $ref: '#/components/schemas/FailedIbanAttempt' accountHolder: type: string reason: type: string transactionId: type: string processed: type: string format: date-time tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' transaction: type: string expiration: type: string format: date-time token: type: string processor: $ref: '#/components/schemas/IbanProcessor' status: $ref: '#/components/schemas/IbanPaymentStatus' required: - expiration - token - processor - status title: IPaymentStringIbanInfo IWallet: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' required: - wallet - blockchain title: IWallet ICleanPurseCardsItems: type: object properties: last4: type: string isDeleted: type: boolean token: type: string type: $ref: '#/components/schemas/CardType' disbursementStatus: $ref: '#/components/schemas/DisbursementStatus' currency: $ref: '#/components/schemas/Currency' nameOnCard: type: string createdAt: type: string format: date-time data: $ref: '#/components/schemas/IPopulatedCard' required: - last4 - token - type - disbursementStatus - createdAt description: From T, pick a set of properties whose keys are in the union K title: ICleanPurseCardsItems IPayPalPaymentInfoSandboxSimulations: type: object properties: refundFailure: type: boolean captureFailure: type: boolean authorizationFailure: type: boolean title: IPayPalPaymentInfoSandboxSimulations MerchantCustomersGetParametersSortBy: type: string enum: - createdAt title: MerchantCustomersGetParametersSortBy PickIPayPalExcludeKeyofIPayPalVendorDataType: type: string enum: - paypal title: PickIPayPalExcludeKeyofIPayPalVendorDataType CryptoRefundInfo: type: object properties: refundTransactionHash: type: string refundTransactionUrl: type: string refundAddress: type: string amountUSD: type: string tokenAmount: type: string paymentCurrency: type: string denominationType: $ref: '#/components/schemas/RefundDenominationType' required: - refundAddress - denominationType title: CryptoRefundInfo IWithdrawUserPaidFees: type: object properties: processingFees: $ref: '#/components/schemas/CurrencyCents' customFees: $ref: '#/components/schemas/CurrencyCents' swapFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fees: $ref: '#/components/schemas/CurrencyCents' required: - swapFees - gasFees - fees title: IWithdrawUserPaidFees Merchant_GetWithdrawal_Response_200: type: object properties: withdrawal: $ref: '#/components/schemas/IWithdraw' required: - withdrawal title: Merchant_GetWithdrawal_Response_200 IPaymentIbanInfo: type: object properties: reference: type: string failedAttempts: type: array items: $ref: '#/components/schemas/FailedIbanAttempt' accountHolder: type: string reason: type: string transactionId: type: string processed: type: string format: date-time tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' transaction: type: string expiration: type: string format: date-time token: type: string processor: $ref: '#/components/schemas/IbanProcessor' status: $ref: '#/components/schemas/IbanPaymentStatus' required: - expiration - token - processor - status title: IPaymentIbanInfo IPaymentStringBankTransferInfo: type: object properties: reason: type: string token: type: string batchedAt: type: string format: date-time refundTransferId: type: string refundReview: type: boolean transaction: type: string processor: $ref: '#/components/schemas/AchProcessor' status: $ref: '#/components/schemas/AchPaymentStatus' required: - refundReview - processor - status title: IPaymentStringBankTransferInfo RtpPayoutProvider: type: string enum: - dwolla - mock - aptpay - aptpayRtp - checkbook - brale title: RtpPayoutProvider CustomerInfo: oneOf: - $ref: '#/components/schemas/SplitNameCustomerInfo' - $ref: '#/components/schemas/NameCustomerInfo' title: CustomerInfo IPaymentRefundInfo: type: object properties: count: type: number format: double refundedAt: type: string format: date-time amount: $ref: '#/components/schemas/CurrencyCents' required: - count - refundedAt - amount title: IPaymentRefundInfo Partial_Record_WithdrawSpeed.WithdrawSort__: type: object properties: asap: $ref: '#/components/schemas/WithdrawSort' same_day: $ref: '#/components/schemas/WithdrawSort' standard: $ref: '#/components/schemas/WithdrawSort' card: $ref: '#/components/schemas/WithdrawSort' iban: $ref: '#/components/schemas/WithdrawSort' pix: $ref: '#/components/schemas/WithdrawSort' eft: $ref: '#/components/schemas/WithdrawSort' venmo: $ref: '#/components/schemas/WithdrawSort' paypal: $ref: '#/components/schemas/WithdrawSort' wire: $ref: '#/components/schemas/WithdrawSort' interac: $ref: '#/components/schemas/WithdrawSort' description: Make all properties in T optional title: Partial_Record_WithdrawSpeed.WithdrawSort__ PassiveWithdrawSettings: type: object properties: enabled: type: boolean maxActiveAddresses: type: number format: double description: 'Cap on the number of simultaneously-active withdraw passive deposit addresses for this merchant. Undefined = no cap.' required: - enabled description: 'Merchant-level settings for the withdrawer-side passive deposit address flow (CryptoWithdrawService). Independent from CryptoPayInSettings.' title: PassiveWithdrawSettings ReserveWebhookData: type: object properties: amount: $ref: '#/components/schemas/CurrencyCents' paymentId: type: string released: type: string format: date-time required: - amount - paymentId - released title: ReserveWebhookData CustomerUsdcTransferData: type: object properties: from: type: string to: type: string value: type: string validAfter: $ref: '#/components/schemas/CustomerUsdcTransferDataValidAfter' validBefore: $ref: '#/components/schemas/CustomerUsdcTransferDataValidBefore' nonce: type: string v: type: number format: double r: type: string s: type: string required: - from - to - value - validAfter - validBefore - nonce - v - r - s description: 'Customer signed USDC transferWithAuthorization data for dual-source payments Used for combined USDC + Credit Card payments on EVM chains' title: CustomerUsdcTransferData IPaymentStringVendorTransfer: type: object properties: external: type: string internal: type: string required: - internal title: IPaymentStringVendorTransfer WithdrawWithDescriptiveStatusUserPaidFees: type: object properties: processingFees: $ref: '#/components/schemas/CurrencyCents' customFees: $ref: '#/components/schemas/CurrencyCents' swapFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fees: $ref: '#/components/schemas/CurrencyCents' required: - swapFees - gasFees - fees title: WithdrawWithDescriptiveStatusUserPaidFees IbanProcessor: type: string enum: - merge - ivy - mock title: IbanProcessor IMerchantStringCheckbookSettings: type: object properties: merchantName: type: string secret: type: string key: type: string walletId: type: string id: type: string required: - merchantName - secret - key - walletId - id title: IMerchantStringCheckbookSettings ISubscriptionPlan_string_: type: object properties: _id: type: string merchant: $ref: '#/components/schemas/ISubscriptionPlanStringMerchant' name: type: string code: type: string interval: $ref: '#/components/schemas/SubscriptionInterval' duration: type: integer description: 'This represents the span of an interval. Ex. duration = 3, interval = Monthly means every 3 months the subscription renews Default is 1' amount: $ref: '#/components/schemas/CurrencyCents' description: type: string transaction: type: string settlementChain: $ref: '#/components/schemas/OperationalBlockchain' settlementType: $ref: '#/components/schemas/SettlementType' active: type: boolean merchantInitiated: type: boolean description: If true this means we will not run it through our Subscription Payments Pipeline, but instead make the merchant pass us the plan code for MITs to process it required: - _id - merchant - name - code - interval - amount - active title: ISubscriptionPlan_string_ IMerchantStringWalletsStellar: type: object properties: usdcPayer: type: string required: - usdcPayer title: IMerchantStringWalletsStellar Pick_CryptoPayInSettings.customerEmailNotifications-or-merchantEmailNotifications_: type: object properties: customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications description: From T, pick a set of properties whose keys are in the union K title: Pick_CryptoPayInSettings.customerEmailNotifications-or-merchantEmailNotifications_ SubscriptionVersion: type: string enum: - '1' - '2' title: SubscriptionVersion ApplePayPayoutProvider: type: string enum: - aptpay - MOCK title: ApplePayPayoutProvider CustomerUsdcTransferDataV2ValidBefore: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataV2ValidBefore VerisoulSettings: type: object properties: enabled: type: boolean riskThresholds: $ref: '#/components/schemas/VerisoulRiskThresholds' required: - enabled - riskThresholds title: VerisoulSettings CustomerOverrideAuditLog: type: object properties: reason: $ref: '#/components/schemas/OverrideMethod.CustomerOverride' editor: type: string editorType: $ref: '#/components/schemas/EditorType' overriddenAt: type: string format: date-time ipAddress: type: string required: - reason title: CustomerOverrideAuditLog OperationalBlockchain: oneOf: - $ref: '#/components/schemas/Blockchain.SOLANA' - $ref: '#/components/schemas/Blockchain.ETH' - $ref: '#/components/schemas/Blockchain.POLYGON' - $ref: '#/components/schemas/Blockchain.BASE' - $ref: '#/components/schemas/Blockchain.ARBITRUM' - $ref: '#/components/schemas/Blockchain.STELLAR' - $ref: '#/components/schemas/Blockchain.MONAD' - $ref: '#/components/schemas/Blockchain.TEMPO' title: OperationalBlockchain FailedAttemptSetting: type: string enum: - Standard - Exempt title: FailedAttemptSetting AdditionalVerification: type: object properties: name: type: string link: type: string reference: type: string vendor: $ref: '#/components/schemas/VerificationVendor' sessionToken: type: string required: - name - link - reference - vendor title: AdditionalVerification PayPalVendorSettings: type: object properties: accountId: type: string status: type: string description: PAY_WITH_PAYPAL capability status (ACTIVE / NEED_DATA / SUSPENDED). requirements: type: array items: type: string description: Outstanding requirements blocking PAY_WITH_PAYPAL. venmoStatus: type: string description: VENMO_PAY_PROCESSING capability status — same account, separate status. venmoRequirements: type: array items: type: string description: Outstanding requirements blocking VENMO_PAY_PROCESSING. stakeholderIds: type: array items: type: string verificationTriggered: type: boolean description: 'True once we''ve asked PayPal to (re)verify this account''s capabilities. triggerVerification itself makes PayPal emit a CAPABILITY_UPDATED webhook, so this flag stops that webhook from triggering verification again forever.' required: - accountId title: PayPalVendorSettings Verification3DS: type: string enum: - Required - Exempt - NotApplicable title: Verification3DS EnhancedTxInfo: type: object properties: firstName: type: string lastName: type: string streetAddress: type: string city: type: string state: type: string zip: type: string country: type: string email: type: string bin: type: string ip: type: string userAgent: type: string expMonth: type: string expYear: type: string eci: type: string avsResponseCode: $ref: '#/components/schemas/AVSResponseCode' cvvResponseCode: $ref: '#/components/schemas/CVVResponseCode' binLocation: $ref: '#/components/schemas/BinInfo' ipLocation: $ref: '#/components/schemas/EnhancedTxInfoIpLocation' orchestrationInfo: $ref: '#/components/schemas/OrchestrationInfo' title: EnhancedTxInfo IMerchantStringWalletsEvm: type: object properties: usdcPayer: type: string feePayer: type: string required: - usdcPayer - feePayer title: IMerchantStringWalletsEvm IUser_string_: type: object properties: _id: type: string wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' wallets: type: array items: $ref: '#/components/schemas/IWallet' email: type: string availability: $ref: '#/components/schemas/IAvailability' currency: $ref: '#/components/schemas/Currency' originalCurrency: $ref: '#/components/schemas/WithdrawCurrency' merchant: $ref: '#/components/schemas/IUserStringMerchant' verification: $ref: '#/components/schemas/Verification' riskScoreOverride: type: boolean country: type: string geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' createdAt: type: string format: date-time user: type: boolean dwolla: $ref: '#/components/schemas/DwollaWithdrawerInfo' watchlistExempt: $ref: '#/components/schemas/WatchlistStatus' watchlistId: type: string required: - _id - wallet - blockchain - email - availability - currency - merchant - verification - riskScoreOverride - country - user - watchlistExempt title: IUser_string_ DelegatedPayoutQuoteArgsAmount: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' required: - cents title: DelegatedPayoutQuoteArgsAmount Currency.GBP: type: string enum: - GBP title: Currency.GBP AchPaymentStatus: type: string enum: - PENDING - BATCHED - DEPOSITED - SETTLED - RETURNED - FAILED - CHARGEBACK - REFUND_REVIEW - REFUNDED title: AchPaymentStatus IChargeback: type: object properties: payment: $ref: '#/components/schemas/IChargebackPayment' chargebackId: type: string reasonCode: type: string reasonDescription: type: string respondByDate: type: string format: date-time responded: type: boolean merchantRespondedAt: type: string format: date-time draftResponse: type: string responseFileKey: type: string notes: type: string ignore: type: boolean discrepancy: type: boolean loadedOn: type: string format: date-time chargebackFeeCents: type: number format: double createdAt: type: string format: date-time updatedAt: type: string format: date-time decidedAt: type: string format: date-time updates: type: array items: $ref: '#/components/schemas/IChargebackUpdate' autoDebitStatus: $ref: '#/components/schemas/WalletDebitStatus' walletDebitTxHash: type: string walletCreditTxHash: type: string required: - payment - chargebackId - reasonCode - reasonDescription - respondByDate - responded - createdAt - updatedAt title: IChargeback IMerchantStringProcessing: type: object properties: msaSigned: type: boolean statementsOnFile: type: boolean required: - msaSigned - statementsOnFile title: IMerchantStringProcessing ThreeDsChallengePreference: type: string enum: - NoPreference - Frictionless - Challenge title: ThreeDsChallengePreference SettlementType: type: string enum: - Credits - USDC title: SettlementType EnhancedTxInfoResponseIpLocation: type: object properties: hosting: type: boolean mobile: type: boolean proxy: type: boolean zip: type: string city: type: string isp: type: string region: type: string country: type: string lon: type: string lat: type: string required: - zip - city - isp - region - country - lon - lat title: EnhancedTxInfoResponseIpLocation PixSettings: type: object properties: processor: $ref: '#/components/schemas/PixProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - customerEmailNotifications - merchantEmailNotifications title: PixSettings AftType: type: string enum: - disbursement - personToPerson - accountToAccount - topUp - purchase - cash - walletLoad title: AftType InteracProcessor: type: string enum: - mock - aptpay title: InteracProcessor AcquirerInfo: type: object properties: merchantId: type: string bin: type: string name: type: string mcc: type: string required: - merchantId - bin - name title: AcquirerInfo IMerchantStringWallets: type: object properties: stellar: $ref: '#/components/schemas/IMerchantStringWalletsStellar' evm: $ref: '#/components/schemas/IMerchantStringWalletsEvm' solana: $ref: '#/components/schemas/IMerchantStringWalletsSolana' required: - stellar - evm - solana title: IMerchantStringWallets IPopulatedCard: type: object properties: token: type: string expMonth: type: string expYear: type: string firstName: type: string lastName: type: string address1: type: string city: type: string state: type: string zip: type: string country: type: string required: - token - expMonth - expYear - firstName - lastName - address1 - city - country title: IPopulatedCard ICashAppPaymentInfo: type: object properties: status: $ref: '#/components/schemas/CashAppPaymentStatus' processor: $ref: '#/components/schemas/CashAppProcessor' depositAddress: type: string transaction: type: string referenceId: type: string cashAppLink: type: string expiresAt: type: string format: date-time required: - status - processor - referenceId - cashAppLink - expiresAt title: ICashAppPaymentInfo PassiveDepositAddressStatusResponse: type: object properties: depositAddress: type: string status: $ref: '#/components/schemas/PassiveDepositAddressStatusResponseStatus' required: - depositAddress - status title: PassiveDepositAddressStatusResponse DisbursementStatus: type: string enum: - Immediate - Business Day - Ineligible - Unknown title: DisbursementStatus CustomPayInFeesConfig: type: array items: $ref: '#/components/schemas/CustomPayInFeeConfig' title: CustomPayInFeesConfig ICustomerWallet: type: object properties: _id: type: string verification: $ref: '#/components/schemas/Verification' ubos: type: array items: $ref: '#/components/schemas/UboEntry' email: type: string createdAt: type: string format: date-time customerInfo: $ref: '#/components/schemas/CustomerInfo' merchant: $ref: '#/components/schemas/ICustomerWalletMerchant' blockchain: $ref: '#/components/schemas/Blockchain' availability: $ref: '#/components/schemas/IAvailability' chargebackProtectionEnabled: type: boolean failedAttemptSetting: $ref: '#/components/schemas/FailedAttemptSetting' verificationSetting: $ref: '#/components/schemas/CustomerVerificationSetting' exempt3DS: type: boolean chargebackProtectionOverrideLog: $ref: '#/components/schemas/CustomerOverrideAuditLog' geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' blockConfigOverride: $ref: '#/components/schemas/ICustomerWalletBlockConfigOverride' description: Per-customer overrides of merchant `blockConfig`. Only honored when they raise the effective limit. customerOverrideLimit: $ref: '#/components/schemas/Cents' overrideExposureLimit: $ref: '#/components/schemas/Cents' fraudOverrideWhitelist: type: boolean wallet: type: string required: - _id - email - createdAt - merchant - availability - chargebackProtectionEnabled - failedAttemptSetting - verificationSetting - wallet description: From T, pick a set of properties whose keys are in the union K title: ICustomerWallet CrbEnvironment: type: string enum: - sandbox - production title: CrbEnvironment WithdrawFeeConfig: type: object properties: fixed: $ref: '#/components/schemas/Cents' variableBps: type: number format: double minimum: $ref: '#/components/schemas/Cents' maximum: $ref: '#/components/schemas/Cents' limit: $ref: '#/components/schemas/Partial_WithdrawLimit_' required: - fixed - variableBps - minimum title: WithdrawFeeConfig Partial_Record_WithdrawSpeed.WithdrawFeeConfig__: type: object properties: asap: $ref: '#/components/schemas/WithdrawFeeConfig' same_day: $ref: '#/components/schemas/WithdrawFeeConfig' standard: $ref: '#/components/schemas/WithdrawFeeConfig' card: $ref: '#/components/schemas/WithdrawFeeConfig' iban: $ref: '#/components/schemas/WithdrawFeeConfig' pix: $ref: '#/components/schemas/WithdrawFeeConfig' eft: $ref: '#/components/schemas/WithdrawFeeConfig' venmo: $ref: '#/components/schemas/WithdrawFeeConfig' paypal: $ref: '#/components/schemas/WithdrawFeeConfig' wire: $ref: '#/components/schemas/WithdrawFeeConfig' interac: $ref: '#/components/schemas/WithdrawFeeConfig' description: Make all properties in T optional title: Partial_Record_WithdrawSpeed.WithdrawFeeConfig__ MerchantBankSettlementOptions: type: object properties: token: type: string minRemainingBalance: $ref: '#/components/schemas/Cents' useWire: type: boolean required: - token - minRemainingBalance title: MerchantBankSettlementOptions MerchantEditor: type: object properties: editor: type: string editorType: $ref: '#/components/schemas/EditorType' ipAddress: type: string required: - editor - editorType - ipAddress title: MerchantEditor WithdrawSpeed: type: string enum: - asap - same_day - standard - card - iban - pix - eft - venmo - paypal - wire - interac title: WithdrawSpeed AftSettingsMerchantA2AMastercardAftRecipient: type: object properties: walletReference: type: string countryCode: type: string state: type: string postalCode: type: string city: type: string address1: type: string lastName: type: string firstName: type: string required: - walletReference - countryCode - state - postalCode - city - address1 - lastName - firstName title: AftSettingsMerchantA2AMastercardAftRecipient IBusiness_string_: type: object properties: _id: type: string wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' wallets: type: array items: $ref: '#/components/schemas/IWallet' email: type: string availability: $ref: '#/components/schemas/IAvailability' currency: $ref: '#/components/schemas/Currency' originalCurrency: $ref: '#/components/schemas/WithdrawCurrency' merchant: $ref: '#/components/schemas/IBusinessStringMerchant' verification: $ref: '#/components/schemas/Verification' riskScoreOverride: type: boolean country: type: string geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' createdAt: type: string format: date-time business: type: boolean ubos: type: array items: $ref: '#/components/schemas/UboEntry' required: - _id - wallet - blockchain - email - availability - currency - merchant - verification - riskScoreOverride - country - business - ubos title: IBusiness_string_ UAParser.IResult: type: object properties: ua: type: string browser: $ref: '#/components/schemas/UAParser.IBrowser' device: $ref: '#/components/schemas/UAParser.IDevice' engine: $ref: '#/components/schemas/UAParser.IEngine' os: $ref: '#/components/schemas/UAParser.IOS' cpu: $ref: '#/components/schemas/UAParser.ICPU' required: - ua - browser - device - engine - os - cpu title: UAParser.IResult CashAppPaymentStatus: type: string enum: - INITIATED - PROCESSING - DEPOSITED - SETTLED - FAILED - EXPIRED - REFUNDED title: CashAppPaymentStatus PayoutDelegatedArgs: type: object properties: speed: $ref: '#/components/schemas/WithdrawSpeed' account: type: string description: The debit card, bank or Iban pci-compliant token userId: type: string description: The Merchant generated userId for the user. waitForConfirmation: type: boolean description: 'If true (default), the API will wait for transaction confirmation before returning. If false, the transaction will be queued for processing and the API will return immediately with just the signature.' idempotencyKey: type: string description: 'Client generates an idempotency key, which is a unique key that the server uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using V4 UUIDs, or another random string with enough entropy to avoid collisions.' amount: $ref: '#/components/schemas/PayoutDelegatedArgsAmount' required: - speed - account - userId - idempotencyKey - amount description: From T, pick a set of properties whose keys are in the union K title: PayoutDelegatedArgs UserWithdrawTransactionParams: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' userId: type: string description: The Merchant generated userId for the user. amount: $ref: '#/components/schemas/Cents' speed: $ref: '#/components/schemas/WithdrawSpeed' account: type: string description: The debit card, bank or Iban pci-compliant token required: - wallet - blockchain - userId - amount - speed - account title: UserWithdrawTransactionParams PayPalPayoutProvider: type: string enum: - checkbook - citcon - mock - paypal title: PayPalPayoutProvider OrchestrationFailedAttempt: type: object properties: processor: $ref: '#/components/schemas/PaymentProcessor' paymentId: type: string authCode: type: string required: - processor title: OrchestrationFailedAttempt IPopulatedSubscriptionStringCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: IPopulatedSubscriptionStringCustomer WithdrawStatusWithReview: oneOf: - $ref: '#/components/schemas/WithdrawStatus' - $ref: '#/components/schemas/WithdrawReviewStatus' title: WithdrawStatusWithReview Merchant_GetUrlWhitelistRequests_Response_200: type: object properties: requests: type: array items: $ref: '#/components/schemas/SanitizedUrlWhitelistRequest' required: - requests title: Merchant_GetUrlWhitelistRequests_Response_200 IMerchantStringWithdrawFees: type: object properties: firstParty: $ref: '#/components/schemas/Partial_Record_WithdrawSpeed.WithdrawFeeConfig__' business: $ref: '#/components/schemas/Partial_Record_WithdrawSpeed.WithdrawFeeConfig__' user: $ref: '#/components/schemas/Partial_Record_WithdrawSpeed.WithdrawFeeConfig__' swapBps: type: number format: double required: - firstParty - business - user - swapBps title: IMerchantStringWithdrawFees ExportFormat: type: string enum: - Simple - Raw title: ExportFormat ChallengeState: type: string enum: - NotApplicable - Abandoned - Success - Failure - Error title: ChallengeState CryptoPaymentStatus: type: string enum: - INITIATED - DEPOSITED - SETTLED - FAILED - REFUNDED title: CryptoPaymentStatus IWithdrawUserLocation: type: object properties: resolvedState: type: string resolvedCountry: type: string lng: type: number format: double lat: type: number format: double required: - lng - lat description: 'Browser-captured geolocation at the time of the withdraw request, when the caller supplied one. Stored independently of payout method so the merchant dashboard can render a map for any withdraw. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' title: IWithdrawUserLocation FailedIbanAttempt: type: object properties: transactionId: type: string processed: type: string format: date-time reason: type: string required: - transactionId - processed - reason title: FailedIbanAttempt AvailabilityStatus: type: string enum: - Functional - Blocked - Override title: AvailabilityStatus EnhancedTxInfoResponse: type: object properties: firstName: type: string lastName: type: string streetAddress: type: string city: type: string state: type: string zip: type: string country: type: string email: type: string bin: type: string ip: type: string userAgent: type: string expMonth: type: string expYear: type: string eci: type: string avsResponseCode: $ref: '#/components/schemas/AVSResponseCode' cvvResponseCode: $ref: '#/components/schemas/CVVResponseCode' binLocation: $ref: '#/components/schemas/BinInfo' ipLocation: $ref: '#/components/schemas/EnhancedTxInfoResponseIpLocation' orchestrationInfo: $ref: '#/components/schemas/OrchestrationInfo' deviceInfo: $ref: '#/components/schemas/UAParser.IResult' secureDS: oneOf: - $ref: '#/components/schemas/ISecureDS' - type: 'null' required: - deviceInfo - secureDS title: EnhancedTxInfoResponse IPaymentStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IPaymentStringMerchant TopupRiskControls: type: object properties: minAmountCents: type: number format: double description: Minimum topup amount in cents maxAmountCents: type: number format: double description: Maximum topup amount in cents title: TopupRiskControls OrchestrationTraversalStepNodeType: type: string enum: - action - decision title: OrchestrationTraversalStepNodeType CardOnFileSettings: type: object properties: enabled: type: boolean period: type: number format: double maxCount: type: number format: double maxMultiple: type: number format: double expiration: type: number format: double maxZeroAuthAmount: $ref: '#/components/schemas/Cents' maxAmountLookback: type: number format: double required: - enabled - period - maxCount - maxMultiple - expiration title: CardOnFileSettings ISecureDsErrorResponseThreeDSecureResponse: type: object properties: transStatusReason: type: string transStatus: type: string required: - transStatusReason - transStatus title: ISecureDsErrorResponseThreeDSecureResponse TokenSubtotal: type: object properties: address: type: string description: 'The tokens address Solana - Token Mint Address Evm - Token Contract Address' amount: $ref: '#/components/schemas/TokenSubtotalAmount' description: Number of tokens decimals: type: number format: double description: Number of decimals for the token required: - address - amount title: TokenSubtotal LinkedBankAccountAccountType: type: string enum: - checking - savings title: LinkedBankAccountAccountType IPaymentCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: IPaymentCustomer VendorSettingsKoard: type: object properties: enabled: type: boolean apiKeyPreview: type: string apiKey: type: string accountId: type: string required: - accountId title: VendorSettingsKoard IVenmoPaymentInfoSandboxSimulations: type: object properties: refundFailure: type: boolean captureFailure: type: boolean authorizationFailure: type: boolean title: IVenmoPaymentInfoSandboxSimulations DwollaWithdrawerInfo: type: object properties: customerId: type: string status: $ref: '#/components/schemas/DwollaVerificationStatus' acceptedTerms: type: string format: date-time verification: $ref: '#/components/schemas/Verification' required: - customerId - status - acceptedTerms title: DwollaWithdrawerInfo IWithdrawer: type: object properties: _id: type: string wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' wallets: type: array items: $ref: '#/components/schemas/IWallet' email: type: string availability: $ref: '#/components/schemas/IAvailability' currency: $ref: '#/components/schemas/Currency' originalCurrency: $ref: '#/components/schemas/WithdrawCurrency' merchant: $ref: '#/components/schemas/IWithdrawerMerchant' verification: $ref: '#/components/schemas/Verification' riskScoreOverride: type: boolean country: type: string geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' createdAt: type: string format: date-time required: - _id - wallet - blockchain - email - availability - currency - merchant - verification - riskScoreOverride - country title: IWithdrawer RefundTotals: type: object properties: subtotal: $ref: '#/components/schemas/CurrencyCents' processorFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' adjustment: $ref: '#/components/schemas/CurrencyCents' rate: type: number format: double resolution: $ref: '#/components/schemas/CurrencyCents' required: - subtotal - processorFees - total - rate - resolution title: RefundTotals CryptoPayInSettings: type: object properties: stables: $ref: '#/components/schemas/TierSettings' majors: $ref: '#/components/schemas/TierSettings' volatile: $ref: '#/components/schemas/TierSettings' enabled: type: boolean feeMode: $ref: '#/components/schemas/FeePayerMode' maxGasFeePayment: $ref: '#/components/schemas/Cents' coinbaseDisabled: type: boolean transferOnly: type: boolean customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean fixedFee: $ref: '#/components/schemas/Cents' enableStableDepositAddresses: type: boolean maxActivePassiveAddresses: type: number format: double description: 'Cap on the number of simultaneously-active customer pay-in passive deposit addresses for this merchant. Undefined = no cap. Paused addresses don''t count against the cap.' required: - stables - majors - volatile - enabled - maxGasFeePayment - coinbaseDisabled - customerEmailNotifications - merchantEmailNotifications title: CryptoPayInSettings SettledWebhookData: type: object properties: id: type: string wallet: type: string webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' subtotal: $ref: '#/components/schemas/Cents' fees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' fxFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' merchantId: type: string paymentMethod: type: string merchantPaidFees: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' cardToken: type: string last4: type: string bin: type: string reasonCode: type: string reasonMessage: type: string signature: type: string avsResponseCode: type: string cvvResponseCode: type: string threeDsAuthenticationStatus: $ref: '#/components/schemas/AuthenticationStatus' velocityHold: type: boolean reserve: $ref: '#/components/schemas/Cents' required: - id - wallet - subtotal - fees - gasFees - chargebackProtectionFees - fxFees - total - merchantId - signature title: SettledWebhookData TierSettings: type: object properties: feeBps: type: number format: double feeMode: $ref: '#/components/schemas/FeePayerMode' enabled: type: boolean required: - feeBps - enabled title: TierSettings Merchant_GetMerchantV2_Response_200: type: object properties: applePayMerchantIdentifier: type: string verificationLinks: $ref: '#/components/schemas/PendingVerification' merchant: $ref: '#/components/schemas/IMerchant_string_' required: - merchant title: Merchant_GetMerchantV2_Response_200 Merchant_Respond_Request: oneOf: - $ref: '#/components/schemas/MerchantRespondRequest0' - $ref: '#/components/schemas/MerchantRespondRequest1' title: Merchant_Respond_Request CustomerVerificationSetting: type: string enum: - Enforced - Exempt title: CustomerVerificationSetting IPaymentCryptoInfo: type: object properties: tier: $ref: '#/components/schemas/CryptoTiers' paymentCurrency: type: string overpaymentAmount: type: string actualPaymentAmountUSD: type: string depositAddress: type: string refundAddress: type: string refundTransactionHash: type: string sessionId: type: string reason: type: string tokenLogoUrl: type: string blockchainLogoUrl: type: string tokenAmount: type: string token: type: string sponsoredTransactionHash: type: string originatingTransactionHash: type: string originatingWallet: type: string processed: type: string format: date-time transaction: type: string tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' status: $ref: '#/components/schemas/CryptoPaymentStatus' required: - status title: IPaymentCryptoInfo VenmoSettings: type: object properties: processor: $ref: '#/components/schemas/VenmoProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' maxFee: $ref: '#/components/schemas/Cents' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - fixedFee - feeBps - minFee - customerEmailNotifications - merchantEmailNotifications title: VenmoSettings CustomerUsdcTransferDataValidBefore: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataValidBefore IPaymentUserLocation: type: object properties: resolvedState: type: string resolvedCountry: type: string lng: type: number format: double lat: type: number format: double required: - lng - lat description: 'Browser-captured geolocation at the time of the request, when the caller supplied one. Stored independently of payment method so the merchant dashboard can render a map for any purchase type. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' title: IPaymentUserLocation PassiveDepositAddressListItem: type: object properties: depositAddress: type: string chain: type: string token: type: string account: type: string speed: $ref: '#/components/schemas/WithdrawSpeed' status: $ref: '#/components/schemas/PassiveDepositAddressListItemStatus' createdAt: type: string format: date-time required: - depositAddress - chain - token - account - speed - status - createdAt title: PassiveDepositAddressListItem EntityTag: type: object properties: coinflowEntity: $ref: '#/components/schemas/CoinflowEntity' required: - coinflowEntity title: EntityTag IWithdrawMerchantPaidFees: type: object properties: merchantFundedAmount: $ref: '#/components/schemas/CurrencyCents' settledInline: type: boolean swapFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fees: $ref: '#/components/schemas/CurrencyCents' required: - swapFees - gasFees - fees title: IWithdrawMerchantPaidFees RefundFeeSettings: type: object properties: feeBps: type: number format: double fixedFee: $ref: '#/components/schemas/Cents' minFee: $ref: '#/components/schemas/Cents' maxFee: $ref: '#/components/schemas/Cents' title: RefundFeeSettings PassiveDepositAddressBody: type: object properties: depositAddress: type: string description: The previously-issued deposit address to re-activate or deactivate required: - depositAddress title: PassiveDepositAddressBody IApaPaymentInfo: type: object properties: status: $ref: '#/components/schemas/ApaPaymentStatus' processor: $ref: '#/components/schemas/ApaProcessor' apaTransactionId: type: string credentialType: $ref: '#/components/schemas/ApaCredentialType' credentialValue: type: string transaction: type: string transactionHash: type: string rail: type: string reason: type: string processed: type: string format: date-time required: - status - processor - apaTransactionId - credentialType - credentialValue title: IApaPaymentInfo WithdrawWithDescriptiveStatusMerchantPaidFees: type: object properties: merchantFundedAmount: $ref: '#/components/schemas/CurrencyCents' settledInline: type: boolean swapFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fees: $ref: '#/components/schemas/CurrencyCents' required: - swapFees - gasFees - fees title: WithdrawWithDescriptiveStatusMerchantPaidFees TokenSubtotalAmount: oneOf: - type: number format: double - type: string description: Number of tokens title: TokenSubtotalAmount PendingVerification: type: object properties: verification: $ref: '#/components/schemas/Verification' merchantLink: type: string uboLinks: type: array items: $ref: '#/components/schemas/AdditionalVerification' required: - verification title: PendingVerification MerchantScope: type: string enum: - admin - editor - chargeback - chargeback_analyst - viewer - seller - pos_device title: MerchantScope IPaymentPixInfo: type: object properties: reason: type: string processed: type: string format: date-time transaction: type: string tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' expiration: type: string format: date-time processor: $ref: '#/components/schemas/PixProcessor' status: $ref: '#/components/schemas/PixPaymentStatus' required: - expiration - processor - status title: IPaymentPixInfo BlockingRuleMethod: type: string enum: - KYC_ADDRESS - IP - BILLING_ADDRESS - GEOLOCATION title: BlockingRuleMethod Merchant_MintCredits_Response_200: type: object properties: jobId: $ref: '#/components/schemas/MerchantCreditsMintPostResponsesContentApplicationJsonSchemaJobId' required: - jobId title: Merchant_MintCredits_Response_200 Partial_Record_Blockchain.boolean__: type: object properties: solana: type: boolean eth: type: boolean polygon: type: boolean base: type: boolean user: type: boolean arbitrum: type: boolean stellar: type: boolean monad: type: boolean tempo: type: boolean description: Make all properties in T optional title: Partial_Record_Blockchain.boolean__ CustomFeePresentment: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' label: type: string required: - cents - currency - label title: CustomFeePresentment IPaymentVendorTransfer: type: object properties: external: type: string internal: type: string required: - internal title: IPaymentVendorTransfer JobStatusResponse: oneOf: - $ref: '#/components/schemas/JobStatusResponse0' - $ref: '#/components/schemas/JobStatusResponse1' - $ref: '#/components/schemas/JobStatusResponse2' title: JobStatusResponse CustomWithdrawFeeValue: oneOf: - $ref: '#/components/schemas/CustomWithdrawFeeValue0' - $ref: '#/components/schemas/CustomWithdrawFeeValue1' title: CustomWithdrawFeeValue IWithdrawerMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IWithdrawerMerchant EnhancedTxInfoIpLocation: type: object properties: hosting: type: boolean mobile: type: boolean proxy: type: boolean zip: type: string city: type: string isp: type: string region: type: string country: type: string lon: type: string lat: type: string required: - zip - city - isp - region - country - lon - lat title: EnhancedTxInfoIpLocation AnyObject: type: object properties: example: type: string title: AnyObject CardPayoutProvider: type: string enum: - aptpay - checkbook - shift4 - MOCK title: CardPayoutProvider IPayPalPaymentInfo: type: object properties: status: $ref: '#/components/schemas/PayPalPaymentStatus' processor: $ref: '#/components/schemas/PayPalProcessor' token: type: string authOnly: type: boolean transaction: type: string capturePending: type: boolean description: 'This means when we tried to capture from PayPal, they returned PENDING instead of COMPLETED. We will use this field to determine whether to refund a completed capture or not. If it was PENDING, and then it finally comletes at a later time, just refund it automatically.' sandboxSimulations: $ref: '#/components/schemas/IPayPalPaymentInfoSandboxSimulations' required: - status - processor - token title: IPayPalPaymentInfo Blockchain.TEMPO: type: string enum: - tempo title: Blockchain.TEMPO IRefundCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: IRefundCustomer ISubscriptionStringPlan: oneOf: - type: string - $ref: '#/components/schemas/ISubscriptionPlan_string_' title: ISubscriptionStringPlan Currency: type: string enum: - USD - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CHF - CLF - CLP - CNY - COP - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ETB - EUR - FJD - GBP - GEL - GHS - GMD - GNF - GTQ - GYD - HKD - HNL - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MUR - MWK - MVR - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RWF - SAR - SCR - SDG - SEK - SGD - SLE - SLL - SOS - SRD - STN - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - UYU - UZS - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMW - ZWL - CDF - ERN - FKP - KPW - RUB - SBD - SHP - SSP - VES title: Currency CardSettingsVerificationSettings: type: object properties: threshold3DS: $ref: '#/components/schemas/Cents' verificationLimit: $ref: '#/components/schemas/Cents' title: CardSettingsVerificationSettings ISecureDS: type: object properties: transactionId: type: string customer: $ref: '#/components/schemas/ISecureDsCustomer' merchantId: type: string cardType: $ref: '#/components/schemas/CardType' authenticationStatus: $ref: '#/components/schemas/AuthenticationStatus' challengeState: $ref: '#/components/schemas/ChallengeState' errorResponse: $ref: '#/components/schemas/ISecureDsErrorResponse' cavv: type: string eci: type: string dsTransactionId: type: string acsTransactionId: type: string version: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - transactionId - customer - merchantId - cardType - authenticationStatus - challengeState - createdAt - updatedAt title: ISecureDS Record_string.string_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_string.string_ IAvailability: type: object properties: status: $ref: '#/components/schemas/AvailabilityStatus' reason: type: string editor: type: string updatedAt: type: string format: date-time required: - status - reason - editor - updatedAt title: IAvailability PayoutFromDelegatedSettlementWalletRequestUnavailableForLegalReasonsError: type: object properties: verificationLink: type: string message: type: string required: - verificationLink - message title: PayoutFromDelegatedSettlementWalletRequestUnavailableForLegalReasonsError PayPalProcessor: type: string enum: - mock - paypal title: PayPalProcessor IPaymentStringCardInfo: type: object properties: storedTransactionType: $ref: '#/components/schemas/StoredCardTransactionType' authorizationPaymentReference: type: string originalPaymentId: type: string description: This is really the permissioning payment Id - what paymentId was used that had a CVV entered to authorize it statementDescriptor: type: string interchangeKey: type: string fraudReport: $ref: '#/components/schemas/FraudReport' enhancedTxInfo: $ref: '#/components/schemas/EnhancedTxInfo' transaction: type: string secureTransactionId: type: string processed3DS: $ref: '#/components/schemas/Verification3DS' cardType: $ref: '#/components/schemas/CardType' last4: type: string token: type: string mobileWallet: $ref: '#/components/schemas/MobileWallet' processor: $ref: '#/components/schemas/PaymentProcessor' authCode: type: string status: $ref: '#/components/schemas/CardPaymentStatus' authOnly: type: boolean required: - processor - authCode - status title: IPaymentStringCardInfo RainPendingTopUp: type: object properties: amount: type: number format: double queuedAt: type: string format: date-time transactionId: type: string required: - amount - queuedAt - transactionId title: RainPendingTopUp CustomerUsdcTransferDataValidAfter: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataValidAfter Merchant_GetChargeback_Response_200: type: object properties: customer: $ref: '#/components/schemas/CustomerData' payment: $ref: '#/components/schemas/IPayment' chargeback: $ref: '#/components/schemas/IChargeback' required: - customer - payment - chargeback title: Merchant_GetChargeback_Response_200 InterchangeFees: type: object properties: settings: $ref: '#/components/schemas/InterchangeSettings' rates: $ref: '#/components/schemas/Record_string.InterchangeRate_' required: - settings title: InterchangeFees ISubscription_string_: type: object properties: _id: type: string customer: $ref: '#/components/schemas/ISubscriptionStringCustomer' merchant: $ref: '#/components/schemas/ISubscriptionStringMerchant' plan: $ref: '#/components/schemas/ISubscriptionStringPlan' cardProcessor: $ref: '#/components/schemas/PaymentProcessor' achProcessor: $ref: '#/components/schemas/AchProcessor' reference: type: string nextPaymentAt: type: string format: date-time status: $ref: '#/components/schemas/SubscriptionStatus' webhookInfo: $ref: '#/components/schemas/AnyObject' marketplaceInfo: $ref: '#/components/schemas/Pick_MarketplaceInfo.fixedFee-or-feePercentage_' createdAt: type: string format: date-time updatedAt: type: string format: date-time version: $ref: '#/components/schemas/SubscriptionVersion' required: - _id - customer - merchant - plan - reference - status - createdAt - updatedAt - version title: ISubscription_string_ WithdrawWithDescriptiveStatusUserLocation: type: object properties: resolvedState: type: string resolvedCountry: type: string lng: type: number format: double lat: type: number format: double required: - lng - lat description: 'Browser-captured geolocation at the time of the withdraw request, when the caller supplied one. Stored independently of payout method so the merchant dashboard can render a map for any withdraw. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' title: WithdrawWithDescriptiveStatusUserLocation RainContractInfoOnramp: type: object properties: wire: $ref: '#/components/schemas/RainAccountDetails' rtp: $ref: '#/components/schemas/RainAccountDetails' ach: $ref: '#/components/schemas/RainAccountDetails' title: RainContractInfoOnramp Funding: type: string enum: - credit - debit - prepaid title: Funding USState: type: string enum: - AL - AK - AZ - AR - CA - CO - CT - DE - DC - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY title: USState IWithdrawManualFailAudit: type: object properties: editor: type: string editorType: $ref: '#/components/schemas/EditorType' ipAddress: type: string failedAt: type: string format: date-time required: - editor - editorType - ipAddress - failedAt title: IWithdrawManualFailAudit DelegatedPayoutResponse: type: object properties: signature: type: string effectiveSpeed: $ref: '#/components/schemas/WithdrawSpeed' required: - signature - effectiveSpeed title: DelegatedPayoutResponse WirePaymentStatus: type: string enum: - INITIATED - DEPOSITED - SETTLED - FAILED - EXPIRED - REFUNDED title: WirePaymentStatus MobileWallet: type: string enum: - applePay - googlePay title: MobileWallet IbanRfiWebhookData: type: object properties: rfiId: type: string merchantId: type: string mergeTransactionId: type: string counterpartyName: type: string amount: $ref: '#/components/schemas/CurrencyCents' paymentType: type: string paymentDate: type: string dueDate: type: string paymentId: type: string customerId: type: string withdrawId: type: string withdrawerId: type: string required: - rfiId - merchantId - mergeTransactionId - counterpartyName - amount - paymentType - paymentDate title: IbanRfiWebhookData CoinflowEntity: type: string enum: - US - Poland - Canada description: 'The Coinflow legal entity that owns a transaction. Used for compliance/finance''s per-payment entity reporting (#14259).' title: CoinflowEntity WatchlistStatus: type: string enum: - Unknown - UnderReview - Passed - Blocked title: WatchlistStatus DirectVendorSettlement: type: string enum: - brale title: DirectVendorSettlement ICustomerWalletMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: ICustomerWalletMerchant IPaymentStringUserLocation: type: object properties: resolvedState: type: string resolvedCountry: type: string lng: type: number format: double lat: type: number format: double required: - lng - lat description: 'Browser-captured geolocation at the time of the request, when the caller supplied one. Stored independently of payment method so the merchant dashboard can render a map for any purchase type. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' title: IPaymentStringUserLocation UAParser.IBrowser: type: object properties: name: type: string description: 'Possible values : Amaya, Android Browser, Arora, Avant, Baidu, Blazer, Bolt, Camino, Chimera, Chrome, Chromium, Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Edge, Epiphany, Fennec, Firebird, Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe, IceCat, IceDragon, Iceweasel, IE [Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle, Links, Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, MIUI Browser, [Mobile] Safari, Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet], Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox, Tizen, UCBrowser, Vivaldi, w3m, Yandex' version: type: string description: Determined dynamically major: type: string description: Determined dynamically title: UAParser.IBrowser IPaymentStringCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: IPaymentStringCustomer ReserveSettings: type: object properties: status: $ref: '#/components/schemas/ReserveStatus' rollingBps: type: number format: double rollingDuration: type: number format: double notes: type: string required: - status - rollingBps - rollingDuration title: ReserveSettings IRefundMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IRefundMerchant IMerchantStringWalletsSolana: type: object properties: usdcPayer: type: string feePayer: type: string required: - usdcPayer - feePayer title: IMerchantStringWalletsSolana IPaymentMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IPaymentMerchant WebhookDisplay: type: object properties: id: type: string merchantId: type: string eventType: $ref: '#/components/schemas/WebhookEventType' category: $ref: '#/components/schemas/WebhookCategory' providerId: type: string version: $ref: '#/components/schemas/WebhookVersion' data: $ref: '#/components/schemas/WebhookDisplayData' sentAt: type: string format: date-time url: type: string responseCode: type: number format: double responseData: $ref: '#/components/schemas/WebhookResponse' required: - id - merchantId - eventType - category - version - data - sentAt - url - responseCode title: WebhookDisplay PixProcessor: type: string enum: - brla - mock title: PixProcessor DelegatedPayoutQuote: type: object properties: asap: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' same_day: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' standard: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' card: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' iban: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' pix: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' eft: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' venmo: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' paypal: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' wire: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' interac: $ref: '#/components/schemas/WithdrawQuoteFeesAndLimit' quote: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/GasFeeEstimate' swapFees: $ref: '#/components/schemas/CurrencyCents' totalMerchantDebit: $ref: '#/components/schemas/CurrencyCents' userPayout: $ref: '#/components/schemas/CurrencyCents' merchantFees: $ref: '#/components/schemas/CurrencyCents' required: - asap - same_day - standard - card - iban - pix - eft - venmo - paypal - wire - interac - quote - totalMerchantDebit - userPayout - merchantFees title: DelegatedPayoutQuote CustomPayInFeeValue1: type: object properties: cents: type: - number - 'null' format: double currency: type: - number - 'null' format: double percent: type: number format: double isFixed: type: boolean required: - cents - currency - percent - isFixed title: CustomPayInFeeValue1 AptPayCanadaSettings: oneOf: - $ref: '#/components/schemas/AptpayCanadaMerchantSettings' - $ref: '#/components/schemas/AptpayCanadaCoinflowSettings' title: AptPayCanadaSettings UrlWhitelistStatus: type: string enum: - PENDING - APPROVED - REJECTED title: UrlWhitelistStatus Merchant_GetPayoutBalance_Response_200: type: object properties: balance: $ref: '#/components/schemas/Cents' required: - balance title: Merchant_GetPayoutBalance_Response_200 Record_string.InterchangeRate_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_string.InterchangeRate_ IWithdrawWithdrawer: oneOf: - type: string - $ref: '#/components/schemas/IUser_string_' - $ref: '#/components/schemas/IBusiness_string_' title: IWithdrawWithdrawer Pick_WebhookSettings.Exclude_keyofWebhookSettings.webhookUrls__: type: object properties: version: $ref: '#/components/schemas/WebhookVersion' subscriptions: type: array items: $ref: '#/components/schemas/WebhookEventType' disableAuthorizationHeader: type: boolean disableSubmerchantToParentWebhooks: type: boolean required: - version - subscriptions description: From T, pick a set of properties whose keys are in the union K title: Pick_WebhookSettings.Exclude_keyofWebhookSettings.webhookUrls__ IMerchant_string_: type: object properties: _id: type: string merchantId: type: string verification: $ref: '#/components/schemas/Verification' brand: $ref: '#/components/schemas/MerchantBrandSettings' colors: $ref: '#/components/schemas/MerchantTheme' url: type: string withdrawFees: $ref: '#/components/schemas/IMerchantStringWithdrawFees' customWithdrawFees: $ref: '#/components/schemas/CustomWithdrawFeesConfig' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' wallets: $ref: '#/components/schemas/IMerchantStringWallets' apiKey: type: string webhookValidationKey: type: string nmiWebhookValidationKey: type: string apiKeys: type: array items: $ref: '#/components/schemas/IMerchantStringApiKeysItems' kycType: $ref: '#/components/schemas/KycType' settlementToken: $ref: '#/components/schemas/StableCoin' settlementAddresses: $ref: '#/components/schemas/IMerchantStringSettlementAddresses' users: type: array items: $ref: '#/components/schemas/IMerchantUser' ubos: type: array items: $ref: '#/components/schemas/UboEntry' goLiveChecklist: $ref: '#/components/schemas/MerchantGoLiveChecklist' webhookSettings: $ref: '#/components/schemas/WebhookSettings' cardSettings: $ref: '#/components/schemas/CardSettings' achSettings: $ref: '#/components/schemas/ACHSettings' citconSettings: $ref: '#/components/schemas/CitconSettings' aptPayCanadaSettings: $ref: '#/components/schemas/AptPayCanadaSettings' wireSettings: $ref: '#/components/schemas/IWireProviderSettings' pixSettings: $ref: '#/components/schemas/PixSettings' ibanSettings: $ref: '#/components/schemas/IbanSettings' cryptoPayinSettings: $ref: '#/components/schemas/CryptoPayInSettings' passiveWithdrawSettings: $ref: '#/components/schemas/PassiveWithdrawSettings' cashAppSettings: $ref: '#/components/schemas/CashAppSettings' rainCompanyCards: $ref: '#/components/schemas/RainCompanyCardsSettings' paypalSettings: $ref: '#/components/schemas/PayPalSettings' venmoSettings: $ref: '#/components/schemas/VenmoSettings' apaSettings: $ref: '#/components/schemas/ApaSettings' verisoulSettings: $ref: '#/components/schemas/VerisoulSettings' blockConfig: $ref: '#/components/schemas/IMerchantStringBlockConfig' hideBranding: type: boolean onlyShowTotal: type: boolean skipSendWithdrawEmail: type: boolean sendInvoiceNotifications: type: boolean advancedAnalytics: type: boolean billingEmails: type: array items: type: string withdrawFeePayment: $ref: '#/components/schemas/IMerchantStringWithdrawFeePayment' pushToCardEnabled: type: boolean requireAniCheck: type: boolean bankPayoutProvider: type: array items: $ref: '#/components/schemas/PayoutProviderOption' ibanPayoutProviders: type: array items: $ref: '#/components/schemas/IbanPayoutProvider' ibanPayoutProvider: $ref: '#/components/schemas/IbanPayoutProvider' rtpPayoutProviders: type: array items: $ref: '#/components/schemas/RtpPayoutProvider' rtpPayoutProvider: $ref: '#/components/schemas/RtpPayoutProvider' pixPayoutProviders: type: array items: $ref: '#/components/schemas/PixPayoutProvider' pixPayoutProvider: $ref: '#/components/schemas/PixPayoutProvider' eftPayoutProviders: type: array items: $ref: '#/components/schemas/EftPayoutProvider' eftPayoutProvider: $ref: '#/components/schemas/EftPayoutProvider' p2cPayoutProviders: type: array items: $ref: '#/components/schemas/CardPayoutProvider' p2cPayoutProvider: $ref: '#/components/schemas/CardPayoutProvider' globalP2cPayoutProvider: $ref: '#/components/schemas/CardPayoutProvider' appleP2cPayoutProvider: $ref: '#/components/schemas/ApplePayPayoutProvider' venmoPayoutProviders: type: array items: $ref: '#/components/schemas/VenmoPayoutProvider' venmoPayoutProvider: $ref: '#/components/schemas/VenmoPayoutProvider' paypalPayoutProviders: type: array items: $ref: '#/components/schemas/PayPalPayoutProvider' paypalPayoutProvider: $ref: '#/components/schemas/PayPalPayoutProvider' wirePayoutProvider: type: array items: $ref: '#/components/schemas/WirePayoutProvider' interacPayoutProviders: type: array items: $ref: '#/components/schemas/InteracPayoutProvider' interacPayoutProvider: $ref: '#/components/schemas/InteracPayoutProvider' interacPaymentProvider: $ref: '#/components/schemas/InteracProcessor' interacSettings: $ref: '#/components/schemas/InteracSettings' withdrawSorting: $ref: '#/components/schemas/Partial_Record_WithdrawSpeed.WithdrawSort__' withdrawRules: type: array items: type: string firstPartyPayoutOverrides: $ref: '#/components/schemas/IMerchantStringFirstPartyPayoutOverrides' maxTransactionAmount: $ref: '#/components/schemas/Cents' minTransactionAmount: $ref: '#/components/schemas/Cents' refundBalanceLimit: $ref: '#/components/schemas/Cents' parent: type: string creditSeed: type: string withdrawSettlementLocation: $ref: '#/components/schemas/SettlementLocations' enforceJwt: type: boolean enforceCheckoutJwt: type: boolean externalVerificationLinks: type: boolean whitelistedAncestorUrls: type: array items: type: string banDuplicateAccounts: type: boolean fxFees: $ref: '#/components/schemas/Partial_Record_Currency.number__' blocked: $ref: '#/components/schemas/BlockedStatus' vendorSettings: $ref: '#/components/schemas/VendorSettings' generatedDescription: type: string bankSettlementOptions: $ref: '#/components/schemas/MerchantBankSettlementOptions' allowAttestedKyc: type: boolean attestedKycSsnNotRequired: type: boolean allowAccountSharing: type: boolean personaKycShareTokenTemplate: type: string delayedSettlementDays: type: number format: double description: 'Number of business days to delay stablecoin settlement after payment capture. Only applies to USDC settlements. 0 means no delay (immediate settlement). Maximum value is 5 days.' sendPresettleWebhooks: type: boolean velocitySettings: $ref: '#/components/schemas/VelocityControlSettings' interchangeFees: $ref: '#/components/schemas/InterchangeFees' enforceLivenessKyc: type: boolean canCreateBankAccounts: type: boolean checkbookSettings: $ref: '#/components/schemas/IMerchantStringCheckbookSettings' reserveSettings: $ref: '#/components/schemas/ReserveSettings' globalRateLimit: type: number format: double banProxiesForCheckoutEndpoints: type: boolean riskControls: $ref: '#/components/schemas/IMerchantStringRiskControls' acceptedToS: type: boolean ssoSettings: $ref: '#/components/schemas/MerchantSsoSettings' chargebackFeeCents: type: number format: double chargebackEmails: type: array items: type: string fraudEmails: type: array items: type: string linkedBankAccount: $ref: '#/components/schemas/LinkedBankAccount' customerDefaultOverrideLimit: $ref: '#/components/schemas/Cents' customerOverrideLimitCeiling: $ref: '#/components/schemas/Cents' customerDefaultExposureLimit: $ref: '#/components/schemas/Cents' dailyExposureLimit: $ref: '#/components/schemas/Cents' monthlyExposureLimit: $ref: '#/components/schemas/Cents' mcc: type: string processing: $ref: '#/components/schemas/IMerchantStringProcessing' required: - _id - merchantId - verification - withdrawFees - wallets - apiKey - apiKeys - kycType - settlementToken - users - ubos - goLiveChecklist - cardSettings - achSettings - wireSettings - pixSettings - ibanSettings - cryptoPayinSettings - cashAppSettings - paypalSettings - venmoSettings - apaSettings - hideBranding - onlyShowTotal - skipSendWithdrawEmail - sendInvoiceNotifications - advancedAnalytics - pushToCardEnabled - requireAniCheck - interacSettings - refundBalanceLimit - creditSeed - withdrawSettlementLocation - enforceJwt - delayedSettlementDays - interchangeFees title: IMerchant_string_ AchProcessor: type: string enum: - mock - aptpay - coinfx - braid title: AchProcessor AVSResponseCode: type: string enum: - A - B - C - D - E - G - I - M - N - O - P - R - S - U - W - X - Y - Z description: 'AVS (Address Verification System) Response Codes These codes indicate the results of address verification checks' title: AVSResponseCode CustomWithdrawFeeValue1: type: object properties: maxFeeCents: type: - number - 'null' format: double minFeeCents: type: - number - 'null' format: double coverProcessingFees: type: boolean cents: type: - number - 'null' format: double currency: oneOf: - $ref: '#/components/schemas/Currency' - type: 'null' percent: type: number format: double isFixed: type: boolean required: - maxFeeCents - minFeeCents - coverProcessingFees - cents - percent - isFixed title: CustomWithdrawFeeValue1 ISubscriptionPlanStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: ISubscriptionPlanStringMerchant IGeoBlockOverride: type: object properties: reason: type: string setBy: type: string setAt: type: string format: date-time expiresAt: type: string format: date-time required: - reason - setBy - setAt description: 'Per-customer exemption from real-time geographic enforcement. When set and not expired, withdrawal blocking rules with method `GEOLOCATION` or `IP` are skipped for this withdrawer. `KYC_ADDRESS` rules still apply — KYC is the compliance floor and must remain enforceable. Auditable by construction: `reason` and `setBy` are required so admins can review why a specific user was exempted. `expiresAt` is optional but strongly recommended; long-lived overrides should be avoided.' title: IGeoBlockOverride MerchantBrandSettings: type: object properties: portalBrand: $ref: '#/components/schemas/PortalBrand' logo: type: string displayName: type: string title: MerchantBrandSettings GreenlightMerchantArgs: type: object properties: securityKey: type: string mid: type: string required: - securityKey - mid title: GreenlightMerchantArgs IWithdrawMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IWithdrawMerchant CitconSettings: type: object properties: fundPurpose: $ref: '#/components/schemas/CitconSettingsFundPurpose' apiKey: type: string required: - fundPurpose title: CitconSettings PixPaymentStatus: type: string enum: - INITIATED - DEPOSITED - SETTLED - FAILED - EXPIRED - REFUNDED title: PixPaymentStatus ExportFilters: type: object properties: since: type: string until: type: string status: type: string method: type: string search: type: string protection: type: string processor: type: string amount: type: string authCode: type: string timezone: type: string merchantId: type: string statementMonth: type: number format: double statementYear: type: number format: double title: ExportFilters ExportStatus: type: string enum: - Pending - Processing - Completed - Failed title: ExportStatus StableCoin: type: string enum: - USDC - SBC - EUROe - FXUSD - HSUSD - CFUSD - YPUSD title: StableCoin LiabilityOwner: type: string enum: - coinflow-entity - coinflow - merchant title: LiabilityOwner WebhookData: oneOf: - $ref: '#/components/schemas/PaymentWebhookData' - $ref: '#/components/schemas/PaymentWebhookData3' - $ref: '#/components/schemas/PaymentDeclinedWebhookData' - $ref: '#/components/schemas/PaymentDeclinedWebhookData3' - $ref: '#/components/schemas/SettledWebhookData' - $ref: '#/components/schemas/SettledWebhookData3' - $ref: '#/components/schemas/SubscriptionWebhookData' - $ref: '#/components/schemas/SubscriptionWebhookData3' - $ref: '#/components/schemas/PaymentChargebackWebhookData' - $ref: '#/components/schemas/PaymentChargebackWebhookData3' - $ref: '#/components/schemas/KycWebhookData' - $ref: '#/components/schemas/SubMerchantWebhookData' - $ref: '#/components/schemas/WithdrawWebhookData' - $ref: '#/components/schemas/RefundWebhookData' - $ref: '#/components/schemas/ReserveWebhookData' - $ref: '#/components/schemas/IbanRfiWebhookData' - $ref: '#/components/schemas/CryptoDepositFundsReceivedWebhookData' - $ref: '#/components/schemas/CustomerOverrideLimitWebhookData' - $ref: '#/components/schemas/CryptoPayinFundsReceivedWebhookData' - $ref: '#/components/schemas/DisbursedFundsWebhookData' title: WebhookData RainCardApplicationStatus: type: string enum: - approved - pending - needsInformation - needsVerification - manualReview - denied - locked - canceled title: RainCardApplicationStatus IPaymentStringCryptoInfo: type: object properties: tier: $ref: '#/components/schemas/CryptoTiers' paymentCurrency: type: string overpaymentAmount: type: string actualPaymentAmountUSD: type: string depositAddress: type: string refundAddress: type: string refundTransactionHash: type: string sessionId: type: string reason: type: string tokenLogoUrl: type: string blockchainLogoUrl: type: string tokenAmount: type: string token: type: string sponsoredTransactionHash: type: string originatingTransactionHash: type: string originatingWallet: type: string processed: type: string format: date-time transaction: type: string tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' status: $ref: '#/components/schemas/CryptoPaymentStatus' required: - status title: IPaymentStringCryptoInfo WithdrawFailedReturnStatus: type: string enum: - pending_return - return_completed title: WithdrawFailedReturnStatus Pick_IVenmo.Exclude_keyofIVenmo.vendorData__: type: object properties: isDeleted: type: boolean alias: type: string token: type: string type: $ref: '#/components/schemas/PickIVenmoExcludeKeyofIVenmoVendorDataType' required: - alias - token - type description: From T, pick a set of properties whose keys are in the union K title: Pick_IVenmo.Exclude_keyofIVenmo.vendorData__ DelegatedPayoutQuoteArgs: type: object properties: speed: $ref: '#/components/schemas/WithdrawSpeed' account: type: string description: The debit card, bank or Iban pci-compliant token userId: type: string description: The Merchant generated userId for the user. amount: $ref: '#/components/schemas/DelegatedPayoutQuoteArgsAmount' required: - speed - account - userId - amount description: From T, pick a set of properties whose keys are in the union K title: DelegatedPayoutQuoteArgs UAParser.IDevice: type: object properties: model: type: string description: Determined dynamically type: type: string description: 'Possible type: console, mobile, tablet, smarttv, wearable, embedded' vendor: type: string description: 'Possible vendor: Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, Ouya, Palm, Panasonic, Polytron, RIM, Samsung, Sharp, Siemens, Sony-Ericsson, Sprint, Xbox, ZTE' title: UAParser.IDevice VelocityControlSettings: type: object properties: limitMode: $ref: '#/components/schemas/VelocityLimitMode' customLimit: type: number format: double haltOnThreshold: type: boolean lastHaltNotificationSentAt: type: string format: date-time lastSettlementPausedNotificationSentAt: type: string format: date-time required: - limitMode title: VelocityControlSettings KytAlertStatus: type: string enum: - open - blocked title: KytAlertStatus CreateCryptoWithdrawBody: type: object properties: account: type: string description: The payout account token (e.g., bank account or debit card token) speed: $ref: '#/components/schemas/WithdrawSpeed' chain: type: string description: The supported chain name (e.g., "Ethereum", "Polygon", "Solana") token: type: string description: The token symbol to deposit (e.g., "USDC") required: - account - speed - chain - token title: CreateCryptoWithdrawBody CardSettings: type: object properties: processor: $ref: '#/components/schemas/PaymentProcessor' orchestrationRuleId: type: string applePayProcessor: $ref: '#/components/schemas/PaymentProcessor' googlePayProcessor: $ref: '#/components/schemas/PaymentProcessor' creditCardFeeMode: $ref: '#/components/schemas/FeePayerMode' chargebackProtectionFeeMode: $ref: '#/components/schemas/FeePayerMode' gasFeeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' networkFeeMode: $ref: '#/components/schemas/FeePayerMode' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean fixedFee: $ref: '#/components/schemas/Cents' variableFeeBps: type: number format: double networkFeeBps: type: number format: double supportsGooglePay: type: boolean supportsApplePay: type: boolean saveCardDefault: type: boolean ignoreProcessorLimit: type: boolean nameMatchThreshold: type: number format: double verificationSettings: $ref: '#/components/schemas/CardSettingsVerificationSettings' avsCheck: type: boolean threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' enforce3DSWhenProtectionExempt: type: boolean greenlightMerchantArgs: $ref: '#/components/schemas/GreenlightMerchantArgs' nuveiV1MerchantArgs: $ref: '#/components/schemas/NuveiV1MerchantArgs' crbMerchantArgs: $ref: '#/components/schemas/CrbMerchantArgs' threeDSArgs: $ref: '#/components/schemas/ThreeDSArgs' statementDescriptor: type: string tokenizationProvider: $ref: '#/components/schemas/TokenizationProviderOption' applePayIntegratorRegistration: $ref: '#/components/schemas/ApplePayIntegratorRegistration' applePayMerchantDecryption: type: boolean applePayCertificates: $ref: '#/components/schemas/CardSettingsApplePayCertificates' aftSettings: $ref: '#/components/schemas/AftSettings' customStatementDescriptor: type: boolean cardOnFileSettings: $ref: '#/components/schemas/CardOnFileSettings' mitSettings: $ref: '#/components/schemas/CardOnFileSettings' blockCardReuseAcrossCustomers: type: boolean description: When true, blocks a card payment if the same card token has been used by a different customer for this merchant. allowedCardNetworks: type: array items: $ref: '#/components/schemas/CardType' allowServerToServerTokenization: type: boolean visaFraudMonitoringProgram: type: boolean refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - customerEmailNotifications - merchantEmailNotifications - avsCheck - threeDsChallengePreference - enforce3DSWhenProtectionExempt title: CardSettings WithdrawWithDescriptiveStatusWithdrawer: oneOf: - type: string - $ref: '#/components/schemas/IUser_string_' - $ref: '#/components/schemas/IBusiness_string_' title: WithdrawWithDescriptiveStatusWithdrawer RefundWebhookData: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' totals: $ref: '#/components/schemas/RefundTotals' paymentId: type: string status: $ref: '#/components/schemas/RefundStatus' webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' cardToken: type: string last4: type: string bin: type: string required: - wallet - blockchain - totals - paymentId - status title: RefundWebhookData WithdrawWithDescriptiveStatusMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: WithdrawWithDescriptiveStatusMerchant OrchestrationTraversalStep: type: object properties: nodeId: type: string nodeType: $ref: '#/components/schemas/OrchestrationTraversalStepNodeType' outcome: type: string operation: type: string required: - nodeId - nodeType title: OrchestrationTraversalStep GasFeeEstimate: type: object properties: gasFees: $ref: '#/components/schemas/CurrencyCents' gasFeesWei: type: string required: - gasFees - gasFeesWei description: Represents an estimate of gas fees for a transaction. title: GasFeeEstimate SupportedChainToken: type: object properties: name: type: string symbol: type: string image: type: string required: - name - symbol - image title: SupportedChainToken MerchantStyle: type: string enum: - rounded - sharp - pill title: MerchantStyle IPixAccount: type: object properties: key: type: string accountHash: type: string token: type: string required: - key - accountHash - token title: IPixAccount ThreeDSArgs: type: object properties: VISA: $ref: '#/components/schemas/AcquirerInfo' MSTR: $ref: '#/components/schemas/AcquirerInfo' AMEX: $ref: '#/components/schemas/AcquirerInfo' DISC: $ref: '#/components/schemas/AcquirerInfo' scaOnly: type: boolean allowAttempts: type: boolean mcc: type: string required: - VISA - MSTR - AMEX - DISC - allowAttempts - mcc description: Construct a type with a set of properties K of type T title: ThreeDSArgs CardSettingsApplePayCertificates: type: object properties: merchantIdCert: type: string privatePem: type: string certPem: type: string merchantDisplay: type: string merchantIdentifier: type: string required: - merchantIdCert - privatePem - certPem - merchantDisplay - merchantIdentifier title: CardSettingsApplePayCertificates WebhookEventType: type: string enum: - Card Payment Authorized - Card Payment Declined - Card Payment Voided - Credits Minted - ACH Initiated - ACH Success - ACH Returned - ACH Failed - ACH Chargeback - ACH Batched - PIX Failed - PIX Expiration - Payment Authorized - Payment Expiration - Settled - Wire Initiated - USDC Payment Received - Subscription Created - Subscription Canceled - Subscription Expired - Subscription Failure - Subscription Concluded - Card Payment Chargeback Opened - Card Payment Chargeback Won - Card Payment Chargeback Lost - Card Payment Suspected Fraud - Payment Pending Review - KYC Created - KYC Success - KYC Failure - Sub-merchant KYB Created - Sub-merchant KYB Success - Sub-merchant KYB Failure - Withdraw Pending - Withdraw Success - Withdraw Failure - Seller Blocked - Refund - Refund Complete - Refund Failure - Refund Returned - Wire Failure - Iban Failure - Interac Failure - CashApp Failure - PayPal Failure - Venmo Failure - Reserve Released - Crypto Overpayment - Crypto Underpayment - Iban RFI Created - Iban RFI Submitted - Crypto Deposit Funds Received - Customer Override Limit Threshold - Crypto Payin Funds Received - PayPal Payment Authorized - PayPal Payment Voided - PayPal Payment Chargeback Opened - PayPal Payment Chargeback Won - PayPal Payment Chargeback Lost - Venmo Payment Authorized - Venmo Payment Voided - Venmo Payment Chargeback Opened - Venmo Payment Chargeback Won - Venmo Payment Chargeback Lost - Disbursed Funds title: WebhookEventType FraudReport: type: object properties: requestId: type: string report: $ref: '#/components/schemas/Record_any.any_' reportedAt: type: string format: date-time description: Timestamp when fraud was reported for this payment required: - requestId - report title: FraudReport Country: type: string enum: - AF - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AX - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - CV - KH - CM - CA - KY - CF - TD - CL - CN - CX - CC - CO - KM - CD - CG - CK - CR - HR - CU - CW - CY - CZ - CI - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - EH - SZ - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - MK - RO - RU - RW - RE - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - SS - ES - LK - SD - SR - SJ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - UM - US - UY - UZ - VU - VE - VN - VG - VI - WF - XK - YE - ZM - ZW title: Country ICustomerWalletBlockConfigOverride: type: object properties: maxDistinctTokensPer30Days: type: number format: double description: Per-customer overrides of merchant `blockConfig`. Only honored when they raise the effective limit. title: ICustomerWalletBlockConfigOverride Blockchain.POLYGON: type: string enum: - polygon title: Blockchain.POLYGON ReferenceKey: type: object properties: referenceId: type: string merchantId: type: string required: - referenceId - merchantId title: ReferenceKey MerchantPaymentsAchReturnsGetParametersSortBy: type: string enum: - createdAt - amount title: MerchantPaymentsAchReturnsGetParametersSortBy Verification: type: object properties: reference: type: string status: $ref: '#/components/schemas/VerificationStatus' vendor: $ref: '#/components/schemas/VerificationVendor' name: type: string attested: type: boolean shareToken: type: string shareTokenStatus: type: string sessionToken: type: string required: - reference - status - vendor title: Verification Merchant_RefundPayment_Response_200: oneOf: - type: number format: double - type: string title: Merchant_RefundPayment_Response_200 SubMerchantWebhookData: type: object properties: merchantId: type: string email: type: string reason: type: string required: - merchantId - email title: SubMerchantWebhookData Partial_Record_Currency.number__: type: object properties: USD: type: number format: double AED: type: number format: double AFN: type: number format: double ALL: type: number format: double AMD: type: number format: double ANG: type: number format: double AOA: type: number format: double ARS: type: number format: double AUD: type: number format: double AWG: type: number format: double AZN: type: number format: double BAM: type: number format: double BBD: type: number format: double BDT: type: number format: double BGN: type: number format: double BHD: type: number format: double BIF: type: number format: double BMD: type: number format: double BND: type: number format: double BOB: type: number format: double BRL: type: number format: double BSD: type: number format: double BTN: type: number format: double BWP: type: number format: double BYN: type: number format: double BZD: type: number format: double CAD: type: number format: double CHF: type: number format: double CLF: type: number format: double CLP: type: number format: double CNY: type: number format: double COP: type: number format: double CRC: type: number format: double CUP: type: number format: double CVE: type: number format: double CZK: type: number format: double DJF: type: number format: double DKK: type: number format: double DOP: type: number format: double DZD: type: number format: double EGP: type: number format: double ETB: type: number format: double EUR: type: number format: double FJD: type: number format: double GBP: type: number format: double GEL: type: number format: double GHS: type: number format: double GMD: type: number format: double GNF: type: number format: double GTQ: type: number format: double GYD: type: number format: double HKD: type: number format: double HNL: type: number format: double HTG: type: number format: double HUF: type: number format: double IDR: type: number format: double ILS: type: number format: double INR: type: number format: double IQD: type: number format: double IRR: type: number format: double ISK: type: number format: double JMD: type: number format: double JOD: type: number format: double JPY: type: number format: double KES: type: number format: double KGS: type: number format: double KHR: type: number format: double KMF: type: number format: double KRW: type: number format: double KWD: type: number format: double KYD: type: number format: double KZT: type: number format: double LAK: type: number format: double LBP: type: number format: double LKR: type: number format: double LRD: type: number format: double LSL: type: number format: double LYD: type: number format: double MAD: type: number format: double MDL: type: number format: double MGA: type: number format: double MKD: type: number format: double MMK: type: number format: double MNT: type: number format: double MOP: type: number format: double MRU: type: number format: double MUR: type: number format: double MWK: type: number format: double MVR: type: number format: double MXN: type: number format: double MYR: type: number format: double MZN: type: number format: double NAD: type: number format: double NGN: type: number format: double NIO: type: number format: double NOK: type: number format: double NPR: type: number format: double NZD: type: number format: double OMR: type: number format: double PAB: type: number format: double PEN: type: number format: double PGK: type: number format: double PHP: type: number format: double PKR: type: number format: double PLN: type: number format: double PYG: type: number format: double QAR: type: number format: double RON: type: number format: double RSD: type: number format: double RWF: type: number format: double SAR: type: number format: double SCR: type: number format: double SDG: type: number format: double SEK: type: number format: double SGD: type: number format: double SLE: type: number format: double SLL: type: number format: double SOS: type: number format: double SRD: type: number format: double STN: type: number format: double SVC: type: number format: double SYP: type: number format: double SZL: type: number format: double THB: type: number format: double TJS: type: number format: double TMT: type: number format: double TND: type: number format: double TOP: type: number format: double TRY: type: number format: double TTD: type: number format: double TWD: type: number format: double TZS: type: number format: double UAH: type: number format: double UGX: type: number format: double UYU: type: number format: double UZS: type: number format: double VND: type: number format: double VUV: type: number format: double WST: type: number format: double XAF: type: number format: double XCD: type: number format: double XOF: type: number format: double XPF: type: number format: double YER: type: number format: double ZAR: type: number format: double ZMW: type: number format: double ZWL: type: number format: double CDF: type: number format: double ERN: type: number format: double FKP: type: number format: double KPW: type: number format: double RUB: type: number format: double SBD: type: number format: double SHP: type: number format: double SSP: type: number format: double VES: type: number format: double description: Make all properties in T optional title: Partial_Record_Currency.number__ CardType: type: string enum: - VISA - MSTR - AMEX - DISC title: CardType NameMatchStatus: type: string enum: - unmatched - matched - self_reported - failed - confirmed_failure - override - grandfathered description: 'The accountNumber is the encrypted accountNumber The accountNumberOnlyHash is computed off the account_number in the secure vault - this could differ because bank-link data may provide a tokenized account number The accountHash also uses account_number, but may also include routingNumber and wireRoutingNumber' title: NameMatchStatus PixPayoutProvider: type: string enum: - brla - mock title: PixPayoutProvider CreateExportRequest: type: object properties: type: $ref: '#/components/schemas/ExportType' format: $ref: '#/components/schemas/ExportFormat' filters: $ref: '#/components/schemas/ExportFilters' required: - type - format - filters title: CreateExportRequest JobStatusResponse2: type: object properties: error: type: string status: $ref: '#/components/schemas/JobStatusResponseOneOf2Status' required: - error - status title: JobStatusResponse2 ExchangeTotalsResponse: type: object properties: fxFees: $ref: '#/components/schemas/CurrencyCents' networkFees: $ref: '#/components/schemas/CurrencyCents' payInFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' reserve: $ref: '#/components/schemas/CurrencyCents' merchantPaidCreditCardFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidGasFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidFxFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidNetworkFees: $ref: '#/components/schemas/CurrencyCents' invoicedCreditCardFees: $ref: '#/components/schemas/CurrencyCents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' invoicedGasFees: $ref: '#/components/schemas/CurrencyCents' invoicedFxFees: $ref: '#/components/schemas/CurrencyCents' invoicedNetworkFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' chargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' creditCardFees: $ref: '#/components/schemas/CurrencyCents' subtotal: $ref: '#/components/schemas/CurrencyCents' required: - fxFees - total description: From T, pick a set of properties whose keys are in the union K title: ExchangeTotalsResponse RainCompanyCardsSettings: type: object properties: enabled: type: boolean rainCompanyId: type: string externalId: type: string applicationStatus: $ref: '#/components/schemas/RainCardApplicationStatus' applicationReason: type: string completionLink: type: string submittedAt: type: string format: date-time lastSyncedAt: type: string format: date-time contract: $ref: '#/components/schemas/RainContractInfo' autoTopUp: $ref: '#/components/schemas/RainAutoTopUpSettings' pendingTopUps: type: array items: $ref: '#/components/schemas/RainPendingTopUp' processedSpendTxnIds: type: array items: type: string title: RainCompanyCardsSettings KycType: type: string enum: - person - business - both title: KycType MerchantPutRequestBodyContentApplicationJsonSchemaSettlementAddresses: type: object properties: solana: type: string eth: type: string polygon: type: string base: type: string user: type: string arbitrum: type: string stellar: type: string monad: type: string tempo: type: string title: MerchantPutRequestBodyContentApplicationJsonSchemaSettlementAddresses WebhookResponse: type: object properties: {} title: WebhookResponse IMerchantStringSettlementAddresses: type: object properties: solana: type: string eth: type: string polygon: type: string base: type: string user: type: string arbitrum: type: string stellar: type: string monad: type: string tempo: type: string directVendor: $ref: '#/components/schemas/DirectVendorSettlement' mpcWalletProvider: $ref: '#/components/schemas/MpcWalletProvider' recipientAddresses: type: array items: $ref: '#/components/schemas/IMerchantStringSettlementAddressesRecipientAddressesItems' verification: $ref: '#/components/schemas/Verification' title: IMerchantStringSettlementAddresses StoredCardTransactionType: type: string enum: - MOBILE - SAVED - NEW - MIT - COF title: StoredCardTransactionType PaymentDeclinedWebhookData: type: object properties: id: type: string wallet: type: string webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' subtotal: $ref: '#/components/schemas/Cents' fees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' fxFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' merchantId: type: string paymentMethod: type: string merchantPaidFees: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' cardToken: type: string last4: type: string bin: type: string reasonCode: type: string reasonMessage: type: string declineCode: type: string declineDescription: type: string avsResponseCode: type: string cvvResponseCode: type: string threeDsAuthenticationStatus: $ref: '#/components/schemas/AuthenticationStatus' required: - id - wallet - subtotal - fees - gasFees - chargebackProtectionFees - fxFees - total - merchantId - declineCode - declineDescription title: PaymentDeclinedWebhookData GetWithdrawTransactionResponse: type: object properties: transactions: type: array items: type: string description: 'The transactions to be signed by the user and sent to the blockchain. Solana - Transactions are base58 encoded. You can reconstruct them by calling `Transaction.from(base58.decode(transaction))` Evm - Transactions are JSON stringified. You can reconstruct them by calling `JSON.parse(transaction)`' required: - transactions title: GetWithdrawTransactionResponse IPaymentBankTransferInfo: type: object properties: reason: type: string token: type: string batchedAt: type: string format: date-time refundTransferId: type: string refundReview: type: boolean transaction: type: string processor: $ref: '#/components/schemas/AchProcessor' status: $ref: '#/components/schemas/AchPaymentStatus' required: - refundReview - processor - status title: IPaymentBankTransferInfo ProgramWhitelistRequest: type: object properties: programId: type: string blockchain: $ref: '#/components/schemas/Blockchain' status: $ref: '#/components/schemas/ProgramWhitelistStatus' required: - programId - blockchain - status title: ProgramWhitelistRequest IPaymentStringPixInfo: type: object properties: reason: type: string processed: type: string format: date-time transaction: type: string tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' expiration: type: string format: date-time processor: $ref: '#/components/schemas/PixProcessor' status: $ref: '#/components/schemas/PixPaymentStatus' required: - expiration - processor - status title: IPaymentStringPixInfo ICleanPurseAccountsItems: type: object properties: accountOwnerNames: type: array items: type: string nameMatchStatus: $ref: '#/components/schemas/NameMatchStatus' last4: type: string accountHash: type: string accountNumberOnlyHash: type: string isDeleted: type: boolean isTokenized: type: boolean accountNumber: type: string alias: type: string token: type: string reference: type: string rtpEligible: type: boolean routingNumber: type: string plaidAccountSubtype: type: string plaidAccountType: type: string plaidLinked: type: boolean required: - last4 - accountHash - alias - token - reference - rtpEligible - routingNumber - plaidLinked description: From T, pick a set of properties whose keys are in the union K title: ICleanPurseAccountsItems JobStatusResponse0: type: object properties: status: $ref: '#/components/schemas/JobStatusResponseOneOf0Status' required: - status title: JobStatusResponse0 AftPurpose: type: string enum: - businessToBusiness - creditCardRepayment - crypto - crowdLending - debitCard - education - emergency - familySupport - gift - giftCard - gaming - highRiskSecurities - liquidAssets - medical - payroll - prepaidCard - salary - savings - travel - other title: AftPurpose Pick_MarketplaceInfo.fixedFee-or-feePercentage_: type: object properties: feePercentage: type: number format: double fixedFee: $ref: '#/components/schemas/CurrencyCents' description: From T, pick a set of properties whose keys are in the union K title: Pick_MarketplaceInfo.fixedFee-or-feePercentage_ IInteracPaymentInfo: type: object properties: status: $ref: '#/components/schemas/InteracPaymentStatus' processor: $ref: '#/components/schemas/InteracProcessor' identityId: type: string description: 'AptPay identity ID for the consumer. Cached so refunds can push back to the same Interac contact without re-creating the identity.' email: type: string description: 'Consumer''s Interac contact — exactly one of email/phone must be set. Captured at payin time so a refund can issue a push payout via AptPayInteracPayoutProvider.' phone: type: string referenceId: type: string transaction: type: string processed: type: string format: date-time expiration: type: string format: date-time reason: type: string required: - status - processor - identityId - referenceId - expiration title: IInteracPaymentInfo DwollaVerificationStatus: type: string enum: - pending - verified - retry - document - suspended title: DwollaVerificationStatus ExportType: type: string enum: - Payments - FraudReports - StatementLineItems title: ExportType GetSupportedChainsResponse: type: object properties: chains: type: array items: $ref: '#/components/schemas/SupportedChain' required: - chains title: GetSupportedChainsResponse Segment: type: string enum: - consumer - business - commercial title: Segment AllChargebackResponse: type: object properties: chargebackFeeCents: type: number format: double createdAt: type: string format: date-time updatedAt: type: string format: date-time payment: $ref: '#/components/schemas/IPayment' chargebackId: type: string reasonCode: type: string reasonDescription: type: string respondByDate: type: string format: date-time responded: type: boolean merchantRespondedAt: type: string format: date-time responseFileKey: type: string ignore: type: boolean discrepancy: type: boolean loadedOn: type: string format: date-time decidedAt: type: string format: date-time updates: type: array items: $ref: '#/components/schemas/IChargebackUpdate' autoDebitStatus: $ref: '#/components/schemas/WalletDebitStatus' walletDebitTxHash: type: string walletCreditTxHash: type: string merchant: type: string customer: type: string secureDs: $ref: '#/components/schemas/ISecureDS' refund: $ref: '#/components/schemas/IRefund' required: - createdAt - updatedAt - payment - chargebackId - reasonCode - reasonDescription - respondByDate - responded - merchant - customer - secureDs - refund description: From T, pick a set of properties whose keys are in the union K title: AllChargebackResponse IPayment_string_: type: object properties: _id: type: string paymentId: type: string paymentIntentId: type: string totals: $ref: '#/components/schemas/TotalsResponse' customer: $ref: '#/components/schemas/IPaymentStringCustomer' merchant: $ref: '#/components/schemas/IPaymentStringMerchant' chargebackProtectionDecision: $ref: '#/components/schemas/ChargebackProtectionDecision' liabilityOwner: $ref: '#/components/schemas/LiabilityOwner' error: type: string signature: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' createdAt: type: string format: date-time velocityDate: type: string format: date-time description: 'Date when velocity check was done and used to bucket payments into velocity days Should match when a velocity hold was created if one was' cardInfo: $ref: '#/components/schemas/IPaymentStringCardInfo' bankTransferInfo: $ref: '#/components/schemas/IPaymentStringBankTransferInfo' pixInfo: $ref: '#/components/schemas/IPaymentStringPixInfo' ibanInfo: $ref: '#/components/schemas/IPaymentStringIbanInfo' wireInfo: $ref: '#/components/schemas/IWirePaymentInfo' cashAppInfo: $ref: '#/components/schemas/ICashAppPaymentInfo' paypalInfo: $ref: '#/components/schemas/IPayPalPaymentInfo' venmoInfo: $ref: '#/components/schemas/IVenmoPaymentInfo' apaInfo: $ref: '#/components/schemas/IApaPaymentInfo' interacInfo: $ref: '#/components/schemas/IInteracPaymentInfo' cryptoInfo: $ref: '#/components/schemas/IPaymentStringCryptoInfo' exchangeInfo: $ref: '#/components/schemas/ExchangeInfo' subscription: $ref: '#/components/schemas/IPaymentStringSubscription' settlementType: $ref: '#/components/schemas/SettlementType' blockchain: $ref: '#/components/schemas/OperationalBlockchain' wallet: type: string redemptionCheck: type: boolean marketplaceInfo: $ref: '#/components/schemas/MarketplaceInfo' destination: type: string destinationSettlementToken: type: string overrideAuditLog: $ref: '#/components/schemas/OverrideAuditLog' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' delayedSettlement: $ref: '#/components/schemas/IPaymentStringDelayedSettlement' referrer: type: string alertStatus: $ref: '#/components/schemas/KytAlertStatus' refundInfo: $ref: '#/components/schemas/IPaymentStringRefundInfo' userLocation: $ref: '#/components/schemas/IPaymentStringUserLocation' description: 'Browser-captured geolocation at the time of the request, when the caller supplied one. Stored independently of payment method so the merchant dashboard can render a map for any purchase type. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' entityTag: $ref: '#/components/schemas/EntityTag' vendorTransfer: $ref: '#/components/schemas/IPaymentStringVendorTransfer' feesInvoicedPeriod: type: string vendorInfo: $ref: '#/components/schemas/Record_string.string_' required: - _id - paymentId - totals - customer - merchant - chargebackProtectionDecision - createdAt title: IPayment_string_ WalletDebitStatus: type: string enum: - pending - success - failed title: WalletDebitStatus VerisoulRiskThresholds: type: object properties: device_risk: type: number format: double proxy: type: number format: double vpn: type: number format: double tor: type: number format: double spoofed_ip: type: number format: double datacenter: type: number format: double recent_fraud_ip: type: number format: double impossible_travel: type: number format: double device_network_mismatch: type: number format: double account_score: type: number format: double risk_signals: type: number format: double email_score: type: number format: double title: VerisoulRiskThresholds WirePayoutProvider: type: string enum: - MOCK - BRAID title: WirePayoutProvider ExportDownloadResponse: type: object properties: url: type: string expiresAt: type: string format: date-time required: - url - expiresAt title: ExportDownloadResponse IMerchantStringBlockConfig: type: object properties: disableMultiCardAttemptCheck: type: boolean description: When true, skips the multi-card attempt check (2+ distinct cards failing in 1 hour). maxDistinctTokensPer30Days: type: number format: double description: 'Maximum number of distinct card tokens a single customer may use across non-failed/voided card payments for this merchant in a rolling 30-day window. Apple Pay / Google Pay payments are excluded. Unset or 0 disables the check. Customers with `failedAttemptSetting: Exempt` bypass it.' disableDestinationAuthKey: type: boolean description: When true, prevents usage of destinationAuthKey for custom settlement addresses. enableNmiSettlement: type: boolean description: When true, enables the settlement pipeline for NMI transactions (converts card payments to USDC). disableInvoiceWalletPayment: type: boolean description: When true, disables wallet balance payments for invoices. Merchants must use checkout. blockingRules: type: array items: $ref: '#/components/schemas/IBlockingRule' description: 'Independent geo-blocking rules for withdrawals vs card checkout, with explicit per-rule enforcement methods (KYC address / IP / billing address). Read via `getBlockingRules` so callers transparently see the legacy `bannedWithdrawalStates` for un-migrated merchants.' bannedWithdrawalStates: type: array items: $ref: '#/components/schemas/USState' whitelistedBinLocations: type: array items: $ref: '#/components/schemas/Country' failedPaymentAttemptLimit: type: number format: double title: IMerchantStringBlockConfig ApaSettings: type: object properties: processor: $ref: '#/components/schemas/ApaProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean required: - customerEmailNotifications - merchantEmailNotifications title: ApaSettings CustomerData: type: object properties: emails: type: array items: type: string payments: type: array items: $ref: '#/components/schemas/IPayment' payouts: type: array items: $ref: '#/components/schemas/IWithdraw' purses: type: array items: $ref: '#/components/schemas/ICleanPurse' verifications: type: array items: $ref: '#/components/schemas/Verification' customerInfo: $ref: '#/components/schemas/CustomerInfo' required: - emails - payments - payouts - purses - verifications title: CustomerData VenmoProcessor: type: string enum: - mock - paypal title: VenmoProcessor RefundDenominationType: type: string enum: - usd - token title: RefundDenominationType CustomerUsdcTransferDataV2ValidAfter: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataV2ValidAfter UboEntry: type: object properties: reference: type: string status: $ref: '#/components/schemas/VerificationStatus' vendor: $ref: '#/components/schemas/VerificationVendor' name: type: string attested: type: boolean shareToken: type: string shareTokenStatus: type: string sessionToken: type: string ownershipPct: type: number format: double required: - reference - status - vendor title: UboEntry Merchant_ResendWebhook_Response_200: type: object properties: jobId: $ref: '#/components/schemas/MerchantWebhooksWebhookLogIdPostResponsesContentApplicationJsonSchemaJobId' required: - jobId title: Merchant_ResendWebhook_Response_200 RefundReason: type: string enum: - userCancellation - failedFulfillment - buyerFraud - other title: RefundReason IChargebackPayment: oneOf: - type: string - $ref: '#/components/schemas/IPayment_string_' title: IChargebackPayment IBusinessStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IBusinessStringMerchant SettledWebhookData3: type: object properties: merchantId: type: string fxFees: $ref: '#/components/schemas/Cents' last4: type: string cardToken: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' id: type: string subscription: $ref: '#/components/schemas/IPopulatedSubscription_string_' subtotal: $ref: '#/components/schemas/Cents' chargebackProtectionFees: $ref: '#/components/schemas/Cents' gasFees: $ref: '#/components/schemas/Cents' networkFees: $ref: '#/components/schemas/Cents' total: $ref: '#/components/schemas/Cents' reserve: $ref: '#/components/schemas/Cents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/Cents' merchantPaidGasFees: $ref: '#/components/schemas/Cents' merchantPaidFxFees: $ref: '#/components/schemas/Cents' merchantPaidNetworkFees: $ref: '#/components/schemas/Cents' invoicedCreditCardFees: $ref: '#/components/schemas/Cents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/Cents' invoicedGasFees: $ref: '#/components/schemas/Cents' invoicedFxFees: $ref: '#/components/schemas/Cents' invoicedNetworkFees: $ref: '#/components/schemas/Cents' merchantPaidFees: $ref: '#/components/schemas/Cents' signature: type: string reasonCode: type: string fees: $ref: '#/components/schemas/Cents' paymentMethod: type: string bin: type: string reasonMessage: type: string avsResponseCode: type: string cvvResponseCode: type: string threeDsAuthenticationStatus: $ref: '#/components/schemas/AuthenticationStatus' velocityHold: type: boolean rawCustomerId: type: string customerId: type: string required: - merchantId - fxFees - webhookInfo - id - subtotal - chargebackProtectionFees - gasFees - networkFees - total - merchantPaidChargebackProtectionFees - merchantPaidGasFees - merchantPaidFxFees - merchantPaidNetworkFees - invoicedCreditCardFees - invoicedChargebackProtectionFees - invoicedGasFees - invoicedFxFees - invoicedNetworkFees - merchantPaidFees - signature - fees - avsResponseCode - cvvResponseCode - threeDsAuthenticationStatus - rawCustomerId - customerId description: From T, pick a set of properties whose keys are in the union K title: SettledWebhookData3 PayPalSettings: type: object properties: processor: $ref: '#/components/schemas/PayPalProcessor' feeMode: $ref: '#/components/schemas/FeePayerMode' fxFeeMode: $ref: '#/components/schemas/FeePayerMode' maxFee: $ref: '#/components/schemas/Cents' fixedFee: $ref: '#/components/schemas/Cents' feeBps: type: number format: double minFee: $ref: '#/components/schemas/Cents' customerEmailNotifications: type: boolean merchantEmailNotifications: type: boolean refundFeeSettings: $ref: '#/components/schemas/RefundFeeSettings' required: - fixedFee - feeBps - minFee - customerEmailNotifications - merchantEmailNotifications title: PayPalSettings BlockingRuleListMode: type: string enum: - DENY - ALLOW title: BlockingRuleListMode CardPaymentStatus: type: string enum: - AUTHORIZED - DEPOSITED - SETTLED - REFUNDED - FAILED - CHARGEBACK - CHARGEBACK_LOST - CHARGEBACK_WON - VOIDED title: CardPaymentStatus TotalsResponse: type: object properties: subtotal: $ref: '#/components/schemas/CurrencyCents' creditCardFees: $ref: '#/components/schemas/CurrencyCents' chargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fxFees: $ref: '#/components/schemas/CurrencyCents' networkFees: $ref: '#/components/schemas/CurrencyCents' payInFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' reserve: $ref: '#/components/schemas/CurrencyCents' merchantPaidCreditCardFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidGasFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidFxFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidNetworkFees: $ref: '#/components/schemas/CurrencyCents' invoicedCreditCardFees: $ref: '#/components/schemas/CurrencyCents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' invoicedGasFees: $ref: '#/components/schemas/CurrencyCents' invoicedFxFees: $ref: '#/components/schemas/CurrencyCents' invoicedNetworkFees: $ref: '#/components/schemas/CurrencyCents' required: - subtotal - creditCardFees - chargebackProtectionFees - gasFees - fxFees - total title: TotalsResponse VenmoPayoutProvider: type: string enum: - checkbook - citcon - mock - paypal title: VenmoPayoutProvider CustomPayInFeeValue0: type: object properties: cents: type: number format: double currency: $ref: '#/components/schemas/Currency' percent: type: - number - 'null' format: double isFixed: type: boolean required: - cents - currency - percent - isFixed title: CustomPayInFeeValue0 ICustomer_string_: type: object properties: _id: type: string customerId: type: string blockchain: $ref: '#/components/schemas/Blockchain' email: type: string availability: $ref: '#/components/schemas/IAvailability' createdAt: type: string format: date-time verification: $ref: '#/components/schemas/Verification' ubos: type: array items: $ref: '#/components/schemas/UboEntry' customerInfo: $ref: '#/components/schemas/CustomerInfo' chargebackProtectionEnabled: type: boolean merchant: $ref: '#/components/schemas/ICustomerStringMerchant' failedAttemptSetting: $ref: '#/components/schemas/FailedAttemptSetting' verificationSetting: $ref: '#/components/schemas/CustomerVerificationSetting' exempt3DS: type: boolean chargebackProtectionOverrideLog: $ref: '#/components/schemas/CustomerOverrideAuditLog' geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' blockConfigOverride: $ref: '#/components/schemas/ICustomerStringBlockConfigOverride' description: Per-customer overrides of merchant `blockConfig`. Only honored when they raise the effective limit. customerOverrideLimit: $ref: '#/components/schemas/Cents' overrideExposureLimit: $ref: '#/components/schemas/Cents' fraudOverrideWhitelist: type: boolean required: - _id - customerId - email - availability - createdAt - chargebackProtectionEnabled - merchant - failedAttemptSetting - verificationSetting title: ICustomer_string_ IWirePaymentInfo: type: object properties: status: $ref: '#/components/schemas/WirePaymentStatus' processor: $ref: '#/components/schemas/WireProcessor' token: type: string memo: type: string transaction: type: string tokenSubtotal: $ref: '#/components/schemas/TokenSubtotal' processed: type: string format: date-time expiration: type: string format: date-time transactionId: type: string braidWireReferencePaymentId: type: string reason: type: string required: - status - processor - token - memo - expiration title: IWirePaymentInfo ApaProcessor: type: string enum: - apa - mock title: ApaProcessor SubscriptionWebhookData: type: object properties: planCode: type: string planName: type: string subscriptionId: type: string wallet: type: string amount: $ref: '#/components/schemas/Cents' interval: type: string fundingMethod: type: string webhookInfo: oneOf: - $ref: '#/components/schemas/AnyObject' - type: 'null' reason: type: string paymentMethod: type: string required: - planCode - planName - subscriptionId - wallet - amount - interval - fundingMethod title: SubscriptionWebhookData JobStatusResponse1: type: object properties: value: type: - string - 'null' status: $ref: '#/components/schemas/JobStatusResponseOneOf1Status' required: - value - status title: JobStatusResponse1 PickIVenmoExcludeKeyofIVenmoVendorDataType: type: string enum: - venmo title: PickIVenmoExcludeKeyofIVenmoVendorDataType SupportedChain: type: object properties: name: type: string image: type: string tokens: type: array items: $ref: '#/components/schemas/SupportedChainToken' required: - name - image - tokens title: SupportedChain IUserStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IUserStringMerchant RefundMethod: type: string enum: - Card - Ach - Pix - Iban - Wire - Crypto - CashApp - APA - PayPal - Venmo - Interac title: RefundMethod IPayment: type: object properties: _id: type: string paymentId: type: string paymentIntentId: type: string totals: $ref: '#/components/schemas/TotalsResponse' customer: $ref: '#/components/schemas/IPaymentCustomer' merchant: $ref: '#/components/schemas/IPaymentMerchant' chargebackProtectionDecision: $ref: '#/components/schemas/ChargebackProtectionDecision' liabilityOwner: $ref: '#/components/schemas/LiabilityOwner' error: type: string signature: type: string webhookInfo: $ref: '#/components/schemas/AnyObject' createdAt: type: string format: date-time velocityDate: type: string format: date-time description: 'Date when velocity check was done and used to bucket payments into velocity days Should match when a velocity hold was created if one was' cardInfo: $ref: '#/components/schemas/IPaymentCardInfo' bankTransferInfo: $ref: '#/components/schemas/IPaymentBankTransferInfo' pixInfo: $ref: '#/components/schemas/IPaymentPixInfo' ibanInfo: $ref: '#/components/schemas/IPaymentIbanInfo' wireInfo: $ref: '#/components/schemas/IWirePaymentInfo' cashAppInfo: $ref: '#/components/schemas/ICashAppPaymentInfo' paypalInfo: $ref: '#/components/schemas/IPayPalPaymentInfo' venmoInfo: $ref: '#/components/schemas/IVenmoPaymentInfo' apaInfo: $ref: '#/components/schemas/IApaPaymentInfo' interacInfo: $ref: '#/components/schemas/IInteracPaymentInfo' cryptoInfo: $ref: '#/components/schemas/IPaymentCryptoInfo' exchangeInfo: $ref: '#/components/schemas/ExchangeInfo' subscription: $ref: '#/components/schemas/IPaymentSubscription' settlementType: $ref: '#/components/schemas/SettlementType' blockchain: $ref: '#/components/schemas/OperationalBlockchain' wallet: type: string redemptionCheck: type: boolean marketplaceInfo: $ref: '#/components/schemas/MarketplaceInfo' destination: type: string destinationSettlementToken: type: string overrideAuditLog: $ref: '#/components/schemas/OverrideAuditLog' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' delayedSettlement: $ref: '#/components/schemas/IPaymentDelayedSettlement' referrer: type: string alertStatus: $ref: '#/components/schemas/KytAlertStatus' refundInfo: $ref: '#/components/schemas/IPaymentRefundInfo' userLocation: $ref: '#/components/schemas/IPaymentUserLocation' description: 'Browser-captured geolocation at the time of the request, when the caller supplied one. Stored independently of payment method so the merchant dashboard can render a map for any purchase type. `resolved*` fields are populated when the GEOLOCATION enforcement step happened to reverse- geocode the coordinates — they''re a free piggyback on the lock cache, not a guarantee.' entityTag: $ref: '#/components/schemas/EntityTag' vendorTransfer: $ref: '#/components/schemas/IPaymentVendorTransfer' feesInvoicedPeriod: type: string vendorInfo: $ref: '#/components/schemas/Record_string.string_' required: - _id - paymentId - totals - customer - merchant - chargebackProtectionDecision - createdAt title: IPayment MerchantRespondRequest0: type: object properties: response: type: string required: - response title: MerchantRespondRequest0 IPaymentStringDelayedSettlement: type: object properties: disbursedAt: type: string format: date-time isDisbursed: type: boolean days: type: number format: double scheduledDate: type: string format: date-time isScheduled: type: boolean required: - isDisbursed - days - scheduledDate - isScheduled title: IPaymentStringDelayedSettlement RainContractInfo: type: object properties: contractId: type: string chainId: type: number format: double depositAddress: type: string proxyAddress: type: string controllerAddress: type: string contractVersion: type: number format: double adminAddresses: type: array items: type: string onramp: $ref: '#/components/schemas/RainContractInfoOnramp' createdAt: type: string format: date-time lastSyncedAt: type: string format: date-time required: - contractId - chainId - depositAddress - createdAt - lastSyncedAt title: RainContractInfo CashAppProcessor: type: string enum: - mock - flashnet title: CashAppProcessor UAParser.IOS: type: object properties: name: type: string description: 'Possible ''os.name'' AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, Contiki, Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Gentoo, GNU, Haiku, Hurd, iOS, Joli, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PCLinuxOS, Plan9, Playstation, QNX, RedHat, RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk' version: type: string description: Determined dynamically title: UAParser.IOS Currency.CAD: type: string enum: - CAD title: Currency.CAD IPopulatedSubscription_string_: type: object properties: _id: type: string customer: $ref: '#/components/schemas/IPopulatedSubscriptionStringCustomer' merchant: $ref: '#/components/schemas/IPopulatedSubscriptionStringMerchant' plan: $ref: '#/components/schemas/ISubscriptionPlan_string_' cardProcessor: $ref: '#/components/schemas/PaymentProcessor' achProcessor: $ref: '#/components/schemas/AchProcessor' reference: type: string nextPaymentAt: type: string format: date-time status: $ref: '#/components/schemas/SubscriptionStatus' webhookInfo: $ref: '#/components/schemas/AnyObject' marketplaceInfo: $ref: '#/components/schemas/Pick_MarketplaceInfo.fixedFee-or-feePercentage_' createdAt: type: string format: date-time updatedAt: type: string format: date-time version: $ref: '#/components/schemas/SubscriptionVersion' required: - _id - customer - merchant - plan - reference - status - createdAt - updatedAt - version title: IPopulatedSubscription_string_ CustomWithdrawFeeValue0: type: object properties: maxFeeCents: type: - number - 'null' format: double minFeeCents: type: - number - 'null' format: double coverProcessingFees: type: boolean cents: type: number format: double currency: $ref: '#/components/schemas/Currency' percent: type: - number - 'null' format: double isFixed: type: boolean required: - maxFeeCents - minFeeCents - coverProcessingFees - cents - currency - percent - isFixed title: CustomWithdrawFeeValue0 ChargebackStats: type: object properties: totalChargebacks: type: number format: double chargebacksWithNoResponse: type: number format: double totalChargebackAmount: type: number format: double chargebackRatio: type: number format: double totalPayments: type: number format: double required: - totalChargebacks - chargebacksWithNoResponse - totalChargebackAmount - chargebackRatio - totalPayments title: ChargebackStats SsoProvider: type: string enum: - google title: SsoProvider AuthenticationStatus: type: string enum: - Frictionless - Challenge - Rejected - Error - External title: AuthenticationStatus ReimbursementStatus: type: string enum: - Pending - Complete - Failure - Returned title: ReimbursementStatus MerchantWithdrawsGetParametersSortBy: type: string enum: - createdAt - amount title: MerchantWithdrawsGetParametersSortBy WebhookDisplayData: oneOf: - $ref: '#/components/schemas/WebhookData' - $ref: '#/components/schemas/WebhookPacket' title: WebhookDisplayData MerchantSsoSettings: type: object properties: requireSso: type: boolean required: - requireSso title: MerchantSsoSettings IMerchantStringSettlementAddressesRecipientAddressesItems: type: object properties: info: $ref: '#/components/schemas/Record_string.any_' createdAt: type: string format: date-time recipient: type: string required: - createdAt - recipient title: IMerchantStringSettlementAddressesRecipientAddressesItems PayPalPaymentStatus: type: string enum: - INITIATED - AUTHORIZED - DEPOSITED - SETTLED - REFUNDED - FAILED - CHARGEBACK - CHARGEBACK_LOST - CHARGEBACK_WON - VOIDED title: PayPalPaymentStatus WebhookPacketData: oneOf: - $ref: '#/components/schemas/WebhookData' - type: object additionalProperties: description: Any type title: WebhookPacketData OrchestrationInfo: type: object properties: ruleId: type: string ruleUsed: type: string resolvedPath: type: string graphTraversal: type: array items: $ref: '#/components/schemas/OrchestrationTraversalStep' processorList: type: array items: $ref: '#/components/schemas/PaymentProcessor' successfulProcessor: $ref: '#/components/schemas/PaymentProcessor' usedFallback: type: boolean failedAttempts: type: array items: $ref: '#/components/schemas/OrchestrationFailedAttempt' title: OrchestrationInfo SubscriptionStatus: type: string enum: - Active - Canceled - Expired - Concluded - Failed - Blocked title: SubscriptionStatus MarketplaceInfo: type: object properties: marketplaceFee: $ref: '#/components/schemas/CurrencyCents' marketplaceSettlement: $ref: '#/components/schemas/CurrencyCents' sellerSettlement: $ref: '#/components/schemas/CurrencyCents' feePercentage: type: number format: double fixedFee: $ref: '#/components/schemas/CurrencyCents' title: MarketplaceInfo CustomPayInFeeConfig: type: object properties: fee: $ref: '#/components/schemas/CustomPayInFeeValue' lineItemLabel: type: string required: - fee - lineItemLabel title: CustomPayInFeeConfig CrbMerchantArgs: type: object properties: merchantAcceptorId: type: string description: 'Highnote MerchantAcceptor id — populated by Highnote onboarding, not hand-entered. Optional because the subledger account number can be recorded (from CRB''s manual onboarding) before Highnote provisions the acceptor.' subledgerAccountNumber: type: string description: 'The merchant''s CRB subledger account that AFT pulls fund. Recorded from CRB''s manual onboarding; enables the AFT branch of the CRB provider.' title: CrbMerchantArgs MerchantWebhooksWebhookLogIdPostResponsesContentApplicationJsonSchemaJobId: oneOf: - type: number format: double - type: string title: MerchantWebhooksWebhookLogIdPostResponsesContentApplicationJsonSchemaJobId Merchant_GetEnhancedTxInformation_Response_200: type: object properties: info: oneOf: - $ref: '#/components/schemas/EnhancedTxInfoResponse' - type: 'null' required: - info title: Merchant_GetEnhancedTxInformation_Response_200 WireProcessor: type: string enum: - braid - mock title: WireProcessor ExchangeInfo: type: object properties: amount: $ref: '#/components/schemas/ExchangeTotalsResponse' rate: type: number format: double base: $ref: '#/components/schemas/CurrencyCents' required: - amount - rate title: ExchangeInfo SanitizedUrlWhitelistRequest: type: object properties: url: type: string status: $ref: '#/components/schemas/UrlWhitelistStatus' reason: type: string createdAt: type: string format: date-time processedAt: type: string format: date-time rejectionReason: type: string required: - url - status - createdAt title: SanitizedUrlWhitelistRequest IPaymentStringRefundInfo: type: object properties: count: type: number format: double refundedAt: type: string format: date-time amount: $ref: '#/components/schemas/CurrencyCents' required: - count - refundedAt - amount title: IPaymentStringRefundInfo KycWebhookData: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' email: type: string required: - wallet - blockchain - email title: KycWebhookData BlockedStatus: type: object properties: level: $ref: '#/components/schemas/BlockedLevel' reason: type: string editor: type: string blockedAt: type: string format: date-time recoverySignature: type: string required: - level - reason - editor - blockedAt title: BlockedStatus Blockchain.BASE: type: string enum: - base title: Blockchain.BASE ISubscriptionStringCustomer: oneOf: - type: string - $ref: '#/components/schemas/ICustomer_string_' title: ISubscriptionStringCustomer ICleanPurse: type: object properties: paypal: $ref: '#/components/schemas/Pick_IPayPal.Exclude_keyofIPayPal.vendorData__' venmo: $ref: '#/components/schemas/Pick_IVenmo.Exclude_keyofIVenmo.vendorData__' pixes: type: array items: $ref: '#/components/schemas/IPixAccount' ibans: type: array items: $ref: '#/components/schemas/Pick_IIbanAccount.Exclude_keyofIIbanAccount.vendorData__' cards: type: array items: $ref: '#/components/schemas/ICleanPurseCardsItems' accounts: type: array items: $ref: '#/components/schemas/ICleanPurseAccountsItems' keys: type: array items: $ref: '#/components/schemas/ReferenceKey' _id: type: string required: - pixes - ibans - cards - accounts - keys - _id title: ICleanPurse RfiStatus: type: string enum: - pending - completed title: RfiStatus AptpayCanadaCoinflowSettings: type: object properties: coinflow: type: boolean required: - coinflow title: AptpayCanadaCoinflowSettings PayoutDelegatedArgsAmount: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' required: - cents title: PayoutDelegatedArgsAmount PaymentProcessor: type: string enum: - payarc - mock - shift4 - merchant_warrior - greenlight - frame - nmi_direct - mvb - fifththird - natwest - nuveiv1 - fallback_payarc_shift4 - fallback_shift4_payarc - fallback_shift4_nuvei - fallback_nuvei_payarc - fallback_payarc_nuvei - fallback_shift4_greenlight - fallback_greenlight_shift4 - fallback_frame_merchant_warrior - fallback_merchant_warrior_frame - fallback_natwest_shift4 - fallback_natwest_nuvei - fallback_natwest_shift4_payarc - fallback_natwest_shift4_nuvei - fallback_shift4_natwest_payarc - fallback_nuvei_natwest_payarc - fallback_natwest_nuvei_payarc - fallback_mvb_fifththird_shift4_payarc - fallback_fifththird_mvb_shift4_payarc - fallback_mvb_nuvei - fallback_nuvei_fifththird - fallback_fifththird_nuvei title: PaymentProcessor securitySchemes: wallet: type: apiKey in: header name: x-coinflow-auth-wallet description: The web3 wallet of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key blockchain: type: apiKey in: header name: x-coinflow-auth-blockchain description: The blockchain associated with the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key userId: type: apiKey in: header name: x-coinflow-auth-user-id description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key merchant: type: apiKey in: header name: Authorization description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key signedMessage: type: apiKey in: header name: x-coinflow-auth-signed-message description: The message signed by the users wallet merchantId: type: apiKey in: header name: x-coinflow-auth-merchant-id description: The merchant ID the session should be generated for sessionKey: type: apiKey in: header name: x-coinflow-auth-session-key description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key admin: type: apiKey in: header name: Authorization