lua marketplace skill.
Verified against lua-cli 3.33.0.
Base URL and authentication
Listing checksautomations: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 carriesid, 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. Scopeautomations: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.201 with the skill object.
POST /marketplace/skills/:id/versions/publish
Publishes a version of the listed skill. Scopeautomations: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? }.201.
PUT /marketplace/skills/:id/versions/:versionId/publish
Publishes the version named in the path. Scopeautomations:write, creator.
Response
200.
PUT /marketplace/skills/:id/unpublish
Unpublishes a version. Scopeautomations:write, creator. Equivalent: lua marketplace skill unpublish.
string
required
The version to unpublish.
200 with { success, message, skillUnlisted, versionId }.
PUT /marketplace/skills/:id/unlist
Unlists the skill. Scopeautomations:write, creator. Equivalent: lua marketplace skill unlist.
Response
200 with { success, message, unlisted, versionsUnpublished }.
PATCH /marketplace/skills/:id
Edits the listing. Scopeautomations: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.
200.
PUT /marketplace/skills/:id/owner
Transfers the listing to another organization. Scopeorg:manage. Equivalent: lua marketplace skill transfer.
string
required
The receiving organization.
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.
boolean
Filter by featured state.
string
Filter by category.
string
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.
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.
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. Scopeautomations: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. Scopeautomations: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.
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. Scopeautomations:write on the agent. Equivalent: lua marketplace skill update.
Response
200.
DELETE /marketplace/install/:id/:agentId
Uninstalls the skill from the agent. Scopeautomations: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. Scopeautomations:read on the agent. Equivalent: lua marketplace skill installed.
Response
200 with the installed skills.
Errors
See also
- Agent templates — publish, install, and deploy a whole agent
- Template fleet — apply runs, ledger, health, outcomes, evals
- Publish and install marketplace skills — the how-to
lua marketplace— the CLI twin

