List Query Chunks
Lists the chunks a query run retrieved, one entry per chunk, with its primary citation, scores, freshness, and text.
Entries are in the order the run ranked them. An empty data with truncated: false means the run recorded no chunks.
For how to read a run’s chunks, conflicts, and missing chunks together, see Investigate an Answer.
curl --request GET \
--url https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence \
--header 'Authorization: Bearer <token>'import requests
url = "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence', 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}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence"
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))
}HttpResponse<String> response = Unirest.get("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"consistency_class": null,
"data": [
{
"kind": "resource",
"metadata": {
"availability": "available",
"citationCount": 1,
"conflictCount": 1,
"documentId": "6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b",
"documentVersion": 1,
"freshness": {
"observedAt": "2026-09-05T10:00:00.000Z",
"sourceUpdatedAt": "2026-08-30T12:00:00.000Z",
"status": "fresh"
},
"score": 0.82,
"scores": {
"final": 0.82,
"freshness": 0.9,
"rerank": 0.85,
"retrieval": 0.71
},
"sectionPath": [
"Policies",
"Refunds"
],
"text": "Refunds are issued within 14 days of purchase.",
"title": "Refunds"
},
"name": "a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence/a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"resource_type": "node",
"target_id": "a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"version": null
},
{
"kind": "resource",
"metadata": {
"availability": "unavailable",
"citationCount": 1,
"conflictCount": 0,
"documentId": "6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b",
"documentVersion": 1,
"freshness": {
"status": "unknown"
},
"score": 0.64,
"scores": {
"final": 0.64,
"retrieval": 0.6
},
"sectionPath": [],
"text": "Evidence deleted or unavailable",
"unavailableReason": "evidence-unavailable"
},
"name": "b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence/b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"resource_type": "node",
"target_id": "b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"version": null
}
],
"next_cursor": null,
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence",
"preview": null,
"truncated": false
}Authorizations
Every request authenticates with an API key: Authorization: Bearer {API_KEY}. App endpoints take an app API key; knowledge endpoints take a knowledge base API key (Get Started).
Keep keys server-side; never embed them in client code. Requests with a missing or invalid key fail with HTTP 401 (unauthorized).
Path Parameters
Knowledge base ID: the last segment of the Service API endpoint shown in the knowledge base's API Access dialog (…/knowledge-fs/spaces/<knowledge base ID>), and the segment after /datasets/new/ in the address bar.
Query record ID: the x-query-run-id response header of Run Query, or id from List Query Records.
Query Parameters
Cursor from the previous page's next_cursor. Entries are addressed by offset, so 0 starts from the first entry.
1 - 1000Entries per page.
1 <= x <= 100Response
One page of chunk entries. name and target_id are the chunk's ID, and resource_type is node.
Always null in these views.
Entries of this page, in the order the run recorded them.
Show child attributes
Show child attributes
Cursor for the next page, or null on the last page. Send it back as cursor.
Internal path of the view, for example /queries/<query_record_id>/evidence. Informational. This API does not serve it.
Always null in these views.
true when more entries exist beyond this page. Follow next_cursor to read them.
Was this page helpful?
curl --request GET \
--url https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence \
--header 'Authorization: Bearer <token>'import requests
url = "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence', 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}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence"
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))
}HttpResponse<String> response = Unirest.get("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/traces/{query_record_id}/evidence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"consistency_class": null,
"data": [
{
"kind": "resource",
"metadata": {
"availability": "available",
"citationCount": 1,
"conflictCount": 1,
"documentId": "6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b",
"documentVersion": 1,
"freshness": {
"observedAt": "2026-09-05T10:00:00.000Z",
"sourceUpdatedAt": "2026-08-30T12:00:00.000Z",
"status": "fresh"
},
"score": 0.82,
"scores": {
"final": 0.82,
"freshness": 0.9,
"rerank": 0.85,
"retrieval": 0.71
},
"sectionPath": [
"Policies",
"Refunds"
],
"text": "Refunds are issued within 14 days of purchase.",
"title": "Refunds"
},
"name": "a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence/a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"resource_type": "node",
"target_id": "a1f3c5e7-9b2d-4f6a-8c0e-1d2f3a4b5c6d",
"version": null
},
{
"kind": "resource",
"metadata": {
"availability": "unavailable",
"citationCount": 1,
"conflictCount": 0,
"documentId": "6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b",
"documentVersion": 1,
"freshness": {
"status": "unknown"
},
"score": 0.64,
"scores": {
"final": 0.64,
"retrieval": 0.6
},
"sectionPath": [],
"text": "Evidence deleted or unavailable",
"unavailableReason": "evidence-unavailable"
},
"name": "b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence/b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"resource_type": "node",
"target_id": "b2e4d6f8-0c3e-4a7b-9d1f-2e3a4b5c6d7e",
"version": null
}
],
"next_cursor": null,
"path": "/queries/3c9e3b1a-2f0a-4b7d-9d3e-1f2a3b4c5d6e/evidence",
"preview": null,
"truncated": false
}