Skip to main content

List Stores

Schema​

ListStores accepts an optional schema field. When it is omitted, the server lists stores in public only; it does not list stores across every schema. Set schema to list stores in another schema.

Retrieves vector stores from one schema currently managed by the AI service. Each store represents a logical container for embeddings and their associated metadata. This operation is useful for exploring available stores before performing read or write operations.

Source Code Example​

Click to expand
Rust
use ahnlich_client_rs::ai::AiClient;
use ahnlich_client_rs::error::AhnlichError;


#[tokio::main]
async fn main() -> Result<(), AhnlichError> {
let addr = "127.0.0.1:1370";
let client = AiClient::new(addr.to_string()).await?;


let stores = client
.list_stores_with_schema(Some("analytics".to_string()), None)
.await?;
println!("Stores: {:?}", stores);


Ok(())
}

Returns​

  • Ok(StoreList) — A structured list of available vector stores managed by the AI service.

  • Err(AhnlichError) — If the request fails due to connectivity issues, authorization errors, or service unavailability.

Behavior (explains the code, brief)​

  • Creates a tonic::Request wrapping an empty ListStores { schema: Some("analytics".to_string()) } message.

  • Adds a tracing ID if provided for observability.

  • Calls the remote list_stores RPC using the AI client.

  • Awaits the result and unwraps the server’s response.

  • Returns the StoreList object containing store metadata. Each AiStoreInfo includes an optional db_info field with the underlying DB store information when the AI service is connected to a DB instance.