---
title: "Save Skill Collection Version"
method: POST
path: "/api/public/v2/skill-collections/{identifier}/versions"
tags: ["skill-collections"]
---

# Save Skill Collection Version

`POST /api/public/v2/skill-collections/{identifier}/versions`

## Path parameters

- `identifier` string, required

## Request body

- SaveSkillCollectionVersionRequest
  - `file_updates` FileUpdate[]
    - `path` string, required
    - `content` string
  - `moves` FileMove[]
    - `old_path` string, required
    - `new_path` string, required
  - `deletes` string[]
  - `commit_message` string, nullable
  - `release_label` string, nullable

## Response `201`

Skill collection version created successfully.

- SaveSkillCollectionVersionResponse
  - `success` true, required
  - `version` SkillCollectionVersion, required — A saved version of a skill collection.
    - `id` string, uuid
    - `skill_collection_id` string, uuid
    - `workspace_id` integer
    - `number` integer
    - `root_path_at_version` string
    - `provider` string, nullable
    - `file_paths` string[]
    - `commit_message` string, nullable
    - `release_label` string, nullable
    - `archived` boolean
    - `created_by` integer, nullable
    - `user_email` string, nullable
    - `created_at` string, date-time

## Other responses

- `400` — Validation or business rule error.
- `401` — Authentication failed.
- `403` — Invalid workspace_id or plan limit reached.
- `404` — Skill collection not found.
- `415` — Unsupported content type.
- `422` — Validation error - request parameters or body are invalid.

---

[API](https://skmtc.dev/promptlayer/apis/promptlayer-api.md) · [All operations](https://skmtc.dev/promptlayer/apis/promptlayer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/promptlayer/promptlayer-api/revisions/a23093a0a506/schema)
