Skip to main content
POST
Publish a skill version from a bundle upload

Authorizations

Authorization
string
header
required

A Recursion API key, created in the console under API keys.

Headers

x-tenant-id
string

Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is default.

Minimum string length: 1
x-organization-id
string

Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or default.

Minimum string length: 1

Path Parameters

skillId
string<uuid>
required

Skill id (UUID) as returned by managedAgentsCreateSkill or managedAgentsListSkills.

Body

multipart/form-data

Request body for publishing a skill version by uploading a zipped skill directory in the bundle part, plus the base version it advances from. Replaces every file in the skill: parts left out are cleared, not inherited from the current version.

base_skill_version_id
string
required

Required. The skill's current latest_skill_version_id, as returned by managedAgentsGetSkill. Rejected with 409 revision_conflict if the skill has moved past this version.

bundle
file
required

A zipped Agent Skills directory containing a root SKILL.md and optional executable helpers, references, and assets.

display_title
string

Human-readable title for listings. Defaults to the frontmatter name.

metadata
string

Caller-owned key/value data as a JSON object, since a form part cannot carry structure. Rejected rather than dropped when it does not parse.

Response

An immutable snapshot of a skill's document and metadata, minted on every update. An agent may pin one, so that what a session runs cannot change under it.

An immutable snapshot of a skill's document and metadata, minted on every update. An agent may pin one, so that what a session runs cannot change under it.

created_at
string<date-time>
required

Server-assigned RFC 3339 timestamp of when this version was minted.

description
string
required

The skill's routing description as it stood at this version.

name
string
required

The skill's addressable name as it stood at this version.

organization_id
string
required

Organization that owns this record. Resolved from the API key; never accepted from the caller.

skill_id
string
required

Skill this version belongs to.

skill_version_id
string
required

Identifier for this skill version. Server-assigned. Pass it when attaching a skill that must stay pinned to a specific revision.

version_number
integer<int64>
required

Monotonically increasing version counter within the skill, starting at 1. Server-assigned.

Required range: -9007199254740991 <= x <= 9007199254740991
artifact_sha256
string

SHA-256 checksum of the stored document.

bundle
object

The files bundled with this version, and the archive they are mounted from. Absent for a version that carries only a document.

created_by
string

Identifier of the caller that minted this version.

entrypoint_path
string

Path of the document within the bundle. SKILL.md unless the author moved it.

file_manifest
string[]

Relative paths of files bundled with the skill. Listed to the model at activation; read only if it uses them.

frontmatter
object

The parsed SKILL.md frontmatter as authored, including fields this platform does not interpret.

instructions
string

The skill's full Markdown instructions. Returned only when reading a single version, since a listing has no use for it.

metadata
object

Caller-owned key/value data stored with this version and returned unchanged.