---
title: "Create Skill Version"
method: POST
path: "/v1/skills/{skill_id}/versions"
tags: ["Skills"]
---

# Create Skill Version

`POST /v1/skills/{skill_id}/versions`

Create a new version for an existing skill using multipart uploads.

## Path parameters

- `skill_id` string, required

## Headers

- `anthropic-beta` string[], nullable

## Response `200`

Skill version created successfully.

- SkillVersionResponse — Serialized skill version object returned by version endpoints.
  - `id` string, required — Unique skill version identifier.
  - `created_at` string, date-time, required — Creation timestamp.
  - `description` string, required — Skill version description from frontmatter.
  - `directory` string, required — Top-level directory name for this version.
  - `name` string, required — Skill name from frontmatter.
  - `skill_id` string, required — Parent skill identifier.
  - `type` 'skill_version' — Object type.
  - `version` string, required — Version token.

## Other responses

- `401` — Unauthorized
- `422` — Validation Error

## Changes

- **2026-06-02** `c711b911f68e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/zylon-ai/apis/private-gpt-api/changes/v1/skills/:skill_id/versions/post.md)

---

[API](https://skmtc.dev/zylon-ai/apis/private-gpt-api.md) · [All operations](https://skmtc.dev/zylon-ai/apis/private-gpt-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zylon-ai/private-gpt-api/revisions/4e828cf153c4/schema)
