Skip to content

Upload Skill Version

POST/v1/skills/{skill_id}/versions

Upload a new ZIP bundle as the next version (200 OK). The ZIP layout is the same as Create Skill (one top-level folder containing SKILL.md). Send default=true to make it the default version. List versions with GET /v1/skills/{skill_id}/versions, read one with GET /v1/skills/{skill_id}/versions/{version}, and download one with GET /v1/skills/{skill_id}/versions/{version}/content. Version identifiers are strings.

Path parameters

stringskill_idrequired

Skill ID (skl_ prefix).

Headers

Optional<string>Idempotency-Key

Optional, 1-128 bytes without leading or trailing whitespace. When omitted the service generates one, so a retried request can create a duplicate. Send your own stable key for retries.

Request body

multipart/form-data.

filefilesrequired

ZIP archive, up to 5 MiB.

Optional<string>default

true makes this the default for future attachments; false or omitted keeps the current default. Existing Agent bindings are unchanged.

List and download versions ​

GET /v1/skills/{skill_id}/versions accepts limit (0-100, default 20), order (asc or desc, default desc), and after. Its response contains object: "list", data, has_more, first_id, and last_id. Pass last_id unchanged as the next after; it is a Skill-prefixed version ID, not the bare version number.

GET /v1/skills/{skill_id}/versions/{version} returns one version object. The corresponding /content endpoint returns ZIP bytes; see the download example.