Update document metadata
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID} \
--header 'Content-Type: knowledgeBase' \
--header 'authorization: <api-key>' \
--data '
{
"data": {
"documentMetadata": [
{
"key": "<string>",
"values": [
"<string>"
]
}
],
"metadata": {},
"projectEnvironmentIDOrAlias": "<string>"
}
}
'import requests
url = "https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}"
payload = { "data": {
"documentMetadata": [
{
"key": "<string>",
"values": ["<string>"]
}
],
"metadata": {},
"projectEnvironmentIDOrAlias": "<string>"
} }
headers = {
"authorization": "<api-key>",
"Content-Type": "knowledgeBase"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<api-key>', 'Content-Type': 'knowledgeBase'},
body: JSON.stringify({
data: {
documentMetadata: [{key: '<string>', values: ['<string>']}],
metadata: {},
projectEnvironmentIDOrAlias: '<string>'
}
})
};
fetch('https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}', 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://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}",
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([
'data' => [
'documentMetadata' => [
[
'key' => '<string>',
'values' => [
'<string>'
]
]
],
'metadata' => [
],
'projectEnvironmentIDOrAlias' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: knowledgeBase",
"authorization: <api-key>"
],
]);
$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://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}"
payload := strings.NewReader("{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<api-key>")
req.Header.Add("Content-Type", "knowledgeBase")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}")
.header("authorization", "<api-key>")
.header("Content-Type", "knowledgeBase")
.body("{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<api-key>'
request["Content-Type"] = 'knowledgeBase'
request.body = "{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"documentID": "<string>",
"data": {
"type": "url",
"name": "<string>",
"url": "<string>",
"lastSuccessUpdate": "<string>",
"accessTokenID": 123,
"integrationExternalID": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"status": {
"data": "<unknown>"
}
}
}Update document metadata
Update the metadata associated with the specified document.
The
documentMetadata field can be used in agent KB metadata filter conditions. The metadata field is chunk-level and cannot be used for agent-level filtering. Learn more about metadata filtering.PATCH
/
v1alpha1
/
public
/
knowledge-base
/
document
/
{documentID}
Update document metadata
curl --request PATCH \
--url https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID} \
--header 'Content-Type: knowledgeBase' \
--header 'authorization: <api-key>' \
--data '
{
"data": {
"documentMetadata": [
{
"key": "<string>",
"values": [
"<string>"
]
}
],
"metadata": {},
"projectEnvironmentIDOrAlias": "<string>"
}
}
'import requests
url = "https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}"
payload = { "data": {
"documentMetadata": [
{
"key": "<string>",
"values": ["<string>"]
}
],
"metadata": {},
"projectEnvironmentIDOrAlias": "<string>"
} }
headers = {
"authorization": "<api-key>",
"Content-Type": "knowledgeBase"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<api-key>', 'Content-Type': 'knowledgeBase'},
body: JSON.stringify({
data: {
documentMetadata: [{key: '<string>', values: ['<string>']}],
metadata: {},
projectEnvironmentIDOrAlias: '<string>'
}
})
};
fetch('https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}', 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://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}",
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([
'data' => [
'documentMetadata' => [
[
'key' => '<string>',
'values' => [
'<string>'
]
]
],
'metadata' => [
],
'projectEnvironmentIDOrAlias' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: knowledgeBase",
"authorization: <api-key>"
],
]);
$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://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}"
payload := strings.NewReader("{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<api-key>")
req.Header.Add("Content-Type", "knowledgeBase")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}")
.header("authorization", "<api-key>")
.header("Content-Type", "knowledgeBase")
.body("{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://realtime-api.voiceflow.com/v1alpha1/public/knowledge-base/document/{documentID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<api-key>'
request["Content-Type"] = 'knowledgeBase'
request.body = "{\n \"data\": {\n \"documentMetadata\": [\n {\n \"key\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"metadata\": {},\n \"projectEnvironmentIDOrAlias\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"documentID": "<string>",
"data": {
"type": "url",
"name": "<string>",
"url": "<string>",
"lastSuccessUpdate": "<string>",
"accessTokenID": 123,
"integrationExternalID": "<string>"
},
"updatedAt": "2023-11-07T05:31:56Z",
"status": {
"data": "<unknown>"
}
}
}Authorizations
Voiceflow API key
Path Parameters
ID of the document to target.
Body
knowledgeBase
Hide child attributes
Hide child attributes
An array of document metadata fields.
💡 Tip: This metadata can be used in agent KB metadata filter conditions. Learn more about metadata filtering.
The alias of the environment to target (ie. main). You can find this in the environments page of your agent.
💡 Tip: Learn more about Environments.
Response
200 - application/json
The target document was updated successfully.
Hide child attributes
Hide child attributes
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
Hide child attributes
Hide child attributes
Available options:
url Available options:
daily, weekly, monthly, never Available options:
zendesk, shopify Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Was this page helpful?
⌘I