---
title: "List team members"
method: GET
path: "/internal/api/settings/team"
tags: ["SETTINGS"]
---

# List team members

`GET /internal/api/settings/team`

## Request

- Base URL: `https://api.signalshq.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalshq.io/internal/api/settings/team`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Everyone with access to the firm's workspace: real users and pending invitations, merged into one list with a `type` discriminator. Available to every authenticated member; `last_login_at` is withheld from non-administrators.

## Response `200`

Successful Response

- TeamListResponse
  - `data` TeamMemberResponse[], required
    - `id` string, uuid, required
    - `type` 'user' | 'invite', required: Discriminates the two sources merged into one roster row. The client keys rows on ``f"{type}:{id}"`` and otherwise never needs to know that users and invites are separate tables.
    - `email` string, required
    - `name` string, nullable
    - `role` 'OWNER' | 'ADMIN' | 'USER' | 'SUPER_ADMIN' | 'REVIEWER' | 'PREPARER' | 'MANAGER', required
    - `status` 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | 'INVITED' | 'EXPIRED', required: Roster status — the union of user status and invite lifecycle.
    - `last_login_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `invited_by` InvitedByRef
      - `id` string, uuid, required
      - `name` string, nullable
    - `invite_expires_at` string, date-time, nullable
    - `is_self` boolean
  - `meta` TeamListMeta, required
    - `total` integer, required
    - `seats` SeatUsage, required: Seats consumed = ACTIVE users + PENDING invites. INACTIVE and SUSPENDED users are free on purpose: deactivating is how a firm frees capacity without destroying the attribution history that IRC §6107(b) retention depends on.
      - `used` integer, required
      - `limit` integer, required
    - `pending_invites` integer, required
    - `expired_invites` integer
    - `can_manage_team` boolean, required
    - `can_transfer_ownership` boolean, required
    - `current_user_role` 'OWNER' | 'ADMIN' | 'USER' | 'SUPER_ADMIN' | 'REVIEWER' | 'PREPARER' | 'MANAGER', required

---

[API](https://skmtc.dev/signalshq/apis/signals-api.md) - [All operations](https://skmtc.dev/signalshq/apis/signals-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalshq/apis/signals-api/revisions/2c22af3b5576?raw)
