Bank of America Payments API

The Payments API from Bank of America — 2 operation(s) for payments.

OpenAPI Specification

bank-of-america-payments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bank of America Accounts Payments API
  description: Bank of America provides developer APIs for banking services including payments, account management, and treasury services. The APIs enable corporate clients and fintech partners to integrate banking operations.
  version: '1.0'
  contact:
    name: Bank of America Developer Support
    url: https://developer.bankofamerica.com/
servers:
- url: https://api.bankofamerica.com
  description: Production
security:
- bearerAuth: []
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
    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'
    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
    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
    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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
externalDocs:
  description: Documentation
  url: https://developer.bankofamerica.com/