---
title: "Trigger a security scan"
method: POST
path: "/api/v1/skills/{slug}/security/scan"
tags: ["Security Scans"]
---

# Trigger a security scan

`POST /api/v1/skills/{slug}/security/scan`

## Request

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

Runs the security pattern scanner against the skill's latest version and persists a graded result. Requires authentication; only the skill's author or a platform admin may trigger a scan.

## 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
  - `id` string, required
  - `skillId` string, required
  - `versionId` string, nullable, required
  - `grade` 'A' | 'B' | 'C' | 'D' | 'F', required
  - `score` number, required
  - `findingsCount` integer, required
  - `findings` object[], required
    - `pattern` string, required
    - `severity` 'error' | 'warning' | 'info', required
    - `message` string, required
    - `matched` boolean, required
  - `scannedAt` string, date-time, required

---

[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)
