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

# List Workspace Members

> Return member list (id, email, name, role) for the workspace.

## Method

`GET` `/v1/workspaces/:id/members`

## Path Parameters

<ParamField path="id" type="uuid" required>Workspace identifier (must match API key workspace).</ParamField>

## Headers

<ParamField header="Authorization" type="string">Bearer token with `workspaces:read` scope.</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/workspaces/ws_abc/members" \
    -H "Authorization: Bearer $VOYANT_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://api.voyantcloud.com/v1/workspaces/ws_abc/members", {
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const members = await res.json()
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.get(
    "https://api.voyantcloud.com/v1/workspaces/ws_abc/members",
    headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
  )
  data = resp.json()
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "usr_123",
        "email": "ana@example.com",
        "name": "Ana Ionescu",
        "role": "admin"
      },
      {
        "id": "usr_456",
        "email": "mihai@example.com",
        "name": "Mihai Popescu",
        "role": "member"
      }
    ]
  }
  ```

  ```json 500 Internal Server Error theme={null}
  { "error": "Failed to get workspace members" }
  ```
</ResponseExample>

<Tip>The list is derived from both the control plane and primary database to ensure roles are up to date. Use it to power admin UIs or access audits.</Tip>
