GET/v1/jobs/stream
Ток измена послова (SSE)
jobs_stream
Server-Sent Events: снимак стања тренутног пакета, а затим измене послова организације (фаза, проценат, назив фајла).
Сваки догађај има id – курсор у облику временске ознаке. При поновном повезивању прегледач га шаље у Last-Event-ID (или клијент прослеђује ?since=), а снимак стања се допуњује свим што се променило док веза није постојала.
Покретања извора могу да произведу и догађаје {"type": "source", "source": {"id", "status", "updated_at"}} без ID курсора. status је фаза синхронизације у току (listing, syncing, retry) или њен резултат (ok, partial, error). Преузети фајлови се индексирају пословима и стижу као догађаји job, као и отпремања.
Аутентификација
Пошаљите API кључ у заглављу Authorization: Authorization: Bearer <кључ>.
Параметри упита
sincestring | nullКурсор за наставак (ISO време са временском зоном), алтернатива за
Last-Event-ID.
Параметри заглавља
X-View-AsstringСамо за API кључеве са улогом
admin. Извршава захтев у име профила приступа<profile>[:viewer|verifier|editor], на примерemployee:viewer. Кључ инсталације не може да користи ово заглавље (403).Last-Event-IDstring | nullID последњег примљеног догађаја (поновно повезивање EventSource). Ток почиње догађајима који следе после њега.
Параметри колачића
kb_view_asstringКолачић режима „View as“ за сесију.
POST /auth/view-asга поставља, аDELETE /auth/view-asбрише.
Одговори
200`text/event-stream`. Прво поље је `retry: 3000`, затим догађај `snapshot` са тренутним пословима и резимеом, а после њега догађаји `job` (посао се променио) и `summary` (резиме после промене статуса). Сваки догађај носи `id:` – курсор у облику временске ознаке (ISO). При поновном повезивању прегледач га шаље у `Last-Event-ID` (или га клијент прослеђује у `?since=`), а снимак стања се допуњује свим што се променило док веза није постојала (до 24 сата уназад). После сваких 15 секунди тишине сервер шаље коментар `: keep-alive`. Заглавља одговора: `Cache-Control: no-cache`, `X-Accel-Buffering: no`.
Заглавља одговора
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Број секунди до ресетовања најстрожег ограничења.
text/event-stream
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
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, поред општих кодова сваког захтева.
Ограничења учесталости
Одговори садрже заглавља RateLimit и RateLimit-Policy, као и старија X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Одговор 429 садржи заглавље Retry-After у секундама: сачекајте и поновите захтев.