List prompt folders
curl --request GET \
--url https://api.langdock.com/prompts/v1/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/prompts/v1/folders"
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/prompts/v1/folders', 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/prompts/v1/folders",
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/prompts/v1/folders"
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/prompts/v1/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/prompts/v1/folders")
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{
"folders": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"sharedWithGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"nextCursor": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Prompt Library API
List Prompt Folders
Retrieve prompt folders in your workspace
GET
/
prompts
/
v1
/
folders
List prompt folders
curl --request GET \
--url https://api.langdock.com/prompts/v1/folders \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/prompts/v1/folders"
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/prompts/v1/folders', 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/prompts/v1/folders",
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/prompts/v1/folders"
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/prompts/v1/folders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/prompts/v1/folders")
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{
"folders": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"sharedWithGroupId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"nextCursor": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Returns prompt folders you can access in your workspace. Use query parameters to paginate, search, or filter by workspace sharing.
Base URL
https://api.langdock.com/prompts/v1/folders
Dedicated deploymentsReplace
api.langdock.com with <your-deployment-url>/api/public in all requests.Required Scopes
This endpoint requires thePROMPT_API scope.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Number of folders to return. Default: 50. Maximum: 250. |
cursor | string | No | Cursor from the previous response for pagination. |
query | string | No | Search query matched against folder name. |
sharedWithWorkspace | string | No | Filter by workspace sharing. Allowed values: true, false. |
Example
const axios = require("axios");
async function listPromptFolders() {
const response = await axios.get("https://api.langdock.com/prompts/v1/folders", {
params: {
limit: 25,
query: "support"
},
headers: {
Authorization: "Bearer YOUR_API_KEY"
}
});
console.log("Folders:", response.data.folders);
return response.data.nextCursor;
}
listPromptFolders();
Response Format
Success Response (200 OK)
{
folders: Array<{
id: string;
name: string;
createdBy: string;
sharedWithWorkspace: boolean;
sharedWithGroupId: string | null;
createdAt: string;
updatedAt: string;
}>;
nextCursor?: string;
}
Example Response
{
"folders": [
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"name": "Support templates",
"createdBy": "550e8400-e29b-41d4-a716-446655440000",
"sharedWithWorkspace": false,
"sharedWithGroupId": null,
"createdAt": "2026-07-28T10:30:00.000Z",
"updatedAt": "2026-07-28T10:30:00.000Z"
}
],
"nextCursor": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
Error Handling
| Status Code | Description |
|---|---|
| 400 | Invalid query parameter |
| 401 | Invalid or missing API key |
| 403 | Missing PROMPT_API scope or workspace access |
| 429 | Rate limit exceeded |
| 500 | Internal 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
API key as Bearer token. Format "Bearer YOUR_API_KEY"
Query Parameters
Number of folders to return.
Required range:
1 <= x <= 250Cursor from the previous response for pagination.
Search query matched against folder name.
Filter by workspace sharing.
Available options:
true, false Was this page helpful?