Skip to main content
PUT
Python SDK

Authorizations

Authorization
string
header
required

Enter your API key (e.g. dai_sk_test_key_001)

Headers

Authorization
string

Path Parameters

skill_id
string
required

The skill's stable ID (prefixed 'sk_').

Example:

"sk_abc123"

Cookies

decimal_session
string | null

Body

application/json

Validated request for PUT /skills/{id}.

All fields optional (partial update).

display_name
string | null

Human registry title shown instead of the slug name.

Maximum string length: 200
description
string | null
Maximum string length: 1024
body_markdown
string | null
body
string | null
stability
string | null
is_active
boolean | null
category
string | null
Maximum string length: 100
skill_type
string | null

Taxonomy class: capability or preference (legacy model-gap/proprietary/convention still accepted).

skill_scope
string | null

Knowledge scope: public or private.

invocation_mode
string | null

Who may fire the skill: model, user, or any.

offer_scope
string | null

Who the trigger router offers this skill to. 'workspace': every agent in the org. 'restricted': only agents it is explicitly assigned to via POST /agents/{name}/skills/{skill_id}. Leave it out to keep the skill's setting. Metadata only: changing it mints no new version.

visibility
string | null

Who can see the skill: 'personal' (its creator), 'workspace' (its owning team) or 'org' (everyone in the org). Share grants widen the first two, and org admins see every skill. Only the skill's creator, its owning team's admins and org admins may change it; an Only-me skill's, only its creator and org admins. 'public' is not settable here: publish with POST /skills/{name}/publish, and unpublish a published skill before choosing another level. Sending the current value is a no-op. Metadata only: changing it mints no new version, and agents the skill is explicitly assigned to keep it.

trigger_phrases
string[] | null
frontmatter
Frontmatter · object | null
change_summary
string | null
author
string | null

Optional label shown as the author of the version a body change creates (anyone can read it on a published skill). Who made the version is recorded separately.

Response

Successful Response

status
string
required
Allowed value: "ok"
skill_id
string
required
name
string
required
latest_version_id
string | null

ID of the new version if body changed; unchanged otherwise.