批量更新文档状态
在一次请求中批量启用、禁用、归档或取消归档多个文档。
1 min read
patch/datasets/{dataset_id}/documents/status/{action}
Request example
curl --request PATCH \
--url https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"document_ids": [
"<string>"
]
}'import requests
url = "https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
}
payload = {
"document_ids": [
"<string>"
]
}
response = requests.request("PATCH", url, headers=headers, json=payload)
print(response.text)const response = await fetch('https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"document_ids": [
"<string>"
]
})
});
const data = await response.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => '{
"document_ids": [
"<string>"
]
}',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <token>',
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}"
payload := strings.NewReader("{\n \"document_ids\": [\n \"<string>\"\n ]\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))
}HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString("{\n \"document_ids\": [\n \"<string>\"\n ]\n}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require 'uri'
require 'net/http'
url = URI('https://api.dify.ai/v1/datasets/{dataset_id}/documents/status/{action}')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = url.scheme == 'https'
request = Net::HTTP::Patch.new(url)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = '{
"document_ids": [
"<string>"
]
}'
response = http.request(request)
puts response.read_bodyResponse
{
"result": "success"
}{
"code": "invalid_action",
"message": "Invalid action.",
"status": 400
}{
"code": "forbidden",
"message": "Dataset api access is not enabled.",
"status": 403
}{
"code": "forbidden",
"message": "The API key is not authorized to access this knowledge base.",
"status": 403
}{
"code": "not_found",
"message": "Dataset not found.",
"status": 404
}patch/datasets/{dataset_id}/documents/status/{action}
Authorization
Path parameters
知识库 ID,通过 获取知识库列表 获取。使用限定范围的密钥时,从 Dify 页面 URL 复制 ID。
enable 启用文档以供检索,disable 停用,archive 移入归档,un_archive 从归档中恢复。Options:
enabledisablearchiveun_archiveBody
application/json要更新的文档 ID。文档 ID 从 获取知识库的文档列表 获取。
Responses
application/json
文档更新成功。
操作结果。