naftiko: 1.0.0-alpha2 info: label: TIAA Secure Income Account API — Participants description: 'TIAA Secure Income Account API — Participants. 3 operations. Lead operation: List Plan Participants. Self-contained Naftiko capability covering one Tiaa business surface.' tags: - Tiaa - Participants created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TIAA_API_KEY: TIAA_API_KEY capability: consumes: - type: http namespace: sia-participants baseUri: https://api.tiaa.org/sia/v1 description: TIAA Secure Income Account API — Participants business capability. Self-contained, no shared references. resources: - name: plans-planId-participants path: /plans/{planId}/participants operations: - name: listparticipants method: GET description: List Plan Participants outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: planId in: path type: string description: Unique plan identifier required: true - name: page in: query type: integer - name: pageSize in: query type: integer - name: enrollparticipant method: POST description: Enroll Participant in SIA outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: planId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: plans-planId-participants-participantId path: /plans/{planId}/participants/{participantId} operations: - name: getparticipant method: GET description: Get Participant Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: planId in: path type: string required: true - name: participantId in: path type: string required: true authentication: type: bearer token: '{{env.TIAA_API_KEY}}' exposes: - type: rest namespace: sia-participants-rest port: 8080 description: REST adapter for TIAA Secure Income Account API — Participants. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/plans/{planid}/participants name: plans-planid-participants description: REST surface for plans-planId-participants. operations: - method: GET name: listparticipants description: List Plan Participants call: sia-participants.listparticipants with: planId: rest.planId page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - method: POST name: enrollparticipant description: Enroll Participant in SIA call: sia-participants.enrollparticipant with: planId: rest.planId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/plans/{planid}/participants/{participantid} name: plans-planid-participants-participantid description: REST surface for plans-planId-participants-participantId. operations: - method: GET name: getparticipant description: Get Participant Details call: sia-participants.getparticipant with: planId: rest.planId participantId: rest.participantId outputParameters: - type: object mapping: $. - type: mcp namespace: sia-participants-mcp port: 9090 transport: http description: MCP adapter for TIAA Secure Income Account API — Participants. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-plan-participants description: List Plan Participants hints: readOnly: true destructive: false idempotent: true call: sia-participants.listparticipants with: planId: tools.planId page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: enroll-participant-sia description: Enroll Participant in SIA hints: readOnly: false destructive: false idempotent: false call: sia-participants.enrollparticipant with: planId: tools.planId body: tools.body outputParameters: - type: object mapping: $. - name: get-participant-details description: Get Participant Details hints: readOnly: true destructive: false idempotent: true call: sia-participants.getparticipant with: planId: tools.planId participantId: tools.participantId outputParameters: - type: object mapping: $.