Skills
Create a new skill.
$ openai skills create
post /skills
Create a new skill.
Parameters
-
--files: optional array of string or stringSkill files to upload (directory upload) or a single zip file.
Returns
-
skill: object { id, created_at, default_version, 4 more }-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
Example
openai skills create \
--api-key 'My API Key'
Response
{
"id": "id",
"created_at": 0,
"default_version": "default_version",
"description": "description",
"latest_version": "latest_version",
"name": "name",
"object": "skill"
}
List all skills for the current project.
$ openai skills list
get /skills
List all skills for the current project.
Parameters
-
--after: optional stringIdentifier for the last item from the previous pagination request
-
--limit: optional numberNumber of items to retrieve
-
--order: optional "asc" or "desc"Sort order of results by timestamp. Use
ascfor ascending order ordescfor descending order.
Returns
-
skill_list: object { data, first_id, has_more, 2 more }-
data: array of SkillA list of items
-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
-
first_id: stringThe ID of the first item in the list.
-
has_more: booleanWhether there are more items available.
-
last_id: stringThe ID of the last item in the list.
-
object: "list"The type of object returned, must be
list.
-
Example
openai skills list \
--api-key 'My API Key'
Response
{
"data": [
{
"id": "id",
"created_at": 0,
"default_version": "default_version",
"description": "description",
"latest_version": "latest_version",
"name": "name",
"object": "skill"
}
],
"first_id": "first_id",
"has_more": true,
"last_id": "last_id",
"object": "list"
}
Get a skill by its ID.
$ openai skills retrieve
get /skills/{skill_id}
Get a skill by its ID.
Parameters
-
--skill-id: stringThe identifier of the skill to retrieve.
Returns
-
skill: object { id, created_at, default_version, 4 more }-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
Example
openai skills retrieve \
--api-key 'My API Key' \
--skill-id skill_123
Response
{
"id": "id",
"created_at": 0,
"default_version": "default_version",
"description": "description",
"latest_version": "latest_version",
"name": "name",
"object": "skill"
}
Update the default version pointer for a skill.
$ openai skills update
post /skills/{skill_id}
Update the default version pointer for a skill.
Parameters
-
--skill-id: stringThe identifier of the skill.
-
--default-version: stringThe skill version number to set as default.
Returns
-
skill: object { id, created_at, default_version, 4 more }-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
Example
openai skills update \
--api-key 'My API Key' \
--skill-id skill_123 \
--default-version default_version
Response
{
"id": "id",
"created_at": 0,
"default_version": "default_version",
"description": "description",
"latest_version": "latest_version",
"name": "name",
"object": "skill"
}
Delete a skill by its ID.
$ openai skills delete
delete /skills/{skill_id}
Delete a skill by its ID.
Parameters
-
--skill-id: stringThe identifier of the skill to delete.
Returns
-
deleted_skill: object { id, deleted, object }-
id: string -
deleted: boolean -
object: "skill.deleted"
-
Example
openai skills delete \
--api-key 'My API Key' \
--skill-id skill_123
Response
{
"id": "id",
"deleted": true,
"object": "skill.deleted"
}
Domain Types
Deleted Skill
-
deleted_skill: object { id, deleted, object }-
id: string -
deleted: boolean -
object: "skill.deleted"
-
Skill
-
skill: object { id, created_at, default_version, 4 more }-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
Skill List
-
skill_list: object { data, first_id, has_more, 2 more }-
data: array of SkillA list of items
-
id: stringUnique identifier for the skill.
-
created_at: numberUnix timestamp (seconds) for when the skill was created.
-
default_version: stringDefault version for the skill.
-
description: stringDescription of the skill.
-
latest_version: stringLatest version for the skill.
-
name: stringName of the skill.
-
object: "skill"The object type, which is
skill.
-
-
first_id: stringThe ID of the first item in the list.
-
has_more: booleanWhether there are more items available.
-
last_id: stringThe ID of the last item in the list.
-
object: "list"The type of object returned, must be
list.
-
Content
Download a skill zip bundle by its ID.
$ openai skills:content retrieve
get /skills/{skill_id}/content
Download a skill zip bundle by its ID.
Parameters
-
--skill-id: stringThe identifier of the skill to download.
Returns
unnamed_schema_4: file path
Example
openai skills:content retrieve \
--api-key 'My API Key' \
--skill-id skill_123
Versions
Create a new immutable skill version.
$ openai skills:versions create
post /skills/{skill_id}/versions
Create a new immutable skill version.
Parameters
-
--skill-id: stringThe identifier of the skill to version.
-
--default: optional booleanWhether to set this version as the default.
-
--files: optional array of string or stringSkill files to upload (directory upload) or a single zip file.
Returns
-
skill_version: object { id, created_at, description, 4 more }-
id: stringUnique identifier for the skill version.
-
created_at: numberUnix timestamp (seconds) for when the version was created.
-
description: stringDescription of the skill version.
-
name: stringName of the skill version.
-
object: "skill.version"The object type, which is
skill.version. -
skill_id: stringIdentifier of the skill for this version.
-
version: stringVersion number for this skill.
-
Example
openai skills:versions create \
--api-key 'My API Key' \
--skill-id skill_123
Response
{
"id": "id",
"created_at": 0,
"description": "description",
"name": "name",
"object": "skill.version",
"skill_id": "skill_id",
"version": "version"
}
List skill versions for a skill.
$ openai skills:versions list
get /skills/{skill_id}/versions
List skill versions for a skill.
Parameters
-
--skill-id: stringThe identifier of the skill.
-
--after: optional stringThe skill version ID to start after.
-
--limit: optional numberNumber of versions to retrieve.
-
--order: optional "asc" or "desc"Sort order of results by version number.
Returns
-
skill_version_list: object { data, first_id, has_more, 2 more }-
data: array of SkillVersionA list of items
-
id: stringUnique identifier for the skill version.
-
created_at: numberUnix timestamp (seconds) for when the version was created.
-
description: stringDescription of the skill version.
-
name: stringName of the skill version.
-
object: "skill.version"The object type, which is
skill.version. -
skill_id: stringIdentifier of the skill for this version.
-
version: stringVersion number for this skill.
-
-
first_id: stringThe ID of the first item in the list.
-
has_more: booleanWhether there are more items available.
-
last_id: stringThe ID of the last item in the list.
-
object: "list"The type of object returned, must be
list.
-
Example
openai skills:versions list \
--api-key 'My API Key' \
--skill-id skill_123
Response
{
"data": [
{
"id": "id",
"created_at": 0,
"description": "description",
"name": "name",
"object": "skill.version",
"skill_id": "skill_id",
"version": "version"
}
],
"first_id": "first_id",
"has_more": true,
"last_id": "last_id",
"object": "list"
}
Get a specific skill version.
$ openai skills:versions retrieve
get /skills/{skill_id}/versions/{version}
Get a specific skill version.
Parameters
-
--skill-id: stringThe identifier of the skill.
-
--version: stringThe version number to retrieve.
Returns
-
skill_version: object { id, created_at, description, 4 more }-
id: stringUnique identifier for the skill version.
-
created_at: numberUnix timestamp (seconds) for when the version was created.
-
description: stringDescription of the skill version.
-
name: stringName of the skill version.
-
object: "skill.version"The object type, which is
skill.version. -
skill_id: stringIdentifier of the skill for this version.
-
version: stringVersion number for this skill.
-
Example
openai skills:versions retrieve \
--api-key 'My API Key' \
--skill-id skill_123 \
--version version
Response
{
"id": "id",
"created_at": 0,
"description": "description",
"name": "name",
"object": "skill.version",
"skill_id": "skill_id",
"version": "version"
}
Delete a skill version.
$ openai skills:versions delete
delete /skills/{skill_id}/versions/{version}
Delete a skill version.
Parameters
-
--skill-id: stringThe identifier of the skill.
-
--version: stringThe skill version number.
Returns
-
deleted_skill_version: object { id, deleted, object, version }-
id: string -
deleted: boolean -
object: "skill.version.deleted" -
version: stringThe deleted skill version.
-
Example
openai skills:versions delete \
--api-key 'My API Key' \
--skill-id skill_123 \
--version version
Response
{
"id": "id",
"deleted": true,
"object": "skill.version.deleted",
"version": "version"
}
Domain Types
Deleted Skill Version
-
deleted_skill_version: object { id, deleted, object, version }-
id: string -
deleted: boolean -
object: "skill.version.deleted" -
version: stringThe deleted skill version.
-
Skill Version
-
skill_version: object { id, created_at, description, 4 more }-
id: stringUnique identifier for the skill version.
-
created_at: numberUnix timestamp (seconds) for when the version was created.
-
description: stringDescription of the skill version.
-
name: stringName of the skill version.
-
object: "skill.version"The object type, which is
skill.version. -
skill_id: stringIdentifier of the skill for this version.
-
version: stringVersion number for this skill.
-
Skill Version List
-
skill_version_list: object { data, first_id, has_more, 2 more }-
data: array of SkillVersionA list of items
-
id: stringUnique identifier for the skill version.
-
created_at: numberUnix timestamp (seconds) for when the version was created.
-
description: stringDescription of the skill version.
-
name: stringName of the skill version.
-
object: "skill.version"The object type, which is
skill.version. -
skill_id: stringIdentifier of the skill for this version.
-
version: stringVersion number for this skill.
-
-
first_id: stringThe ID of the first item in the list.
-
has_more: booleanWhether there are more items available.
-
last_id: stringThe ID of the last item in the list.
-
object: "list"The type of object returned, must be
list.
-
Content
Download a skill version zip bundle.
$ openai skills:versions:content retrieve
get /skills/{skill_id}/versions/{version}/content
Download a skill version zip bundle.
Parameters
-
--skill-id: stringThe identifier of the skill.
-
--version: stringThe skill version number.
Returns
unnamed_schema_5: file path
Example
openai skills:versions:content retrieve \
--api-key 'My API Key' \
--skill-id skill_123 \
--version version