Upload a new immutable version snapshot for an existing skill.
POST /api/v1/cloud/skills/{skill_id}/versions
Appends a new version to an existing skill. Each version is a complete content snapshot (not a delta). Use multipart/form-data encoding with the files field; the format and validation rules are identical to Create a skill.
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PAT or SAT> |
Content-Type | No | Set automatically by curl -F to multipart/form-data; do not specify manually |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
skill_id | string | Yes | Skill unique identifier |
Request body (multipart/form-data)
| Field | Type | Required | Description |
|---|---|---|---|
files | file (repeatable) | Yes | Complete content of the new version: a single .zip archive or a bare file tree. See Skill package for the package rules |
Example request
Example response
HTTP 201 Created
Response fields
The response is a Skill version object.
| Field | Type | Description |
|---|---|---|
id | string | Version unique identifier |
type | string | Always "skill_version" |
skill_id | string | Owning Skill ID |
version | string | Version identifier |
name | string | name from this version's SKILL.md frontmatter |
description | string | description from this version's SKILL.md frontmatter |
directory | string | Skill directory name |
created_at | string | Version creation time |
Errors
| HTTP | Type | Trigger |
|---|---|---|
| 400 | invalid_request_error | Invalid package structure, missing SKILL.md or invalid frontmatter, uncompressed content over 50 MB |
| 400 | invalid_request_error | New version's name does not match the skill's existing name |
| 401 | TOKEN_INVALID | Missing or invalid authentication token |
| 404 | not_found_error | Skill does not exist or has been deleted |
| 413 | request_too_large_error | Archive larger than 50 MB |
| 429 | rate_limit_error | Rate limit or quota exceeded |
Notes
- After the new version is created, the skill's
latest_versionpoints to it andupdated_atis refreshed.