/api/v1/skills/{id}/publish
Publish a tenant private skill (human approval gate)
private → published ("usable inside the tenant", not a public listing) through the
existing marketplace human-authorization gate: a non-owner operator request answers
202 {status:'pending_approval', approvalId} — an approval item is DM'd to the
tenant owner (the approver is pinned to the owner), the skill stays private until
the owner approves, and the flip is executed by the pre-commit approval executor. The
owner's own request passes through and answers 200 {status:'published'};
publishing an already-published skill is an idempotent 200. A repeated request for the
same skill in the same UTC hour bucket while one is pending answers 409
state_conflict; an owner with no im_users row (approval not routable) is 422; the
approval subsystem being unwired (e.g. standalone IM) is 503 fail-closed — never a
silent flip. Rejection keeps the skill private; a new request must wait for the
next UTC hour bucket.
参数
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| string | N | — |