---
title: "List org members + pending invites"
method: GET
path: "/api/orgs/{slug}/members"
tags: ["Members"]
---

# List org members + pending invites

`GET /api/orgs/{slug}/members`

## Request

- Base URL: `https://trydock.ai`
- URL: `https://trydock.ai/api/orgs/{slug}/members`
- Auth: HTTP bearer

Includes viewer's own role + user id so callers can render admin-only UI.

## Path parameters

- `slug` string, required

## Response `200`

Members + pending invites.

- object
  - `members` object[], required
    - `userId` string, required
    - `role` 'owner' | 'admin' | 'member', required: Org-level role. Determines what cross-workspace permissions a user has.
    - `email` string, required
    - `name` string, required
    - `joinedAt` string, date-time, required
  - `invites` object[], required
    - `id` string, required
    - `email` string, nullable, required: Null for open-link invites; the email is bound at signup time.
    - `role` 'owner' | 'editor' | 'commenter' | 'viewer': Workspace role. Inherited cascades from org membership when no explicit row exists.
    - `token` string, required: Public claim URL: /invites/{token}
    - `expiresAt` string, date-time, nullable, required
    - `uses` integer, required
    - `maxUses` integer, nullable, required
    - `acceptedAt` string, date-time, nullable, required
    - `revokedAt` string, date-time, nullable, required
    - `emailError` string, nullable, required
  - `viewerRole` 'owner' | 'admin' | 'member', required: Org-level role. Determines what cross-workspace permissions a user has.
  - `viewerUserId` string, required

---

[API](https://skmtc.dev/trydock/apis/dock-rest-api.md) - [All operations](https://skmtc.dev/trydock/apis/dock-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trydock/apis/dock-rest-api/revisions/dd96ae96a412?raw)
