GET/v1/catalog/services
Списък на услугите в каталога
list_catalog_services
Връща записи от глобалния каталог на външни услуги (SaaS и доставчици): търсене на подниз без значение от регистъра в името, групата или домейна на уебсайта, филтър по категория и странициране. Общият брой за филтъра е в заглавката X-Total-Count. Каталогът е общ за всички организации и е достъпен за всеки влязъл потребител. Данните му се доставят със Sursa и се обновяват с всяко издание (версията е в GET /v1/catalog/categories и в полето version на icon_url на всеки запис).
Удостоверяване
Изпратете API ключ в заглавката Authorization: Authorization: Bearer <ключ>.
Параметри на заявката (query)
qstring | nullПодниз на името, групата или домейна на уебсайта (без значение от регистъра).
length ≤ 200
categorystring | nullКратко име (slug) на категорията (
GET /v1/catalog/categories).offsetintegerПо подразбиране: 0≥ 0
limitintegerПо подразбиране: 50≥ 1, ≤ 500
cursorstringКурсор на следващата страница от
X-Next-Cursorилиnext_cursorна предишния отговор със същите филтри; той носи и размера на страницата. Заедно сoffset:422 validation.failed; курсор от друг списък, с други филтри или повреден курсор:400 api.cursor_invalid.length ≤ 512
Параметри в заглавката
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я изчиства.
Отговори
200Успешен отговор
Заглавки на отговора
LinkАдрес на следващата страница,
<…>; rel="next". Липсата на заглавката означава, че това е последната страница.X-Next-CursorКурсор на следващата страница за параметъра
cursor. Липсата на заглавката означава, че това е последната страница.X-Total-CountОбщ брой записи, които отговарят на филтъра, независимо от
limitиoffset.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
categorystringзадължителноКратко име (slug) на категорията (
GET /v1/catalog/categories).description_enstring | nullзадължителноКратко описание на английски.
null, ако няма описание.domainstring | nullзадължителноДомейн на уебсайта без
www..null, ако няма уебсайт.group_namestring | nullзадължителноГрупа (доставчик), ако услугата принадлежи към продуктово семейство, например Atlassian; в противен случай
null.iconbooleanзадължителноДали иконата се доставя заедно със Sursa.
icon_urlstring | nullзадължителноURL адрес на иконата (
/v1/catalog/services/{service_id}/icon?v=…или външен адрес, настроен от инсталацията).null, ако няма икона.idstring (uuid)задължителноnamestringзадължителноslugstringзадължителноwebsitestring | nullзадължителноURL адрес на уебсайта (
https://…) илиnull.
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 в секунди: изчакайте и опитайте отново.