---
title: "List members"
method: GET
path: "/v1/members"
tags: ["members"]
---

# List members

`GET /v1/members`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/members`
- Auth: HTTP bearer

Return the tenant's member roster, lifecycle facts, and adoption counts.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- MemberListResponse: Paginated-style wrapper (flat list; no cursor needed at team scale).
  - `items` MemberRosterRow[], required
    - `id` string, uuid, required
    - `email` string, required
    - `name` string, required
    - `handle` string, nullable, required
    - `role_code` string, required
    - `status_code` string, required
    - `first_interacted_at` string, date-time, nullable
    - `first_interacted_platform_code` string, nullable, required
    - `first_signed_in_at` string, date-time, nullable, required
    - `email_disabled` boolean
    - `guest_tier` string, nullable
    - `is_external` boolean: True only on a positively proven Slack Connect actor; never a claim about false.
    - `slack_user_id` string, nullable: The member's Slack id when their linked actor is a Slack one, and the subject a deletion request names. Null covers three people the console treats alike: a member never seen in Slack, a member whose linked actor is on another platform, and a Slack actor whose id the deletion route's subject pattern would refuse. None of these three people is erasable through this field, and null is no claim that the person has no Slack data elsewhere.
    - `status` 'removed' | 'activated' | 'unknown' | 'invite_expired' | 'invited' | 'not_invited', required: The lifecycle state shown for one team member.
    - `invited_at` string, date-time, nullable, required
    - `delivered_at` string, date-time, nullable, required
    - `activated_at` string, date-time, nullable, required
    - `last_chat_at` string, date-time, nullable, required
    - `last_console_activity_at` string, date-time, nullable, required
    - `next_action` 'send_invite' | 'send_reminder' | 'resend_invite' | 'invite_to_platform' | 'send_email_invite' | 'none', required: The action the team roster can offer for one member.
    - `next_action_enabled` boolean, required
    - `next_action_blocked_reason` 'rate_limited' | 'once_ever_hello', required: Why the roster's next action is disabled.
    - `counts_as_adopted` boolean, required
    - `counts_toward_adoption` boolean, required
  - `adoption` MemberAdoption, required: Workspace adoption terms derived from the returned roster items.
    - `numerator` integer, required
    - `denominator` integer, required
  - `has_invited_anyone` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
