openapi: 3.1.0 info: title: API Reference authentication withdraw API version: 1.0.0 servers: - url: https://api-sandbox.coinflow.cash/api description: https://api-sandbox.coinflow.cash/api tags: - name: withdraw paths: /withdraw/interac: post: operationId: add-interac summary: Add Interac Account description: Adds an interac account to the withdrawer's account which they can withdraw funds to. tags: - withdraw 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: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddInteracArgs' /withdraw/account: post: operationId: create-bank-account summary: Create Bank Account description: Creates a bank account for a particular user or business. tags: - withdraw 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/AddWithdrawMethodResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddBankAccountArgs' /withdraw/account/v2: post: operationId: create-bank-account-v-2 summary: Create Bank Account (v2) description: Creates a bank account for a particular user or business tags: - withdraw 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/AddWithdrawMethodResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddBankAccountV2Args' /withdraw/debit-card: post: operationId: add-debit-card summary: Create Debit Card description: 'Adds a debit card to the withdrawer''s account which they can withdraw funds to. Will check the card to see if its eligible to receive funds.' tags: - withdraw 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: type: string '412': description: User Address Info Required - Please provide address info in body.address parameters content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/AddDebitCardArgs' /withdraw/eft: post: operationId: create-eft-account summary: Create EFT Account description: 'Creates an EFT account for a particular Canadian user or business. Accepts raw Canadian bank details (institution number, transit number, account number).' tags: - withdraw 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: Token representing the new EFT account content: application/json: schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddEftAccountArgs' /withdraw/iban: post: operationId: create-iban-account summary: Create Iban Account description: Creates an Iban account for a particular user tags: - withdraw 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: Token representing the new Iban account content: application/json: schema: type: string '426': description: BIC required content: application/json: schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/IbanAccountData' /withdraw/pix: post: operationId: create-pix-account summary: Create Pix Account description: Creates a Pix account for a particular user tags: - withdraw 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: type: string requestBody: content: application/json: schema: type: object properties: pixKey: type: string required: - pixKey /withdraw/transaction: post: operationId: get-transaction summary: Create Transactions description: Creates the transaction to be signed by the user and sent to the blockchain. tags: - withdraw parameters: - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/GetWithdrawTransactionResponse' '412': description: User Address Info Required - Please provide address info in body.address parameters content: application/json: schema: description: Any type '451': description: User Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/GetTransactionRequestUnavailableForLegalReasonsError' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetWithdrawTransactionRequestBody' /withdraw/account/{token}: delete: operationId: delete-withdrawer-account summary: Delete Withdrawer Bank Account description: Deletes a bank account for a particular user or business. tags: - withdraw parameters: - name: token in: path description: The token of the bank account to delete. required: true schema: type: string - 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/Withdraw_DeleteWithdrawerAccount_Response_200' /withdraw/card/{token}: delete: operationId: delete-withdrawer-card summary: Delete Withdrawer Card description: Deletes a card for a particular user or business. tags: - withdraw parameters: - name: token in: path description: The token of the card to delete. required: true schema: type: string - 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/Withdraw_DeleteWithdrawerCard_Response_200' /withdraw/eft/{token}: delete: operationId: delete-eft-account summary: Delete Withdrawer EFT Account description: Deletes an EFT account for a particular user tags: - withdraw parameters: - name: token in: path required: true schema: type: string - 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/Withdraw_DeleteEftAccount_Response_200' /withdraw/iban/{token}: delete: operationId: delete-iban-account summary: Delete Withdrawer Iban Account description: Deletes an Iban account for a particular user tags: - withdraw parameters: - name: token in: path required: true schema: type: string - 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/Withdraw_DeleteIbanAccount_Response_200' /withdraw/interac/{token}: delete: operationId: delete-withdrawer-interac summary: Delete Withdrawer Interac Account description: Deletes a bank account for a particular user or business. tags: - withdraw parameters: - name: token in: path description: The token of the bank account to delete. required: true schema: type: string - 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/Withdraw_DeleteWithdrawerInterac_Response_200' /withdraw/paypal/{token}: delete: operationId: delete-withdrawer-paypal summary: Delete Withdrawer Paypal Account description: Deletes a bank account for a particular user or business. tags: - withdraw parameters: - name: token in: path description: The token of the bank account to delete. required: true schema: type: string - 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/Withdraw_DeleteWithdrawerPaypal_Response_200' /withdraw/pix/{token}: delete: operationId: delete-pix-account summary: Delete Withdrawer Pix Account description: Deletes a Pix account for a particular user tags: - withdraw parameters: - name: token in: path required: true schema: type: string - 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/Withdraw_DeletePixAccount_Response_200' /withdraw/venmo/{token}: delete: operationId: delete-withdrawer-venmo summary: Delete Withdrawer Venmo Account description: Deletes a venmo for a particular user. tags: - withdraw parameters: - name: token in: path description: The token of the bank account to delete. required: true schema: type: string - 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/Withdraw_DeleteWithdrawerVenmo_Response_200' /withdraw/balances: get: operationId: get-withdraw-balances summary: Get Balances description: Gets all the token balances for a particular wallet tags: - withdraw parameters: - name: tokenAddress in: query description: '- Optional token address to fetch balance for a specific token' required: false schema: type: string - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/Withdraw_GetWithdrawBalances_Response_200' /withdraw/evm/message: post: operationId: get-evm-message summary: Get Message (EVM USDC/SBC/EuroE only) description: 'Gets any messages to be signed by the user, the signed message is then passed as the `evmPermitMessage` body property into the `/api/withdraw/evm/transaction` endpoint. This is only necessary for EVM chains.' tags: - withdraw parameters: - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/GetMessageResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetWithdrawMessageBody' /withdraw/quote: get: operationId: get-quote summary: Get Quote description: Gets a quote in USD cents for a particular token and amount. tags: - withdraw parameters: - name: token in: query description: '- The token address or contract of the token which the user is withdrawing.' required: true schema: type: string - name: amount in: query description: '- The amount of that token which the user is withdrawing.' required: true schema: type: number format: double - name: merchantId in: query description: '- The merchant that this quote is for.' required: true schema: type: string - name: usePermit in: query description: '- [EVM only] whether the user''s wallet supports signing permit messages.' required: false schema: type: boolean default: true - name: accountToken in: query description: '- The token of the account to use' required: false schema: type: string - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/WithdrawQuote' /withdraw: get: operationId: get-withdrawer summary: Get Withdrawer description: Gets the withdrawer record for a particular user or business. tags: - withdraw parameters: - name: redirectLink in: query description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' required: false schema: type: string - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/GetWithdrawerResponse' '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/WithdrawerVerificationRequiredResponse' /withdraw/history: get: operationId: get-withdrawer-history summary: Get Withdrawer History description: Gets the withdrawal history for a particular user or business. tags: - withdraw 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/Withdraw_GetWithdrawerHistory_Response_200' /withdraw/paypal: post: operationId: add-paypal summary: Link Paypal Account description: Adds a Paypal account to the withdrawer's account which they can withdraw funds to. tags: - withdraw 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: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddPaypalArgs' /withdraw/venmo: post: operationId: add-venmo summary: Link Venmo Account description: Adds a Venmo account to the withdrawer's account which they can withdraw funds to. tags: - withdraw 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: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddVenmoArgs' /withdraw/kyb: post: operationId: create-kyb summary: Register Business description: 'Performs a Know-Your-Business check for a particular user. Will create a withdrawer record for the user if one does not exist. If the user has previously used coinflow to withdraw, the wallet will be added to the withdrawer record.' tags: - withdraw parameters: - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/Withdraw_CreateKyb_Response_200' '409': description: User already exists for this wallet and merchant content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/WithdrawerVerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/KybRequestBody' /withdraw/kyc: post: operationId: create-kyc summary: Register User description: 'Performs a Know-Your-Customer check for a particular user. Will create a withdrawer record for the user if one does not exist. If the user has previously used coinflow to withdraw, the wallet will be added to the withdrawer record. Note: If `x-coinflow-auth-wallet` in request headers is not associated with a user, the wallet will get added to the newly created /existing user withdrawer record.' tags: - withdraw 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/Withdraw_CreateKyc_Response_200' '409': description: Business already exists for this wallet and merchant content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/WithdrawerVerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/KycRequestBody' /withdraw/kyc/attested: post: operationId: create-kyc-attested summary: Register User Via Attested KYC tags: - withdraw 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/Withdraw_CreateKycAttested_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/AttestedKycRequest' /withdraw/kyc-doc: post: operationId: create-kyc-document summary: Register User Via Document tags: - withdraw 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/Withdraw_CreateKycDocument_Response_200' requestBody: content: multipart/form-data: schema: type: object properties: email: type: string country: type: string idType: type: string description: 'Must be one of: - ID_CARD - PASSPORT - DRIVERS - RESIDENCE_PERMIT' merchantId: type: string idFront: type: string format: binary idBack: type: string format: binary required: - email - country - idType - merchantId - idFront /withdraw/kyc/share-token: post: operationId: create-kyc-share-token summary: Register User Via Share Token tags: - withdraw 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/Withdraw_CreateKycShareToken_Response_200' '400': description: The applicant linked to this share token is not approved, verification was either incomplete or failed content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/KycShareTokenBody' /withdraw/evm/transaction: post: operationId: send-evm-gasless-transaction summary: Send Gasless Withdraw Transaction (EVM USDC/SBC/EuroE only) description: 'Send a gasless USDC withdraw transaction to the blockchain. The gas for the transaction can either be paid by the user or by the merchant, depending on your merchant settings. This is only allowed for withdrawing USDC/SBC/EuroE on EVM chains.' tags: - withdraw parameters: - name: x-coinflow-auth-wallet in: header description: The web3 wallet 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/Withdraw_SendEvmGaslessTransaction_Response_200' '412': description: User Address Info Required - Please provide address info in body.address parameters content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/SendEvmWithdrawTransactionBody' /withdraw/kyc/validate: post: operationId: validate-kyc summary: Validate KYC Information description: 'This endpoint checks if the user''s provided information matches the information used during their Know-Your-Customer (KYC) verification. It returns an object with a `valid` property that is `true` if the information matches and `false` otherwise. A 404 error is returned if the KYC information for the user cannot be found. This does not indicate a validation failure. Check the response body to determine if the KYC information is valid.' tags: - withdraw 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/Withdraw_ValidateKyc_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/ValidateKycBody' 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__ ApplePayPaymentTokenPaymentMethod: type: object properties: type: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodType' description: A value representing the card's type of payment. network: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodNetwork' description: A string, suitable for display, that is the name of the payment network backing the card. displayName: type: string description: A string, suitable for display, that describes the card. required: - type - network - displayName description: Information about the card used in the transaction. title: ApplePayPaymentTokenPaymentMethod IAccountAddress: type: object properties: address1: type: string city: type: string state: type: string zip: type: string required: - address1 - city - state - zip description: 'If address is not available on the user''s KYC,the endpoint will return a 412 error and the request must be retried with the user''s address information.' title: IAccountAddress 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 KybDocVRequestBodyAdditionalWalletsItems: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' wallet: type: string required: - blockchain - wallet title: KybDocVRequestBodyAdditionalWalletsItems 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 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 IBackwardBusiness: 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/IBackwardBusinessMerchant' 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 - wallets - email - availability - currency - merchant - verification - riskScoreOverride - country - business - ubos title: IBackwardBusiness WithdrawStatus: type: string enum: - completed - failed - pending title: WithdrawStatus ValidateKycBody: type: object properties: firstName: type: string description: First name of the user lastName: type: string description: Last name of the user dob: type: string description: Date of birth of the user country: type: string description: Country of the user (ISO 3166-1 alpha-2) matchThreshold: type: integer description: 'Matching Threshold The name comparison does not match exact strings, but instead is a fuzzy match so that nicknames or small misspellings don''t lead to false positives. Therefore, you are able to pass a threshold, 100 being most strict and 0 being least strict. If not passed the system will default to 90.' required: - firstName - lastName title: ValidateKycBody PortalBrand: type: string enum: - approvely - seamlesschex - coinflow - yourbrandhere - Plan2Play - tango - interlace - tapvia title: PortalBrand IBackwardBusinessMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IBackwardBusinessMerchant 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 SettlementLocations: type: string enum: - circle - brale - paper - brale_youpay - bastion title: SettlementLocations 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 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 KybDocVRequestBody: type: object properties: merchantId: type: string description: The merchant the business is interacting with additionalWallets: type: array items: $ref: '#/components/schemas/KybDocVRequestBodyAdditionalWalletsItems' description: Additional wallets to add to the newly created users KYC record redirectLink: type: string description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' country: type: string email: type: string required: - merchantId - country - email title: KybDocVRequestBody AddBankAccountV2Args: type: object properties: alias: type: string routingNumber: type: string accountNumber: type: string wireRoutingNumber: type: string type: $ref: '#/components/schemas/AddBankAccountV2ArgsType' address: $ref: '#/components/schemas/IAccountAddress' name: type: string firstName: type: string lastName: type: string required: - alias - routingNumber - accountNumber - type title: AddBankAccountV2Args 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 WithdrawQuote: 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' required: - asap - same_day - standard - card - iban - pix - eft - venmo - paypal - wire - interac - quote description: Represents a withdrawal quote with detailed information on fees and limits for different withdrawal speeds. title: WithdrawQuote AddEftAccountArgs: type: object properties: alias: type: string institutionNumber: type: string description: Canadian 3-digit institution number transitNumber: type: string description: Canadian 5-digit transit number accountNumber: type: string description: Canadian bank account number (7-12 digits) type: $ref: '#/components/schemas/BankAccountType' firstName: type: string lastName: type: string name: type: string required: - institutionNumber - transitNumber - accountNumber - type title: AddEftAccountArgs 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 PayoutProviderOption: type: string enum: - aptpay - coinfx - checkbook - BRAID - brale - mock title: PayoutProviderOption 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 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 CustomPayInFeeValue: oneOf: - $ref: '#/components/schemas/CustomPayInFeeValue0' - $ref: '#/components/schemas/CustomPayInFeeValue1' title: CustomPayInFeeValue PickIInteracExcludeKeyofIInteracVendorDataType: type: string enum: - interac title: PickIInteracExcludeKeyofIInteracVendorDataType IMerchantStringRiskControls: type: object properties: topup: $ref: '#/components/schemas/TopupRiskControls' title: IMerchantStringRiskControls GetTransactionRequestUnavailableForLegalReasonsError: type: object properties: verificationLink: type: string message: type: string required: - verificationLink - message title: GetTransactionRequestUnavailableForLegalReasonsError IWithdrawerWithAccountsMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IWithdrawerWithAccountsMerchant UboInfo: type: object properties: ssn: type: string dob: type: string country: type: string description: ISO 3166-1 alpha-2 country codes zip: type: string state: type: string city: type: string physicalAddress: type: string surName: type: string firstName: type: string required: - ssn - dob - country - zip - state - city - physicalAddress - surName - firstName title: UboInfo Currency.USD: type: string enum: - USD title: Currency.USD CitconSettingsFundPurpose: type: string enum: - goods - services - prizes - rebates - others title: CitconSettingsFundPurpose 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__ Withdraw_DeleteWithdrawerPaypal_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteWithdrawerPaypal_Response_200 EftPayoutProvider: type: string enum: - checkbook - aptpay - mock title: EftPayoutProvider CardType: type: string enum: - VISA - MSTR - AMEX - DISC title: CardType Pick_WithdrawToken.mint-or-decimals_: type: object properties: mint: type: string description: 'The mint is the address of the token on the blockchain. On Solana this is the mint account ID On EVM chains this is the token contract address.' decimals: type: number format: double description: 'The number of decimals that the token has. For example USDC is always 6 decimals, so 1 USDC is 1000000 units. SOL - 9 decimals WETH - 18 decimals.' required: - mint - decimals description: From T, pick a set of properties whose keys are in the union K title: Pick_WithdrawToken.mint-or-decimals_ GetWithdrawTransactionRequestBodyAccount: oneOf: - type: string - $ref: '#/components/schemas/ApplePayPayment' description: 'One of: 1. The token of the bank account/card that the user is withdrawing to 2. An Apple Pay Response Object' title: GetWithdrawTransactionRequestBodyAccount AddBankAccountArgsType: type: string enum: - checking - savings title: AddBankAccountArgsType PixPayoutProvider: type: string enum: - brla - mock title: PixPayoutProvider MerchantScope: type: string enum: - admin - editor - chargeback - chargeback_analyst - viewer - seller - pos_device title: MerchantScope AttestedKycRequest: type: object properties: country: type: string description: ISO 3166-1 alpha-2 country codes email: type: string firstName: type: string surName: type: string physicalAddress: type: string city: type: string state: type: string zip: type: string dob: type: string description: Date of birth in YYYYMMDD format ssn: type: string description: 4 Digit SSN required: - country - email - firstName - surName - physicalAddress - city - state - zip - dob title: AttestedKycRequest Withdraw_DeleteWithdrawerInterac_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteWithdrawerInterac_Response_200 DecryptedApplePayToken: type: object properties: applicationPrimaryAccountNumber: type: string applicationExpirationDate: type: string currencyCode: type: string transactionAmount: type: number format: double deviceManufacturerIdentifier: type: string paymentDataType: type: string paymentData: $ref: '#/components/schemas/PaymentData' required: - applicationPrimaryAccountNumber - applicationExpirationDate - currencyCode - transactionAmount - deviceManufacturerIdentifier - paymentDataType - paymentData title: DecryptedApplePayToken AddBankAccountV2ArgsType: type: string enum: - checking - savings title: AddBankAccountV2ArgsType BlockingRuleMethod: type: string enum: - KYC_ADDRESS - IP - BILLING_ADDRESS - GEOLOCATION title: BlockingRuleMethod PaymentData: type: object properties: onlinePaymentCryptogram: type: string eciIndicator: type: string required: - onlinePaymentCryptogram title: PaymentData KycPersonaShareTokenRequestBody: type: object properties: vendor: $ref: '#/components/schemas/KycPersonaShareTokenRequestBodyVendor' shareToken: type: string email: type: string required: - vendor - shareToken - email title: KycPersonaShareTokenRequestBody Withdraw_CreateKycShareToken_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IBackwardUser' required: - withdrawer title: Withdraw_CreateKycShareToken_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__ KybInformation: type: object properties: name: type: string description: Name of the business dateFormed: type: string tin: type: string description: 'Tax ID Number of the business. - In the US this is the 9 digital TIN - In Canada this is the 9 digit business id - In the rest of the world it varys' website: type: string description: Main website to the landing page of the business phoneNumber: type: string description: Business contact phone number, when the KYB vendor collected one entityType: type: string description: Type of business business: $ref: '#/components/schemas/KybInformationBusiness' person: $ref: '#/components/schemas/KybInformationPerson' merchantId: type: string description: The merchant the business is interacting with required: - name - tin - website - business - person title: KybInformation Withdraw_GetWithdrawBalances_Response_200: type: object properties: balances: type: array items: $ref: '#/components/schemas/WithdrawToken' required: - balances title: Withdraw_GetWithdrawBalances_Response_200 CustomFeePresentment: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' label: type: string required: - cents - currency - label title: CustomFeePresentment 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 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 IWallet: type: object properties: wallet: type: string blockchain: $ref: '#/components/schemas/Blockchain' required: - wallet - blockchain title: IWallet KycType: type: string enum: - person - business - both title: KycType BlockedLevel: type: string enum: - Unverified - Suspended title: BlockedLevel ReserveStatus: type: string enum: - Disabled - Active - SweepFixed title: ReserveStatus MerchantRfiRef: type: object properties: name: type: string status: $ref: '#/components/schemas/RfiStatus' url: type: string assignmentFormId: type: string required: - name - status - url title: MerchantRfiRef 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__ Pick_IEftAccount.Exclude_keyofIEftAccount.vendorData__: type: object properties: accountHash: type: string isDeleted: type: boolean accountNumber: type: string alias: type: string token: type: string reference: type: string mask: type: string institutionId: type: string institution: type: string transit_number: type: string required: - accountHash - alias - token - reference - mask description: From T, pick a set of properties whose keys are in the union K title: Pick_IEftAccount.Exclude_keyofIEftAccount.vendorData__ 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 Withdraw_CreateKyc_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IBackwardUser' required: - withdrawer title: Withdraw_CreateKyc_Response_200 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 Withdraw_DeleteWithdrawerVenmo_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteWithdrawerVenmo_Response_200 CustomWithdrawFeeValue: oneOf: - $ref: '#/components/schemas/CustomWithdrawFeeValue0' - $ref: '#/components/schemas/CustomWithdrawFeeValue1' title: CustomWithdrawFeeValue IWithdrawerMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IWithdrawerMerchant PickIPayPalExcludeKeyofIPayPalVendorDataType: type: string enum: - paypal title: PickIPayPalExcludeKeyofIPayPalVendorDataType CardPayoutProvider: type: string enum: - aptpay - checkbook - shift4 - MOCK title: CardPayoutProvider 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 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 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 RainAutoTopUpCadence: type: string enum: - transaction - hour - day - week - month title: RainAutoTopUpCadence ProgramWhitelistRequest: type: object properties: programId: type: string blockchain: $ref: '#/components/schemas/Blockchain' status: $ref: '#/components/schemas/ProgramWhitelistStatus' required: - programId - blockchain - status title: ProgramWhitelistRequest 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 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 KycUserInformation: type: object properties: email: type: string firstName: type: string surName: type: string physicalAddress: type: string city: type: string state: type: string zip: type: string country: type: string description: ISO 3166-1 alpha-2 country codes dob: type: string description: Date of birth in YYYYMMDD format ssn: type: string description: 4 Digit SSN required: - email - firstName - surName - physicalAddress - city - state - zip - country - dob - ssn title: KycUserInformation TokenizationProviderOption: type: string enum: - bt - tokenex title: TokenizationProviderOption 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 Withdraw_DeleteIbanAccount_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteIbanAccount_Response_200 DwollaVerificationStatus: type: string enum: - pending - verified - retry - document - suspended title: DwollaVerificationStatus EvmTransferAuthorizationData: type: object properties: data: type: string description: The result of the signedTypedData call from the user's wallet. required: - data title: EvmTransferAuthorizationData 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 RtpPayoutProvider: type: string enum: - dwolla - mock - aptpay - aptpayRtp - checkbook - brale title: RtpPayoutProvider IWithdrawerWithAccounts: 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/IWithdrawerWithAccountsMerchant' verification: $ref: '#/components/schemas/Verification' riskScoreOverride: type: boolean country: type: string geoBlockOverride: $ref: '#/components/schemas/IGeoBlockOverride' createdAt: type: string format: date-time bankAccounts: type: array items: $ref: '#/components/schemas/Pick_IBankAccount.Exclude_keyofIBankAccount.vendorData-or-accountOwnerNames-or-nameMatchStatus__' cards: type: array items: $ref: '#/components/schemas/IWithdrawerCardAccount' ibans: type: array items: $ref: '#/components/schemas/Pick_IIbanAccount.Exclude_keyofIIbanAccount.vendorData__' pixes: type: array items: $ref: '#/components/schemas/IPixAccount' efts: type: array items: $ref: '#/components/schemas/Pick_IEftAccount.Exclude_keyofIEftAccount.vendorData__' venmo: $ref: '#/components/schemas/Pick_IVenmo.Exclude_keyofIVenmo.vendorData__' paypal: $ref: '#/components/schemas/Pick_IPayPal.Exclude_keyofIPayPal.vendorData__' interac: $ref: '#/components/schemas/Pick_IInterac.Exclude_keyofIInterac.vendorData__' p2cAvailable: type: boolean applePayAvailable: type: boolean bankCurrencyOptions: type: array items: $ref: '#/components/schemas/Currency' freeWithdrawSpeeds: type: array items: $ref: '#/components/schemas/WithdrawSpeed' required: - _id - wallet - blockchain - wallets - email - availability - currency - merchant - verification - riskScoreOverride - country - bankAccounts - cards - ibans - pixes - efts - p2cAvailable - applePayAvailable - bankCurrencyOptions - freeWithdrawSpeeds title: IWithdrawerWithAccounts 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 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__ PayPalProcessor: type: string enum: - mock - paypal title: PayPalProcessor 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 GetWithdrawerResponse: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: GetWithdrawerResponse 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 BankAccountConfirmationDetails: type: object properties: accountNumber: type: string wireRoutingNumber: type: string title: BankAccountConfirmationDetails WirePayoutProvider: type: string enum: - MOCK - BRAID title: WirePayoutProvider RainPendingTopUp: type: object properties: amount: type: number format: double queuedAt: type: string format: date-time transactionId: type: string required: - amount - queuedAt - transactionId title: RainPendingTopUp AddInteracArgs: type: object properties: phoneNumber: type: string description: Phone number (US Only) unformatted 10 digits long, no leading 1 for US country code. email: type: string merchantId: type: string title: AddInteracArgs Pick_IBankAccount.Exclude_keyofIBankAccount.vendorData-or-accountOwnerNames-or-nameMatchStatus__: type: object properties: 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 required: - last4 - accountHash - alias - token - reference description: From T, pick a set of properties whose keys are in the union K title: Pick_IBankAccount.Exclude_keyofIBankAccount.vendorData-or-accountOwnerNames-or-nameMatchStatus__ 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 VenmoProcessor: type: string enum: - mock - paypal title: VenmoProcessor InterchangeFees: type: object properties: settings: $ref: '#/components/schemas/InterchangeSettings' rates: $ref: '#/components/schemas/Record_string.InterchangeRate_' required: - settings title: InterchangeFees 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 IbanProcessor: type: string enum: - merge - ivy - mock title: IbanProcessor VerificationVendor: type: string enum: - middesk - sumsub - sumsub_docv - persona - persona_kyb title: VerificationVendor Withdraw_DeleteEftAccount_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteEftAccount_Response_200 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 RainContractInfoOnramp: type: object properties: wire: $ref: '#/components/schemas/RainAccountDetails' rtp: $ref: '#/components/schemas/RainAccountDetails' ach: $ref: '#/components/schemas/RainAccountDetails' title: RainContractInfoOnramp IMerchantStringWalletsStellar: type: object properties: usdcPayer: type: string required: - usdcPayer title: IMerchantStringWalletsStellar InteracPayoutProvider: type: string enum: - checkbook - mock - aptpay title: InteracPayoutProvider 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 ApplePayPayoutProvider: type: string enum: - aptpay - MOCK title: ApplePayPayoutProvider 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 IMerchantStringWithdrawFeePayment: type: object properties: paysGasFees: $ref: '#/components/schemas/Partial_Record_Blockchain.boolean__' bundleDelegatedPayoutFees: type: boolean paysSwapFees: type: boolean paysWithdrawFees: type: boolean title: IMerchantStringWithdrawFeePayment WithdrawToken: type: object properties: mint: type: string description: 'The mint is the address of the token on the blockchain. On Solana this is the mint account ID On EVM chains this is the token contract address.' decimals: type: number format: double description: 'The number of decimals that the token has. For example USDC is always 6 decimals, so 1 USDC is 1000000 units. SOL - 9 decimals WETH - 18 decimals.' balance: type: number format: double icon: type: string name: type: string symbol: type: string isStablecoin: type: boolean stablecoinCurrency: $ref: '#/components/schemas/Currency' required: - mint - decimals - balance - name - symbol - isStablecoin title: WithdrawToken VerisoulSettings: type: object properties: enabled: type: boolean riskThresholds: $ref: '#/components/schemas/VerisoulRiskThresholds' required: - enabled - riskThresholds title: VerisoulSettings 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 Withdraw_CreateKyb_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IBackwardBusiness' required: - withdrawer title: Withdraw_CreateKyb_Response_200 IBusinessStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IBusinessStringMerchant VerificationStatus: type: string enum: - pending - partial-approval - approved - rejected - expired title: VerificationStatus WatchlistStatus: type: string enum: - Unknown - UnderReview - Passed - Blocked title: WatchlistStatus DirectVendorSettlement: type: string enum: - brale title: DirectVendorSettlement Currency.BRL: type: string enum: - BRL title: Currency.BRL Blockchain: type: string enum: - solana - eth - polygon - base - user - arbitrum - stellar - monad - tempo title: Blockchain AddPaypalArgs: type: object properties: phoneNumber: type: string description: Phone number (US Only) unformatted 10 digits long, no leading 1 for US country code. email: type: string merchantId: type: string title: AddPaypalArgs Currency.EUR: type: string enum: - EUR title: Currency.EUR IBackwardUserMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IBackwardUserMerchant Withdraw_GetWithdrawerHistory_Response_200: type: object properties: withdraws: type: array items: $ref: '#/components/schemas/IWithdraw' required: - withdraws title: Withdraw_GetWithdrawerHistory_Response_200 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 VelocityLimitMode: type: string enum: - default - dynamic - custom - no_limit title: VelocityLimitMode BlockingRuleListMode: type: string enum: - DENY - ALLOW title: BlockingRuleListMode WebhookVersion: type: string enum: - Legacy - Version 1 - Version 2 - Version 3 title: WebhookVersion 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 ApplePayPaymentTokenPaymentDataHeader: type: object properties: transactionId: type: string ephemeralPublicKey: type: string publicKeyHash: type: string required: - transactionId - ephemeralPublicKey - publicKeyHash title: ApplePayPaymentTokenPaymentDataHeader 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 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 IMerchantStringWalletsSolana: type: object properties: usdcPayer: type: string feePayer: type: string required: - usdcPayer - feePayer title: IMerchantStringWalletsSolana ApplePayPayment: type: object properties: token: $ref: '#/components/schemas/ApplePayPaymentToken' billingContact: $ref: '#/components/schemas/ApplePayBillingContact' shippingContact: $ref: '#/components/schemas/Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_' decrypted: $ref: '#/components/schemas/DecryptedApplePayToken' required: - token - billingContact description: 'Apple Pay Payment received from the Apple Pay SDK Details can be found here: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment' title: ApplePayPayment Withdraw_SendEvmGaslessTransaction_Response_200: type: object properties: hash: type: string required: - hash title: Withdraw_SendEvmGaslessTransaction_Response_200 KycSumbsubShareTokenRequestBody: type: object properties: vendor: $ref: '#/components/schemas/KycSumbsubShareTokenRequestBodyVendor' shareToken: type: string country: type: string description: Country of the user (ISO 3166-1 alpha-2) redirectLink: type: string description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' email: type: string required: - vendor - shareToken - country - email title: KycSumbsubShareTokenRequestBody AddBankAccountArgs: type: object properties: alias: type: string routingNumber: type: string accountNumber: type: string wireRoutingNumber: type: string type: $ref: '#/components/schemas/AddBankAccountArgsType' address: $ref: '#/components/schemas/IAccountAddress' required: - alias - routingNumber - accountNumber - type title: AddBankAccountArgs PixProcessor: type: string enum: - brla - mock title: PixProcessor 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_ VenmoPayoutProvider: type: string enum: - checkbook - citcon - mock - paypal title: VenmoPayoutProvider KybRequestBody: oneOf: - $ref: '#/components/schemas/KybDocVRequestBody' - $ref: '#/components/schemas/KybPassiveRequestBody' title: KybRequestBody 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 Currency.GBP: type: string enum: - GBP title: Currency.GBP AddDebitCardArgs: type: object properties: expYear: type: string description: 'The Cards Expiration Year ex: 2026 => 26' expMonth: type: string description: 'The Cards Expiration Month ex: January => 01 December => 12' additionalVendorData: $ref: '#/components/schemas/AddDebitCardArgsAdditionalVendorData' description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' cardToken: type: string description: This is the card token received from the `CoinflowCardOnlyInput` address: $ref: '#/components/schemas/IAccountAddress' merchantId: type: string required: - expYear - expMonth - cardToken title: AddDebitCardArgs IWithdrawerCardAccount: 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 expMonth: type: string expYear: type: string required: - last4 - token - type - disbursementStatus - createdAt title: IWithdrawerCardAccount 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 Withdraw_ValidateKyc_Response_200: type: object properties: invalidFields: type: array items: type: string valid: type: boolean required: - invalidFields - valid title: Withdraw_ValidateKyc_Response_200 Pick_IInterac.Exclude_keyofIInterac.vendorData__: type: object properties: isDeleted: type: boolean alias: type: string token: type: string type: $ref: '#/components/schemas/PickIInteracExcludeKeyofIInteracVendorDataType' required: - alias - token - type description: From T, pick a set of properties whose keys are in the union K title: Pick_IInterac.Exclude_keyofIInterac.vendorData__ ApaProcessor: type: string enum: - apa - mock title: ApaProcessor SendEvmWithdrawTransactionBodyAccount: oneOf: - type: string - $ref: '#/components/schemas/ApplePayPayment' description: 'One of: 1. The token of the bank account/card that the user is withdrawing to 2. An Apple Pay Response Object' title: SendEvmWithdrawTransactionBodyAccount ApplePayBillingContact: type: object properties: givenName: type: string description: The contact's given name. familyName: type: string description: The contact's family name. addressLines: type: array items: type: string description: The street portion of the address for the contact. locality: type: string description: The city for the contact. country: type: string description: The name of the country for the contact. emailAddress: type: string description: An email address for the contact. postalCode: type: string description: The zip code or postal code, where applicable, for the contact. administrativeArea: type: string description: The state for the contact. subAdministrativeArea: type: string description: The subadministrative area (such as a county or other region) in a postal address. countryCode: type: string description: The contact’s two-letter ISO 3166 country code. required: - givenName - familyName - addressLines - locality title: ApplePayBillingContact IMerchantStringProcessing: type: object properties: msaSigned: type: boolean statementsOnFile: type: boolean required: - msaSigned - statementsOnFile title: IMerchantStringProcessing ThreeDsChallengePreference: type: string enum: - NoPreference - Frictionless - Challenge title: ThreeDsChallengePreference 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 PickIVenmoExcludeKeyofIVenmoVendorDataType: type: string enum: - venmo title: PickIVenmoExcludeKeyofIVenmoVendorDataType Record_string.InterchangeRate_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_string.InterchangeRate_ KycUsRequestBody: type: object properties: merchantId: type: string description: The merchant the withdrawer is interacting with redirectLink: type: string description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' info: $ref: '#/components/schemas/KycUserInformation' required: - info title: KycUsRequestBody 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 KybInformationBusiness: type: object properties: country: type: string description: Main business country zip: type: string description: Main business zip code state: type: string description: Main business state/providence city: type: string description: Main business city address2: type: string address1: type: string description: Main business street address required: - country - zip - state - city - address1 title: KybInformationBusiness AftType: type: string enum: - disbursement - personToPerson - accountToAccount - topUp - purchase - cash - walletLoad title: AftType InteracProcessor: type: string enum: - mock - aptpay title: InteracProcessor Cents: type: object properties: cents: type: integer required: - cents title: Cents 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 WithdrawSort: type: string enum: - DEFAULT - CHEAPEST - ORDERED - LIMIT_CONSUMPTION title: WithdrawSort IWithdrawWithdrawer: oneOf: - type: string - $ref: '#/components/schemas/IUser_string_' - $ref: '#/components/schemas/IBusiness_string_' title: IWithdrawWithdrawer IUserStringMerchant: oneOf: - type: string - $ref: '#/components/schemas/IMerchant_string_' title: IUserStringMerchant 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 Withdraw_DeleteWithdrawerCard_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteWithdrawerCard_Response_200 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 KybPassiveRequestBody: type: object properties: merchantId: type: string description: The merchant the business is interacting with additionalWallets: type: array items: $ref: '#/components/schemas/KybPassiveRequestBodyAdditionalWalletsItems' description: Additional wallets to add to the newly created users KYC record redirectLink: type: string description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' info: $ref: '#/components/schemas/KybInformation' ubos: type: array items: $ref: '#/components/schemas/UboInfo' required: - merchantId - info title: KybPassiveRequestBody 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 GetMessageResponse: type: object properties: message: type: - string - 'null' description: The message that needs to be typed signed by the user's EVM wallet. required: - message title: GetMessageResponse 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 DisbursementStatus: type: string enum: - Immediate - Business Day - Ineligible - Unknown title: DisbursementStatus Withdraw_CreateKycDocument_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IBackwardUser' required: - withdrawer title: Withdraw_CreateKycDocument_Response_200 KycDocVRequestBody: type: object properties: merchantId: type: string description: The merchant the withdrawer is interacting with redirectLink: type: string description: '(optional): The URL to which the user will be redirected after successfully completing verification via verificationLink. This applies when the API responds with a 451 status code, instructing the caller to direct the user to verificationLink first.' email: type: string country: type: string description: Country of the user (ISO 3166-1 alpha-2) required: - email - country title: KycDocVRequestBody AddWithdrawMethodResponse: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: AddWithdrawMethodResponse GreenlightMerchantArgs: type: object properties: securityKey: type: string mid: type: string required: - securityKey - mid title: GreenlightMerchantArgs CustomPayInFeesConfig: type: array items: $ref: '#/components/schemas/CustomPayInFeeConfig' title: CustomPayInFeesConfig 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 KycSumbsubShareTokenRequestBodyVendor: type: string enum: - sumsub - sumsub_docv title: KycSumbsubShareTokenRequestBodyVendor 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 CashAppProcessor: type: string enum: - mock - flashnet title: CashAppProcessor CrbEnvironment: type: string enum: - sandbox - production title: CrbEnvironment CurrencyCents: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' required: - cents - currency title: CurrencyCents 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 ProgramWhitelistStatus: type: string enum: - approved - pending - rejected title: ProgramWhitelistStatus Currency.CAD: type: string enum: - CAD title: Currency.CAD 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 KybInformationPerson: type: object properties: email: type: string description: Email of the main business contact lastName: type: string description: Last name of the main business contact firstName: type: string description: First name of the main business contact required: - email - lastName - firstName title: KybInformationPerson 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 KycPersonaShareTokenRequestBodyVendor: type: string enum: - persona title: KycPersonaShareTokenRequestBodyVendor AddVenmoArgs: type: object properties: phoneNumber: type: string description: Phone number (US Only) unformatted 10 digits long, no leading 1 for US country code. merchantId: type: string required: - phoneNumber title: AddVenmoArgs WithdrawSpeed: type: string enum: - asap - same_day - standard - card - iban - pix - eft - venmo - paypal - wire - interac title: WithdrawSpeed AddDebitCardArgsAdditionalVendorData: type: object properties: {} description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' title: AddDebitCardArgsAdditionalVendorData 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 SsoProvider: type: string enum: - google title: SsoProvider StableCoin: type: string enum: - USDC - SBC - EUROe - FXUSD - HSUSD - CFUSD - YPUSD title: StableCoin 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_ BankAccountType: type: string enum: - checking - savings title: BankAccountType RainCardApplicationStatus: type: string enum: - approved - pending - needsInformation - needsVerification - manualReview - denied - locked - canceled title: RainCardApplicationStatus Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_: type: object properties: emailAddress: type: string description: An email address for the contact. description: From T, pick a set of properties whose keys are in the union K title: Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_ 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__ MerchantSsoSettings: type: object properties: requireSso: type: boolean required: - requireSso title: MerchantSsoSettings PayPalPayoutProvider: type: string enum: - checkbook - citcon - mock - paypal title: PayPalPayoutProvider 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 AptpayCanadaMerchantSettings: type: object properties: id: type: string required: - id title: AptpayCanadaMerchantSettings KybPassiveRequestBodyAdditionalWalletsItems: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' wallet: type: string required: - blockchain - wallet title: KybPassiveRequestBodyAdditionalWalletsItems 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 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 IBackwardUser: 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/IBackwardUserMerchant' 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 - wallets - email - availability - currency - merchant - verification - riskScoreOverride - country - user - watchlistExempt title: IBackwardUser ApplePayPaymentTokenPaymentData: type: object properties: version: type: string header: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentDataHeader' signature: type: string data: type: string required: - version - header - signature - data description: An object containing the encrypted payment data. title: ApplePayPaymentTokenPaymentData ApplePayPaymentTokenPaymentMethodType: type: string enum: - debit - credit - prepaid - store description: A value representing the card's type of payment. title: ApplePayPaymentTokenPaymentMethodType KycShareTokenBody: oneOf: - $ref: '#/components/schemas/KycSumbsubShareTokenRequestBody' - $ref: '#/components/schemas/KycPersonaShareTokenRequestBody' title: KycShareTokenBody 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 SendEvmWithdrawTransactionBody: type: object properties: merchantId: type: string token: $ref: '#/components/schemas/Pick_WithdrawToken.mint-or-decimals_' amount: type: number format: double speed: $ref: '#/components/schemas/WithdrawSpeed' account: $ref: '#/components/schemas/SendEvmWithdrawTransactionBodyAccount' description: 'One of: 1. The token of the bank account/card that the user is withdrawing to 2. An Apple Pay Response Object' evmTransferAuthorizationData: $ref: '#/components/schemas/EvmTransferAuthorizationData' bankAccountDetails: $ref: '#/components/schemas/BankAccountConfirmationDetails' userLocation: $ref: '#/components/schemas/IUserLocation' address: $ref: '#/components/schemas/AddressOptionalState' required: - merchantId - token - amount - speed - account - evmTransferAuthorizationData description: Make all properties in T required title: SendEvmWithdrawTransactionBody 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 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 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 WithdrawerVerificationRequiredResponse: type: object properties: verification: $ref: '#/components/schemas/Verification' verificationLink: type: string description: Link which can be hosted in an iframe or redirect the user to complete verification. redirectLink: type: string description: Link where the user will be redirected to upon successful verification. additionalVerificationLinks: type: array items: $ref: '#/components/schemas/AdditionalVerification' description: Additional links which can be hosted in an iframe or redirect the user to complete verification. rejectionReasons: type: array items: type: string description: List of reasons as to why the verification was rejected. withdrawer: $ref: '#/components/schemas/IWithdrawer' required: - verification - withdrawer title: WithdrawerVerificationRequiredResponse 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 GetWithdrawMessageBody: type: object properties: amount: type: number format: double token: $ref: '#/components/schemas/Pick_WithdrawToken.mint-or-decimals_' userLocation: $ref: '#/components/schemas/IUserLocation' required: - amount title: GetWithdrawMessageBody 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 AvailabilityStatus: type: string enum: - Functional - Blocked - Override title: AvailabilityStatus Withdraw_CreateKycAttested_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IBackwardUser' required: - withdrawer title: Withdraw_CreateKycAttested_Response_200 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 WireProcessor: type: string enum: - braid - mock title: WireProcessor 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 GetWithdrawTransactionRequestBody: type: object properties: amount: type: number format: double merchantId: type: string speed: $ref: '#/components/schemas/WithdrawSpeed' account: $ref: '#/components/schemas/GetWithdrawTransactionRequestBodyAccount' description: 'One of: 1. The token of the bank account/card that the user is withdrawing to 2. An Apple Pay Response Object' token: $ref: '#/components/schemas/Pick_WithdrawToken.mint-or-decimals_' evmTransferAuthorizationData: $ref: '#/components/schemas/EvmTransferAuthorizationData' bankAccountDetails: $ref: '#/components/schemas/BankAccountConfirmationDetails' address: $ref: '#/components/schemas/AddressOptionalState' userLocation: $ref: '#/components/schemas/IUserLocation' minUsdc: $ref: '#/components/schemas/Cents' required: - amount - merchantId - speed - account title: GetWithdrawTransactionRequestBody 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 IbanAccountData: type: object properties: number: type: string description: The IBAN number or in the case of the UK the 8-digit account number sortCode: type: string description: Only used for the UK, the 6-digit sort code bic: type: string description: Only used for the Sepa, the bank identifier code - required when requested accountHolder: type: string description: 'The account holder name registered with the bank - required when requested (e.g. when a Verification of Payee check needs the exact name)' alias: type: string required: - number title: IbanAccountData 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 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 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 IUserLocation: type: object properties: lat: type: number format: double lng: type: number format: double required: - lat - lng description: 'End-user geographic coordinates captured at the moment of the withdrawal request. Consumed by `BlockingRuleMethod.GEOLOCATION` enforcement. Replay-of-different-coords bypass is prevented server-side: the first resolved {country, state} for a given (merchant, user) pair is pinned in Redis, and subsequent requests are evaluated against that pinned value regardless of the lat/lng they submit.' title: IUserLocation LinkedBankAccountAccountType: type: string enum: - checking - savings title: LinkedBankAccountAccountType 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 MerchantStyle: type: string enum: - rounded - sharp - pill title: MerchantStyle 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 VendorSettingsKoard: type: object properties: enabled: type: boolean apiKeyPreview: type: string apiKey: type: string accountId: type: string required: - accountId title: VendorSettingsKoard 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 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 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 ApplePayPaymentTokenPaymentMethodNetwork: oneOf: - type: string - $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodNetwork1' description: A string, suitable for display, that is the name of the payment network backing the card. title: ApplePayPaymentTokenPaymentMethodNetwork ApplePayPaymentTokenPaymentMethodNetwork1: type: string enum: - Visa title: ApplePayPaymentTokenPaymentMethodNetwork1 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 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 RfiStatus: type: string enum: - pending - completed title: RfiStatus 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 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 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 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 AptpayCanadaCoinflowSettings: type: object properties: coinflow: type: boolean required: - coinflow title: AptpayCanadaCoinflowSettings 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 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 Withdraw_DeletePixAccount_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeletePixAccount_Response_200 Withdraw_DeleteWithdrawerAccount_Response_200: type: object properties: withdrawer: $ref: '#/components/schemas/IWithdrawerWithAccounts' required: - withdrawer title: Withdraw_DeleteWithdrawerAccount_Response_200 AddressOptionalState: type: object properties: address1: type: string address2: type: string city: type: string state: type: string zip: type: string country: type: string required: - address1 - city - zip - country title: AddressOptionalState TierSettings: type: object properties: feeBps: type: number format: double feeMode: $ref: '#/components/schemas/FeePayerMode' enabled: type: boolean required: - feeBps - enabled title: TierSettings ApplePayPaymentToken: type: object properties: transactionIdentifier: type: string description: A unique identifier for this payment. paymentMethod: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethod' description: Information about the card used in the transaction. paymentData: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentData' description: An object containing the encrypted payment data. required: - transactionIdentifier - paymentMethod - paymentData title: ApplePayPaymentToken KycRequestBody: oneOf: - $ref: '#/components/schemas/KycUsRequestBody' - $ref: '#/components/schemas/KycDocVRequestBody' title: KycRequestBody 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 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