{"message":"FarmBiddy Agent API Server","version":"0.4.0","api_evolution":{"v0_legacy":"V0 endpoints are deprecated (see code comments for reference)","v1_current":"V1 endpoints are the current standard with enhanced functionality"},"infrastructure_endpoints":{"GET /":"Root endpoint with API information","GET /health":"Real-time health check endpoint that tests actual connections\n\nTODO: Future health check expansion could include:\n- Logging system health (file permissions, disk space, rotation status)\n- Memory us...","GET /system/check":"Comprehensive system check endpoint for production monitoring.\n\nReturns detailed system information including:\n- Component-by-component status\n- System metrics (CPU, memory, disk)\n- Performance met..."},"v1_current_endpoints":{"POST /v1/query":"Admin / observability entrypoint: same execution as ``/v1/client/query`` but **unfiltered** ``metadata``.\n\nRuns intent classification unless ``force_intent`` overrides it. Prefer\n``POST /v1/client/...","POST /v1/client/query":"Production client entrypoint: same ``process_query`` execution as ``/v1/query`` with **filtered** ``metadata``.\n\nUse ``POST /v1/query`` when you need full orchestration metadata for debugging or ad...","POST /v1/client/chat-stream":"Stream chat responses in OpenAI-compatible format.\n\nThis endpoint streams responses using Server-Sent Events (SSE) in OpenAI-compatible\nformat for seamless integration with frontend clients like Ve...","POST /v1/query/simple":"Process ``/v1/query/simple``: direct LLM only; does not run intent classification.","POST /v1/query/arthur-test":"Testing endpoint: fetch prompt from Arthur, render variables, run via agent LLM.\n\nSupports prompt_name (e.g. llm_direct, weather_report) and optional variables override.\nRequires ARTHUR_API_URL, AR...","POST /v1/classify-intent":"Classify query intent without executing the query. Returns intent type, confidence, and reasoning.","GET /v1/health":"Check system health including RAG, Jentic, Supabase, and Platform Server availability with real-time connection tests","GET /v1/status":"Get comprehensive system status and performance metrics including component health and system information","POST /v1/auth/admin/generate-key":"Admin only: Generate API key for a new pilot user.\n\nRequires X-Admin-Secret header with admin secret key.\n\nExample:\n    curl -X POST https://your-api.com/v1/auth/admin/generate-key           -H \"X-...","GET /v1/auth/admin/list-keys":"Admin only: List all API keys.\n\nRequires X-Admin-Secret header with admin secret key.","POST /v1/auth/admin/revoke-key":"Admin only: Revoke (deactivate) an API key.\n\nRequires X-Admin-Secret header with admin secret key.","DELETE /v1/privacy/user/{user_id}/memory":"Purge conversation memory for a user.\n\nIf ``session_id`` is provided, only that session is cleared; otherwise\nall sessions for the given user_id are cleared (best-effort, depends on\nthe underlying ...","DELETE /v1/privacy/user/{user_id}/email-cache":"Purge per-user email KV state (thread list cache, OAuth gate, pending confirm).","POST /v1/voice/token":"No description available","POST /v1/config/reload":"Reload configuration from environment variables and clear caches (no server restart required)","GET /v1/cache/stats":"Get unified cache statistics and performance metrics","POST /v1/cache/clear":"Clear the response cache","POST /v1/rag/reconnect":"Force RAG tool to attempt reconnection to Qdrant","GET /v1/logs/current":"Read current active log file with optional filtering.","GET /v1/logs/archive":"Read archived/rotated log files.","GET /v1/logs/stream":"Stream logs in real-time using Server-Sent Events.","GET /v1/logs/info":"Get log file information and statistics.","POST /v1/logs/rotate":"Manually trigger log rotation.","POST /v1/logs/clear":"Clear current log file, optionally creating a backup.","GET /v1/logs/search":"Advanced log search with multiple criteria.","GET /v1/logs/stats":"Get log statistics and metrics.","GET /v1/logs/stream/status":"Get current streaming status and statistics.","POST /v1/logs/stream/stop":"Stop all active log streams.","GET /v1/logs/health":"Health check for the logging API."},"migration_guide":{"v0_to_v1":"Use /v1/query instead of /query for enhanced functionality","features_added":"Performance metrics, enhanced metadata, better error handling"},"documentation":"/docs","admin_endpoints":{"GET /v1/admin/conversations":"No description available","GET /v1/admin/conversations/search":"No description available","GET /v1/admin/conversations/{session_id}":"No description available","DELETE /v1/admin/conversations/{session_id}":"No description available","DELETE /v1/admin/conversations":"No description available","GET /v1/admin/prompts":"No description available","POST /v1/admin/auth/token":"No description available"},"user_endpoints":{"GET /v1/user/conversations":"List all conversations for the authenticated user. Requires JWT authentication.\n\nArgs:\n    include_archived: If True, includes archived conversations. Defaults to False (only active).\n\nNote: Return...","GET /v1/user/conversations/{session_id}":"Fetch a specific conversation history for the authenticated user.","PATCH /v1/user/conversations/archive-all":"Archive all conversations for the authenticated user.\n\nRequires JWT authentication and only affects conversations belonging to the user.","PATCH /v1/user/conversations/{session_id}/archive":"Archive a specific conversation for the authenticated user.\n\nRequires JWT authentication and verifies that the conversation belongs to the user."},"other_endpoints":{"POST /api/actions":"No description available","GET /api/actions":"No description available","GET /api/actions/{action_id}":"No description available","OPTIONS /api/actions/{action_id}":"Handle CORS preflight requests for action updates","PATCH /api/actions/{action_id}":"No description available","DELETE /api/actions/{action_id}":"Delete an action by ID. Requires authentication.","GET /api/clients":"Get all clients for the authenticated user","GET /api/clients/{client_id}":"Get a specific client by ID with actions","POST /email/drafts":"No description available","GET /email/drafts":"No description available","GET /email/integration/status":"No description available","DELETE /email/integration":"No description available","GET /email/drafts/{draft_id}":"No description available","POST /email/drafts/{draft_id}/approve":"No description available","POST /email/drafts/{draft_id}/send":"No description available","POST /email/drafts/{draft_id}/approve-send":"Backward-compatible endpoint that preserves previous one-call behavior.","GET /email/threads":"No description available","GET /email/threads/{thread_id}":"No description available","GET /auth/google/start":"No description available","GET /auth/google/callback":"No description available"}}