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