Update Annotation
curl --request PUT \
--url https://{api_base_url}/apps/annotations/{annotation_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps."
}
'import requests
url = "https://{api_base_url}/apps/annotations/{annotation_id}"
payload = {
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
question: 'What is Dify?',
answer: 'Dify is an open-source LLM application development platform for building AI-powered apps.'
})
};
fetch('https://{api_base_url}/apps/annotations/{annotation_id}', 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_base_url}/apps/annotations/{annotation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'question' => 'What is Dify?',
'answer' => 'Dify is an open-source LLM application development platform for building AI-powered apps.'
]),
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_base_url}/apps/annotations/{annotation_id}"
payload := strings.NewReader("{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://{api_base_url}/apps/annotations/{annotation_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/apps/annotations/{annotation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps.",
"hit_count": 5,
"created_at": 1705407629
}{
"status": 403,
"code": "forbidden",
"message": "Forbidden."
}{
"status": 404,
"code": "not_found",
"message": "Annotation not found."
}Annotations
Update Annotation
Updates the question and answer of an existing annotation.
PUT
/
apps
/
annotations
/
{annotation_id}
Update Annotation
curl --request PUT \
--url https://{api_base_url}/apps/annotations/{annotation_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps."
}
'import requests
url = "https://{api_base_url}/apps/annotations/{annotation_id}"
payload = {
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
question: 'What is Dify?',
answer: 'Dify is an open-source LLM application development platform for building AI-powered apps.'
})
};
fetch('https://{api_base_url}/apps/annotations/{annotation_id}', 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_base_url}/apps/annotations/{annotation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'question' => 'What is Dify?',
'answer' => 'Dify is an open-source LLM application development platform for building AI-powered apps.'
]),
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_base_url}/apps/annotations/{annotation_id}"
payload := strings.NewReader("{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://{api_base_url}/apps/annotations/{annotation_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/apps/annotations/{annotation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"What is Dify?\",\n \"answer\": \"Dify is an open-source LLM application development platform for building AI-powered apps.\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"question": "What is Dify?",
"answer": "Dify is an open-source LLM application development platform for building AI-powered apps.",
"hit_count": 5,
"created_at": 1705407629
}{
"status": 403,
"code": "forbidden",
"message": "Forbidden."
}{
"status": 404,
"code": "not_found",
"message": "Annotation not found."
}Authorizations
API Key authentication. For all API requests, include your API Key in the Authorization HTTP Header, prefixed with Bearer. Example: Authorization: Bearer {API_KEY}. Strongly recommend storing your API Key on the server-side, not shared or stored on the client-side, to avoid possible API-Key leakage that can lead to serious consequences.
Path Parameters
The unique identifier of the annotation to update.
Body
application/json
Response
Annotation updated successfully.
Unique annotation identifier.
Question text that triggers this annotation.
Predefined answer returned when the annotation is matched.
Number of times this annotation has been matched and returned as a reply.
Creation timestamp (Unix epoch seconds).
⌘I