Skills
Create Skill
POST /v1/skills
Create Skill
Headers
"anthropic-workspace-id": optional string
Body parameters (form-data)
files: array of stringFiles 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 nullHuman-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter
namewhen omitted at creation. Not unique.
Returns
Skill objecttype: "skill"Object type.
For Skills, this is always
"skill".default: skill
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
display_name: stringHuman-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter
namewhen omitted at creation. Not unique.latest_version_id: stringID of the newest Skill Version — what
latestreferences resolve to. Always set: a Skill holds at least one version.source: SkillSourceWhere 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: "custom" or "anthropic" or "anthropic_example" or "plugin"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
"custom""anthropic""anthropic_example""plugin"
updated_at: stringISO 8601 timestamp of when the skill was last updated.
format: date-time
Example
curl https://api.anthropic.com/v1/skills \
-H 'Content-Type: multipart/form-data' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-F files='["Example data"]'Response (200)
{
"id": "skill_01JAbcdefghijklmnopqrstuvw",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "display_name",
"latest_version_id": "latest_version_id",
"source": {
"type": "custom"
},
"type": "skill",
"updated_at": "2024-10-30T23:58:27.427722Z"
}List Skills
GET /v1/skills
List Skills
Query parameters
limit: optional numberNumber of results to return per page.
Ranges from
1to1000. Defaults to20.default: 20, minimum: 1, maximum: 1000
page: optional stringPagination token for fetching a specific page of results.
Pass the value from a previous response's
next_pagefield to get the next page of results.source: optional stringFilter skills by source.
If provided, only skills from the specified source will be returned:
"custom": only return user-created skills"anthropic": only return Anthropic-created skills
Headers
"anthropic-workspace-id": optional string
Returns
data: array of SkillList of skills.
type: "skill"Object type.
For Skills, this is always
"skill".default: skill
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
display_name: stringHuman-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter
namewhen omitted at creation. Not unique.latest_version_id: stringID of the newest Skill Version — what
latestreferences resolve to. Always set: a Skill holds at least one version.source: SkillSourceWhere 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: "custom" or "anthropic" or "anthropic_example" or "plugin"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
"custom""anthropic""anthropic_example""plugin"
updated_at: stringISO 8601 timestamp of when the skill was last updated.
format: date-time
next_page: string or nullToken for fetching the next page of results.
If
null, there are no more results available. Pass this value to thepageparameter in the next request to get the next page.
Example
curl https://api.anthropic.com/v1/skills \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "skill_01JAbcdefghijklmnopqrstuvw",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "display_name",
"latest_version_id": "latest_version_id",
"source": {
"type": "custom"
},
"type": "skill",
"updated_at": "2024-10-30T23:58:27.427722Z"
}
],
"next_page": "next_page"
}Get Skill
GET /v1/skills/\{skill_id\}
Get Skill
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Headers
"anthropic-workspace-id": optional string
Returns
Skill objecttype: "skill"Object type.
For Skills, this is always
"skill".default: skill
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
display_name: stringHuman-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter
namewhen omitted at creation. Not unique.latest_version_id: stringID of the newest Skill Version — what
latestreferences resolve to. Always set: a Skill holds at least one version.source: SkillSourceWhere 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: "custom" or "anthropic" or "anthropic_example" or "plugin"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
"custom""anthropic""anthropic_example""plugin"
updated_at: stringISO 8601 timestamp of when the skill was last updated.
format: date-time
Example
curl https://api.anthropic.com/v1/skills/$SKILL_ID \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "skill_01JAbcdefghijklmnopqrstuvw",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "display_name",
"latest_version_id": "latest_version_id",
"source": {
"type": "custom"
},
"type": "skill",
"updated_at": "2024-10-30T23:58:27.427722Z"
}Delete Skill
DELETE /v1/skills/\{skill_id\}
Delete Skill
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Headers
"anthropic-workspace-id": optional string
Returns
DeletedSkill objecttype: "skill_deleted"Deleted object type.
For Skills, this is always
"skill_deleted".default: skill_deleted
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Example
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 (200)
{
"id": "skill_01JAbcdefghijklmnopqrstuvw",
"type": "skill_deleted"
}Domain types
Deleted Skill
DeletedSkill objecttype: "skill_deleted"Deleted object type.
For Skills, this is always
"skill_deleted".default: skill_deleted
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Skill
Skill objecttype: "skill"Object type.
For Skills, this is always
"skill".default: skill
id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
display_name: stringHuman-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter
namewhen omitted at creation. Not unique.latest_version_id: stringID of the newest Skill Version — what
latestreferences resolve to. Always set: a Skill holds at least one version.source: SkillSourceWhere 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: "custom" or "anthropic" or "anthropic_example" or "plugin"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
"custom""anthropic""anthropic_example""plugin"
updated_at: stringISO 8601 timestamp of when the skill was last updated.
format: date-time
Skill Source
SkillSource objecttype: "custom" or "anthropic" or "anthropic_example" or "plugin"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
"custom""anthropic""anthropic_example""plugin"
Skills › Versions
Create Skill Version
POST /v1/skills/\{skill_id\}/versions
Create Skill Version
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Headers
"anthropic-workspace-id": optional string
Body parameters (form-data)
files: array of stringFiles 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 objecttype: "skill_version"Object type.
For Skill Versions, this is always
"skill_version".default: skill_version
id: stringUnique identifier for this Skill Version. The id addresses the version in paths and pins it in references.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
description: stringDescription of the skill version.
This is extracted from the SKILL.md file in the skill upload.
name: stringThe 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: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Example
curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions \
-H 'Content-Type: multipart/form-data' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-F files='["Example data"]'Response (200)
{
"id": "id",
"created_at": "2024-10-30T23:58:27.427722Z",
"description": "description",
"name": "name",
"skill_id": "skill_01JAbcdefghijklmnopqrstuvw",
"type": "skill_version"
}List Skill Versions
GET /v1/skills/\{skill_id\}/versions
List Skill Versions
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Query parameters
limit: optional numberNumber of results to return per page.
Ranges from
1to1000. Defaults to20.default: 20, minimum: 1, maximum: 1000
page: optional stringOptionally set to the
next_pagetoken from the previous response.
Headers
"anthropic-workspace-id": optional string
Returns
data: array of SkillVersionList of skills.
type: "skill_version"Object type.
For Skill Versions, this is always
"skill_version".default: skill_version
id: stringUnique identifier for this Skill Version. The id addresses the version in paths and pins it in references.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
description: stringDescription of the skill version.
This is extracted from the SKILL.md file in the skill upload.
name: stringThe 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: stringUnique identifier for the skill.
The format and length of IDs may change over time.
next_page: string or nullToken for fetching the next page of results.
If
null, there are no more results available. Pass this value to thepageparameter in the next request to get the next page.
Example
curl https://api.anthropic.com/v1/skills/$SKILL_ID/versions \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "id",
"created_at": "2024-10-30T23:58:27.427722Z",
"description": "description",
"name": "name",
"skill_id": "skill_01JAbcdefghijklmnopqrstuvw",
"type": "skill_version"
}
],
"next_page": "next_page"
}Get Skill Version
GET /v1/skills/\{skill_id\}/versions/\{version\}
Get Skill Version
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
version: stringIdentifies the skill version: a version ID, or the literal
latestfor the skill's most recent version.Requests carrying the
skills-2025-10-02beta header address versions by their Unix epoch timestamp instead (e.g., "1759178010641129").
Headers
"anthropic-workspace-id": optional string
Returns
SkillVersion objecttype: "skill_version"Object type.
For Skill Versions, this is always
"skill_version".default: skill_version
id: stringUnique identifier for this Skill Version. The id addresses the version in paths and pins it in references.
created_at: stringISO 8601 timestamp of when the skill was created.
format: date-time
description: stringDescription of the skill version.
This is extracted from the SKILL.md file in the skill upload.
name: stringThe 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: stringUnique identifier for the skill.
The format and length of IDs may change over time.
Example
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 (200)
{
"id": "id",
"created_at": "2024-10-30T23:58:27.427722Z",
"description": "description",
"name": "name",
"skill_id": "skill_01JAbcdefghijklmnopqrstuvw",
"type": "skill_version"
}Delete Skill Version
DELETE /v1/skills/\{skill_id\}/versions/\{version\}
Delete Skill Version
Path parameters
skill_id: stringUnique identifier for the skill.
The format and length of IDs may change over time.
version: stringIdentifies the skill version by its version ID.
Requests carrying the
skills-2025-10-02beta header address versions by their Unix epoch timestamp instead (e.g., "1759178010641129").
Headers
"anthropic-workspace-id": optional string
Returns
DeletedSkillVersion objecttype: "skill_version_deleted"Deleted object type.
For Skill Versions, this is always
"skill_version_deleted".default: skill_version_deleted
id: stringUnique identifier for this Skill Version. The id addresses the version in paths and pins it in references.
Example
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 (200)
{
"id": "id",
"type": "skill_version_deleted"
}