Update a prompt
curl --request PATCH \
--url https://api.langdock.com/prompts/v1/{promptId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"prompt": "<string>",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": true
}
'import requests
url = "https://api.langdock.com/prompts/v1/{promptId}"
payload = {
"title": "<string>",
"prompt": "<string>",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
prompt: '<string>',
promptFolderId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
sharedWithWorkspace: true
})
};
fetch('https://api.langdock.com/prompts/v1/{promptId}', 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/{promptId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'prompt' => '<string>',
'promptFolderId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'sharedWithWorkspace' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/prompts/v1/{promptId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.langdock.com/prompts/v1/{promptId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/prompts/v1/{promptId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}"
response = http.request(request)
puts response.read_body{
"prompt": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"prompt": "<string>",
"sharedWithWorkspace": true,
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}Prompt Library API
Update Prompt
Update an existing prompt
PATCH
/
prompts
/
v1
/
{promptId}
Update a prompt
curl --request PATCH \
--url https://api.langdock.com/prompts/v1/{promptId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"prompt": "<string>",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": true
}
'import requests
url = "https://api.langdock.com/prompts/v1/{promptId}"
payload = {
"title": "<string>",
"prompt": "<string>",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sharedWithWorkspace": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
prompt: '<string>',
promptFolderId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
sharedWithWorkspace: true
})
};
fetch('https://api.langdock.com/prompts/v1/{promptId}', 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/{promptId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'prompt' => '<string>',
'promptFolderId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'sharedWithWorkspace' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/prompts/v1/{promptId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.langdock.com/prompts/v1/{promptId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/prompts/v1/{promptId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"prompt\": \"<string>\",\n \"promptFolderId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sharedWithWorkspace\": true\n}"
response = http.request(request)
puts response.read_body{
"prompt": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"prompt": "<string>",
"sharedWithWorkspace": true,
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"promptFolderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}Updates an existing prompt in your workspace. Only include the fields you want to change.
Base URL
https://api.langdock.com/prompts/v1/{promptId}
Dedicated deploymentsReplace
api.langdock.com with <your-deployment-url>/api/public in all requests.Required Scopes
This endpoint requires thePROMPT_API scope.
Requires creator access, workspace editor access, or group editor access on the prompt’s folder.
Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
promptId | string | Yes | UUID of the prompt to update. |
Request Body
| Parameter | Type | Description |
|---|---|---|
title | string | Prompt title. Minimum: 2 characters. Maximum: 100 characters. |
prompt | string | Prompt content. Minimum: 2 characters. Maximum: 120000 characters. |
promptFolderId | string | null | Folder UUID to assign, or null to remove the folder. Cannot be set while the prompt is shared with the workspace. |
sharedWithWorkspace | boolean | Share the prompt with the workspace. Requires sharePrompts. Cannot be true while the prompt is in a folder. |
Example
const axios = require("axios");
async function updatePrompt(promptId) {
const response = await axios.patch(
`https://api.langdock.com/prompts/v1/${promptId}`,
{
title: "Support Reply",
prompt: "Write a concise customer reply. Include the next best action and the ticket ID."
},
{
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
}
);
console.log("Updated prompt:", response.data.prompt.updatedAt);
}
updatePrompt("550e8400-e29b-41d4-a716-446655440000");
Response Format
Success Response (200 OK)
{
prompt: {
id: string;
title: string;
prompt: string;
createdBy: string | null;
promptFolderId: string | null;
sharedWithWorkspace: boolean;
createdAt: string | null;
updatedAt: string | null;
};
}
Error Handling
| Status Code | Description |
|---|---|
| 400 | Invalid request body, missing update fields, or workspace sharing combined with a folder assignment |
| 401 | Invalid or missing API key |
| 403 | Missing PROMPT_API scope, write access, or share permission |
| 404 | Prompt or prompt folder not found |
| 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"
Path Parameters
UUID of the prompt.
Body
application/json
Response
Prompt updated successfully
Show child attributes
Show child attributes
Was this page helpful?
⌘I