Truist Financial Accounts API

Personal and small business account operations

OpenAPI Specification

truist-financial-accounts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Truist Commercial Account Transactions Accounts API
  description: Enables programmatic retrieval of commercial account transaction data including ACH credits and debits, wire transfers, checks, and other payment types. Supports ERP integrations, cash flow reconciliation, and automated accounting workflows.
  version: 1.0.0
  contact:
    url: https://developer.truist.com/
  termsOfService: https://www.truist.com/about-truist/terms-conditions
servers:
- url: https://api.truist.com/v1
  description: Production
tags:
- name: Accounts
  description: Personal and small business account operations
paths:
  /personal/accounts:
    get:
      operationId: listPersonalAccounts
      summary: List Personal Accounts
      description: Retrieve a list of personal and small business deposit accounts for the authenticated client.
      tags:
      - Accounts
      security:
      - OAuth2:
        - accounts:read
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: Bearer token for OAuth 2.0 authentication
      responses:
        '200':
          description: List of accounts retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountListResponse'
        '401':
          description: Unauthorized - invalid or missing token
        '403':
          description: Forbidden - insufficient permissions
  /personal/accounts/{accountId}:
    get:
      operationId: getPersonalAccount
      summary: Get Personal Account
      description: Retrieve details for a specific personal or small business deposit account.
      tags:
      - Accounts
      security:
      - OAuth2:
        - accounts:read
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
        description: Unique account identifier
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: Bearer token for OAuth 2.0 authentication
      responses:
        '200':
          description: Account details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Account not found
  /personal/accounts/{accountId}/balances:
    get:
      operationId: getPersonalAccountBalances
      summary: Get Personal Account Balances
      description: Retrieve current and available balances for a personal or small business account.
      tags:
      - Accounts
      security:
      - OAuth2:
        - accounts:read
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
        description: Unique account identifier
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
        description: Bearer token for OAuth 2.0 authentication
      responses:
        '200':
          description: Account balances retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBalances'
        '401':
          description: Unauthorized
        '404':
          description: Account not found
components:
  schemas:
    Account:
      type: object
      properties:
        accountId:
          type: string
          description: Unique account identifier
        accountNumber:
          type: string
          description: Masked account number
        accountType:
          type: string
          enum:
          - CHECKING
          - SAVINGS
          - MONEY_MARKET
          - CERTIFICATE_OF_DEPOSIT
          description: Type of deposit account
        accountName:
          type: string
          description: Account nickname or display name
        routingNumber:
          type: string
          description: ABA routing number
        status:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - CLOSED
          description: Current account status
        currency:
          type: string
          default: USD
          description: Account currency code
        openedDate:
          type: string
          format: date
          description: Date the account was opened
    AccountBalances:
      type: object
      properties:
        accountId:
          type: string
          description: Unique account identifier
        currentBalance:
          type: number
          format: double
          description: Current ledger balance
        availableBalance:
          type: number
          format: double
          description: Available balance for transactions
        pendingBalance:
          type: number
          format: double
          description: Balance of pending transactions
        currency:
          type: string
          default: USD
          description: Currency code
        asOfDateTime:
          type: string
          format: date-time
          description: Timestamp of balance information
    AccountListResponse:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
        totalCount:
          type: integer
          description: Total number of accounts
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.truist.com/oauth2/token
          scopes:
            commercial.transactions:read: Read access to commercial transaction data