IsraelGPT API Docs Get an API key
The public API is offline until accounts come back. Existing API keys no longer work. The web chat at israelgpt.site works as usual. These docs describe the API as it was.

Architecture

What actually runs where. Useful if you're deciding whether to depend on this API, debugging something unexpected, or just curious.

Domains

Domain / pathWhat it is
www.israelgpt.siteThe main site: web chat and docs.
www.israelgpt.site/api/v1/chatThe public API described throughout these docs. Offline until accounts come back.
www.israelgpt.site/docsThis documentation.

Always use www.israelgpt.site. No other hostname is supported.

Request flow

your browser / app
│ HTTPS
▼
www.israelgpt.site (Cloudflare edge)
│ pages are static files; API calls go on, over a private link
▼
API worker (no public address of its own)
├──▶ verification, rate limits and safety checks
├──▶ database: encrypted logs
└──▶ the model: the actual completion
▼
the reply, back to you

Services involved

ServiceRole
CloudflareHosts everything: the site, the API worker, rate limiting and the database. There is no other hosting, database or cache provider.
In-house fine-tuned modelsModels fine-tuned by the IsraelGPT team power each completion (see Personas & Models). Only the API worker talks to the model backend.
DiscordOnly relevant if you use or fork the reference Discord bot (see Discord Bot). It runs as a separate process outside this stack.

What this means for you

  • Each request stands alone. There is no server-side memory between calls; send the conversation you want the model to see.
  • Model generation is almost all of the time a request takes.
  • If the model fails to respond, the request fails with 502. There is no switch to a different model. See Errors.
  • None of this infrastructure is exposed to you directly. You only ever talk to www.israelgpt.site.

No streaming, on purpose

The endpoint returns one complete JSON response, not a token stream. Two reasons: the reference client (a Discord bot) posts one finished message rather than editing it token-by-token, and a plain JSON contract is what keeps onboarding to a curl command and a 10-line snippet instead of an SSE/streaming parser.

// what you get: one response, once generation finishes
const data = await res.json();
console.log(data.reply);