hosting

POST /v1/sites/{siteId}/ide-chat

One turn of the web editor's AI chat.

Alle hosting-eindpunten

Authenticatie

Dit eindpunt is openbaar. Het vereist geen inloggegevens en geen organisatie; het is wat onze eigen marketingwebsite en AI-antwoordmachines uitlezen.

Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.

Probeer het

Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/ide-chat \
  -H "Content-Type: application/json" \
  -d '{ "messages": <IdeChatMessage[]> }'

Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console

Details

The conversation panel inside the site's web editor. Unlike `askSiteIdeAssistant` — which answers one question about one file — this carries a transcript and a catalogue of **tools** the editor is willing to run, so the assistant can answer questions about the customer's own hosting rather than only about their code. Authenticated by the same signed, site-bound grant as the rest of the editor's endpoints, and metered to the same organisation on the same `web_ide` surface. The model is the organisation's own choice, or the cheapest priced one when they have expressed none — Claude, ChatGPT, Gemini or Grok, funded from Zinn® credit or the customer's own provider key. **The engine never runs a tool.** When the model asks for one, the response carries `tool_calls` and an empty `answer`, and the conversation is unfinished: the editor invokes them through its own MCP client — where the customer's confirmation happens for anything destructive, and where the MCP server's write gate and spend caps apply — and posts the results back on the next turn. A response with an empty `answer` and no `tool_calls` is never returned; that is a `422` carrying its own sentence, because the call was paid for either way and a blank panel is indistinguishable from a broken one. The transcript is authored inside the customer's own jail, so it is treated as data: roles are mapped from a closed set, the tool list is bounded and coerced, and a malformed tool is dropped rather than offered.

Parameters

NaamTypeVerplichtWat dit is
siteId (path)UuidJaSite ID (UUIDv7).

Aanvraaglichaam

NaamTypeVerplichtWat dit is
messagesIdeChatMessage[]JaThe conversation so far. The engine is stateless, so the whole transcript arrives on every call and the caller bounds it.
toolsIdeChatToolOffer[]NeeWhat the editor can run — its MCP servers' tools and any the customer's own extensions contribute. Bounded and coerced on arrival; a malformed entry is dropped rather than offer…
pathstringNeeThe file the customer is looking at, if any.
contextstringNeeThat file's contents, truncated to the assistant's context cap.
modelstringNeeA model from `/ide-assist/models`. Omit for the automatic choice, which is the cheapest priced model the organisation can run.

Reactie

NaamTypeVerplichtWat dit is
answerstringJaEmpty when the assistant asked for tools instead. Never empty alongside an empty `tool_calls` — that is a `422` with its own sentence, because the call was paid for either way.
tool_callsIdeChatToolCall[]Ja
modelstringJa
fundingstringJaWhich purse ran it — the same value the AI page renders, from the same decision. The editor shows "your Zinn® credit" or "your own API key" beneath the answer.
turnsintegerJaHow many turns of this conversation have already asked for tools, so the editor can stop a model that will not settle rather than paying for it indefinitely.

Fouten die dit eindpunt kan retourneren

404 · 422 · 429