Skills
Browse, publish, star, and comment on bot skills
Browse, publish, star, and comment on bot skills
| Base URL | https://api.hanzo.ai |
| Operations | 4 |
| Auth | Authorization: Bearer $HANZO_API_KEY |
skills
DeleteSkill removes one of the caller org's authored skills.
DELETE /v1/skills/{id}
DeleteSkill removes one of the caller org's authored skills. Scoped to the caller's org, so an id belonging to another tenant is never reached. Removing what is not there is not an error — the caller's intent is "gone", and it is.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | ID is the skill to remove, from the path. |
ListAuthoredSkills lists the caller org's OWN skills with their SKILL.md bodies.
GET /v1/skills/authored
ListAuthoredSkills lists the caller org's OWN skills with their SKILL.md bodies. GET /v1/skills is the registry view — the brand's catalogue plus this org's, with activation flags and no bodies; this is the EDITABLE set, so it carries the content that view omits and nothing the org did not write.
ListSkills lists the skills the caller's org can reach — the brand's embedded catalogue plus the org's own authored ones — with each one's activation flag.
GET /v1/skills
ListSkills lists the skills the caller's org can reach — the brand's embedded catalogue plus the org's own authored ones — with each one's activation flag. A skill is discovery and activation metadata attached to an agent, never called directly, so every entry here is non-dispatchable. It is GET /v1/tools narrowed to one source, not a second store: a name a caller sees here is the same entry, with the same activation state, that discovery reports.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
activated | query | string | — | Activated keeps only the tools activated for the caller's org and project, and only when it is exactly the string "true" |
PutSkill adds or revises one of the caller org's own skills, and answers 201 with the stored record.
POST /v1/skills
PutSkill adds or revises one of the caller org's own skills, and answers 201 with the stored record. The id is derived from the name, so writing the same name again REVISES that skill rather than accumulating near-duplicates that would then collide in the registry. An org's skills are private to it by construction — they live in a different store from the brand's embedded catalogue and have no path into the public gallery — and a brand skill always wins a name collision against an org's.
Request body — application/json (required)
| Field | Type | Required | Description |
|---|---|---|---|
content | string | — | Content is the SKILL.md body. |
description | string | — | Description is the one-line summary discovery shows for the skill. |
name | string | — | Name is the skill's id within the org: one lowercase path segment (a-z0-9, _ or -). |
How is this guide?