ドキュメント埋め込みステータス(進捗)を取得
バッチ内のすべてのドキュメントのインデックス進捗(現在の段階とチャンク完了数)を返します。各
indexing_status が completed または error に達するまでポーリングします。ステータスは waiting → parsing → cleaning → splitting → indexing → completed の順に進みます。1 min read
get/datasets/{dataset_id}/documents/{batch}/indexing-status
Request example
curl --request GET \
--url https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status"
headers = {
"Authorization": "Bearer <token>",
}
response = requests.request("GET", url, headers=headers)
print(response.text)const response = await fetch('https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status', {
method: 'GET',
headers: {
'Authorization': 'Bearer <token>'
}
});
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/{batch}/indexing-status',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <token>',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.dify.ai/v1/datasets/{dataset_id}/documents/{batch}/indexing-status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/{batch}/indexing-status"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.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/{batch}/indexing-status')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = url.scheme == 'https'
request = Net::HTTP::Get.new(url)
request['Authorization'] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyResponse
{
"data": [
{
"cleaning_completed_at": 1741267200,
"completed_at": 1741267200,
"completed_segments": 5,
"error": null,
"id": "a8e0e5b5-78c6-4130-a5ce-25feb0e0b4ac",
"indexing_status": "completed",
"parsing_completed_at": 1741267200,
"paused_at": null,
"processing_started_at": 1741267200,
"splitting_completed_at": 1741267200,
"stopped_at": null,
"total_segments": 5
}
]
}{
"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
}{
"code": "not_found",
"message": "Documents not found.",
"status": 404
}get/datasets/{dataset_id}/documents/{batch}/indexing-status
Authorization
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP 401(unauthorized)で失敗します。
Path parameters
ナレッジベース ID。ナレッジベースリストを取得 で取得します。スコープを限定したキーでは、Dify の URL から ID をコピー してください。
ドキュメントの作成時または更新時に返されるバッチ ID です。
Responses
application/json
バッチ内のドキュメントのインデックス状態です。
インデキシングステータスエントリのリスト。
Show child attributesHide child attributes
クリーニング完了時の Unix タイムスタンプです。
インデックス完了時の Unix タイムスタンプです。
インデックス済みのチャンク数です。
インデキシングが失敗した場合のエラーメッセージ。エラーがない場合は
null。ドキュメント識別子です。
現在のインデックスステータスです:
waiting、parsing、cleaning、splitting、indexing、completed、または error。解析完了時の Unix タイムスタンプです。
インデキシングが一時停止されたタイムスタンプ。一時停止されていない場合は
null。処理開始時の Unix タイムスタンプです。
分割完了時の Unix タイムスタンプです。
インデキシングが停止されたタイムスタンプ。停止されていない場合は
null。インデックス対象のチャンクの合計数です。