TIAA Accounts API

Customer account information and balances

OpenAPI Specification

tiaa-accounts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TIAA Financial Data Exchange Accounts API
  description: The TIAA Financial Data Exchange (FDX) API provides authorized fintechs and financial aggregators with secure access to customer account data, including balances, transactions, investment positions, and income information from TIAA retirement and brokerage accounts. This API is built on the FDX open standard (v6.x) and uses OAuth 2.0 for customer-consented data sharing.
  version: '6.0'
  contact:
    name: TIAA Developer Support
    url: https://developer.tiaa.org/public/fdx
  termsOfService: https://developer.tiaa.org/public/terms
  license:
    name: TIAA API License
    url: https://developer.tiaa.org/public/terms
servers:
- url: https://api.tiaa.org/fdx/v6
  description: TIAA FDX Production API
tags:
- name: Accounts
  description: Customer account information and balances
paths:
  /accounts:
    get:
      operationId: listAccounts
      summary: List Customer Accounts
      description: Returns all accounts to which the customer has granted consent.
      tags:
      - Accounts
      security:
      - OAuth2: []
      parameters:
      - name: offset
        in: query
        schema:
          type: integer
        description: Pagination offset
        required: false
      - name: limit
        in: query
        schema:
          type: integer
        description: Maximum number of accounts to return
        required: false
      responses:
        '200':
          description: A list of accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /accounts/{accountId}:
    get:
      operationId: getAccount
      summary: Get Account Details
      description: Returns details for a specific account by account ID.
      tags:
      - Accounts
      security:
      - OAuth2: []
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
        description: Unique account identifier
      responses:
        '200':
          description: Account details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '404':
          description: Account not found
components:
  schemas:
    AccountList:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
        page:
          $ref: '#/components/schemas/Page'
    Account:
      type: object
      properties:
        accountId:
          type: string
          description: Unique account identifier
        accountType:
          type: string
          enum:
          - INVESTMENT
          - RETIREMENT
          - ANNUITY
          - BROKERAGE
          description: Account type
        displayName:
          type: string
          description: Human-readable account name
        accountNumber:
          type: string
          description: Masked account number
        balanceAsOf:
          type: string
          format: date-time
          description: Balance timestamp
        currentBalance:
          type: number
          format: double
          description: Current account balance in USD
        currency:
          type: string
          default: USD
        status:
          type: string
          enum:
          - OPEN
          - CLOSED
          - PENDING
    Page:
      type: object
      properties:
        nextOffset:
          type: integer
        totalElements:
          type: integer
        limit:
          type: integer
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.tiaa.org/oauth2/authorize
          tokenUrl: https://auth.tiaa.org/oauth2/token
          scopes:
            openid: OpenID Connect
            profile: Customer profile
            accounts: Account data access
            transactions: Transaction data access
            investments: Investment data access
            tax: Tax document access