> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tai42.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List members and invites

> Aggregate every registered accounts provider's people and invitations (admin only).

Each provider's :meth:`~tai42_contract.accounts.provider.AccountsProvider.list_members`
supplies its own members and invites; the aggregate wraps them into wire rows in provider
name order, minting each row's opaque handle and action keys and joining each member's
per-principal ``disabled`` state from the platform's own principal store (read once per
call). A member row's ``disabled`` is derived True only when EVERY principal is disabled.
Provider errors propagate (loud, never a silently empty listing).



## OpenAPI

````yaml /openapi.json get /api/auth/members
openapi: 3.1.0
info:
  description: The operator HTTP surface served under /api/*.
  title: tai42-skeleton API
  version: 22.0.4
servers: []
security: []
paths:
  /api/auth/members:
    get:
      tags:
        - access-control
      summary: List members and invites
      description: >-
        Aggregate every registered accounts provider's people and invitations
        (admin only).


        Each provider's
        :meth:`~tai42_contract.accounts.provider.AccountsProvider.list_members`

        supplies its own members and invites; the aggregate wraps them into wire
        rows in provider

        name order, minting each row's opaque handle and action keys and joining
        each member's

        per-principal ``disabled`` state from the platform's own principal store
        (read once per

        call). A member row's ``disabled`` is derived True only when EVERY
        principal is disabled.

        Provider errors propagate (loud, never a silently empty listing).
      operationId: get_api_auth_members
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MemberDirectory'
                required:
                  - data
                type: object
          description: Success.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    MemberDirectory:
      additionalProperties: false
      description: >-
        The aggregated, platform-joined membership the Members door returns.


        The wire shape of the deployment-wide Members view: every provider's
        people and

        invitations as :class:`MemberRow` / :class:`InviteRow`, each carrying
        opaque routing

        tokens and (for a member) the platform-joined principal state. The
        provider's raw

        action ids and principal ids never reach this wire.
      properties:
        invites:
          items:
            $ref: '#/components/schemas/InviteRow'
          title: Invites
          type: array
        members:
          items:
            $ref: '#/components/schemas/MemberRow'
          title: Members
          type: array
      required:
        - members
        - invites
      title: MemberDirectory
      type: object
    Error:
      properties:
        code:
          description: >-
            Stable machine-readable reason a client keys a dedicated error state
            on, present on refusals that opt in (e.g. a 501 not-configured
            refusal). Optional: absent when the error carries only a
            human-readable message.
          type: string
        error:
          type: string
      required:
        - error
      type: object
    InviteRow:
      additionalProperties: false
      description: >-
        An invite row in the aggregated directory the Members door returns.


        Display fields plus the opaque routing tokens. An invitation holds no
        principal, so it

        carries no principal state; ``role`` is provider-sourced, correct while
        no principal

        exists yet.
      properties:
        action_keys:
          items:
            type: string
          title: Action Keys
          type: array
        created_at:
          format: date-time
          title: Created At
          type: string
        email:
          minLength: 1
          title: Email
          type: string
        expires_at:
          format: date-time
          title: Expires At
          type: string
        handle:
          minLength: 1
          title: Handle
          type: string
        id:
          minLength: 1
          title: Id
          type: string
        role:
          minLength: 1
          title: Role
          type: string
      required:
        - id
        - email
        - role
        - created_at
        - expires_at
        - handle
      title: InviteRow
      type: object
    MemberRow:
      additionalProperties: false
      description: >-
        A member row in the aggregated directory the Members door returns.


        Display fields plus the platform-joined principal state and opaque
        routing tokens.

        ``handle`` routes an invoke back to the producing provider and pins this
        row;

        ``action_keys`` are the opaque catalog keys of the actions applicable to
        it — a caller

        joins and echoes both, never parses them. ``principals`` carries each
        principal's

        joined state; ``disabled`` is derived True only when EVERY principal is
        disabled, so a

        person with any enabled principal still reads active while the
        per-principal truth

        stays visible. ``role`` is provider-sourced.
      properties:
        action_keys:
          items:
            type: string
          title: Action Keys
          type: array
        created_at:
          format: date-time
          title: Created At
          type: string
        disabled:
          title: Disabled
          type: boolean
        email:
          minLength: 1
          title: Email
          type: string
        handle:
          minLength: 1
          title: Handle
          type: string
        id:
          minLength: 1
          title: Id
          type: string
        principals:
          items:
            $ref: '#/components/schemas/MemberPrincipalState'
          title: Principals
          type: array
        role:
          minLength: 1
          title: Role
          type: string
      required:
        - id
        - email
        - role
        - created_at
        - principals
        - disabled
        - handle
      title: MemberRow
      type: object
    MemberPrincipalState:
      additionalProperties: false
      description: >-
        One platform principal a member holds, with its access-control state
        joined in.


        ``user_id`` is the platform principal id; ``disabled`` is taken from
        that principal's

        own record (the store the principals listing reads), never from a
        provider.
      properties:
        disabled:
          title: Disabled
          type: boolean
        user_id:
          minLength: 1
          title: User Id
          type: string
      required:
        - user_id
        - disabled
      title: MemberPrincipalState
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.