Skills
api/skills
Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
api/skills Changed · +128 / -144 lines
### Body parameters (form-data) #### Response (200) ### Query parameters #### Response (200) ### Path parameters #### Response (200) ### Path parameters #### Response (200) ## Domain types ## Skills › Versions ### Create Skill Version #### Path parameters #### Body parameters (form-data) #### Returns #### Example ##### Response (200) ### List Skill Versions #### Path parameters #### Query parameters #### Returns #### Example ##### Response (200) ### Get Skill Version #### Path parameters #### Returns #### Example ##### Response (200) ### Delete Skill Version #### Path parameters #### Returns #### Example ##### Response (200) #### Response ### Query Parameters #### Response ### Path Parameters #### Response ### Path Parameters #### Response ## Domain Types # Versions ## Create Skill Version ### Path Parameters #### Response ## List Skill Versions ### Path Parameters ### Query Parameters #### Response ## Get Skill Version ### Path Parameters #### Response ## Delete Skill Version ### Path Parameters #### Response ## Domain Types ### Deleted Skill Version ### Skill Version
---- -title: Skills -url: https://platform.claude.com/docs/en/api/skills ---- - # Skills ## Create Skill -**post** `/v1/skills` +**POST** `/v1/skills` Create Skill +### Body parameters (form-data) + +- `files: array of string` + + Files to upload for the skill. + + All files must be in the same top-level directory and must include a SKILL.md file at the root of that directory. + +- `display_name: optional string or null` + + 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. + ### Returns -- `Skill object { id, created_at, display_name, 4 more }` +- `Skill object` - `id: string`
ISO 8601 timestamp of when the skill was created. + format: date-time + - `display_name: string` Human-readable, single-line label for the Skill. Maximum 255 characters.
For Skills, this is always `"skill"`. - - `"skill"` + default: skill - `updated_at: string` ISO 8601 timestamp of when the skill was last updated. + format: date-time + ### Example -```http +```bash curl https://api.anthropic.com/v1/skills \ -H 'Content-Type: multipart/form-data' \ -H 'anthropic-version: 2023-06-01' \
-F files='["Example data"]' ``` -#### Response +#### Response (200) ```json {
## List Skills -**get** `/v1/skills` +**GET** `/v1/skills` List Skills -### Query Parameters +### Query parameters - `limit: optional number`
Ranges from `1` to `1000`. Defaults to `20`. + default: 20, minimum: 1, maximum: 1000 + - `page: optional string` Pagination token for fetching a specific page of results.
ISO 8601 timestamp of when the skill was created. + format: date-time + - `display_name: string` Human-readable, single-line label for the Skill. Maximum 255 characters.
For Skills, this is always `"skill"`. - - `"skill"` + default: skill - `updated_at: string` ISO 8601 timestamp of when the skill was last updated. + format: date-time + - `next_page: string or null` Token for fetching the next page of results.
### Example -```http +```bash curl https://api.anthropic.com/v1/skills \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Get Skill -**get** `/v1/skills/{skill_id}` +**GET** `/v1/skills/{skill_id}` Get Skill -### Path Parameters +### Path parameters - `skill_id: string`
### Returns -- `Skill object { id, created_at, display_name, 4 more }` +- `Skill object` - `id: string`
ISO 8601 timestamp of when the skill was created. + format: date-time + - `display_name: string` Human-readable, single-line label for the Skill. Maximum 255 characters.
For Skills, this is always `"skill"`. - - `"skill"` + default: skill - `updated_at: string` ISO 8601 timestamp of when the skill was last updated. + format: date-time + ### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Delete Skill -**delete** `/v1/skills/{skill_id}` +**DELETE** `/v1/skills/{skill_id}` Delete Skill -### Path Parameters +### Path parameters - `skill_id: string`
### Returns -- `DeletedSkill object { id, type }` +- `DeletedSkill object` - `id: string`
For Skills, this is always `"skill_deleted"`. - - `"skill_deleted"` + default: skill_deleted ### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
} ``` -## Domain Types +## Domain types ### Deleted Skill -- `DeletedSkill object { id, type }` +- `DeletedSkill object` - `id: string`
For Skills, this is always `"skill_deleted"`. - - `"skill_deleted"` + default: skill_deleted ### Skill -- `Skill object { id, created_at, display_name, 4 more }` +- `Skill object` - `id: string`
ISO 8601 timestamp of when the skill was created. + format: date-time + - `display_name: string` Human-readable, single-line label for the Skill. Maximum 255 characters.
For Skills, this is always `"skill"`. - - `"skill"` + default: skill - `updated_at: string` ISO 8601 timestamp of when the skill was last updated. + format: date-time + ### Skill Source -- `SkillSource object { type }` +- `SkillSource object` - `type: "custom" or "anthropic" or "anthropic_example" or "plugin"`
- `"plugin"` -# Versions +## Skills › Versions -## Create Skill Version +### Create Skill Version -**post** `/v1/skills/{skill_id}/versions` +**POST** `/v1/skills/{skill_id}/versions` Create Skill Version -### Path Parameters +#### Path parameters - `skill_id: string`
The format and length of IDs may change over time. -### Returns +#### Body parameters (form-data) -- `SkillVersion object { id, created_at, description, 3 more }` +- `files: array of string` + Files to upload for the skill. + + All files must be in the same top-level directory and must include a SKILL.md file at the root of that directory. + +#### Returns + +- `SkillVersion object` + - `id: string` Unique identifier for this Skill Version. The id addresses the version in
ISO 8601 timestamp of when the skill was created. + format: date-time + - `description: string` Description of the skill version.
For Skill Versions, this is always `"skill_version"`. - - `"skill_version"` + default: skill_version -### Example +#### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions \ -H 'Content-Type: multipart/form-data' \ -H 'anthropic-version: 2023-06-01' \
-F files='["Example data"]' ``` -#### Response +##### Response (200) ```json {
} ``` -## List Skill Versions +### List Skill Versions -**get** `/v1/skills/{skill_id}/versions` +**GET** `/v1/skills/{skill_id}/versions` List Skill Versions -### Path Parameters +#### Path parameters - `skill_id: string`
The format and length of IDs may change over time. -### Query Parameters +#### Query parameters - `limit: optional number`
Ranges from `1` to `1000`. Defaults to `20`. + default: 20, minimum: 1, maximum: 1000 + - `page: optional string` Optionally set to the `next_page` token from the previous response. -### Returns +#### Returns - `data: array of SkillVersion`
ISO 8601 timestamp of when the skill was created. + format: date-time + - `description: string` Description of the skill version.
For Skill Versions, this is always `"skill_version"`. - - `"skill_version"` + default: skill_version - `next_page: string or null`
If `null`, there are no more results available. Pass this value to the `page` parameter in the next request to get the next page. -### Example +#### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +##### Response (200) ```json {
} ``` -## Get Skill Version +### Get Skill Version -**get** `/v1/skills/{skill_id}/versions/{version}` +**GET** `/v1/skills/{skill_id}/versions/{version}` Get Skill Version -### Path Parameters +#### Path parameters - `skill_id: string`
Requests carrying the `skills-2025-10-02` beta header address versions by their Unix epoch timestamp instead (e.g., "1759178010641129"). -### Returns +#### Returns -- `SkillVersion object { id, created_at, description, 3 more }` +- `SkillVersion object` - `id: string`
ISO 8601 timestamp of when the skill was created. + format: date-time + - `description: string` Description of the skill version.
For Skill Versions, this is always `"skill_version"`. - - `"skill_version"` + default: skill_version -### Example +#### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions/$VERSION \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +##### Response (200) ```json {
} ``` -## Delete Skill Version +### Delete Skill Version -**delete** `/v1/skills/{skill_id}/versions/{version}` +**DELETE** `/v1/skills/{skill_id}/versions/{version}` Delete Skill Version -### Path Parameters +#### Path parameters - `skill_id: string`
Requests carrying the `skills-2025-10-02` beta header address versions by their Unix epoch timestamp instead (e.g., "1759178010641129"). -### Returns +#### Returns -- `DeletedSkillVersion object { id, type }` +- `DeletedSkillVersion object` - `id: string`
For Skill Versions, this is always `"skill_version_deleted"`. - - `"skill_version_deleted"` + default: skill_version_deleted -### Example +#### Example -```http +```bash curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions/$VERSION \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +##### Response (200) ```json {
"type": "skill_version_deleted" } ``` - -## Domain Types - -### Deleted Skill Version - -- `DeletedSkillVersion object { id, type }` - - - `id: string` - - Unique identifier for this Skill Version. The id addresses the version in - paths and pins it in references. - - - `type: "skill_version_deleted"` - - Deleted object type. - - For Skill Versions, this is always `"skill_version_deleted"`. - - - `"skill_version_deleted"` - -### Skill Version - -- `SkillVersion object { id, created_at, description, 3 more }` - - - `id: string` - - Unique identifier for this Skill Version. The id addresses the version in - paths and pins it in references. - - - `created_at: string` - - ISO 8601 timestamp of when the skill was created. - - - `description: string` - - Description of the skill version. - - This is extracted from the SKILL.md file in the skill upload. - - - `name: string` - - The Skill's immutable kebab-case slug, set at creation from the first - upload's SKILL.md frontmatter `name` (or its enclosing directory). Every - later upload must resolve to the same value. Also the top-level directory - of the Skill's mounted files and the base name of a downloaded archive. - - - `skill_id: string` - - Unique identifier for the skill. - - The format and length of IDs may change over time. - - - `type: "skill_version"` - - Object type. - - For Skill Versions, this is always `"skill_version"`. - - - `"skill_version"`