Wells Fargo Account Transactions API

The Wells Fargo Account Transactions API enables treasury management customers to search and retrieve transaction data from the current day through 180 days prior. The API supports ACH, Wire, and RTP/Instant Payment transactions with unique transaction IDs, intraday and previous day reporting, and pagination for high-volume transaction retrieval.

OpenAPI Specification

wells-fargo-account-transactions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Wells Fargo Account Transactions API
  description: >-
    The Wells Fargo Account Transactions API enables treasury management
    customers to search and retrieve transaction data from the current day
    through 180 days prior. The API supports ACH, Wire, and RTP/Instant
    Payment transactions with unique transaction IDs, intraday and previous
    day reporting, and pagination for high-volume transaction retrieval.
    Authentication uses OAuth 2.0 bearer tokens obtained through the Wells
    Fargo Developer Portal.
  version: '3.0'
  contact:
    url: https://developer.wellsfargo.com/documentation/api-references/account-transactions/v3/transaction-detail-api-ref-v3
servers:
  - url: https://api.wellsfargo.com
tags:
  - name: Transactions
    description: Retrieve and search account transaction data.
  - name: Accounts
    description: Account information and balance queries.
paths:
  /v3/accounts/{accountId}/transactions:
    get:
      operationId: listAccountTransactions
      summary: List Account Transactions
      description: >-
        Retrieves a paginated list of transactions for a specified account,
        supporting ACH, Wire, and RTP/Instant Payment transaction types with
        intraday and previous-day reporting up to 180 days. Includes unique
        transaction IDs for deduplication.
      tags:
        - Transactions
      parameters:
        - name: accountId
          in: path
          description: The Wells Fargo account identifier.
          required: true
          schema:
            type: string
        - name: startDate
          in: query
          description: Start date for transaction search (YYYY-MM-DD). Maximum 180 days prior.
          schema:
            type: string
            format: date
        - name: endDate
          in: query
          description: End date for transaction search (YYYY-MM-DD).
          schema:
            type: string
            format: date
        - name: transactionType
          in: query
          description: Filter by transaction type (ACH, WIRE, RTP, CHECK, FED_NOW).
          schema:
            type: string
            enum: [ACH, WIRE, RTP, CHECK, FED_NOW]
        - name: debitCreditIndicator
          in: query
          description: Filter by debit or credit transactions.
          schema:
            type: string
            enum: [DEBIT, CREDIT]
        - name: pageSize
          in: query
          description: Number of transactions to return per page (default 100, max 500).
          schema:
            type: integer
            default: 100
            maximum: 500
        - name: pageToken
          in: query
          description: Pagination token from a previous response to fetch next page.
          schema:
            type: string
      security:
        - oauth2:
            - transactions:read
      responses:
        '200':
          description: Transaction list returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionListResponse'
        '400':
          description: Bad request - invalid parameters.
        '401':
          description: Unauthorized - invalid or missing access token.
        '403':
          description: Forbidden - insufficient permissions.
        '404':
          description: Account not found.
  /v3/accounts/{accountId}/transactions/{transactionId}:
    get:
      operationId: getTransactionDetail
      summary: Get Transaction Detail
      description: >-
        Retrieves detailed information for a specific transaction by its
        unique transaction ID, including amount, counterparty, date, status,
        and transaction-type-specific fields for ACH, Wire, and RTP transactions.
      tags:
        - Transactions
      parameters:
        - name: accountId
          in: path
          description: The Wells Fargo account identifier.
          required: true
          schema:
            type: string
        - name: transactionId
          in: path
          description: The unique transaction identifier.
          required: true
          schema:
            type: string
      security:
        - oauth2:
            - transactions:read
      responses:
        '200':
          description: Transaction detail returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        '401':
          description: Unauthorized.
        '404':
          description: Transaction not found.
  /v3/accounts:
    get:
      operationId: listAccounts
      summary: List Accounts
      description: >-
        Retrieves a list of accounts associated with the authenticated
        commercial customer, including account number, type, currency,
        and current balance information.
      tags:
        - Accounts
      security:
        - oauth2:
            - accounts:read
      responses:
        '200':
          description: Account list returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountListResponse'
        '401':
          description: Unauthorized.
  /v3/accounts/{accountId}/balances:
    get:
      operationId: getAccountBalances
      summary: Get Account Balances
      description: >-
        Retrieves current and available balance information for a specified
        account, including ledger balance, available balance, and intraday
        position with real-time updates throughout the business day.
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          description: The Wells Fargo account identifier.
          required: true
          schema:
            type: string
      security:
        - oauth2:
            - accounts:read
      responses:
        '200':
          description: Account balance returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBalance'
        '401':
          description: Unauthorized.
        '404':
          description: Account not found.
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.wellsfargo.com/oauth2/token
          scopes:
            accounts:read: Read account information and balances
            transactions:read: Read transaction history and details
  schemas:
    TransactionListResponse:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        nextPageToken:
          type: string
          description: Token for fetching the next page of results.
        totalCount:
          type: integer
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
          description: Unique transaction identifier.
        accountId:
          type: string
        transactionType:
          type: string
          enum: [ACH, WIRE, RTP, CHECK, FED_NOW]
        debitCreditIndicator:
          type: string
          enum: [DEBIT, CREDIT]
        amount:
          type: number
          format: double
        currency:
          type: string
          example: USD
        transactionDate:
          type: string
          format: date
        postingDate:
          type: string
          format: date
        description:
          type: string
        status:
          type: string
          enum: [POSTED, PENDING, RETURNED]
        counterpartyName:
          type: string
        counterpartyAccountNumber:
          type: string
        counterpartyRoutingNumber:
          type: string
        referenceNumber:
          type: string
    AccountListResponse:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
    Account:
      type: object
      properties:
        accountId:
          type: string
        accountNumber:
          type: string
        accountType:
          type: string
          enum: [CHECKING, SAVINGS, MONEY_MARKET, CREDIT_LINE]
        accountName:
          type: string
        currency:
          type: string
        status:
          type: string
          enum: [ACTIVE, INACTIVE, CLOSED]
    AccountBalance:
      type: object
      properties:
        accountId:
          type: string
        ledgerBalance:
          type: number
          format: double
        availableBalance:
          type: number
          format: double
        intradayPosition:
          type: number
          format: double
        currency:
          type: string
        asOfDateTime:
          type: string
          format: date-time