Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: payments-api-v2-1 Accounts API
version: '2'
servers:
- url: https://test.api.interchecks.io
security:
- sec0: []
tags:
- name: Accounts
paths:
/api/v2/{payer_id}/accounts/{recipient_id}/banks:
post:
summary: Add Bank Account
description: 'Add a Bank Account for Recipient.
`201` - Created, will include a Location response header
`400` - Bad Request, missing or invalid parameters
`404` - Recipient ID not found'
operationId: add-bank-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
account_number:
type: string
description: Bank account number
routing_number:
type: string
description: Bank routing number
account_type:
type: string
description: Bank account type
enum:
- CHECKING
- SAVINGS
- BUSINESS
account_name:
type: string
description: Bank account name - only required for business accounts
examples:
Request Example:
value:
account_number: '123456789'
routing_number: '021502011'
account_type: CHECKING
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"account_id\": \"RPA-L2NW6S4ASIeaKqeP4JmocA==\",\n \"description\": \"CHECKING 1****6789\",\n \"created_date\": \"2021-11-09T13:52:55.330Z\",\n \"account_name\": \"Sherlock Holmes\",\n \"account_number\": \"123456789\",\n \"account_type\": \"CHECKING\",\n \"bank_name\": \"BANCO POPULAR\",\n \"routing_number\": \"021502011\",\n \"rtp_status\": \"DISABLED\"\n}"
schema:
type: object
properties:
account_id:
type: string
example: RPA-L2NW6S4ASIeaKqeP4JmocA==
description:
type: string
example: CHECKING 1****6789
created_date:
type: string
example: '2021-11-09T13:52:55.330Z'
account_name:
type: string
example: Sherlock Holmes
account_number:
type: string
example: '123456789'
account_type:
type: string
example: CHECKING
bank_name:
type: string
example: BANCO POPULAR
routing_number:
type: string
example: '021502011'
rtp_status:
type: string
example: DISABLED
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"http_status\": 404,\n \"error_code\": \"ERR_INVALID_ROUTING_NUMBER\",\n \"error_message\": \"Invalid Routing Number\"\n}"
schema:
type: object
properties:
http_status:
type: integer
example: 404
default: 0
error_code:
type: string
example: ERR_INVALID_ROUTING_NUMBER
error_message:
type: string
example: Invalid Routing Number
deprecated: false
tags:
- Accounts
get:
summary: Get Bank Accounts
description: 'Get Bank Accounts for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: get-bank-accounts
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: maskAccount
in: query
description: Limits the `account_number` value to last 4 digits
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"account_id\": \"RPA-L2NW6S4ASIeaKqeP4JmocA==\",\n \"description\": \"CHECKING 1****6789\",\n \"created_date\": \"2021-11-09T13:52:55.330Z\",\n \"account_name\": \"Sherlock Holmes\",\n \"account_number\": \"123456789\",\n \"account_type\": \"CHECKING\",\n \"bank_name\": \"BANCO POPULAR\",\n \"routing_number\": \"021502011\",\n \"rtp_status\": \"DISABLED\"\n\t}\n]"
schema:
type: array
items:
type: object
properties:
account_id:
type: string
example: RPA-L2NW6S4ASIeaKqeP4JmocA==
description:
type: string
example: CHECKING 1****6789
created_date:
type: string
example: '2021-11-09T13:52:55.330Z'
account_name:
type: string
example: Sherlock Holmes
account_number:
type: string
example: '123456789'
account_type:
type: string
example: CHECKING
bank_name:
type: string
example: BANCO POPULAR
routing_number:
type: string
example: '021502011'
rtp_status:
type: string
example: DISABLED
deprecated: false
tags:
- Accounts
/api/v2/{payer_id}/accounts/{recipient_id}/banks/{account_id}:
get:
summary: Get Bank Account
description: 'Get Bank Account for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: get-bank-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: account_id
in: path
description: Payment Account ID
schema:
type: string
required: true
- name: maskAccount
in: query
description: Limits the `account_number` value to last 4 digits
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"account_id\": \"RPA-L2NW6S4ASIeaKqeP4JmocA==\",\n \"description\": \"CHECKING 1****6789\",\n \"created_date\": \"2021-11-09T13:52:55.330Z\",\n \"account_name\": \"Sherlock Holmes\",\n \"account_number\": \"123456789\",\n \"account_type\": \"CHECKING\",\n \"bank_name\": \"BANCO POPULAR\",\n \"routing_number\": \"021502011\",\n \"rtp_status\": \"DISABLED\"\n}"
schema:
type: object
properties:
account_id:
type: string
example: RPA-L2NW6S4ASIeaKqeP4JmocA==
description:
type: string
example: CHECKING 1****6789
created_date:
type: string
example: '2021-11-09T13:52:55.330Z'
account_name:
type: string
example: Sherlock Holmes
account_number:
type: string
example: '123456789'
account_type:
type: string
example: CHECKING
bank_name:
type: string
example: BANCO POPULAR
routing_number:
type: string
example: '021502011'
rtp_status:
type: string
example: DISABLED
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"http_status\": 400,\n \"error_code\": \"ERR_INVALID_RECIPIENT_ID\",\n \"error_message\": \"Invalid Recipient ID\"\n}"
schema:
type: object
properties:
http_status:
type: integer
example: 400
default: 0
error_code:
type: string
example: ERR_INVALID_RECIPIENT_ID
error_message:
type: string
example: Invalid Recipient ID
deprecated: false
tags:
- Accounts
delete:
summary: Delete Bank Account
description: 'Delete Bank Account for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: delete-bank-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: account_id
in: path
description: Payment Account ID
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
/api/v2/{payer_id}/accounts/{recipient_id}/cards:
post:
summary: Add Card Account
description: Add a Card Account for a Recipient.
operationId: add-card-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
card_number:
type: string
description: Card number - 16 digits no spaces or dashes
exp_date:
type: string
description: Card expiration date formatted as YYYY-MM
account_name:
type: string
description: Card account name - only required for business accounts
cvv:
type: string
description: Card account CVV code (optional)
address:
properties:
address_1:
type: string
description: Address line 1
city:
type: string
description: City
state:
type: string
description: State abbreviation
zip:
type: string
description: Zip code
required: []
type: object
examples:
Create Card Account:
value:
card_number: '4515300011000167'
exp_date: 2026-08
Create Card Account with Account Verification:
value:
card_number: '4515300011000167'
exp_date: 2026-08
cvv: '123'
Create Card Account with Address Verification:
value:
card_number: '4515300011000167'
exp_date: 2026-08
cvv: '123'
address:
address_1: 123 Main St.
city: Miami
state: FL
zip: '33333'
responses:
'200':
description: '200'
content:
application/json:
examples:
Failed Creation:
value: "{\n \"http_status\": 200,\n \"error_code\": \"ERR_CARD_INELIGIBLE\",\n \"error_message\": \"Card ineligible\"\n}"
Verification Result for No Match:
value: "{\n\t\t\"error_response_code\": \"ERR_CARD_PAV_FAILURE\",\n \"error_message\": \"Card account validation failed\",\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\",\n \"verification_result\": {\n \"network\": \"VISA\",\n \"pan\": \"MATCH\",\n \"cvv\": \"MATCH\",\n \"avs\": {\n \"street\": \"MATCH\",\n \"zip\": \"NO_MATCH\"\n },\n \"ani\": {\n \"first_name\": \"MATCH\",\n \"last_name\": \"PARTIAL\"\n }\n }\n}"
schema:
oneOf:
- title: Failed Creation
type: object
properties:
http_status:
type: integer
example: 200
default: 0
error_code:
type: string
example: ERR_CARD_INELIGIBLE
error_message:
type: string
example: Card ineligible
- title: Verification Result for No Match
type: object
properties:
error_response_code:
type: string
example: ERR_CARD_PAV_FAILURE
error_message:
type: string
example: Card account validation failed
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
verification_result:
type: object
properties:
network:
type: string
example: VISA
pan:
type: string
example: MATCH
cvv:
type: string
example: MATCH
avs:
type: object
properties:
street:
type: string
example: MATCH
zip:
type: string
example: NO_MATCH
ani:
type: object
properties:
first_name:
type: string
example: MATCH
last_name:
type: string
example: PARTIAL
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\",\n \"verification_result\": {\n \"network\": \"VISA\",\n \"pan\": \"MATCH\",\n \"cvv\": \"MATCH\",\n \"avs\": {\n \"street\": \"MATCH\",\n \"zip\": \"MATCH\"\n },\n \"ani\": {\n \"first_name\": \"MATCH\",\n \"last_name\": \"PARTIAL\"\n }\n }\n}"
schema:
oneOf:
- type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
- type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
verification_result:
type: object
properties:
network:
type: string
example: VISA
pan:
type: string
example: MATCH
cvv:
type: string
example: MATCH
avs:
type: object
properties:
street:
type: string
example: MATCH
zip:
type: string
example: MATCH
ani:
type: object
properties:
first_name:
type: string
example: MATCH
last_name:
type: string
example: PARTIAL
'409':
description: '409'
content:
application/json:
examples:
Card Exists:
value: "{\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\"\n}"
schema:
type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
deprecated: false
tags:
- Accounts
get:
summary: Get Card Accounts
description: 'Get Card Accounts for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: get-card-accounts
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\"\n\t}\n] "
schema:
type: array
items:
type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
deprecated: false
tags:
- Accounts
/api/v2/{payer_id}/accounts/{recipient_id}/cards/{account_id}:
get:
summary: Get Card Account
description: 'Get Card Account for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: get-card-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: account_id
in: path
description: Payment Account ID
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\"\n}"
Get Card Account with Verification:
value: "{\n \"account_id\": \"RPA-f9Qe4Pm_THaw7uDTqck4IQ==\",\n \"description\": \"Visa Debit 0167\",\n \"created_date\": \"2021-11-09T14:47:42.843Z\",\n \"bank_name\": \"Banco Popular\",\n \"card_number\": \"451530XXXXXX0167\",\n \"card_type\": \"DEBIT\",\n \"exp_date\": \"2026-08\",\n \"verification_status\": \"VERIFIED\",\n\t\t\"verification_result\": {\n \t\"network\": \"VISA\",\n \"pan\": \"MATCH\",\n \"cvv\": \"MATCH\",\n \"avs\": {\n \t\"street\": \"MATCH\",\n \t\"zip\": \"MATCH\"\n },\n \t\"ani\": {\n \t\"first_name\": \"MATCH\",\n \"last_name\": \"MATCH\"\n }\n }\n}\n"
schema:
oneOf:
- type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
- title: Get Card Account with Verification
type: object
properties:
account_id:
type: string
example: RPA-f9Qe4Pm_THaw7uDTqck4IQ==
description:
type: string
example: Visa Debit 0167
created_date:
type: string
example: '2021-11-09T14:47:42.843Z'
bank_name:
type: string
example: Banco Popular
card_number:
type: string
example: 451530XXXXXX0167
card_type:
type: string
example: DEBIT
exp_date:
type: string
example: 2026-08
verification_status:
type: string
example: VERIFIED
verification_result:
type: object
properties:
network:
type: string
example: VISA
pan:
type: string
example: MATCH
cvv:
type: string
example: MATCH
avs:
type: object
properties:
street:
type: string
example: MATCH
zip:
type: string
example: MATCH
ani:
type: object
properties:
first_name:
type: string
example: MATCH
last_name:
type: string
example: MATCH
deprecated: false
tags:
- Accounts
delete:
summary: Delete Card Account
description: 'Delete Card Account for Recipient.
`200` - Request Succeeded
`404` - Recipient ID or Account ID not found'
operationId: delete-card-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: account_id
in: path
description: Payment Account ID
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Accounts
/api/v2/{payer_id}/accounts/{recipient_id}/cards/{account_id}/verification:
post:
summary: Verify Card Account
description: Card Account Verification for Account Name and/or Address on an existing active Card account
operationId: verify-card-account
parameters:
- name: payer_id
in: path
description: Payer ID
schema:
type: string
required: true
- name: recipient_id
in: path
description: Recipient ID
schema:
type: string
required: true
- name: account_id
in: path
description: Account ID
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: First Name (optional)
last_name:
type: string
description: Last Name (optional)
address:
properties:
address_1:
type: string
description: Address line 1 (optional)
city:
type: string
description: City
state:
type: string
description: State abbreviation
zip:
type: string
description: Zip code (optional)
required: []
type: object
description: Address (optional)
verification_options:
properties:
require_match:
type: boolean
description: Enforce matching logic required for funding transactions. If there is a non-match, and error code/message will be returned.
# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/interchecks/refs/heads/main/openapi/interchecks-accounts-api-openapi.yml