POST/v1/access-requests/{request_id}/grant
Odobravanje pristupa na zahtjev
grant_access_request
Koristi postojeće mehanizme pristupa: collection_ids – uloga čitatelja za korisnika na zbirkama izvora (COLLECTION_MANAGE_PERMISSIONS na svakoj); data_profile – dodjeljuje korisniku podatkovni profil (ORG_MANAGE_USERS); add_category – dodaje kategorije izvora trenutačnom podatkovnom profilu korisnika (samo administratori; utječe na sve korisnike profila – njihov broj nalazi se u profile_users). Izvori kojima korisnik može pristupiti nakon odobrenja označavaju se kao odobreni; kad su svi odobreni, zahtjev postaje granted, a korisnik dobiva obavijest. Dodano u verziji 1.50.0.
Autentifikacija
Pošaljite API ključ u zaglavlju Authorization: Authorization: Bearer <ključ>.
Parametri putanje
request_idintegerobavezno
Parametri zaglavlja
X-View-AsstringSamo za API ključeve s ulogom
admin. Izvodi zahtjev kao podatkovni profil<profile>[:viewer|verifier|editor], na primjeremployee:viewer. Ključ instalacije ne može koristiti ovo zaglavlje (403).Idempotency-KeystringKljuč za siguran ponovni pokušaj upisa: od 1 do 255 ispisivih ASCII znakova; preporučuje se UUID v4 po logičkoj operaciji. Ponovni pokušaj s istim ključem unutar 24 sata ne izvodi operaciju ponovno: vraća spremljeni odgovor (status, zaglavlja i tijelo) sa zaglavljem
Idempotency-Replayed: true. Isti ključ s drugom metodom, putanjom,Content-Typeili tijelom vraća409 api.idempotency_mismatch; dok se prvi zahtjev još izvodi –409 api.idempotency_in_progresssRetry-After: 1. Nakon odgovora 5xx ili 429 ključ se oslobađa i ponovni pokušaj ponovno izvodi operaciju. Ključ vrijedi u okviru organizacije i pozivatelja (API ključ, korisnik ili ključ vlastitog izvora).length ≥ 1, length ≤ 255
Parametri kolačića
kb_view_asstringKolačić načina „View as” za sesiju. Postavlja ga
POST /auth/view-as, a brišeDELETE /auth/view-as.
Tijelo zahtjeva
application/json
collection_idsarray of integerdata_profilestringKljuč podatkovnog profila koji se dodjeljuje korisniku.
add_categoryboolean
Odgovori
200Zahtjev nakon odobrenja
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
Idempotency-Replayedtrueznači da je odgovor ponovljen iz spremljenog odgovora za ovajIdempotency-Key: operacija se nije ponovno izvela.
application/json
idintegerobaveznostatusstringobaveznoDopuštene vrijednosti:
opengranteddeniedanswer_idstringOdgovor za koji je zatražen pristup (prazno ako je odgovor izbrisan prema pravilima čuvanja podataka).
questionstringobaveznomessagestringobaveznocommentstringKomentar uz odbijanje.
totalintegerobaveznoBroj izvora u zahtjevu (za donositelja odluke – izvori koje on vidi).
pendingintegerobaveznoJoš nije odobreno.
mergedbooleanU odgovoru na zahtjev za stvaranje – zahtjev je spojen s već otvorenim zahtjevom.
decided_atstring (date-time)created_atstring (date-time)obaveznoupdated_atstring (date-time)obaveznosourcesarray of AccessRequestSourceSamo za donositelja odluke.
can_add_categorybooleanprofile_usersintegerAktivni korisnici podatkovnog profila podnositelja zahtjeva (izmjena profila utječe na sve njih).
400Zahtjev nije valjan: vrijednost parametra ili stanje objekta ne dopušta radnju (`detail` je poruka).
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
401Vjerodajnice nisu poslane (ni kolačić sesije ni API ključ) ili ključ nije pronađen.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
403Radnja nije dopuštena: uloga nije dovoljna, nema pristupa zbirci ili kartici, zahtjev se izvodi u načinu „View as” ili je organizacija suspendirana ili izbrisana (`detail` je objekt s `code: org_suspended | org_deleted`).
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
404Objekt ne postoji ili vam nije dostupan. API ne potvrđuje postojanje ograničenog objekta.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
409Stanje objekta ne dopušta radnju, na primjer duplikat, indeksiranje u tijeku ili posao koji je već obrađen.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
429Previše zahtjeva (`api.rate_limited`), kvota organizacije za minutu, dan ili mjesec je potrošena (`api.quota_exceeded`; `error.details` sadrži `quota`, `limit` i `reset_at`), dosegnuto je ograničenje organizacije ili je usluga odgovora zauzeta (`answers.engine_busy`). Pričekajte vrijeme navedeno u zaglavlju `Retry-After`.
Zaglavlja odgovora
Retry-AfterBroj sekundi koje treba pričekati prije ponovnog pokušaja zahtjeva.
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
Kodovi pogrešaka
Kodovi koje ova operacija može vratiti u error.code, uz opće kodove svakog zahtjeva.
Sigurni ponovni pokušaji
Uz svaki POST i PATCH pošaljite zaglavlje Idempotency-Key (na primjer UUID). Ponovni pokušaj s istim ključem unutar 24 sata vraća spremljeni odgovor umjesto da ponovno izvrši zahtjev.
Ograničenja učestalosti
Odgovori sadrže zaglavlja RateLimit i RateLimit-Policy te ranija zaglavlja X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Odgovor 429 sadrži zaglavlje Retry-After u sekundama: pričekajte i pokušajte ponovno.