Skip to main content
PATCH
Curate, publish, or unpublish a platform Fleet library entry

Authorizations

Authorization
string
header
required

Obtain a token via the CLI auth flow (POST /v1/auth/sessions) or GitHub OAuth

Headers

If-Match
string

Optional catalog row version from the list response. Stale values return 412 with the current etag.

Path Parameters

id
string
required

The catalog id — the bundle's SKILL.md frontmatter name (a slug, not a UUID).

Body

application/json

Partial update of a catalog entry. Every field is optional, and an absent field is left untouched. Editing the description never blanks the credential copy, and the entry id is never patchable.

A source_repo or source_ref that differs from the stored value discards the stored bundle and returns the entry to draft, atomically. The bundle was built from the old source, so an entry never advertises a source it is not serving. Re-sending the stored value is a no-op.

name
string

Display name. Operator-owned — survives bundle refetches.

Maximum string length: 200
source_repo
string

owner/repo. Validated with the same rules as onboarding.

Maximum string length: 512
source_ref
string

Branch or tag the next fetch should use.

Maximum string length: 100
description
string
required_credentials_reasons
object
published
boolean

true publishes the entry (requires a bundle); false withdraws it back to draft, which removes it from every gallery and blocks new installs. Workspaces already running the fleet are unaffected.

Response

The entry as it now stands.

One row of the platform Fleet library catalog, as the operator sees it. Metadata only — never bundle markdown, a support-file body, or an object-store key.

id
string
required

The catalog id — the bundle's SKILL.md frontmatter name.

name
string
required
description
string
required

Operator-owned after the entry is created. Seeded from the bundle on the first fetch; a later refetch never overwrites it.

source_repo
string
required

The GitHub repository the bundle was fetched from, as owner/repo.

source_ref
string
required

The git ref the bundle was fetched at.

visibility
enum<string>
required

The publish lifecycle. draft — the bundle is stored and the fleet is invisible to every tenant. public — live in every workspace gallery and installable.

Available options:
draft,
public
content_hash
string | null
required

The content hash of the stored bundle, or null when no bundle has ever been fetched for this entry. A null hash can never be published.

requirements
object
required
required_credentials_reasons
object
required

Per-credential "why this fleet needs it" copy, keyed by credential name, shown at the install gate. Operator-owned: the importer cannot derive it, and a bundle refetch never overwrites it.

etag
string
required

Optimistic-concurrency tag over the operator-editable catalog row fields. Send it as If-Match on PATCH to prevent stale overwrites.

updated_at
integer<int64>
required

Milliseconds since the Unix epoch.