Bank of America Payments API
The Payments API from Bank of America — 2 operation(s) for payments.
The Payments API from Bank of America — 2 operation(s) for payments.
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/bank-of-america-payments-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: Bank of America CashPro Payments API
description: The Bank of America CashPro API enables corporate treasury clients to programmatically access banking services including payments, account information, balance reporting, and transaction history. The API supports over 350 payment types and integrates with Treasury Management Systems (TMS) and ERP platforms.
version: 1.0.0
contact:
email: GlobalAPIOps@bofa.com
url: https://developer.bankofamerica.com/
servers:
- url: https://api.bankofamerica.com/cashpro/v1
description: CashPro API Production
- url: https://sandbox.bankofamerica.com/cashpro/v1
description: CashPro API Sandbox
security:
- OAuth2: []
tags:
- name: Payments
paths:
/payments:
post:
operationId: initiatePayment
summary: Initiate Payment
description: Initiate a payment transaction. Supports over 350 payment types including ACH, wire transfers, SWIFT, checks, and real-time payments. The payment type is determined by the paymentType field in the request body.
tags:
- Payments
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentRequest'
responses:
'201':
description: Payment initiated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponse'
'400':
description: Bad request — invalid payment data
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
get:
operationId: listPayments
summary: List Payments
description: Retrieve a list of payment transactions filtered by date range and status.
tags:
- Payments
parameters:
- name: fromDate
in: query
description: Start date filter (ISO 8601)
schema:
type: string
format: date
- name: toDate
in: query
description: End date filter (ISO 8601)
schema:
type: string
format: date
- name: status
in: query
description: Filter by payment status
schema:
type: string
enum:
- pending
- processing
- completed
- rejected
- cancelled
- name: paymentType
in: query
description: Filter by payment type
schema:
type: string
responses:
'200':
description: Payment list
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/payments/{paymentId}:
get:
operationId: getPayment
summary: Get Payment Status
description: Retrieve the current status and details of a specific payment transaction.
tags:
- Payments
parameters:
- name: paymentId
in: path
required: true
description: Unique payment transaction identifier
schema:
type: string
responses:
'200':
description: Payment details
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Payment not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
delete:
operationId: cancelPayment
summary: Cancel Payment
description: Cancel a pending payment that has not yet been processed.
tags:
- Payments
parameters:
- name: paymentId
in: path
required: true
description: Unique payment identifier
schema:
type: string
responses:
'200':
description: Payment cancelled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: Conflict — payment cannot be cancelled in current state
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
type: object
description: API error response
properties:
errorCode:
type: string
description: Machine-readable error code
message:
type: string
description: Human-readable error message
details:
type: array
items:
type: string
description: Additional error details
requestId:
type: string
description: Request identifier for support
PaymentListResponse:
type: object
description: Paginated list of payments
properties:
payments:
type: array
items:
$ref: '#/components/schemas/PaymentResponse'
totalCount:
type: integer
pageSize:
type: integer
offset:
type: integer
PaymentRequest:
type: object
description: Payment initiation request
required:
- paymentType
- amount
- currency
- debitAccountId
- beneficiary
properties:
paymentType:
type: string
description: Payment type (ACH_CREDIT, WIRE, SWIFT, CHECK, RTP, etc.)
amount:
type: number
format: double
description: Payment amount
currency:
type: string
description: Payment currency (ISO 4217)
debitAccountId:
type: string
description: Account to debit
valueDate:
type: string
format: date
description: Requested value date (ISO 8601)
reference:
type: string
description: Client reference number
memo:
type: string
description: Payment memo or description
beneficiary:
$ref: '#/components/schemas/Beneficiary'
Beneficiary:
type: object
description: Payment beneficiary details
properties:
name:
type: string
description: Beneficiary name
accountNumber:
type: string
description: Beneficiary account number
routingNumber:
type: string
description: Beneficiary bank routing number (ABA)
bankName:
type: string
description: Beneficiary bank name
bankAddress:
type: string
description: Beneficiary bank address
swiftCode:
type: string
description: SWIFT/BIC code for international wires
PaymentResponse:
type: object
description: Payment transaction response
properties:
paymentId:
type: string
description: Unique payment identifier
clientReferenceId:
type: string
description: Client-provided reference
status:
type: string
description: Payment status
enum:
- pending
- processing
- completed
- rejected
- cancelled
paymentType:
type: string
description: Payment type
amount:
type: number
format: double
currency:
type: string
valueDate:
type: string
format: date
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
statusMessage:
type: string
description: Additional status information
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.bankofamerica.com/oauth/token
scopes:
accounts:read: Read account information and balances
transactions:read: Read transaction history
payments:write: Initiate and manage payments
statements:read: Access account statements