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

# List workbenches

`GET /v1/workbenches`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/workbenches`
- Auth: HTTP bearer

Every readable workbench, oldest first, optionally only one project's or one
kind's, plus each workbench file that could not be read, set aside and reported
rather than failing the listing. A kind this build does not register is listed
unchanged. Mirrors `workbench_list`.

## Query parameters

- `projectId` string
- `kind` string

## Response `200`

The workbenches and the unreadable files

- WireWorkbenchListResponse
  - `workbenches` WireWorkbench[], required
    - `id` string, required: The workbench's Asset id.
    - `kind` string, required: Namespaced kind id, such as `piper.image`.
    - `projectId` string, required
    - `name` string, required
    - `revision` integer, required: Write counter, 1 at creation, advanced by every change; compared with `expectedRevision`.
    - `createdAt` string, required
    - `updatedAt` string, required
    - `content` object, required: The kind's durable data.
    - `view` object, required: The kind's last-used working state.
  - `unreadable` WireStoreUnreadableRecord[], required
    - `path` string, required: The file's path under the project store.
    - `reason` string, required

## Other responses

- `404`: No project with that id

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
