Skip to main content
Skills

更新 Skill

(已废弃)更新指定 Skill 的元数据或内容。

PUT /api/v1/cloud/skills/{skill_id}
⚠️ 本端点已废弃,将在后续版本下线。
  • 内容更新请改用 创建 Skill 版本POST /api/v1/cloud/skills/{skill_id}/versions。通过本端点更新 content 时,内部同样会生成一个新版本,而非原地覆盖。
  • name 不可修改:Skill 名称在所有版本间必须保持一致,传入与当前不同的 name 会返回 400。
  • description / metadata 补丁更新仍可用,但同样计划下线。
更新指定 Skill 的元数据或内容。仅支持 JSON 请求体。

请求头

头部必选说明
AuthorizationBearer <PAT 或 SAT>
Content-Typeapplication/json

路径参数

参数类型必选说明
skill_idstringSkill 的唯一标识符

请求体

字段类型必选说明
namestring⚠️ 已废弃:不再支持改名——传入且与当前 name 不同返回 400;等于当前值时为 no-op(无替代:name 跨版本不可变)
descriptionstring⚠️ 已废弃:更新 Skill 壳的描述,将下线(替代:描述随每个版本的 SKILL.md frontmatter 维护)
contentstring⚠️ 已废弃:base64 编码 zip 包,内部转为创建新版本;纯文本 content 已下线,传入返回 400(替代:POST /skills/{skill_id}/versions
content_encodingstring⚠️ 已废弃content 为 base64 编码 zip 时必须设为 "base64"(替代:同上)
metadataobject⚠️ 已废弃:替换当前存储的元数据对象,将下线(替代:暂无,后续版本移除)

示例请求

curl -X PUT "https://api.qoder.com/api/v1/cloud/skills/skill_019e3bba474b73cfaf19eae9b5f5e66d" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "更新后的 Skill 描述",
    "metadata": {"team":"docs","stage":"updated"}
  }'

示例响应

HTTP 200 OK
{
  "id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
  "type": "skill",
  "display_title": "test-skill-api-doc",
  "description": "更新后的 Skill 描述",
  "source": "custom",
  "latest_version": "1759178010641129",
  "metadata": {
    "team": "docs",
    "stage": "updated"
  },
  "created_at": "2026-05-18T15:35:24.248164Z",
  "updated_at": "2026-05-18T15:36:01.767469Z"
}

响应说明

  • updated_at 字段会更新为操作时间
  • 更新 content 时会生成一个新版本,latest_version 指向新版本
  • 仅更新元数据时不产生新版本
  • 未提供的字段保持原值不变

错误码

HTTPtype触发条件
400invalid_request_error使用 multipart 而非 JSON 请求体
400invalid_request_error传入与当前不同的 name(不允许改名),或 base64 zip 中 SKILL.mdname 与该 Skill 既有 name 不一致
400invalid_request_error传入无 content_encoding 的纯文本 content(已下线,请改用 base64 zip 或版本端点)
401authentication_error缺少或无效的认证令牌
404not_found_errorSkill 不存在或不再可访问
409conflict_error乐观锁冲突
完整错误信封说明详见 错误参考

相关