Skip to main content
Marketplace skills are single skills listed for other agents to install. These routes list a skill on the marketplace, publish and unpublish its versions, edit and transfer the listing, search and read the catalog, and install, update, uninstall, and list marketplace skills on an agent. For a whole agent, use agent templates. The CLI twin is lua marketplace skill. Verified against lua-cli 3.33.0.

Base URL and authentication

Listing checks automations:write on the skill’s agent; publishing, unpublishing, unlisting, and editing check automations:write as the creator; installs, updates, and uninstalls check automations:write on the agent, and reading an agent’s or an organization’s installs checks automations:read on it. Ownership transfers check org:manage. Catalog reads need only an authenticated key and are visibility-filtered: a private skill is visible only to its creator organization. The host, the bearer header, the error envelope, and the catalog rate limits are on the REST API overview.

Marketplace skill object

A skill object carries id, name, displayName, description, longDescription?, category?, tags, creatorId, creatorOrgId?, ownershipStatus: "active" | "quarantined", sourceSkillId, listed, visibility, verified, featured, published, installCount, activeInstallCount, iconUrl?, screenshots?, repositoryUrl?, documentationUrl?, listedAt?, createdAt, updatedAt, versions[], versionsCount, pendingVersionsCount, approvedVersionsCount. A version carries id, marketplaceSkillId, version, description, changelog?, context?, tools?, envVarsMetadata?, approvalStatus, published, approvalNotes?, approvedBy?, approvedAt?, createdBy, createdAt.

Endpoints

POST /marketplace/skills/list

Lists a skill on the marketplace. Scope automations:write on the skill’s agent. Equivalent: lua marketplace skill list.
string
required
The skill to list.
string
required
Display name.
string
Category.
string[]
Tags.
string
Detailed description.
string
Icon URL.
string[]
Screenshot URLs.
string
Repository URL.
string
Documentation URL.
string
public or private.
Response 201 with the skill object.

POST /marketplace/skills/:id/versions/publish

Publishes a version of the listed skill. Scope automations:write, creator. Equivalent: lua marketplace skill publish.
string
required
The skill version to publish.
string
What changed in this version.
object
Env variables the skill needs, keyed by name; each { description, required, example? }.
Response 201.

PUT /marketplace/skills/:id/versions/:versionId/publish

Publishes the version named in the path. Scope automations:write, creator. Response 200.

PUT /marketplace/skills/:id/unpublish

Unpublishes a version. Scope automations:write, creator. Equivalent: lua marketplace skill unpublish.
string
required
The version to unpublish.
Response 200 with { success, message, skillUnlisted, versionId }.

PUT /marketplace/skills/:id/unlist

Unlists the skill. Scope automations:write, creator. Equivalent: lua marketplace skill unlist. Response 200 with { success, message, unlisted, versionsUnpublished }.

PATCH /marketplace/skills/:id

Edits the listing. Scope automations:write, creator. Equivalent: lua marketplace skill edit.
string
Display name.
string
Short description.
string
Detailed description.
string
Category.
string[]
Tags.
string
Icon URL.
string[]
Screenshot URLs.
string
Repository URL.
string
Documentation URL.
Response 200.

PUT /marketplace/skills/:id/owner

Transfers the listing to another organization. Scope org:manage. Equivalent: lua marketplace skill transfer.
string
required
The receiving organization.
Response 200.

GET /marketplace/skills

Searches the catalog. Any authenticated key; visibility-filtered. Equivalent: lua marketplace skill search.
boolean
Filter by listed state.
boolean
Filter by verified state.
Filter by featured state.
string
Filter by category.
Free-text search.
string
Filter by name.
string
Filter by creator.
boolean
Return only skills with a published version.
number
Page number.
number
default:10
Page size. At most 100.
Response 200 with { data, pagination: { currentPage, totalPages, totalCount, limit, hasNextPage, hasPrevPage, nextPage, prevPage } }, each data entry a skill object.

GET /marketplace/skills/:id

Returns one skill. Any authenticated key; visibility-filtered. Equivalent: lua marketplace skill view. Response 200 with the skill object.

GET /marketplace/skills/:id/versions

Lists a skill’s versions. Any authenticated key; visibility-filtered.
boolean
Include versions that are not yet approved.
Response 200 with version objects.

GET /marketplace/creator/skills

Lists the caller’s own listings. Any authenticated key. Equivalent: lua marketplace skill mine. Response 200 with skill objects.

GET /marketplace/orgs/:orgId/skills

Lists an organization’s listings. Scope automations:read on the organization. Equivalent: lua marketplace skill org. Response 200 with skill objects.

POST /marketplace/install/:id/:agentId

Installs a marketplace skill on an agent. Scope automations:write on the agent. Equivalent: lua marketplace skill install.
string
Version to install. Defaults to the active version.
object
Env values the skill needs, keyed by name.
Response 201 with the resulting skill on the agent.

PUT /marketplace/install/:id/:agentId

Moves an installed skill to another version or changes its env values; same body as install. Scope automations:write on the agent. Equivalent: lua marketplace skill update. Response 200.

DELETE /marketplace/install/:id/:agentId

Uninstalls the skill from the agent. Scope automations:write on the agent. Equivalent: lua marketplace skill uninstall. Response 200 with the removed skill.

GET /marketplace/installations/:agentId

Lists the marketplace skills installed on an agent. Scope automations:read on the agent. Equivalent: lua marketplace skill installed. Response 200 with the installed skills.

Errors

See also