---
title: "List workspace members and pending invitations"
method: GET
path: "/workspaces/{id}/team"
tags: ["Workspaces"]
---

# List workspace members and pending invitations

`GET /workspaces/{id}/team`

## Request

- Base URL: `https://app.openpo.st/api/v1`
- URL: `https://app.openpo.st/api/v1/workspaces/{id}/team`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `openpost_session`

## Path parameters

- `id` string, required: Workspace ID

## Query parameters

- `q` string: Case-insensitive member or invitation email search
- `role` 'all' | 'admin' | 'editor' | 'client' | 'viewer': Filter by role
- `status` 'all' | 'active' | 'inactive' | 'pending' | 'created' | 'queued' | 'sent' | 'delivered' | 'delivery_failed' | 'delivery_unavailable' | 'expired' | 'revoked' | 'accepted': Filter by member access or exact invitation lifecycle state

## Response `200`

OK

- WorkspaceTeamOutputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `can_manage` boolean, required: Whether the current user may administer workspace access
  - `current_seats` integer, required
  - `invitations` WorkspaceInvitationResponse[], nullable, required
    - `$schema` string, uri: A URL to the JSON Schema for this object.
    - `accept_url` string: Browser URL that accepts the invitation
    - `accepted_at` string: When the invitation was accepted
    - `accepted_by_user_id` string: Accepting user ID
    - `created_at` string, required: Invitation creation time
    - `email` string, required: Invited email
    - `email_delivery_status` 'created' | 'queued' | 'sent' | 'delivered' | 'failed' | 'unavailable', required: Truthful transport outcome for the latest Transactional invitation email. Sent means provider accepted; Delivered requires an authenticated callback.
    - `email_delivery_updated_at` string: Provider callback time for the latest terminal delivery outcome
    - `expires_at` string, required: Invitation expiry time
    - `id` string, required: Invitation ID
    - `invited_by_user_id` string, required: Inviting user ID
    - `last_sent_at` string, required: When the invitation was most recently sent
    - `revoked_at` string: When the invitation was revoked
    - `role` string, required: Workspace role to grant
    - `status` 'created' | 'queued' | 'sent' | 'delivered' | 'delivery_failed' | 'delivery_unavailable' | 'expired' | 'revoked' | 'accepted', required: Current invitation lifecycle, with terminal invitation state taking precedence over email delivery state
    - `workspace_id` string, required: Workspace ID
  - `members` WorkspaceMemberResponse[], nullable, required
    - `$schema` string, uri: A URL to the JSON Schema for this object.
    - `created_at` string, required: When access was first granted
    - `deactivated_at` string: When access was temporarily deactivated
    - `email` string, required: User email
    - `role` 'admin' | 'editor' | 'client' | 'viewer', required: Workspace role
    - `status` 'active' | 'inactive', required: Workspace access state
    - `updated_at` string, required: When access last changed
    - `user_id` string, required: User ID

## Other responses

- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/openpo/apis/openpost-api.md) · [All operations](https://skmtc.dev/openpo/apis/openpost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openpo/apis/openpost-api/revisions/67d3964458a7?raw)
