Coinflow customers API
The customers API from Coinflow — 15 operation(s) for customers.
The customers API from Coinflow — 15 operation(s) for customers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/coinflow-customers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Reference authentication Customers API
version: 1.0.0
servers:
- url: https://api-sandbox.coinflow.cash/api
description: https://api-sandbox.coinflow.cash/api
tags:
- name: customers
paths:
/customer/v2/bankAccount:
post:
operationId: add-bank-account
summary: Add Bank Account
description: Adds a bank account for a given customer
tags:
- customers
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: Successful response
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Pick_AddACHBankAccountData.Exclude_keyofAddACHBankAccountData.plaidAccountId__'
/customer/plaid-check:
post:
operationId: plaid-check
summary: Bank Account Status Check
description: 'Checks whether a customer''s linked bank account is still active and
valid. Returns a normalized status (`active`, `removed`, `login_required`,
or `error`) that merchants can use to gate transaction attempts before
submission.'
tags:
- customers
parameters:
- name: Authorization
in: header
description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MultiPlaidAccountStatusResponse'
requestBody:
description: '- The customerId identifying the customer whose linked
account should be checked, and an optional bankAccountToken to identify
a specific bank account. If no token is provided, the customer''s most
recently linked bank account will be checked.'
content:
application/json:
schema:
type: object
properties:
accounts:
type: array
items:
$ref: '#/components/schemas/CustomerPlaidCheckPostRequestBodyContentApplicationJsonSchemaAccountsItems'
required:
- accounts
/customer/iban:
post:
operationId: add-iban
summary: Create an Iban account
description: Create an Iban account for a given customer
tags:
- customers
parameters:
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
requestBody:
content:
application/json:
schema:
type: object
properties:
merchantId:
type: string
data:
$ref: '#/components/schemas/IbanData'
required:
- merchantId
- data
/customer/card:
post:
operationId: create-card-for-customer
summary: Create Card for Customer
description: Create card for a particular customer
tags:
- customers
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/GetCustomerResponse'
requestBody:
content:
application/json:
schema:
type: object
properties:
card:
$ref: '#/components/schemas/CardData'
required:
- card
/customer:
post:
operationId: create-customer
summary: Create Customer
description: Creates a customer
tags:
- customers
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/GetCustomerResponse'
requestBody:
content:
application/json:
schema:
type: object
properties:
customerInfo:
$ref: '#/components/schemas/CustomerInfo'
email:
type: string
required:
- email
/customer/bankAccount/{token}:
delete:
operationId: delete-bank-account
summary: Delete Bank Account
description: Deletes a bank account for a given customer
tags:
- customers
parameters:
- name: token
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/card/{cardToken}:
delete:
operationId: delete-card
summary: Delete Card
description: Deletes the card for a particular customer
tags:
- customers
parameters:
- name: cardToken
in: path
description: '- Token of the card to delete'
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/iban/{token}:
delete:
operationId: delete-iban
summary: Delete Iban Account
description: Deletes an Iban account for a given customer
tags:
- customers
parameters:
- name: token
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/interac/{token}:
delete:
operationId: delete-interac
summary: Delete Interac Account
description: Deletes an Interac account for a given customer
tags:
- customers
parameters:
- name: token
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/paypal/{token}:
delete:
operationId: delete-paypal
summary: Delete PayPal Account
description: Deletes a saved PayPal account for a given customer
tags:
- customers
parameters:
- name: token
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/venmo/{token}:
delete:
operationId: delete-venmo
summary: Delete Venmo Account
description: Deletes a saved Venmo account for a given customer
tags:
- customers
parameters:
- name: token
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
required: true
schema:
type: string
responses:
'200':
description: Successful response
/customer/balances/{merchantIdOrCreditSeed}:
get:
operationId: get-checkout-balances
summary: Get Balances
description: Gets the balances of credits, usdc, and an optional token for a particular wallet
tags:
- customers
parameters:
- name: merchantIdOrCreditSeed
in: path
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for 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/CustomerBalances'
/customer/v2:
get:
operationId: get-customer
summary: Get Customer
description: Gets the Customer record for a particular user.
tags:
- customers
parameters:
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for 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/GetCustomerResponse'
'412':
description: No customer associated with customerId, will also return this code if the customer exists, but they have no payment methods are available.
content:
application/json:
schema:
type: number
format: double
'451':
description: Must Complete Additional Verification
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationRequiredResponse'
/customer/history:
get:
operationId: get-history
summary: Get Purchase History
description: Gets the Purchase History for a particular Customer
tags:
- customers
parameters:
- name: paymentId
in: query
description: '- Optional payment id to filter the request by'
required: false
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for 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/Customers_GetHistory_Response_200'
/customer/history/{paymentId}:
get:
operationId: get-customer-payment-by-id
summary: Get Purchase History By ID
description: Gets the Purchase for a Customer by ID
tags:
- customers
parameters:
- name: paymentId
in: path
description: '- Payment id to filter the request by'
required: true
schema:
type: string
- name: x-coinflow-auth-session-key
in: header
description: The session key generated for 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/Customers_GetCustomerPaymentById_Response_200'
components:
schemas:
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
NuveiV1MerchantArgs:
type: object
properties:
merchantId:
type: string
merchantSiteId:
type: string
conversionAffiliateCountryCode:
type: string
required:
- merchantId
- merchantSiteId
title: NuveiV1MerchantArgs
PickIVenmoExcludeKeyofIVenmoVendorDataType:
type: string
enum:
- venmo
title: PickIVenmoExcludeKeyofIVenmoVendorDataType
SubscriptionDisplay:
type: object
properties:
id:
type: string
customerId:
type: string
blockchain:
$ref: '#/components/schemas/Blockchain'
merchantId:
type: string
email:
type: string
plan:
type: string
planCode:
type: string
nextPaymentAt:
type: string
format: date-time
status:
$ref: '#/components/schemas/SubscriptionStatus'
required:
- id
- customerId
- merchantId
- email
- plan
- planCode
- status
title: SubscriptionDisplay
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
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
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
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
VerificationStatus:
type: string
enum:
- pending
- partial-approval
- approved
- rejected
- expired
title: VerificationStatus
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
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
ProgramWhitelistRequest:
type: object
properties:
programId:
type: string
blockchain:
$ref: '#/components/schemas/Blockchain'
status:
$ref: '#/components/schemas/ProgramWhitelistStatus'
required:
- programId
- blockchain
- status
title: ProgramWhitelistRequest
ThreeDsChallengePreference:
type: string
enum:
- NoPreference
- Frictionless
- Challenge
title: ThreeDsChallengePreference
AptpayCanadaCoinflowSettings:
type: object
properties:
coinflow:
type: boolean
required:
- coinflow
title: AptpayCanadaCoinflowSettings
MerchantScope:
type: string
enum:
- admin
- editor
- chargeback
- chargeback_analyst
- viewer
- seller
- pos_device
title: MerchantScope
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
PickICustomerWithAccountsExcludeKeyofICustomerWithAccountsFraudControlFieldsBlockConfigOverride:
type: object
properties:
maxDistinctTokensPer30Days:
type: number
format: double
description: Per-customer overrides of merchant `blockConfig`. Only honored when they raise the effective limit.
title: PickICustomerWithAccountsExcludeKeyofICustomerWithAccountsFraudControlFieldsBlockConfigOverride
PortalBrand:
type: string
enum:
- approvely
- seamlesschex
- coinflow
- yourbrandhere
- Plan2Play
- tango
- interlace
- tapvia
title: PortalBrand
Customers_GetHistory_Response_200:
type: object
properties:
history:
type: array
items:
$ref: '#/components/schemas/PaymentHistory'
required:
- history
title: Customers_GetHistory_Response_200
BlockingRuleMethod:
type: string
enum:
- KYC_ADDRESS
- IP
- BILLING_ADDRESS
- GEOLOCATION
title: BlockingRuleMethod
ProgramWhitelistStatus:
type: string
enum:
- approved
- pending
- rejected
title: ProgramWhitelistStatus
AptpayCanadaMerchantSettings:
type: object
properties:
id:
type: string
required:
- id
title: AptpayCanadaMerchantSettings
VerificationRequiredResponse:
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.
required:
- verification
title: VerificationRequiredResponse
ApaProcessor:
type: string
enum:
- apa
- mock
title: ApaProcessor
Record_string.InterchangeRate_:
type: object
properties: {}
description: Construct a type with a set of properties K of type T
title: Record_string.InterchangeRate_
PickICustomerWithAccountsExcludeKeyofICustomerWithAccountsFraudControlFieldsMerchant:
oneOf:
- type: string
- $ref: '#/components/schemas/IMerchant_string_'
title: PickICustomerWithAccountsExcludeKeyofICustomerWithAccountsFraudControlFieldsMerchant
PlaidBalanceData:
type: object
properties:
current:
type:
- number
- 'null'
format: double
available:
type:
- number
- 'null'
format: double
limit:
type:
- number
- 'null'
format: double
isoCurrencyCode:
type:
- string
- 'null'
unofficialCurrencyCode:
type:
- string
- 'null'
required:
- current
- available
- limit
- isoCurrencyCode
- unofficialCurrencyCode
title: PlaidBalanceData
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
Record_string.any_:
type: object
properties: {}
description: Construct a type with a set of properties K of type T
title: Record_string.any_
RainAutoTopUpCadence:
type: string
enum:
- transaction
- hour
- day
- week
- month
title: RainAutoTopUpCadence
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
# --- truncated at 32 KB (125 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coinflow/refs/heads/main/openapi/coinflow-customers-api-openapi.yml