Read a Document's content
GET /v1/knowledge-bases/{knowledge_base_id}/documents/{document_id}/content
| Property | Value |
|---|---|
| Operation | get_knowledge_document_content |
| Group | Knowledge bases |
| Scope | knowledge:read |
| Route class | read |
| Idempotency | No Idempotency-Key |
| Audit | An audited content read knowledge.document.content.read |
| Released in | 1.53.0 |
| Phase 0 host | Served (the hosted api pins 1.65.0) |
Answers the parsed, redacted text of the current revision in pages of segments, in document order (1.53.0), never the original bytes. Every read is an Audit event. The held text of a quarantined Document is for review: Session only: the api refuses every API key with forbidden, and a Member who is not an owner or admin with forbidden and the detail owner_or_admin_required.
Request
Set VOCAL_API to the base URL of your API and VOCAL_API_KEY to an API key with the knowledge:read scope (Authentication and keys). Replace each placeholder, such as agt_... or <name>, with your own value.
curl "$VOCAL_API/v1/knowledge-bases/kb_.../documents/kdoc_.../content" \
-H "Authorization: Bearer $VOCAL_API_KEY"const response = await fetch(`${process.env.VOCAL_API}/v1/knowledge-bases/kb_.../documents/kdoc_.../content`, {
headers: {
Authorization: `Bearer ${process.env.VOCAL_API_KEY}`,
},
});
console.log(response.status, await response.text());import os
import requests
response = requests.get(
f"{os.environ['VOCAL_API']}/v1/knowledge-bases/kb_.../documents/kdoc_.../content",
headers={
"Authorization": f"Bearer {os.environ['VOCAL_API_KEY']}",
},
)
print(response.status_code, response.text)Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
knowledge_base_id | path | KnowledgeBaseId | yes | The id of a Knowledge base: kb_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log. |
document_id | path | KnowledgeDocumentId | yes | The id of a Document of a Knowledge base: kdoc_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log. |
limit | query | integer | no | The page size, 1 to 100. |
cursor | query | string | no | The opaque next_cursor of the previous page; it binds the filters it was issued under. |
Responses
| Status | Content type | Shape | Error codes |
|---|---|---|---|
200 | application/json | KnowledgeDocumentSegmentList | |
400 | application/json | ErrorEnvelope | invalid_request, invalid_cursor |
401 | application/json | ErrorEnvelope | unauthenticated |
403 | application/json | ErrorEnvelope | forbidden |
404 | application/json | ErrorEnvelope | not_found |
429 | application/json | ErrorEnvelope | rate_limited |
500 | application/json | ErrorEnvelope | internal_error |
Fields of the 200 answer
The shape is KnowledgeDocumentSegmentList.
| Field | Type | Required | Description |
|---|---|---|---|
data | array of KnowledgeDocumentSegment | yes | The segments of the current revision of this page, in document order. |
has_more | boolean | yes | True when a further page exists. |
next_cursor | string or null | yes | The cursor of the next page, or null on the last page. |
object | "list" | yes |