---
title: "Create Skill"
method: POST
path: "/v1/skills?beta=true"
---

# Create Skill

`POST /v1/skills?beta=true`

## Headers

- `anthropic-beta` string — Optional header to specify the beta version(s) you want to use. To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta.
- `anthropic-version` string — The version of the Claude API you want to use. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
- `anthropic-workspace-id` string

## Response `200`

Successful Response

- BetaSkill
  - `created_at` string, date-time, required — ISO 8601 timestamp of when the skill was created.
  - `display_name` string, required — Human-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter `name` when omitted at creation. Not unique.
  - `id` string, required — Unique identifier for the skill. The format and length of IDs may change over time.
  - `latest_version_id` string, required — ID of the newest Skill Version — what `latest` references resolve to. Always set: a Skill holds at least one version.
  - `source` BetaSkillSource, required
    - `type` 'custom' | 'anthropic' | 'anthropic_example' | 'plugin', required — Where the Skill comes from. Possible values: * `"custom"`: authored by the platform user; private to their workspace * `"anthropic"`: published by Anthropic; shared and read-only * `"anthropic_example"`: Anthropic-published sample Skill * `"plugin"`: resolved from an installed plugin
  - `type` 'skill', required — Object type. For Skills, this is always `"skill"`.
  - `updated_at` string, date-time, required — ISO 8601 timestamp of when the skill was last updated.

## Other responses

- `400` — Invalid argument - The client specified an invalid argument
- `401` — Unauthenticated - The request does not have valid authentication credentials
- `403` — Permission denied - The caller does not have permission to execute the specified operation
- `404` — Not found - Some requested entity was not found
- `408` — Deadline exceeded - The deadline expired before the operation could complete
- `409` — Aborted - The operation was aborted due to concurrency issue
- `412` — Failed precondition - Operation was rejected because the system is not in required state
- `413` — Out of range - Operation was attempted past the valid range
- `429` — Resource exhausted - Some resource has been exhausted (rate limiting)
- `431` — Request header fields too large - Request metadata was too large
- `499` — Cancelled - The operation was cancelled by the client
- `500` — Internal - Internal server error
- `501` — Unimplemented - The operation is not implemented or supported
- `503` — Unavailable - The service is currently unavailable
- `504` — Deadline exceeded - Upstream service did not respond in time
- `529` — Overloaded - The service is temporarily overloaded

## Changes

- **2026-09-02** `4789294140a2` — 17 info
  - added the new optional `header` request parameter `anthropic-workspace-id`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - …13 more
- **2026-08-27** `ef8360d7d2b6` — 3 breaking, 1 warning, 5 info
  - the `source` response's property type changed from `string` to `object` for status `200`
  - removed the required property `display_title` from the response with the `200` status
  - removed the required property `latest_version` from the response with the `200` status
  - removed the request property `display_title`
  - …5 more
- **2026-07-01** `9c991bee394d` — 3 breaking
  - request body became required
  - the request property `files` became required
  - request property `files` list-of-types was narrowed by removing types `null` from media type `multipart/form-data`

[Change history](https://skmtc.dev/anthropics/apis/anthropic-api/changes/v1/skills?beta=true/post.md)

---

[API](https://skmtc.dev/anthropics/apis/anthropic-api.md) · [All operations](https://skmtc.dev/anthropics/apis/anthropic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anthropics/apis/anthropic-api/revisions/1bb7c7a0a4a9?raw)
