Overview

The delete_document function removes a document from a knowledge base.

Function Signature

pub async fn delete_document(
    knowledge_base_id: &str,
    document_id: &str
) -> Result<()>

Parameters

knowledge_base_id
&str
required
The unique identifier of the knowledge base
document_id
&str
required
The unique identifier of the document to delete

Return Value

Returns Result<()> indicating success or failure.

Basic Usage

use wacht::api::knowledge_bases::*;

delete_document("kb_123", "doc_456").await?;
println!("Document deleted successfully");

Error Handling

match delete_document("kb_123", "doc_456").await {
    Ok(()) => {
        println!("Document deleted successfully");
    }
    Err(Error::Api { status, message, .. }) => {
        match status.as_u16() {
            404 => println!("Knowledge base or document not found"),
            403 => println!("Access denied: {}", message),
            _ => println!("API error {}: {}", status, message),
        }
    }
    Err(e) => println!("Request failed: {}", e),
}

Important Notes

  • This operation is irreversible
  • Document embeddings are also deleted
  • The knowledge base is automatically re-indexed after deletion

Rate Limits

  • Delete operations: 50 requests per minute
  • Burst limit: 10 requests per second