Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
Ask the documentation assistant (public, no session)
docs-site assistant. Answers a question ONLY from the public documentation: the
question is matched against the docs full-text index (Postgres, per-language stemming; the
English corpus is searched when the asked language has no match) and, when sections pass
the relevance threshold, the LLM (Bulutistan LLMaaS) writes a short answer from those
sections alone with [n] markers. citations are the cited sections' SITE-RELATIVE docs
URLs (/docs/..., /tr/docs/...#anchor) -- always taken from the index, never from model
output. mode: none = nothing relevant in the docs (found: false; the model is NOT
called); retrieval = relevant sections, no generated text (no LLM configured, the daily
token budget is spent, or the model failed) -- the citations with snippets are the answer;
generated = model answer (found: false when the model said the context does not answer
it or cited nothing).
Auth: PUBLIC -- no session; the edge does not introspect and drops the Cookie and
Authorization headers. CORS: only the configured docs-site origins
(PUBLICCLOUD_ASSISTANT_DOCS_ORIGINS), POST + Content-Type, no credentials.
Validation: question 3..500 characters, lang one of en/tr/de/az -> 422.
Abuse/cost: per client IP rate limit (429 + Retry-After); a global daily LLM token
budget degrades to retrieval. The question text is not stored or logged.
Feature flag: 404 while the assistant service is disabled (PUBLICCLOUD_ASSISTANT_ENABLED)
or the edge has no EDGE_ASSISTANT_URL.
Async & state: Synchronous; changes nothing (only the global token counter).
Errors: 404; 422; 429; 500; 503 details.reason=DOCS_INDEX_EMPTY before a corpus is loaded.
Idempotency/Concurrency: Safe to retry; no idempotency key.
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
application/json- body
-- a question to the documentation assistant.
question*stringThe question, in any of the docs languages. Not stored or logged.
3 <= length <= 500lang?DocsAssistantLangLanguage of the docs page the question is asked from (default en); searched first and answered in.
"en""en""tr""de""az"The answer (or "not found") with its citations.
application/json- response
found*booleanFalse when the documentation does not answer the question.
mode*DocsAssistantModenone = nothing relevant in the docs (model not called); retrieval = relevant sections only, no generated text; generated = model answer from the sections.
"none""retrieval""generated"answer*|Plain-text answer with [n] markers (no links or HTML); null unless mode=generated and found.
citations*array<>curl -X POST "https://example.com/public/docs-assistant/ask" \ -H "Content-Type: application/json" \ -d '{ "question": "string" }'{ "found": true, "mode": "none", "answer": "string", "citations": [ { "n": 1, "title": "string", "heading": "string", "url": "string", "snippet": "string" } ]}