Skip to main content
Skills

Skill の更新

Forward API リファレンス。

⚠️ Deprecated: PUT /skills/{id} is the legacy content-update path and returns Deprecation: true in the response headers. Use Create a Skill Version to append an immutable version. This endpoint remains available for compatibility with existing clients.

Description

Uses PUT to update a Skill's display information or complete content. The Skill name cannot be changed. Supplying content creates a new immutable version, equivalent to appending a version, and points latest_version to it.

パス

PUT /api/v1/forward/skills/{id}

リクエストヘッダー

ヘッダー必須説明
AuthorizationはいBearer <PAT または SAT>
Content-Typeはいapplication/json

パス参数

パラメーター必須説明
idstringはいSkill ID。

リクエストボディ

フィールド必須説明
descriptionstringいいえNew description.
contentstringNoNew content as a zip archive. Both the archive and its extracted contents must be no larger than 50 MB, otherwise 400 is returned. The entire request body, including base64 encoding and the JSON envelope, is limited to about 67.7 MB; exceeding it returns 413.
content_encodingstringいいえEncoding of content. Supports base64, utf-8, utf8, plain, and text; defaults to UTF-8 text. A non-empty content value is required when this field is provided.
metadataobjectNoMetadata object that replaces the current metadata rather than merging it. It must not be null, and values must be strings. created_by is reserved and must not be supplied (supplying it returns 400).
icon_idstring | nullNoUpdates or clears the Forward icon.
namestringNo⚠️ Deprecated: The Skill name cannot be changed. If supplied, it must exactly match the current canonical name or the request returns 400; a matching value is a no-op.

Response headers

Responses from this endpoint include Deprecation: true, without a specific Sunset date.

リクエスト例

curl -X PUT "https://api.qoder.com/api/v1/forward/skills/skill_xxx" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Updated customer reply skill",
    "content": "UEsDB...",
    "content_encoding": "base64",
    "metadata": {"source": "console"}
  }'

レスポンス例

HTTP 200 OK
{
  "id": "skill_xxx",
  "type": "skill",
  "display_title": "customer-reply",
  "description": "Updated customer reply skill",
  "source": "custom",
  "latest_version": "1759178010641129",
  "metadata": {"source": "console"},
  "created_at": "2026-07-23T10:00:00Z",
  "updated_at": "2026-07-23T11:00:00Z",
  "identity_id": null,
  "icon_url": null,
  "binding_info": {"agent_template_count": 0}
}

レスポンスフィールド

The response is a Skill object.

エラー

HTTPType発生条件
400invalid_request_errorThe request body is invalid, name differs from the current canonical name, content_encoding is supplied without content, or a similar validation fails.
400invalid_request_errorIf the reserved key created_by is supplied, message is metadata key "created_by" is reserved, identifying the invalid field.
400skill_content_too_largeThe content archive or its extracted contents exceed 50 MB.
401authentication_error認証トークンがないか、無効です。
403permission_errorThe caller cannot modify the Skill.
404not_found_errorThe Skill does not exist or is not visible.
413invalid_request_errorThe entire request body exceeds approximately 67.7 MB.
429rate_limit_errorThe caller exceeded the API rate limit.
500/502/503api_errorForward または依存サービスでエラーが発生しました。