All Products
Search
Document Center

Qoder CN Series:Update skill

Last Updated:Jul 15, 2026

Update the metadata or content of the specified Skill.

PUT /api/v1/cloud/skills/{skill_id}

Update the metadata or content of the specified Skill. Only JSON request bodies are accepted.

Request headers

Header

Required

Description

Authorization

Yes

Bearer <PAT>

Content-Type

Yes

application/json

Path parameters

Parameter

Type

Required

Description

skill_id

string

Yes

Unique identifier of the Skill

Request body

Field

Type

Required

Description

name

string

No

New Skill name, up to 64 characters; may only contain lowercase letters, digits, hyphens, and underscores, and must start with a letter or digit

description

string

No

New Skill description

content

string

No

New Skill content. When content_encoding is "base64", this must be a base64-encoded zip archive containing SKILL.md; otherwise stored as plain text

content_encoding

string

No

Set to "base64" when content is a base64-encoded zip archive

metadata

object

No

Custom metadata; replaces the currently stored metadata object

Example request

curl -X PUT "https://api.qoder.com.cn/api/v1/cloud/skills/skill_019e3bba474b73cfaf19eae9b5f5e66d" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "updated-skill-name",
    "description": "Updated Skill description",
    "metadata": {"team":"docs","stage":"updated"}
  }'

Example response

HTTP 200 OK

{
  "id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
  "type": "skill",
  "display_title": "updated-skill-name",
  "description": "Updated Skill description",
  "source": "custom",
  "latest_version": "1",
  "metadata": {
    "team": "docs",
    "stage": "updated"
  },
  "created_at": "2026-05-18T15:35:24.248164Z",
  "updated_at": "2026-05-18T15:36:01.767469Z"
}

Response notes

  • The updated_at field is updated to the time of the operation

  • Updating content increments latest_version

  • Updating only metadata does not increment latest_version

  • Fields not provided in the request retain their current values

Errors

HTTP

type

Condition

400

invalid_request_error

Used multipart instead of JSON: Request body must be valid JSON.

401

authentication_error

Missing or invalid authentication token

404

not_found_error

Skill does not exist or is no longer accessible

Notes

  • The PUT endpoint only accepts application/json Content-Type

  • Base64 zip content must include SKILL.md at the root or first-level directory

  • If the SKILL.md frontmatter in the base64 zip provides name or description, and the request body does not explicitly include those fields, the API uses the frontmatter values

For the full error envelope specification, see Errors reference.