POST/v1/ask
Добијање одговора асистента без тока
ask
Аутентификација
Пошаљите API кључ у заглављу Authorization: Authorization: Bearer <кључ>.
Параметри заглавља
Idempotency-KeystringКључ за безбедан поновни покушај уписа: од 1 до 255 штампаних ASCII знакова; препоручује се UUID v4 за сваку логичку операцију. Поновни покушај са истим кључем у року од 24 сата не извршава операцију поново: враћа сачувани одговор (статус, заглавља и тело) са заглављем
Idempotency-Replayed: true. Исти кључ са другим методом, путањом,Content-Typeили телом враћа409 api.idempotency_mismatch; док се први захтев још извршава –409 api.idempotency_in_progressсаRetry-After: 1. После одговора 5xx или 429 кључ се ослобађа и поновни покушај поново извршава операцију. Кључ важи у оквиру организације и позиваоца (API кључ, корисник или кључ сопственог извора).length ≥ 1, length ≤ 255
X-View-AsstringСамо за API кључеве са улогом
admin. Извршава захтев у име профила приступа<profile>[:viewer|verifier|editor], на примерemployee:viewer. Кључ инсталације не може да користи ово заглавље (403).
Параметри колачића
kb_view_asstringКолачић режима „View as“ за сесију.
POST /auth/view-asга поставља, аDELETE /auth/view-asбрише.
Тело захтева
application/json
querystringобавезноlength ≥ 1
collectionstringПодразумевано: "default"
tagsarray of string | nullexportstring | nullcard_idsarray of string | nullitems ≤ 50
toolsboolean | nullqualitystringОднос брзине и тачности претраге на којој се заснива резултат:
fastје бржи,preciseтачнији. Подразумевано:precise.Дозвољене вредности:
fastprecise
Одговори
200Одговор асистента. „Нема одговора“ је такође 200, са `empty: no_hits`.
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
Idempotency-Replayedtrueзначи да је одговор поново послат из одговора сачуваног за овајIdempotency-Key: операција није поново извршена.
application/json
answerstringобавезноquestion_idintegerобавезноquerystringcollectionstringобавезноprovenancearray of NumberProvenanceemptystringДозвољене вредности:
no_hitsrestrictedguardrailno_data_for_periodbasisAnswerBasisverificationAnswerVerificationalt_periodsarray of AnswerAltPerioditems ≤ 6
drilldownarray of AnswerDrilldownitems ≤ 20
restrictedRestrictedInfoguardrailGuardrailVerdictverified_onlybooleancachedbooleancache_hitAnswerCacheHitout_of_scopeAnswerOutOfScopeattachmentsarray of Attachmentexport_errorstringtoolsstring | nullЗашто су за овај одговор коришћени алати:
request(изричито затражено);compare,compute,action(на основу питања);needs_calc(потребан је прорачун над табелама);summary(преглед колекције или докумената);mcp(организација је повезала спољне MCP сервере).Дозвољене вредности:
requestcomparecomputeactionneeds_calcsummarymcpnulltool_callsarray of ToolCallInfocalculationsarray of Calculationpending_actionsarray of PendingActionconversation_idstringСамо за
POST /v1/chatса разговором.answer_idstringID објекта одговора.
401Акредитиви нису послати (ни колачић сесије ни API кључ) или кључ није пронађен.
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
403Радња није дозвољена: улога није довољна, нема приступа колекцији или картици, захтев се извршава у режиму „View as“ или је организација суспендована или обрисана (`detail` је објекат са `code: org_suspended | org_deleted`).
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
404Објекат не постоји или вам није доступан. API не потврђује да објекат са ограниченим приступом постоји.
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
422Грешка валидације: тело или параметри не одговарају шеми (`detail` је листа грешака валидације) или је вредност параметра ван дозвољеног распона (`detail` је порука).
Заглавља одговора
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
429Превише захтева (`api.rate_limited`), квота организације за минут, дан или месец је потрошена (`api.quota_exceeded`; `error.details` садржи `quota`, `limit` и `reset_at`), достигнуто је ограничење организације или је сервис за одговоре заузет (`answers.engine_busy`). Сачекајте време наведено у заглављу `Retry-After`.
Заглавља одговора
Retry-AfterБрој секунди које треба сачекати пре поновног покушаја захтева.
RateLimit-PolicyОграничења која важе, у формату IETF нацрта
draft-ietf-httpapi-ratelimit-headers: ставке раздвојене зарезима"<name>";q=<quota>;w=<window in seconds>.keyје учесталост захтева API кључа (квота је налет, прозор је време за потпуно обнављање; за сесију то јеuser, без акредитива –ip);minute,dayиmonthсу квоте организације за календарски минут, дан и месец по UTC.RateLimitКолико је преостало од сваког ограничења из
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitОграничење најстроже ставке у
RateLimit-Policy(оне са најмање преосталих захтева).X-RateLimit-RemainingБрој преосталих захтева по најстрожем ограничењу.
X-RateLimit-ResetБрој секунди до ресетовања најстрожег ограничења.
application/json
Кодови грешака
Кодови које ова операција може да врати у error.code, поред општих кодова сваког захтева.
- 404answers.no_collections
- 409answers.external_ai_disabled
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403collections.no_access
- 404collections.not_found
- 429limits.questions
- 429limits.concurrent_answers
- 403org.deleted
- 403org.suspended
- 403view_as.read_only
Безбедни поновни покушаји
Уз сваки POST и PATCH захтев пошаљите заглавље Idempotency-Key (на пример UUID). Поновни покушај са истим кључем у року од 24 сата враћа сачувани одговор уместо да поново изврши захтев.
Ограничења учесталости
Одговори садрже заглавља RateLimit и RateLimit-Policy, као и старија X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Одговор 429 садржи заглавље Retry-After у секундама: сачекајте и поновите захтев.