Overview
The fetch_documents function retrieves all documents within a specific knowledge base.
Function Signature
pub async fn fetch_documents(knowledge_base_id: &str) -> Result<DocumentListResponse>
Parameters
The unique identifier of the knowledge base
Return Value
Returns Result<DocumentListResponse> containing:
data: Vector of KnowledgeBaseDocument objects
has_more: Boolean indicating if more results are available
Basic Usage
use wacht::api::knowledge_bases::*;
let documents = fetch_documents("52057194421551105").await?;
println!("Found {} documents", documents.data.len());
for doc in documents.data {
println!("Document: {} ({})", doc.name, doc.id);
println!(" Size: {} bytes", doc.size);
println!(" Type: {}", doc.content_type);
}
Error Handling
match fetch_documents("52057194421551105").await {
Ok(response) => {
println!("Successfully retrieved {} documents", response.data.len());
for doc in response.data {
println!("- {} ({} bytes)", doc.name, doc.size);
println!(" Uploaded: {}", doc.uploaded_at);
}
}
Err(Error::Api { status, message, .. }) => {
match status.as_u16() {
404 => println!("Knowledge base not found"),
403 => println!("Access denied: {}", message),
_ => println!("API error {}: {}", status, message),
}
}
Err(e) => println!("Request failed: {}", e),
}
Rate Limits
- List operations: 100 requests per minute
- Burst limit: 10 requests per second