Check Service Health
Response
Status Values
Services Checked
Core infrastructure (always checked):postgres— PostgreSQL databasemongodb— MongoDB databaseminio— MinIO object storeactivemq— ActiveMQ message queuekafka— Apache Kafka
qdrant— Qdrant vector databaseweaviate— Weaviate vector databasemilvus— Milvus vector databasechroma— Chroma vector databasepgvector— PostgreSQL with pgvector extension
Example
List Available Destinations
- Self-hosted destinations (
mongodb,postgres,objectstore) are live-probed — a destination is listed only if the service is actually reachable. The presence of a Vault secret alone is not enough, because the compose stack seeds secrets even when a service is disabled. - External destinations (
snowflake,databricks,sqlserver) have no local service to probe, so they are listed when any Platform secret contains a complete set of credentials for that destination. Forsqlserverthat ishostplus every field itsauthMethodneeds (sql, the default:userandpassword;entraServicePrincipal:clientId,clientSecretandtenantId;entraPassword:userandpassword;entraManagedIdentity: nothing more;kerberos:principalandpassword). Credential secret names are user-chosen per pipeline, so every Platform secret is scanned rather than a fixed name looked up.
Response
Example
List Available Vector Stores
POST /api/v1/search/{store}.
Each candidate store (qdrant, weaviate, pgvector, milvus, chroma) is actively probed using the same connectivity checks as /health/services — only stores whose status is up are returned. A store with a configured Vault secret but an unreachable service is excluded.
Response
Example
Doctor Report
datris doctor reports and returns them as JSON. This is the endpoint the datris doctor CLI, the Configuration → Doctor page and the run_doctor MCP tool call. It is authenticated: the report names environment keys, Vault paths and model ids, so when API keys are on the calling key must hold the config:read capability. Host-side checks (Docker volumes, container env drift) are only in the CLI.
Query parameters
Response
status is one of ok, warn, error, skip. The check ids and what fixes each one are listed in Doctor → The checks.
Example
401 when the API key is missing or rejected ({"error": ...}); 403 when the key lacks config:read.