Coinflow customers API
The customers API from Coinflow — 15 operation(s) for customers.
The customers API from Coinflow — 15 operation(s) for customers.
openapi: 3.1.0
info:
title: API 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:
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__
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
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
PortalBrand:
type: string
enum:
- approvely
- seamlesschex
- coinflow
- yourbrandhere
- Plan2Play
- tango
- interlace
- tapvia
title: PortalBrand
VendorSettings:
type: object
properties:
aptPayIdentity:
type: number
format: double
aptPayUSCoinflow:
type: boolean
braid:
$ref: '#/components/schemas/BraidMerchantSettings'
crb:
$ref: '#/components/schemas/CrbMerchantSettings'
highnote:
$ref: '#/components/schemas/HighnoteMerchantSettings'
ivy:
$ref: '#/components/schemas/IvySettings'
paypal:
$ref: '#/components/schemas/PayPalVendorSettings'
koard:
$ref: '#/components/schemas/VendorSettingsKoard'
title: VendorSettings
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
NameCustomerInfo:
type: object
properties:
verificationId:
type: string
displayName:
type: string
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
ip:
type: string
lat:
type: string
lng:
type: string
dob:
type: string
description: Date of birth in YYYY-MM-DD format
email:
type: string
name:
type: string
title: NameCustomerInfo
SplitNameCustomerInfo:
type: object
properties:
verificationId:
type: string
displayName:
type: string
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
ip:
type: string
lat:
type: string
lng:
type: string
dob:
type: string
description: Date of birth in YYYY-MM-DD format
email:
type: string
firstName:
type: string
lastName:
type: string
required:
- firstName
- lastName
title: SplitNameCustomerInfo
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
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
PickIInteracExcludeKeyofIInteracVendorDataType:
type: string
enum:
- interac
title: PickIInteracExcludeKeyofIInteracVendorDataType
PayoutProviderOption:
type: string
enum:
- aptpay
- coinfx
- checkbook
- BRAID
- brale
- mock
title: PayoutProviderOption
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
IMerchantStringRiskControls:
type: object
properties:
topup:
$ref: '#/components/schemas/TopupRiskControls'
title: IMerchantStringRiskControls
CitconSettingsFundPurpose:
type: string
enum:
- goods
- services
- prizes
- rebates
- others
title: CitconSettingsFundPurpose
Customers_GetCustomerPaymentById_Response_200:
type: object
properties:
payment:
$ref: '#/components/schemas/PaymentHistory'
required:
- payment
title: Customers_GetCustomerPaymentById_Response_200
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: n
# --- 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