---
title: "Create a workbench"
method: POST
path: "/v1/workbenches"
tags: ["Workbenches"]
---

# Create a workbench

`POST /v1/workbenches`

## Request

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

Creates a workbench of a registered kind in a project (the default project when
`projectId` is absent), minting its Asset (type `workbench`). `content` defaults to
the kind's seed and is checked by the kind. A kind this build does not register
answers `unknown_kind`; a kind whose creation needs a tier the license does not hold
answers the standard 402. Mirrors `workbench_create`.

## Request body

- WireWorkbenchCreateRequest
  - `projectId` string: The owning project. Absent: the default project.
  - `kind` string, required
  - `name` string: Absent: the kind's default name.
  - `content` object: Initial content, checked by the kind. Absent: the kind's seed content.

## Response `201`

The created workbench

- WireWorkbench: One workbench: the container for one feature's content and working state, owned by a project and addressed by its Asset id. `kind` is an open, namespaced id; a kind a client does not know is shown as an unsupported workbench kind. Unknown fields are tolerated and must be carried.
  - `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.

## Other responses

- `400`: A malformed body, or `unknown_kind` / `invalid_content`
- `402`: Creating this kind needs a higher tier
- `404`: No project with that id
- `503`: The Asset store is not ready, or a license check is in progress

---

[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)
