---
title: "Create a skill"
method: POST
path: "/api/public/organizations/{orgId}/skills"
tags: ["Skills"]
---

# Create a skill

`POST /api/public/organizations/{orgId}/skills`

## Request

- Base URL: `https://charts.basedash.com`
- URL: `https://charts.basedash.com/api/public/organizations/{orgId}/skills`
- Auth: HTTP bearer

Creates a new skill within an organization. Requires admin access to the organization.

## Path parameters

- `orgId` string, required: Organization ID

## Request body

- CreateSkillInput
  - `name` string, required: Human-readable skill name
  - `description` string, nullable: Optional routing description for the skill
  - `instructions` string, required: Full reusable skill instructions

## Response `201`

Skill created successfully

- object
  - `data` SkillResponse, required
    - `id` string, required: Skill ID
    - `createdAt` string, date-time, required: Skill creation timestamp
    - `updatedAt` string, date-time, required: Skill last update timestamp
    - `name` string, required: Human-readable skill name
    - `description` string, nullable, required: Routing description that explains when the skill should be used
    - `instructions` string, required: Full reusable skill instructions
    - `organizationId` string, required: Organization ID

## Other responses

- `400`: Bad request - Invalid JSON body or validation error
- `401`: Unauthorized - Missing or invalid API key
- `404`: Not found - Organization not found or no admin access
- `429`: Rate limit exceeded - Too many requests
- `500`: Internal server error

---

[API](https://skmtc.dev/basedash/apis/basedash-public-api.md) - [All operations](https://skmtc.dev/basedash/apis/basedash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/basedash/apis/basedash-public-api/revisions/efb9d40bc6f7?raw)
