Skip to main content
POST
Typescript (SDK)

Authorizations

Authorization
string
header
required

API key in the format: Bearer {api_token}

Headers

Idempotency-Key
string

Makes this write safe to retry: a repeat with the same key replays the first response instead of creating a second resource. Scoped to the account, remembered for 24 hours; reusing a key with a different payload is an error.

Maximum string length: 255

Body

file
file

A .zip bundle, or a single markdown manifest (any filename — a lone .md is read as SKILL.md).

files
file[]

Folder contents, one part per file. Use instead of file.

paths
string[]

Path of each entry in files, same order, so subdirectories survive the upload. Defaults to each file's basename.

Response

The skill, installed for your account

object
string
required
id
string
required
slug
string
required
name
string
required
description
string | null
required
category
string | null
required
tags
string[] | null
required
version
string
required
creator_name
string | null
required
creator_avatar_url
string | null
required
install_count
integer
required
status
enum<string>
required
Available options:
draft,
published,
archived
visibility
enum<string>
required

private is a skill this account uploaded: only this account sees it, and it is not in the public catalog.

Available options:
public,
private
install_status
string | null
required
installed_version
string | null
required

The version this account installed. Null unless installed.

update_available
boolean
required

True when the catalog version is newer than installed_version: POST /skills/{slug}/update installs it.

external_source
string | null
required
external_url
string | null
required
created_at
string<date-time>
required