POST/v1/api-keys
Sukurti API raktą
create_api_key
Autentifikavimas
Siųskite API raktą antraštėje Authorization: Authorization: Bearer <raktas>.
Antraštės parametrai
Idempotency-KeystringRaktas saugiam rašymo operacijos pakartojimui: nuo 1 iki 255 spausdinamų ASCII simbolių; rekomenduojamas atskiras UUID v4 kiekvienai loginei operacijai. Pakartojus užklausą su tuo pačiu raktu per 24 valandas, operacija iš naujo nevykdoma: grąžinamas išsaugotas atsakas (būsena, antraštės ir turinys) su antrašte
Idempotency-Replayed: true. Tas pats raktas su kitu metodu, keliu,Content-Typear turiniu grąžina409 api.idempotency_mismatch; kol pirmoji užklausa dar vykdoma –409 api.idempotency_in_progresssuRetry-After: 1. Po 5xx ar 429 atsako raktas atlaisvinamas, ir pakartojimas operaciją vykdo iš naujo. Raktas galioja organizacijos ir iškvietėjo (API rakto, naudotojo arba pasirinktinio šaltinio rakto) ribose.length ≥ 1, length ≤ 255
X-View-AsstringTik API raktams su vaidmeniu
admin. Užklausa vykdoma duomenų profilio<profile>[:viewer|verifier|editor]vardu, pvz.,employee:viewer. Diegimo raktas šios antraštės naudoti negali (403).
Slapuko parametrai
kb_view_asstringRežimo „View as“ (žiūrėti kaip) sesijos slapukas.
POST /auth/view-asjį nustato, oDELETE /auth/view-asišvalo.
Užklausos turinys
application/json
namestringprivalomaslength ≥ 1, length ≤ 64
rolestringNumatytoji reikšmė: "editor"
data_profilestring | nullRakto duomenų profilis. Be šio lauko raktas gauna numatytąjį organizacijos profilį. Duomenų profilis netaikomas vaidmeniui
admin. Raktas su administratoriaus vaidmeniu mato visus organizacijos duomenis, o kitas neifullprofilis grąžina400 api_keys.data_profile_not_applicable.expires_atstring (date-time) | nullRakto galiojimo pabaiga (ISO 8601, ateityje).
nullarba reikšmės nebuvimas reiškia, kad raktas galioja neribotai.scopesarray of ApiKeyScope | nullRakto apimtys. Jei jų nėra, apimtys nustatomos pagal vaidmenį:
admingaunaread,write,admin;editorirverifier–read,write;viewer–read. Apimtįsystemišduoda tik diegimo administratorius. Priimamos ir smulkiosresource:actionapimtys (ApiKeyScope); ankstesnėsread,writeiradminišskleidžiamos į kelias apimtis.collection_idsarray of integer | nullApriboja raktą šiais organizacijos rinkiniais. Kortelės, paieška, atsakymai ir įvykiai veikia tik juose, be to, galioja vaidmens ir duomenų profilio apribojimai. Reikšmės nebuvimas arba tuščias sąrašas reiškia, kad apribojimo nėra. Jei kviečiantis raktas pats apribotas rinkiniais, naujasis raktas gali būti tik jo rinkiniuose. Be šio lauko naujasis raktas gauna kviečiančio rakto rinkinius. Tuščias sąrašas arba rinkinys už jo sąrašo ribų grąžina
400 api_keys.invalid_collections.items ≤ 100
allowed_cidrsarray of string | nullTinklai, iš kurių galima naudoti raktą, pvz.,
10.0.0.0/8arba2001:db8::/32. Vienas adresas – tai vieno adreso tinklas. Užklausa iš kito adreso grąžina403 api_keys.ip_not_allowed. Reikšmės nebuvimas reiškia, kad apribojimo nėra.items ≤ 50
Atsakai
200Sėkmingas atsakas
Atsako antraštės
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
Idempotency-Replayedtrue– atsakas pakartotas iš šiamIdempotency-Keyišsaugoto atsako: operacija iš naujo nevykdyta.
application/json
idintegerprivalomasnamestringprivalomasprefixstringprivalomascreated_atstring (date-time)privalomaskeystringprivalomasdata_profilestring | nullprivalomasexpires_atstring (date-time)Galiojimo pabaiga. Pateikiama tik raktams su galiojimo pabaiga.
scopesarray of stringAiškiai nurodytos rakto apimtys. Pateikiamos tik raktams su aiškiai nustatytomis apimtimis.
collection_idsarray of integerApribojimas rinkiniais. Pateikiamas tik raktams su apribojimu.
allowed_cidrsarray of stringLeidžiami tinklai. Pateikiami tik raktams su apribojimu.
400Užklausa netinkama: parametro reikšmė arba objekto būsena neleidžia atlikti veiksmo (`detail` – pranešimas).
Atsako antraštės
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
application/json
401Prisijungimo duomenys neišsiųsti (nei sesijos slapukas, nei API raktas) arba raktas nerastas.
Atsako antraštės
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
application/json
403Veiksmas neleidžiamas: vaidmuo nesuteikia reikiamų teisių, nėra prieigos prie rinkinio ar kortelės, užklausa vykdoma režimu „View as“ arba organizacijos veikla sustabdyta ar organizacija ištrinta (`detail` – objektas su `code: org_suspended | org_deleted`).
Atsako antraštės
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
application/json
422Validavimo klaida: turinys ar parametrai neatitinka schemos (`detail` – validavimo klaidų sąrašas) arba parametro reikšmė nepatenka į leistiną intervalą (`detail` – pranešimas).
Atsako antraštės
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
application/json
429Per daug užklausų (`api.rate_limited`), išnaudota organizacijos minutės, dienos ar mėnesio kvota (`api.quota_exceeded`; `error.details` pateikia `quota`, `limit` ir `reset_at`), pasiektas organizacijos limitas arba atsakymų paslauga užimta (`answers.engine_busy`). Palaukite tiek, kiek nurodyta antraštėje `Retry-After`.
Atsako antraštės
Retry-AfterKiek sekundžių palaukti prieš kartojant užklausą.
RateLimit-PolicyGaliojantys limitai IETF juodraščio
draft-ietf-httpapi-ratelimit-headersformatu: kableliais atskirti elementai"<name>";q=<quota>;w=<window in seconds>.key– API rakto užklausų dažnis (kvota – pliūpsnis, laiko langas – laikas, per kurį kvota visiškai atsistato; sesijai taiuser, be prisijungimo duomenų –ip);minute,dayirmonth– organizacijos kvotos kalendorinei minutei, dienai ir mėnesiui pagal UTC.RateLimitKiek liko kiekvieno
RateLimit-Policylimito:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGriežčiausio
RateLimit-Policyįrašo (kuriame liko mažiausiai užklausų) limitas.X-RateLimit-RemainingLikusių užklausų skaičius pagal griežčiausią limitą.
X-RateLimit-ResetSekundės iki griežčiausio limito atsistatymo.
application/json
Klaidų kodai
Kodai, kuriuos ši operacija gali grąžinti lauke error.code, be bendrųjų kodų, galimų bet kuriai užklausai.
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 400api_keys.data_profile_not_applicable
- 403api_keys.feature_disabled
- 400api_keys.invalid_cidrs
- 400api_keys.invalid_collections
- 400api_keys.invalid_expires
- 400api_keys.invalid_scopes
- 403auth.admin_required
- 401auth.not_authenticated
- 403auth.system_scope
- 400profiles.unknown
- 403view_as.read_only
Saugūs pakartojimai
Su kiekviena POST ir PATCH užklausa siųskite antraštę Idempotency-Key (pavyzdžiui, UUID). Pakartojus užklausą su tuo pačiu raktu per 24 valandas, grąžinamas išsaugotas atsakas, o užklausa iš naujo nevykdoma.
Užklausų dažnio limitai
Atsakuose yra antraštės RateLimit ir RateLimit-Policy bei ankstesnės X-RateLimit-Limit, X-RateLimit-Remaining ir X-RateLimit-Reset. Atsake 429 yra antraštė Retry-After sekundėmis: palaukite ir pakartokite užklausą.