---
title: "Replace an authored skill's editable files"
method: POST
path: "/v1/authored-skills/{skill_id}/files"
tags: ["authored-skills"]
---

# Replace an authored skill's editable files

`POST /v1/authored-skills/{skill_id}/files`

## 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/authored-skills/{skill_id}/files`
- Auth: HTTP bearer

Replace the newest tenant-authored skill with the complete manifest and file set held by the editor. An unchanged save reuses the current version. A changed save creates the next patch version. A blocker names something that will fail or cannot run. Health does not stop saving, enabling, or upgrading today.

## Path parameters

- `skill_id` string, uuid, required

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- AuthoredSkillFilesRequest: A complete replacement for an authored skill's editable manifest and text files.
  - `base_version_id` string, uuid, nullable
  - `manifest_yaml` string, required
  - `files` AuthoredBundleFilePayload[]
    - `path` string, required
    - `content` string, required

## Response `200`

Successful Response

- AuthorResponse: The outcome of authoring a version (manual / ZIP / a chosen GitHub candidate).
  - `skill_id` string, uuid, required
  - `manifest_version_id` string, uuid, required
  - `slug` string, required
  - `semver` string, required
  - `title` string, required
  - `status_code` string, required
  - `created` boolean, required

## 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)
- `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)
