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 |
|
|
Yes |
|
|
|
Yes |
|
Path parameters
|
Parameter |
Type |
Required |
Description |
|
|
string |
Yes |
Unique identifier of the Skill |
Request body
|
Field |
Type |
Required |
Description |
|
|
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 |
|
|
string |
No |
New Skill description |
|
|
string |
No |
New Skill content. When |
|
|
string |
No |
Set to |
|
|
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_atfield is updated to the time of the operation -
Updating
contentincrementslatest_version -
Updating only metadata does not increment
latest_version -
Fields not provided in the request retain their current values
Errors
|
HTTP |
type |
Condition |
|
400 |
|
Used multipart instead of JSON: |
|
401 |
|
Missing or invalid authentication token |
|
404 |
|
Skill does not exist or is no longer accessible |
Notes
-
The PUT endpoint only accepts
application/jsonContent-Type -
Base64 zip content must include
SKILL.mdat the root or first-level directory -
If the
SKILL.mdfrontmatter in the base64 zip providesnameordescription, 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.