regions-financial Account Information API

Consumer and business account balances and details

OpenAPI Specification

regions-financial-account-information-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Regions Open Banking Account Information API
  description: Regions Bank is implementing FDX-compliant open banking APIs through its partnership with Axway Amplify Open Banking. These APIs enable secure, consent-based financial data sharing for consumer banking, corporate banking, and wealth management, replacing legacy screen-scraping with standardized API access. Built to Financial Data Exchange (FDX) API v6.x standards. Regions joined FDX in 2021 and is targeting full compliance with CFPB open banking rules by April 2027.
  version: 1.0.0
  contact:
    name: Regions Bank Developer Support
    url: https://www.regions.com
  x-api-id: regions-open-banking-api
  x-audience: partner
  x-standard: FDX
servers:
- url: https://api.regions.com/v1
  description: Production
security:
- OAuth2:
  - accounts:read
tags:
- name: Account Information
  description: Consumer and business account balances and details
paths:
  /accounts:
    get:
      operationId: listAccounts
      summary: List Accounts
      description: Retrieve a list of accounts for the authenticated customer, including checking, savings, credit card, loan, and investment accounts.
      tags:
      - Account Information
      parameters:
      - name: accountType
        in: query
        description: Filter by account type
        required: false
        schema:
          type: string
          enum:
          - CHECKING
          - SAVINGS
          - CREDIT_CARD
          - LOAN
          - INVESTMENT
          - MORTGAGE
      - name: status
        in: query
        description: Filter by account status
        required: false
        schema:
          type: string
          enum:
          - OPEN
          - CLOSED
      responses:
        '200':
          description: List of accounts
          content:
            application/json:
              schema:
                type: object
                properties:
                  accounts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Account'
                  page:
                    $ref: '#/components/schemas/PageInfo'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /accounts/{accountId}:
    get:
      operationId: getAccount
      summary: Get Account
      description: Retrieve details for a specific account.
      tags:
      - Account Information
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: Account details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '404':
          $ref: '#/components/responses/NotFound'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Forbidden:
      description: Insufficient scope or consent not granted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid OAuth2 token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Account:
      type: object
      properties:
        accountId:
          type: string
          description: Unique account identifier
        accountType:
          type: string
          enum:
          - CHECKING
          - SAVINGS
          - CREDIT_CARD
          - LOAN
          - INVESTMENT
          - MORTGAGE
        accountNumber:
          type: string
          description: Masked account number (last 4 digits visible)
        nickname:
          type: string
          description: Customer-assigned account nickname
        status:
          type: string
          enum:
          - OPEN
          - CLOSED
        currency:
          type: string
          default: USD
        balance:
          $ref: '#/components/schemas/Balance'
        institution:
          type: string
          description: Institution name (Regions Bank)
    Balance:
      type: object
      properties:
        available:
          type: number
          format: float
          description: Available balance
        current:
          type: number
          format: float
          description: Current ledger balance
        limit:
          type: number
          format: float
          description: Credit limit (for credit accounts)
        currency:
          type: string
          default: USD
        asOf:
          type: string
          format: date-time
          description: Balance as-of timestamp
    PageInfo:
      type: object
      properties:
        total:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        hasMore:
          type: boolean
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: string
        traceId:
          type: string
  parameters:
    AccountId:
      name: accountId
      in: path
      required: true
      schema:
        type: string
      description: Unique account identifier
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 with customer consent (FDX standard)
      flows:
        authorizationCode:
          authorizationUrl: https://auth.regions.com/oauth/authorize
          tokenUrl: https://auth.regions.com/oauth/token
          scopes:
            accounts:read: Read account information
            transactions:read: Read transaction history
            customers:read: Read customer profile
            payments:write: Initiate payments