{"ok":true,"openapi":{"openapi":"3.0.0","info":{"title":"ALDI Search™ API","version":"1.0.0","description":"ALDI Search™ (Albert Lane Digital Infrastructure): Public full-text search over the LaneBot index (Albert Lane Digital Infrastructure). Self-hosted on Cloudflare Workers + D1 (SQLite FTS5, bm25 ranking). No third-party search provider.","license":{"name":"Albert Lane Proprietary Software License","url":"https://albertlane.net/license"},"contact":{"name":"Albert Lane","email":"lane.albert@pm.me","url":"https://albertlane.net/bot"},"x-brand":"ALDI Search™ — Albert Lane Digital Infrastructure"},"servers":[{"url":"https://api.albertlane.net"}],"paths":{"/v1/search":{"get":{"summary":"Search the LaneBot index","security":[],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200},"description":"Search words (letters/digits; up to 12 terms; all terms required, falls back to any term; last term prefix-matched)"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":1000,"default":0}}],"responses":{"200":{"description":"Ranked results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"429":{"description":"Rate limited (60 requests / 60 s per client)"},"503":{"description":"Index unavailable"}}}},"/v1/search/openapi.json":{"get":{"summary":"This document","security":[],"responses":{"200":{"description":"OpenAPI"}}}}},"components":{"schemas":{"SearchResponse":{"type":"object","properties":{"ok":{"type":"boolean"},"query":{"type":"string"},"terms":{"type":"array","items":{"type":"string"}},"match_mode":{"type":"string","enum":["and","or","none"]},"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"},"next_offset":{"type":"integer","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/Result"}},"index":{"type":"object"},"license":{"type":"string"},"provenance":{"type":"object"}}},"Result":{"type":"object","properties":{"rank":{"type":"integer"},"url":{"type":"string","format":"uri"},"host":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"snippet":{"type":"string","description":"Matched terms wrapped in « »"},"fetched_at_pt":{"type":"string"},"status":{"type":"integer"},"content_type":{"type":"string"},"sha256":{"type":"string"},"score":{"type":"number","description":"bm25 (lower = better)"}}}}},"x-rate-limit":"60 requests per 60 seconds per client, per Worker isolate (in-memory; no IPs stored)","x-index":"D1 FROI_DB tables lanebot_pages, lanebot_fts (FTS5 porter unicode61), lanebot_crawl_runs"},"license":"Albert Lane Proprietary Software License","provenance":{"owner":"Albert Lane","license":"Albert Lane Proprietary Software License","license_url":"https://albertlane.net/license","sec_seal":"SEC 17684-273-411-436","ast_guard":"0x3F8F9A1B2C3D","d1":"2bad8c0d-5c28-4f16-9c60-6bd48fb24a24","source_sha256":"a8a29805a957495a96c85dc6cd6e3dbffeff64f693b334d718f4c6706a0b17ff","nature":"stays true to its nature"}}