> ## 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

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

## Base URL

```
https://api.langdock.com
```

<Warning>
  **Dedicated deployments**

  Replace `api.langdock.com` with `<your-deployment-url>/api/public` in all requests.
</Warning>

## API Key Scope

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

<Tip>
  Create a workspace API key with `SKILL_API` scope in your [workspace settings](https://app.langdock.com/settings/workspace/api-keys). Personal API keys cannot call this API. Requests use the key owner for 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) |
| `GET` | `/skills/v1/{skillId}/files` | [Get a Skill file](/api-endpoints/skills/get-skill-file) |
| `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;
}
```

Get Skill also returns a `files` array with stored file metadata. List, create, and update responses do not include `files`.

## 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`.

## Attach a Skill to an agent

Pass the Skill `id` in `skillIds` on [Create Agent](/en/developer/agents-api/agent-create) or [Update Agent](/en/developer/agents-api/agent-update). Those requests use an API key with the **Agent API** scope. Omit `skillIds` on update to keep the current Skills. Send `[]` to detach every Skill.

## Permissions

Requests use the key owner for permissions and access:

| Action | Required access |
| - | - |
| List or get Skills, including files | 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.

## Skill visibility

A workspace API key can list and get Skills it created, Skills shared with the workspace, and Skills a workspace admin shared with that key. A workspace admin grants that access in **Share**.

## 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>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.