Upsert a skill by slug (idempotent)

The bulk-import primitive. Creates the skill when missing (201),
overwrites displayName / description / content / metadata when
it exists (200). References are replaced only when referenceFileIds
is sent. Re-running an import produces no duplicates and no conflicts.

scope picks the uniqueness namespace: shared (default, the
workspace catalog) or private (the key actor's own skills).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Must match the workspace the API key belongs to (403 otherwise).

string
required
length ≤ 64
^[a-z0-9]+(-[a-z0-9]+)*$

Canonical skill slug (lowercase, hyphen-separated, max 64 chars).

Body Params
string
required
length ≤ 200
string
length ≤ 1024

Single line (no newlines) - rendered in SKILL.md frontmatter.

string
required

Markdown body of the skill (SKILL.md without the frontmatter).

metadata
object
string
enum

private = visible to the key's actor only; shared = workspace-wide.

Allowed:
referenceFileIds
array of uuids
length ≤ 50

Brain file ids to attach as references.

referenceFileIds
Responses

Language
Credentials
Bearer
hubi_sk_...
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json