SpyBara
Go Premium

resources/skills/index.md 2026-07-07 08:02 UTC to 2026-07-09 20:58 UTC

937 added, 0 removed.

2026
Fri 31 21:03 Thu 30 23:58 Wed 29 15:02 Sat 25 05:59 Thu 23 18:00 Wed 22 20:02 Mon 20 20:00 Fri 17 17:00 Thu 16 20:57 Wed 15 02:58 Tue 14 06:58 Mon 13 15:59 Sun 12 06:58 Fri 10 23:02 Thu 9 20:58 Tue 7 08:02

Skills

Create a new skill.

post /skills

Create a new skill.

Body Parameters

  • files: optional array of string or string

    Skill files to upload (directory upload) or a single zip file.

    • array of string

      Skill files to upload (directory upload) or a single zip file.

    • string

      Skill zip file to upload.

Returns

  • Skill object { id, created_at, default_version, 4 more }

    • id: string

      Unique identifier for the skill.

    • created_at: number

      Unix timestamp (seconds) for when the skill was created.

    • default_version: string

      Default version for the skill.

    • description: string

      Description of the skill.

    • latest_version: string

      Latest version for the skill.

    • name: string

      Name of the skill.

    • object: "skill"

      The object type, which is skill.

      • "skill"

Example

curl https://api.openai.com/v1/skills \
    -X POST \
    -H "Authorization: Bearer $OPENAI_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.

get /skills

List all skills for the current project.

Query Parameters

  • after: optional string

    Identifier for the last item from the previous pagination request

  • limit: optional number

    Number of items to retrieve

  • order: optional "asc" or "desc"

    Sort order of results by timestamp. Use asc for ascending order or desc for descending order.

    • "asc"

    • "desc"

Returns

  • SkillList object { data, first_id, has_more, 2 more }

    • data: array of Skill

      A list of items

      • id: string

        Unique identifier for the skill.

      • created_at: number

        Unix timestamp (seconds) for when the skill was created.

      • default_version: string

        Default version for the skill.

      • description: string

        Description of the skill.

      • latest_version: string

        Latest version for the skill.

      • name: string

        Name of the skill.

      • object: "skill"

        The object type, which is skill.

        • "skill"
    • first_id: string

      The ID of the first item in the list.

    • has_more: boolean

      Whether there are more items available.

    • last_id: string

      The ID of the last item in the list.

    • object: "list"

      The type of object returned, must be list.

      • "list"

Example

curl https://api.openai.com/v1/skills \
    -H "Authorization: Bearer $OPENAI_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.

get /skills/{skill_id}

Get a skill by its ID.

Path Parameters

  • skill_id: string

Returns

  • Skill object { id, created_at, default_version, 4 more }

    • id: string

      Unique identifier for the skill.

    • created_at: number

      Unix timestamp (seconds) for when the skill was created.

    • default_version: string

      Default version for the skill.

    • description: string

      Description of the skill.

    • latest_version: string

      Latest version for the skill.

    • name: string

      Name of the skill.

    • object: "skill"

      The object type, which is skill.

      • "skill"

Example

curl https://api.openai.com/v1/skills/$SKILL_ID \
    -H "Authorization: Bearer $OPENAI_API_KEY"

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.

post /skills/{skill_id}

Update the default version pointer for a skill.

Path Parameters

  • skill_id: string

Body Parameters

  • default_version: string

    The skill version number to set as default.

Returns

  • Skill object { id, created_at, default_version, 4 more }

    • id: string

      Unique identifier for the skill.

    • created_at: number

      Unix timestamp (seconds) for when the skill was created.

    • default_version: string

      Default version for the skill.

    • description: string

      Description of the skill.

    • latest_version: string

      Latest version for the skill.

    • name: string

      Name of the skill.

    • object: "skill"

      The object type, which is skill.

      • "skill"

Example

curl https://api.openai.com/v1/skills/$SKILL_ID \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
          "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.

delete /skills/{skill_id}

Delete a skill by its ID.

Path Parameters

  • skill_id: string

Returns

  • DeletedSkill object { id, deleted, object }

    • id: string

    • deleted: boolean

    • object: "skill.deleted"

      • "skill.deleted"

Example

curl https://api.openai.com/v1/skills/$SKILL_ID \
    -X DELETE \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Response

{
  "id": "id",
  "deleted": true,
  "object": "skill.deleted"
}

Domain Types

Deleted Skill

  • DeletedSkill object { id, deleted, object }

    • id: string

    • deleted: boolean

    • object: "skill.deleted"

      • "skill.deleted"

Skill

  • Skill object { id, created_at, default_version, 4 more }

    • id: string

      Unique identifier for the skill.

    • created_at: number

      Unix timestamp (seconds) for when the skill was created.

    • default_version: string

      Default version for the skill.

    • description: string

      Description of the skill.

    • latest_version: string

      Latest version for the skill.

    • name: string

      Name of the skill.

    • object: "skill"

      The object type, which is skill.

      • "skill"

Skill List

  • SkillList object { data, first_id, has_more, 2 more }

    • data: array of Skill

      A list of items

      • id: string

        Unique identifier for the skill.

      • created_at: number

        Unix timestamp (seconds) for when the skill was created.

      • default_version: string

        Default version for the skill.

      • description: string

        Description of the skill.

      • latest_version: string

        Latest version for the skill.

      • name: string

        Name of the skill.

      • object: "skill"

        The object type, which is skill.

        • "skill"
    • first_id: string

      The ID of the first item in the list.

    • has_more: boolean

      Whether there are more items available.

    • last_id: string

      The ID of the last item in the list.

    • object: "list"

      The type of object returned, must be list.

      • "list"

Content

Download a skill zip bundle by its ID.

get /skills/{skill_id}/content

Download a skill zip bundle by its ID.

Path Parameters

  • skill_id: string

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/content \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Versions

Create a new immutable skill version.

post /skills/{skill_id}/versions

Create a new immutable skill version.

Path Parameters

  • skill_id: string

Body Parameters

  • default: optional boolean

    Whether to set this version as the default.

  • files: optional array of string or string

    Skill files to upload (directory upload) or a single zip file.

    • array of string

      Skill files to upload (directory upload) or a single zip file.

    • string

      Skill zip file to upload.

Returns

  • SkillVersion object { id, created_at, description, 4 more }

    • id: string

      Unique identifier for the skill version.

    • created_at: number

      Unix timestamp (seconds) for when the version was created.

    • description: string

      Description of the skill version.

    • name: string

      Name of the skill version.

    • object: "skill.version"

      The object type, which is skill.version.

      • "skill.version"
    • skill_id: string

      Identifier of the skill for this version.

    • version: string

      Version number for this skill.

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/versions \
    -X POST \
    -H "Authorization: Bearer $OPENAI_API_KEY"

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.

get /skills/{skill_id}/versions

List skill versions for a skill.

Path Parameters

  • skill_id: string

Query Parameters

  • after: optional string

    The skill version ID to start after.

  • limit: optional number

    Number of versions to retrieve.

  • order: optional "asc" or "desc"

    Sort order of results by version number.

    • "asc"

    • "desc"

Returns

  • SkillVersionList object { data, first_id, has_more, 2 more }

    • data: array of SkillVersion

      A list of items

      • id: string

        Unique identifier for the skill version.

      • created_at: number

        Unix timestamp (seconds) for when the version was created.

      • description: string

        Description of the skill version.

      • name: string

        Name of the skill version.

      • object: "skill.version"

        The object type, which is skill.version.

        • "skill.version"
      • skill_id: string

        Identifier of the skill for this version.

      • version: string

        Version number for this skill.

    • first_id: string

      The ID of the first item in the list.

    • has_more: boolean

      Whether there are more items available.

    • last_id: string

      The ID of the last item in the list.

    • object: "list"

      The type of object returned, must be list.

      • "list"

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/versions \
    -H "Authorization: Bearer $OPENAI_API_KEY"

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.

get /skills/{skill_id}/versions/{version}

Get a specific skill version.

Path Parameters

  • skill_id: string

  • version: string

    The version number to retrieve.

Returns

  • SkillVersion object { id, created_at, description, 4 more }

    • id: string

      Unique identifier for the skill version.

    • created_at: number

      Unix timestamp (seconds) for when the version was created.

    • description: string

      Description of the skill version.

    • name: string

      Name of the skill version.

    • object: "skill.version"

      The object type, which is skill.version.

      • "skill.version"
    • skill_id: string

      Identifier of the skill for this version.

    • version: string

      Version number for this skill.

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/versions/$VERSION \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Response

{
  "id": "id",
  "created_at": 0,
  "description": "description",
  "name": "name",
  "object": "skill.version",
  "skill_id": "skill_id",
  "version": "version"
}

Delete a skill version.

delete /skills/{skill_id}/versions/{version}

Delete a skill version.

Path Parameters

  • skill_id: string

  • version: string

    The skill version number.

Returns

  • DeletedSkillVersion object { id, deleted, object, version }

    • id: string

    • deleted: boolean

    • object: "skill.version.deleted"

      • "skill.version.deleted"
    • version: string

      The deleted skill version.

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/versions/$VERSION \
    -X DELETE \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Response

{
  "id": "id",
  "deleted": true,
  "object": "skill.version.deleted",
  "version": "version"
}

Domain Types

Deleted Skill Version

  • DeletedSkillVersion object { id, deleted, object, version }

    • id: string

    • deleted: boolean

    • object: "skill.version.deleted"

      • "skill.version.deleted"
    • version: string

      The deleted skill version.

Skill Version

  • SkillVersion object { id, created_at, description, 4 more }

    • id: string

      Unique identifier for the skill version.

    • created_at: number

      Unix timestamp (seconds) for when the version was created.

    • description: string

      Description of the skill version.

    • name: string

      Name of the skill version.

    • object: "skill.version"

      The object type, which is skill.version.

      • "skill.version"
    • skill_id: string

      Identifier of the skill for this version.

    • version: string

      Version number for this skill.

Skill Version List

  • SkillVersionList object { data, first_id, has_more, 2 more }

    • data: array of SkillVersion

      A list of items

      • id: string

        Unique identifier for the skill version.

      • created_at: number

        Unix timestamp (seconds) for when the version was created.

      • description: string

        Description of the skill version.

      • name: string

        Name of the skill version.

      • object: "skill.version"

        The object type, which is skill.version.

        • "skill.version"
      • skill_id: string

        Identifier of the skill for this version.

      • version: string

        Version number for this skill.

    • first_id: string

      The ID of the first item in the list.

    • has_more: boolean

      Whether there are more items available.

    • last_id: string

      The ID of the last item in the list.

    • object: "list"

      The type of object returned, must be list.

      • "list"

Content

Download a skill version zip bundle.

get /skills/{skill_id}/versions/{version}/content

Download a skill version zip bundle.

Path Parameters

  • skill_id: string

  • version: string

    The skill version number.

Example

curl https://api.openai.com/v1/skills/$SKILL_ID/versions/$VERSION/content \
    -H "Authorization: Bearer $OPENAI_API_KEY"