GET/v1/catalog/services
Listează serviciile din catalog
list_catalog_services
Returnează intrările catalogului global de servicii externe (SaaS și furnizori): căutare după un subșir în nume, grup sau domeniul site-ului, fără a ține cont de majuscule, un filtru după categorie și paginare. Numărul total pentru filtru este în antetul X-Total-Count. Catalogul este comun tuturor organizațiilor și este disponibil oricărui utilizator autentificat. Datele lui vin împreună cu Sursa și sunt actualizate la fiecare lansare (versiunea este în GET /v1/catalog/categories și în câmpul version din icon_url al fiecărei intrări).
Autentificare
Trimiteți o cheie API în antetul Authorization: Authorization: Bearer <cheie>.
Parametri de interogare
qstring | nullSubșir al numelui, al grupului sau al domeniului site-ului (fără a ține cont de majuscule).
length ≤ 200
categorystring | nullSlugul categoriei (
GET /v1/catalog/categories).offsetintegerImplicit: 0≥ 0
limitintegerImplicit: 50≥ 1, ≤ 500
cursorstringCursorul paginii următoare din
X-Next-Cursorsaunext_cursoral răspunsului anterior, cu aceleași filtre; el conține dimensiunea paginii. Împreună cuoffset:422 validation.failed; un cursor al altei liste, cu alte filtre sau malformat:400 api.cursor_invalid.length ≤ 512
Parametri de antet
X-View-AsstringDoar pentru cheile API cu rolul
admin. Execută cererea cu profilul de date<profile>[:viewer|verifier|editor], de exempluemployee:viewer. Cheia de instalare nu poate folosi acest antet (403).
Parametri cookie
kb_view_asstringCookie-ul modului „View as” (vizualizare ca alt utilizator) pentru o sesiune.
POST /auth/view-asîl setează, iarDELETE /auth/view-asîl șterge.
Răspunsuri
200Răspuns reușit
Antetele răspunsului
LinkAdresa paginii următoare,
<…>; rel="next". Lipsa antetului înseamnă că aceasta este ultima pagină.X-Next-CursorCursorul paginii următoare pentru parametrul
cursor. Lipsa antetului înseamnă că aceasta este ultima pagină.X-Total-CountNumărul total de înregistrări care corespund filtrului, indiferent de
limitșioffset.RateLimit-PolicyLimitele în vigoare, în formatul proiectului IETF
draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă"<name>";q=<quota>;w=<window in seconds>.keyeste frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune esteuser, fără date de autentificareip);minute,dayșimonthsunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.RateLimitCât a rămas din fiecare limită din
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimita celei mai stricte intrări din
RateLimit-Policy(cea cu cele mai puține cereri rămase).X-RateLimit-RemainingCereri rămase în cadrul celei mai stricte limite.
X-RateLimit-ResetSecunde până la resetarea celei mai stricte limite.
application/json
categorystringobligatoriuSlugul categoriei (
GET /v1/catalog/categories).description_enstring | nullobligatoriuDescriere scurtă în engleză.
nulldacă nu există descriere.domainstring | nullobligatoriuDomeniul site-ului, fără
www..nulldacă nu există site.group_namestring | nullobligatoriuGrupul (furnizorul) dacă serviciul face parte dintr-o familie de produse, de exemplu Atlassian; altfel
null.iconbooleanobligatoriuDacă pictograma este livrată împreună cu Sursa.
icon_urlstring | nullobligatoriuURL-ul pictogramei (
/v1/catalog/services/{service_id}/icon?v=…sau o adresă externă configurată de instalare).nulldacă nu există pictogramă.idstring (uuid)obligatoriunamestringobligatoriuslugstringobligatoriuwebsitestring | nullobligatoriuURL-ul site-ului (
https://…) saunull.
401Nu au fost trimise date de autentificare (nici cookie de sesiune, nici cheie API) sau cheia nu a fost găsită.
Antetele răspunsului
RateLimit-PolicyLimitele în vigoare, în formatul proiectului IETF
draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă"<name>";q=<quota>;w=<window in seconds>.keyeste frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune esteuser, fără date de autentificareip);minute,dayșimonthsunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.RateLimitCât a rămas din fiecare limită din
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimita celei mai stricte intrări din
RateLimit-Policy(cea cu cele mai puține cereri rămase).X-RateLimit-RemainingCereri rămase în cadrul celei mai stricte limite.
X-RateLimit-ResetSecunde până la resetarea celei mai stricte limite.
application/json
403Acțiunea nu este permisă: rolul este insuficient, nu există acces la colecție sau la fișă, cererea rulează în modul „View as” (vizualizare ca alt utilizator) sau organizația este suspendată ori ștearsă (`detail` este un obiect cu `code: org_suspended | org_deleted`).
Antetele răspunsului
RateLimit-PolicyLimitele în vigoare, în formatul proiectului IETF
draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă"<name>";q=<quota>;w=<window in seconds>.keyeste frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune esteuser, fără date de autentificareip);minute,dayșimonthsunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.RateLimitCât a rămas din fiecare limită din
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimita celei mai stricte intrări din
RateLimit-Policy(cea cu cele mai puține cereri rămase).X-RateLimit-RemainingCereri rămase în cadrul celei mai stricte limite.
X-RateLimit-ResetSecunde până la resetarea celei mai stricte limite.
application/json
422Eroare de validare: corpul sau parametrii nu corespund schemei (`detail` este o listă de erori de validare) ori valoarea unui parametru este în afara intervalului permis (`detail` este un mesaj).
Antetele răspunsului
RateLimit-PolicyLimitele în vigoare, în formatul proiectului IETF
draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă"<name>";q=<quota>;w=<window in seconds>.keyeste frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune esteuser, fără date de autentificareip);minute,dayșimonthsunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.RateLimitCât a rămas din fiecare limită din
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimita celei mai stricte intrări din
RateLimit-Policy(cea cu cele mai puține cereri rămase).X-RateLimit-RemainingCereri rămase în cadrul celei mai stricte limite.
X-RateLimit-ResetSecunde până la resetarea celei mai stricte limite.
application/json
429Prea multe cereri (`api.rate_limited`), cota organizației pentru minut, zi sau lună este epuizată (`api.quota_exceeded`; `error.details` conține `quota`, `limit` și `reset_at`), limita organizației este atinsă sau serviciul de răspunsuri este ocupat (`answers.engine_busy`). Așteptați timpul indicat în antetul `Retry-After`.
Antetele răspunsului
Retry-AfterNumărul de secunde de așteptat înainte de a reîncerca cererea.
RateLimit-PolicyLimitele în vigoare, în formatul proiectului IETF
draft-ietf-httpapi-ratelimit-headers: elemente separate prin virgulă"<name>";q=<quota>;w=<window in seconds>.keyeste frecvența cererilor cheii API (cota este rafala, fereastra este timpul în care rafala se reface complet; pentru o sesiune esteuser, fără date de autentificareip);minute,dayșimonthsunt cotele organizației pentru minutul, ziua și luna calendaristice în UTC.RateLimitCât a rămas din fiecare limită din
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimita celei mai stricte intrări din
RateLimit-Policy(cea cu cele mai puține cereri rămase).X-RateLimit-RemainingCereri rămase în cadrul celei mai stricte limite.
X-RateLimit-ResetSecunde până la resetarea celei mai stricte limite.
application/json
Coduri de eroare
Codurile pe care acest endpoint le poate returna în error.code, pe lângă codurile generale ale oricărei cereri.
Limite de frecvență
Răspunsurile conțin antetele RateLimit și RateLimit-Policy, precum și antetele anterioare X-RateLimit-Limit, X-RateLimit-Remaining și X-RateLimit-Reset. Un răspuns 429 conține Retry-After în secunde: așteptați și reîncercați.