hosting
POST /v1/sites/{siteId}/ide-chat
One turn of the web editor's AI chat.
인증
이 엔드포인트는 공개되어 있습니다. 자격 증명이나 조직 정보가 필요하지 않으며, 당사의 마케팅 사이트와 AI 답변 엔진이 읽는 것과 동일합니다.
이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/ide-chat \
-H "Content-Type: application/json" \
-d '{ "messages": <IdeChatMessage[]> }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
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.
매개변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
siteId (path) | Uuid | 예 | Site ID (UUIDv7). |
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
messages | IdeChatMessage[] | 예 | The conversation so far. The engine is stateless, so the whole transcript arrives on every call and the caller bounds it. |
tools | IdeChatToolOffer[] | 아니요 | What 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… |
path | string | 아니요 | The file the customer is looking at, if any. |
context | string | 아니요 | That file's contents, truncated to the assistant's context cap. |
model | string | 아니요 | A model from /ide-assist/models. Omit for the automatic choice, which is the cheapest priced model the organisation can run. |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
answer | string | 예 | Empty 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_calls | IdeChatToolCall[] | 예 | — |
model | string | 예 | — |
funding | string | 예 | Which 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. |
turns | integer | 예 | How 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. |
credit | IdeAssistCredit | 예 | The balance after this turn, so the editor's running total moves with the question that spent it rather than lagging one call behind. |
이 엔드포인트가 반환할 수 있는 오류
404 · 422 · 429