---
title: "Deprecated: use POST /plugins/skill:{skillId}/revisions. Create a revision — a complete snapshot [write]"
method: POST
path: "/skills/{skillId}/revisions"
deprecated: true
---

# Deprecated: use POST /plugins/skill:{skillId}/revisions. Create a revision — a complete snapshot \[write\]

`POST /skills/{skillId}/revisions`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/skills/{skillId}/revisions`
- Auth: HTTP bearer

> **Deprecated.**

Deprecated: use `POST /plugins/skill:{skillId}/revisions`. Still served exactly as before; every answer carries a `Deprecation` header. Omitted files are not carried over. The new SKILL.md name must match the skill's name (400 name_mismatch).

## Request body `multipart/form-data`

- object
  - `files` string[], required: One zip archive or individual files. SKILL.md with `name` + `description` frontmatter must sit at the root of the single top-level directory. ≤30 MB uncompressed; zip entries keep their unix exec bit.
  - `displayName` string
  - `executablePaths` string: Optional JSON array of executable file paths within a revision upload. Preserves Unix mode when editing loose files; omit to keep legacy loose-file behavior.
  - `expectedLatestRevision` string: Optional revision precondition when uploading a revision; 409 revision_conflict if latest changed. Omit to preserve unconditional upload behavior.

## Response `201`

Created

- object
  - `revision` SkillRevision, required
    - `id` string, required
    - `skillId` string, required
    - `name` string, required: Frontmatter name — the skill's identity name.
    - `description` string, required
    - `files` object[], required
      - `path` string, required
      - `size` integer, required
      - `sha256` string, required
      - `executable` boolean, required
    - `createdAt` string, date-time, required

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 7 info
  - endpoint deprecated
  - added the new optional request property `executablePaths`
  - added the new optional request property `expectedLatestRevision`
  - added the optional property `error/request_id` to the response with the `default` status
  - …3 more

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/skills/:skillId/revisions/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/8280a065ef6a?raw)
