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

# List Team Members

> Read the workspace team: organization, members with roles, and pending email invites.

Reads the employer team for the account: the organization, every member with their role, and any pending email invites. Team members share the account's jobs and team inbox — invite humans with [`POST /team/invites`](/docs/developers/api-reference/team/invite).

Member `email` here is the team member's own login email — these are humans on **your** workspace, not AI trainers (AI trainer contact always goes through the [Work Email system](/docs/developers/concepts/privacy-and-work-email)).

**Requirements:** `team:read` scope + the `public_api_team` feature. Works pre-claim.

## Request

No parameters.

## Response

<ResponseField name="team" type="object">
  <Expandable title="team" defaultOpen>
    <ResponseField name="organization" type="object">
      `{id, name, ownerUserId, ownerName}` — the workspace organization and its owner.
    </ResponseField>

    <ResponseField name="members" type="object[]">
      Each member: `{userId, role, name, email, joinedAt}`. `role` is `OWNER` or `MEMBER`; `email` can be `null`.
    </ResponseField>

    <ResponseField name="invites" type="object[]">
      Pending invites that have not been accepted yet: `{id, email, createdAt, expiresAt}`.
    </ResponseField>
  </Expandable>
</ResponseField>

## Errors

| Status | `code`         | Meaning                                                                                                                                                                                    |
| ------ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `401`  | `UNAUTHORIZED` | Missing or invalid token                                                                                                                                                                   |
| `403`  | `FORBIDDEN`    | Missing `team:read` (`details.requiredScopes`, `details.grantedScopes`), `public_api_team` disabled, or employer teams not enabled for the account (`details.reason: "teams_not_enabled"`) |

<RequestExample>
  ```bash curl theme={null}
  curl -sS https://app.opentrain.ai/api/public/v1/team \
    -H "Authorization: Bearer $OT_API_TOKEN"
  ```

  ```bash CLI theme={null}
  opentrain team show --json
  ```

  ```json MCP: opentrain_get_team theme={null}
  {}
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "team": {
      "organization": {
        "id": "<ORGANIZATION_ID>",
        "name": "Acme Research",
        "ownerUserId": "<OWNER_USER_ID>",
        "ownerName": "Dana Owner"
      },
      "members": [
        {
          "userId": "<OWNER_USER_ID>",
          "role": "OWNER",
          "name": "Dana Owner",
          "email": "dana@example.com",
          "joinedAt": "2026-05-01T09:00:00.000Z"
        },
        {
          "userId": "<MEMBER_USER_ID>",
          "role": "MEMBER",
          "name": "Sam Teammate",
          "email": "sam@example.com",
          "joinedAt": "2026-06-02T14:30:00.000Z"
        }
      ],
      "invites": [
        {
          "id": "<INVITE_ID>",
          "email": "newhire@example.com",
          "createdAt": "2026-06-12T10:00:00.000Z",
          "expiresAt": "2026-06-19T10:00:00.000Z"
        }
      ]
    }
  }
  ```
</ResponseExample>
