> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills API Overview

> Programmatically create, import, and manage Skills in your Langdock workspace

<Info>
  **Using our API via a dedicated deployment?** Just replace `api.langdock.com` with your deployment's base URL: **`<deployment-url>/api/public`**
</Info>

The Skills API lets you manage Skills programmatically. Use it to sync Skills from a repository, create reusable instruction sets, attach accessible integrations, and import `SKILL.md` files or zip archives.

## API Key Scope

All Skills API endpoints require an API key with the `SKILL_API` scope.

<Tip>
  Create an API key with `SKILL_API` scope in your [workspace settings](https://app.langdock.com/settings/workspace/api-keys). The API acts as the user who created the key, including their Skills product access and Skill permissions.
</Tip>

## Available Endpoints

| Method   | Endpoint               | Description                                          |
| -------- | ---------------------- | ---------------------------------------------------- |
| `GET`    | `/skills/v1`           | [List Skills](/api-endpoints/skills/list-skills)     |
| `POST`   | `/skills/v1`           | [Create a Skill](/api-endpoints/skills/create-skill) |
| `GET`    | `/skills/v1/{skillId}` | [Get a Skill](/api-endpoints/skills/get-skill)       |
| `PATCH`  | `/skills/v1/{skillId}` | [Update a Skill](/api-endpoints/skills/update-skill) |
| `DELETE` | `/skills/v1/{skillId}` | [Delete a Skill](/api-endpoints/skills/delete-skill) |
| `POST`   | `/skills/v1/import`    | [Import a Skill](/api-endpoints/skills/import-skill) |

## Skill Object

Skills API responses use the same Skill object across endpoints:

```typescript theme={null}
{
  id: string;
  name: string;
  slug: string;
  description: string;
  instructions: string;
  integrationIds: string[];
  createdAt: string;
  updatedAt: string;
}
```

## Supported Skill Types

The API only manages Skills that users create in the workspace. System Skills, templates, and Skill Packs are not returned or modified through these endpoints.

For item endpoints, use the Skill `id`. The `slug` field is supported as a list filter and as the upsert key for imports, but reads, updates, and deletes use `skillId`.

## Permissions

Requests use the user who created the API key for permissions and access:

| Action                                 | Required access                            |
| -------------------------------------- | ------------------------------------------ |
| List or get Skills                     | Viewer access to the Skill                 |
| Create Skills or create through import | `createSkills` workspace permission        |
| Update Skills or upsert through import | Editor access to the Skill                 |
| Delete Skills                          | Owner access to the Skill, or admin access |

If you attach integrations with `integrationIds`, each integration must be enabled in your workspace.

## Rate Limits

The Skills API follows standard API rate limits. If you exceed the limit, you'll receive a `429` response. Wait and retry with exponential backoff.

<Info>
  Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on [API Key Best Practices](/administration/api-key-best-practices).
</Info>
