openapi: 3.0.3 info: title: TIAA Financial Data Exchange Accounts Participants 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: Participants description: Participant account management paths: /plans/{planId}/participants: get: operationId: listParticipants summary: List Plan Participants description: Returns participants enrolled in the SIA product for a given plan. tags: - Participants security: - ClientCredentials: [] parameters: - name: planId in: path required: true schema: type: string description: Unique plan identifier - name: page in: query schema: type: integer - name: pageSize in: query schema: type: integer responses: '200': description: List of participants content: application/json: schema: $ref: '#/components/schemas/ParticipantList' '401': description: Unauthorized '403': description: Forbidden post: operationId: enrollParticipant summary: Enroll Participant in SIA description: Enrolls a new participant in the Secure Income Account product for the plan. tags: - Participants security: - ClientCredentials: [] parameters: - name: planId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ParticipantEnrollment' responses: '201': description: Participant enrolled content: application/json: schema: $ref: '#/components/schemas/Participant' '400': description: Invalid request /plans/{planId}/participants/{participantId}: get: operationId: getParticipant summary: Get Participant Details description: Returns SIA account details for a specific participant. tags: - Participants security: - ClientCredentials: [] parameters: - name: planId in: path required: true schema: type: string - name: participantId in: path required: true schema: type: string responses: '200': description: Participant details content: application/json: schema: $ref: '#/components/schemas/Participant' '404': description: Participant not found components: schemas: Participant: type: object properties: participantId: type: string planId: type: string firstName: type: string lastName: type: string dateOfBirth: type: string format: date enrollmentDate: type: string format: date accountBalance: type: number format: double vestingPercentage: type: number format: double status: type: string enum: - ACTIVE - TERMINATED - RETIRED - DECEASED ParticipantEnrollment: type: object required: - firstName - lastName - dateOfBirth - ssn properties: firstName: type: string lastName: type: string dateOfBirth: type: string format: date ssn: type: string description: Social Security Number (encrypted) email: type: string format: email allocationPercentage: type: number format: double description: Initial SIA allocation percentage ParticipantList: type: object properties: participants: type: array items: $ref: '#/components/schemas/Participant' totalElements: type: integer page: type: integer pageSize: 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