TIAA · Capability

TIAA Secure Income Account API — Participants

TIAA Secure Income Account API — Participants. 3 operations. Lead operation: List Plan Participants. Self-contained Naftiko capability covering one Tiaa business surface.

Run with Naftiko TiaaParticipants

What You Can Do

GET
Listparticipants — List Plan Participants
/v1/plans/{planid}/participants
POST
Enrollparticipant — Enroll Participant in SIA
/v1/plans/{planid}/participants
GET
Getparticipant — Get Participant Details
/v1/plans/{planid}/participants/{participantid}

MCP Tools

list-plan-participants

List Plan Participants

read-only idempotent
enroll-participant-sia

Enroll Participant in SIA

get-participant-details

Get Participant Details

read-only idempotent

Capability Spec

sia-participants.yaml Raw ↑
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: $.