{"openapi":"3.0.3","paths":{"\/chat":{"post":{"summary":"Direct LLM chat completion, no tool-calling, 2-week cache.","responses":{"200":{"description":"Success"}},"parameters":[{"name":"prompt","in":"query","required":true,"description":"User prompt"},{"name":"system","required":false,"in":"query","description":"Optional system message (a fixed preamble is always prepended)"},{"name":"json","required":false,"in":"query","description":"Force JSON-only output (true\/false)"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass cache"}]},"get":{"summary":"Direct LLM chat completion, no tool-calling, 2-week cache.","responses":{"200":{"description":"Success"}},"parameters":[{"name":"prompt","required":true,"in":"query","description":"User prompt"},{"name":"system","in":"query","required":false,"description":"Optional system message (a fixed preamble is always prepended)"},{"name":"json","in":"query","required":false,"description":"Force JSON-only output (true\/false)"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass cache"}]}},"\/":{"post":{"responses":{"200":{"description":"Success"}},"summary":"HTML search UI with an inlined API documentation section and a Deep Research checkbox.","parameters":[{"name":"query","in":"query","required":false,"description":"Search query"},{"name":"count","in":"query","required":false,"description":"Result count, 1-100, default 10"},{"name":"content","in":"query","required":false,"description":"Fetch full page content (true\/false)"},{"name":"ai","required":false,"in":"query","description":"Run AI tool-calling mode over the results (true\/false)"},{"name":"deep","in":"query","required":false,"description":"Run the deep research pipeline instead of a plain search (true\/false)"},{"name":"type","in":"query","required":false,"description":"web (default) or images"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass all cache layers"}]},"get":{"responses":{"200":{"description":"Success"}},"summary":"HTML search UI with an inlined API documentation section and a Deep Research checkbox.","parameters":[{"name":"query","required":false,"in":"query","description":"Search query"},{"name":"count","required":false,"in":"query","description":"Result count, 1-100, default 10"},{"name":"content","in":"query","required":false,"description":"Fetch full page content (true\/false)"},{"name":"ai","required":false,"in":"query","description":"Run AI tool-calling mode over the results (true\/false)"},{"name":"deep","required":false,"in":"query","description":"Run the deep research pipeline instead of a plain search (true\/false)"},{"name":"type","required":false,"in":"query","description":"web (default) or images"},{"name":"cache","required":false,"in":"query","description":"Set to false to bypass all cache layers"}]}},"\/search":{"get":{"parameters":[{"name":"query","required":true,"in":"query","description":"Search query"},{"name":"count","in":"query","required":false,"description":"Result count, 1-100, default 10"},{"name":"content","in":"query","required":false,"description":"Fetch full page content (true\/false)"},{"name":"ai","required":false,"in":"query","description":"Run AI tool-calling mode (true\/false)"},{"name":"deep","in":"query","required":false,"description":"Run deep research (true\/false)"},{"name":"type","in":"query","required":false,"description":"web (default) or images"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass cache"}],"responses":{"200":{"description":"Success"}},"summary":"JSON search API."}},"\/openapi.json":{"get":{"summary":"Machine-readable OpenAPI 3.0 document.","responses":{"200":{"description":"Success"}},"parameters":[]}},"\/about":{"get":{"summary":"Full API documentation (same content block as the bottom of \/).","responses":{"200":{"description":"Success"}},"parameters":[]}},"\/health":{"get":{"parameters":[],"responses":{"200":{"description":"Success"}},"summary":"Provider\/image-provider stats and cache entry counts."}},"\/stats":{"get":{"parameters":[{"name":"json","required":false,"in":"query","description":"Return raw aggregated metrics as JSON instead of HTML"}],"responses":{"200":{"description":"Success"}},"summary":"SVG-rendered analytics dashboard."}},"\/static\/*":{"get":{"summary":"Static CSS\/JS assets.","responses":{"200":{"description":"Success"}},"parameters":[]}},"\/describe":{"post":{"summary":"Vision describe, by URL query param or uploaded image bytes.","responses":{"200":{"description":"Success"}},"parameters":[{"name":"url","required":false,"in":"query","description":"Image URL to describe"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass cache"}]},"get":{"summary":"Vision describe, by URL query param or uploaded image bytes.","responses":{"200":{"description":"Success"}},"parameters":[{"name":"url","required":false,"in":"query","description":"Image URL to describe"},{"name":"cache","in":"query","required":false,"description":"Set to false to bypass cache"}]}}},"info":{"description":"Search aggregation, AI chat, deep research.","title":"rss API","version":"1.0.0"}}