---
title: "Publish a skill"
method: POST
path: "/api/v1/skills/{slug}/publish"
tags: ["Skills"]
---

# Publish a skill

`POST /api/v1/skills/{slug}/publish`

## Request

- Base URL: `https://api.skills-hub.ai`
- URL: `https://api.skills-hub.ai/api/v1/skills/{slug}/publish`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Publishes a draft skill after running the validation pipeline and AI quality/security review. Restricted to the author or an org `PUBLISHER`+. May move the skill to `PENDING_REVIEW` when AI flags a security issue, the author is untrusted, or AI review is unavailable; org-internal skills publish directly.

## Path parameters

- `slug` string, required

## Response `200`

Successful response. The returned fields are described in this endpoint's summary/description; typed per-field response schemas are being added incrementally.

- object: The skill after publishing as a SkillSummary; status is PUBLISHED or PENDING_REVIEW depending on review outcome.
  - `id` string, required
  - `slug` string, required
  - `name` string, required
  - `status` 'DRAFT' | 'PENDING_REVIEW' | 'PUBLISHED' | 'ARCHIVED', required
  - `visibility` string
  - `qualityScore` number, nullable
  - `aiQualityScore` number, nullable
  - `aiSecurityVerdict` string, nullable
  - `latestVersion` string
  - `installCount` integer
  - `likeCount` integer
  - `createdAt` string
  - `updatedAt` string

---

[API](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api.md) · [All operations](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/revisions/cb5d46d80300?raw)
