{"openapi":"3.1.0","info":{"title":"AllIsrael.chat Public API","version":"1.0.0","summary":"Read-only Israel news wire for agents and clients.","description":"All Israel. One wire. Live Israel news from vetted sources, scored for relevance and editorial alignment, refreshed every five minutes. Includes a curated Israel on X feed from vetted accounts. Editorial stance: Conservative, Christian-friendly, pro-Israel, pro-Jewish, Zionist. News is presented straight. The stance is expressed through source selection and framing, not inserted commentary. Prefer the live corpus and archive endpoints for programmatic reads. The chat endpoint is for interactive human use and is rate-limited.","contact":{"name":"AllIsrael.chat","url":"https://allisrael.chat"}},"servers":[{"url":"https://allisrael.chat"}],"tags":[{"name":"Discovery","description":"Manifests and machine-readable indexes."},{"name":"Corpus","description":"Live and archived news items."},{"name":"Chat","description":"Grounded Ask AI (interactive, rate-limited)."}],"paths":{"/.well-known/agent.json":{"get":{"tags":["Discovery"],"operationId":"getAgentManifest","summary":"Agent discovery manifest","responses":{"200":{"description":"Manifest JSON","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/.well-known/research-corpus.json":{"get":{"tags":["Corpus"],"operationId":"getResearchCorpus","summary":"Live scored corpus window","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":200}},{"name":"before","in":"query","description":"ISO published_at cursor for backward pagination.","schema":{"type":"string"}}],"responses":{"200":{"description":"Corpus page","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/articles":{"get":{"tags":["Corpus"],"operationId":"getFrontPageArticles","summary":"Current front page snapshot","description":"Leads, three wire columns, podcasts, videos, social preview, and active sources.","responses":{"200":{"description":"Front page JSON","content":{"application/json":{"schema":{"type":"object","properties":{"leads":{"type":"array","items":{"type":"object"}},"columns":{"type":"object"},"podcasts":{"type":"array","items":{"type":"object"}},"videos":{"type":"array","items":{"type":"object"}},"social_preview":{"type":"array","items":{"type":"object"}},"social_locked":{"type":"boolean"},"social_feed_path":{"type":"string"},"sources":{"type":"array","items":{"type":"object"}},"fetchedAt":{"type":"string","format":"date-time"}}}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","required":["error","code","resolution"],"properties":{"error":{"type":"string","description":"Human-readable error summary."},"code":{"type":"string","enum":["bad_request","unauthorized","forbidden","not_found","conflict","unprocessable","rate_limited","unavailable","internal_error"]},"resolution":{"type":"string","description":"Actionable next step for agents."}}}}}}}}},"/api/archive":{"get":{"tags":["Corpus"],"operationId":"getArchive","summary":"Paginated permanent archive","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"before","in":"query","description":"Cursor as published_at|id from pagination.next_before.","schema":{"type":"string"}}],"responses":{"200":{"description":"Archive page","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object"}},"pagination":{"type":"object"},"fetchedAt":{"type":"string","format":"date-time"}}}}}}}}},"/api/chat":{"post":{"tags":["Chat"],"operationId":"postChat","summary":"Grounded Ask AI chat","description":"AI SDK UIMessage stream. Prefer corpus/archive for bulk agent reads. Protected by bot detection and per-IP quotas.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","system"]},"parts":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"}}}}}}}}}}}},"responses":{"200":{"description":"UI message stream (SSE)","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","required":["error","code","resolution"],"properties":{"error":{"type":"string","description":"Human-readable error summary."},"code":{"type":"string","enum":["bad_request","unauthorized","forbidden","not_found","conflict","unprocessable","rate_limited","unavailable","internal_error"]},"resolution":{"type":"string","description":"Actionable next step for agents."}}}}}},"404":{"description":"Chat disabled","content":{"application/json":{"schema":{"type":"object","required":["error","code","resolution"],"properties":{"error":{"type":"string","description":"Human-readable error summary."},"code":{"type":"string","enum":["bad_request","unauthorized","forbidden","not_found","conflict","unprocessable","rate_limited","unavailable","internal_error"]},"resolution":{"type":"string","description":"Actionable next step for agents."}}}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","required":["error","code","resolution"],"properties":{"error":{"type":"string","description":"Human-readable error summary."},"code":{"type":"string","enum":["bad_request","unauthorized","forbidden","not_found","conflict","unprocessable","rate_limited","unavailable","internal_error"]},"resolution":{"type":"string","description":"Actionable next step for agents."}}}}}}}}},"/openapi.json":{"get":{"tags":["Discovery"],"operationId":"getOpenApi","summary":"This OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 JSON","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/llms.txt":{"get":{"tags":["Discovery"],"operationId":"getLlmsTxt","summary":"Plain-text agent guide","responses":{"200":{"description":"llms.txt","content":{"text/plain":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error","code","resolution"],"properties":{"error":{"type":"string","description":"Human-readable error summary."},"code":{"type":"string","enum":["bad_request","unauthorized","forbidden","not_found","conflict","unprocessable","rate_limited","unavailable","internal_error"]},"resolution":{"type":"string","description":"Actionable next step for agents."}}}}}}