Skip to main content
GET
/
skills
/
v1
List Skills
curl --request GET \
  --url https://api.langdock.com/skills/v1 \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.langdock.com/skills/v1"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.langdock.com/skills/v1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.langdock.com/skills/v1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.langdock.com/skills/v1"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.langdock.com/skills/v1")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.langdock.com/skills/v1")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "skills": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "slug": "<string>",
      "description": "<string>",
      "instructions": "<string>",
      "integrationIds": [
        "3c90c3cc-0d44-4b50-8888-8dd25736052a"
      ],
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z"
    }
  ],
  "nextCursor": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
Using our API via a dedicated deployment? Just replace api.langdock.com with your deployment’s base URL: <deployment-url>/api/public
Returns Skills in your workspace. Use query parameters to paginate, search, or filter by slug.

Required Scopes

This endpoint requires the SKILL_API scope.

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoNumber of Skills to return. Default: 50. Maximum: 250.
cursorstringNoCursor from the previous response for pagination.
querystringNoSearch query for matching Skills.
slugstringNoFilter by Skill slug. Must use lowercase letters, numbers, and dashes.

Example

const axios = require("axios");

async function listSkills() {
  const response = await axios.get("https://api.langdock.com/skills/v1", {
    params: {
      limit: 25,
      query: "support"
    },
    headers: {
      Authorization: "Bearer YOUR_API_KEY"
    }
  });

  console.log("Skills:", response.data.skills);
  return response.data.nextCursor;
}

listSkills();

Response Format

Success Response (200 OK)

{
  skills: Array<{
    id: string;
    name: string;
    slug: string;
    description: string;
    instructions: string;
    integrationIds: string[];
    createdAt: string;
    updatedAt: string;
  }>;
  nextCursor?: string;
}

Example Response

{
  "skills": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Support Reply Style",
      "slug": "support-reply-style",
      "description": "Applies the support team's tone and escalation rules.",
      "instructions": "Write concise replies, include the next best action, and escalate billing issues to the account owner.",
      "integrationIds": [],
      "createdAt": "2026-07-06T10:30:00.000Z",
      "updatedAt": "2026-07-06T10:30:00.000Z"
    }
  ],
  "nextCursor": "550e8400-e29b-41d4-a716-446655440000"
}

Error Handling

Status CodeDescription
400Invalid query parameter
401Invalid or missing API key
403Missing SKILL_API scope or Skills product access
429Rate limit exceeded
500Internal server error
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.

Authorizations

Authorization
string
header
required

API key as Bearer token. Format "Bearer YOUR_API_KEY"

Query Parameters

limit
integer
default:50

Number of Skills to return.

Required range: 1 <= x <= 250
cursor
string<uuid>

Cursor from the previous response for pagination.

query
string

Search query for matching Skills.

slug
string

Filter by Skill slug.

Maximum string length: 100
Pattern: ^[a-z0-9-]+$

Response

Skills returned successfully

skills
object[]
required
nextCursor
string<uuid>

Cursor for the next page, if more results are available.