---
title: "Update a draft's manifest or title"
method: PATCH
path: "/v1/skill-drafts/{draft_id}"
tags: ["skill-drafts"]
---

# Update a draft's manifest or title

`PATCH /v1/skill-drafts/{draft_id}`

## 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/{draft_id}`
- Auth: HTTP bearer

Replace the working manifest and/or the draft's name. Nothing is validated on save — a draft is allowed to be broken while you work on it — so the cached validation result is cleared and POST /skill-drafts/{id}/validate re-checks it whenever you want.

## Path parameters

- `draft_id` string, uuid, required

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- UpdateDraftRequest: Replace the draft's working manifest and/or its title.
  - `manifest` object, nullable
  - `title` string, nullable

## Response `200`

Successful Response

- SkillDraftDetail: One draft in full, returned to its author alone: the manifest plus the file list.
  - `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
  - `slug` string, required
  - `validated_at` string, date-time, nullable, required
  - `validation_errors` string[]
  - `base_version_stale` boolean
  - `manifest` object
  - `base_version_id` string, uuid, nullable
  - `published_version_id` string, uuid, nullable
  - `files` DraftFileSummary[]
    - `path` string, required
    - `kind` string, required
    - `size_bytes` integer, required
    - `sha256` string, required
  - `source_ref` string, nullable

## 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
- `409`: Conflict
- `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)
