Remove a personal prompt draft
curl --request DELETE \
--url https://app.chatobserver.com/api/v2/prompts/drafts \
--header 'Content-Type: application/json' \
--header 'x-chatobserver-key: <api-key>' \
--data '
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectedRevision": "<string>"
}
'const options = {
method: 'DELETE',
headers: {'x-chatobserver-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', expectedRevision: '<string>'})
};
fetch('https://app.chatobserver.com/api/v2/prompts/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/prompts/drafts"
payload = {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectedRevision": "<string>"
}
headers = {
"x-chatobserver-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text){
"data": {
"drafts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"updatedAt": "<string>",
"values": {
"promptText": "<string>",
"targetPlatforms": [
"chatgpt"
],
"targetRegions": [
"<string>"
],
"analysisPolicy": {
"ranking": "auto",
"sentiment": "auto"
},
"scheduleFrequency": "daily",
"scheduleHour": 11,
"scheduleMinute": 29,
"scheduleTimezone": "<string>",
"scheduleIntervalMinutes": null,
"scheduleDaysOfWeek": [
3
],
"personaIds": [
123
],
"groupIds": [
123
]
}
}
],
"multipleDraftsEnabled": true,
"saved": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"updatedAt": "<string>",
"values": {
"promptText": "<string>",
"targetPlatforms": [
"chatgpt"
],
"targetRegions": [
"<string>"
],
"analysisPolicy": {
"ranking": "auto",
"sentiment": "auto"
},
"scheduleFrequency": "daily",
"scheduleHour": 11,
"scheduleMinute": 29,
"scheduleTimezone": "<string>",
"scheduleIntervalMinutes": null,
"scheduleDaysOfWeek": [
3
],
"personaIds": [
123
],
"groupIds": [
123
]
}
}
}
}Prompts
Remove a personal prompt draft
Same workspace feature and role permissions as the app. Writes commit their successful retry receipt atomically. Personal drafts require user-authorized OAuth; service API keys cannot access a member’s drafts. New saves use null ID and revision; updates/removal require the current revision. Multiple-draft feature access remains enforced. Saving does not create or run a prompt.
DELETE
/
api
/
v2
/
prompts
/
drafts
Remove a personal prompt draft
curl --request DELETE \
--url https://app.chatobserver.com/api/v2/prompts/drafts \
--header 'Content-Type: application/json' \
--header 'x-chatobserver-key: <api-key>' \
--data '
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectedRevision": "<string>"
}
'const options = {
method: 'DELETE',
headers: {'x-chatobserver-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', expectedRevision: '<string>'})
};
fetch('https://app.chatobserver.com/api/v2/prompts/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/prompts/drafts"
payload = {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expectedRevision": "<string>"
}
headers = {
"x-chatobserver-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text){
"data": {
"drafts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"updatedAt": "<string>",
"values": {
"promptText": "<string>",
"targetPlatforms": [
"chatgpt"
],
"targetRegions": [
"<string>"
],
"analysisPolicy": {
"ranking": "auto",
"sentiment": "auto"
},
"scheduleFrequency": "daily",
"scheduleHour": 11,
"scheduleMinute": 29,
"scheduleTimezone": "<string>",
"scheduleIntervalMinutes": null,
"scheduleDaysOfWeek": [
3
],
"personaIds": [
123
],
"groupIds": [
123
]
}
}
],
"multipleDraftsEnabled": true,
"saved": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": "<string>",
"updatedAt": "<string>",
"values": {
"promptText": "<string>",
"targetPlatforms": [
"chatgpt"
],
"targetRegions": [
"<string>"
],
"analysisPolicy": {
"ranking": "auto",
"sentiment": "auto"
},
"scheduleFrequency": "daily",
"scheduleHour": 11,
"scheduleMinute": 29,
"scheduleTimezone": "<string>",
"scheduleIntervalMinutes": null,
"scheduleDaysOfWeek": [
3
],
"personaIds": [
123
],
"groupIds": [
123
]
}
}
}
}Authorizations
WorkspaceKeyBearerKey
A workspace API key. Data endpoints require a service-account key with the specified scopes.
Headers
Required for MCP writes. Keep unchanged when retrying the same operation within 24 hours.
Maximum string length:
255Body
application/json
Response
Successful operation.
Show child attributes
Show child attributes