---
title: "List workspaces and their projects"
method: GET
path: "/v1/workspaces"
tags: ["Workspaces"]
---

# List workspaces and their projects

`GET /v1/workspaces`

## Request

- Base URL: `https://api.quillhub.ai`
- URL: `https://api.quillhub.ai/v1/workspaces`
- Auth: HTTP bearer

Every workspace the caller owns or is an active member of, with the projects inside each workspace nested in the response. This is the discovery endpoint for `workspace_id` / `project_id` values used by other endpoints. Archived workspaces and projects are excluded.

## Response `200`

Workspaces with nested projects.

- WorkspacesResponse
  - `workspaces` object[], required
    - `id` integer, required
    - `name` string, required
    - `type` string, required: `personal` or `team`.
    - `role` string, required: Caller's role: `owner`, `admin`, or `member`.
    - `projects` object[], required
      - `id` integer, required
      - `name` string, required
      - `description` string, nullable, required
      - `color` string, nullable, required
      - `recordings_count` integer, required

## Other responses

- `401`: Missing or invalid Bearer token.

---

[API](https://skmtc.dev/quillhub/apis/quillhub-public-api.md) · [All operations](https://skmtc.dev/quillhub/apis/quillhub-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quillhub/apis/quillhub-public-api/revisions/5bd42ee9d967?raw)
