---
title: "List every draft in the workspace (metadata only)"
method: GET
path: "/v1/skill-drafts/workspace"
tags: ["skill-drafts"]
---

# List every draft in the workspace (metadata only)

`GET /v1/skill-drafts/workspace`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/skill-drafts/workspace`
- Auth: HTTP bearer

For cleanup. Returns WHAT drafts exist and who owns them — never a manifest, a file path, or any file content, because a draft is its author's unreviewed prose and this route exists to remove an abandoned one, not to read it. Pair it with DELETE /skill-drafts/{id}. Requires skills:delete.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- SkillDraftMetadata[]
  - `id` string, uuid, required
  - `skill_id` string, uuid, nullable, required
  - `author_user_id` string, uuid, required
  - `title` string, required
  - `archetype_code` string, required
  - `source_kind` string, required
  - `published_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `file_count` integer

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
