{"openapi":"3.0.3","info":{"title":"LLM Citation Fact Fetcher API","version":"1.0.0","description":"Fetch every cited URL, verify quoted text is present, return trust score."},"servers":[{"url":"https://api.lazy-mac.com/llm-citation-fact-fetcher"}],"paths":{"/":{"get":{"summary":"API info","operationId":"getInfo","responses":{"200":{"description":"info"}}}},"/health":{"get":{"summary":"Health","operationId":"healthCheck","responses":{"200":{"description":"ok"}}}},"/extract":{"post":{"summary":"Extract citation URLs from an LLM answer","operationId":"extractCitations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"}}}}}},"responses":{"200":{"description":"url list"}}}},"/check":{"post":{"summary":"Check one or many citations: fetch + quote-match","operationId":"checkCitations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"citations":{"type":"array","maxItems":20,"items":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"quote":{"type":"string"},"fuzzy":{"type":"number","minimum":0,"maximum":0.5}}}},"url":{"type":"string","description":"single-citation shortcut"},"quote":{"type":"string"}}}}}},"responses":{"200":{"description":"per-citation scores + aggregate"}}}},"/verify-answer":{"post":{"summary":"Take a full LLM answer text, extract URLs, fetch, score in one call","operationId":"verifyAnswer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"},"quotes":{"type":"object","description":"optional map of url -> expected quote"}}}}}},"responses":{"200":{"description":"answer-level trust score + per-citation breakdown"}}}}}}