POST/v1/api-keys
Vytvořit klíč API
create_api_key
Autentizace
Odešlete klíč API v hlavičce Authorization: Authorization: Bearer <klíč>.
Parametry hlavičky
Idempotency-KeystringKlíč pro bezpečné opakování zápisu: 1 až 255 tisknutelných znaků ASCII; doporučuje se UUID v4 pro každou logickou operaci. Opakování se stejným klíčem do 24 hodin operaci znovu nespustí: vrátí uloženou odpověď (stav, hlavičky a tělo) s hlavičkou
Idempotency-Replayed: true. Stejný klíč s jinou metodou, cestou,Content-Typenebo tělem vrací409 api.idempotency_mismatch; dokud první požadavek ještě běží, vrací409 api.idempotency_in_progresssRetry-After: 1. Po odpovědi 5xx nebo 429 se klíč uvolní a opakování operaci spustí znovu. Klíč platí v rámci organizace a volajícího (klíč API, uživatel nebo klíč vlastního zdroje).length ≥ 1, length ≤ 255
X-View-AsstringJen pro klíče API s rolí
admin. Provede požadavek jako datový profil<profile>[:viewer|verifier|editor], napříklademployee:viewer. Instalační klíč tuto hlavičku použít nemůže (403).
Parametry cookie
kb_view_asstringCookie režimu „View as“ pro relaci.
POST /auth/view-asji nastaví aDELETE /auth/view-asji smaže.
Tělo požadavku
application/json
namestringpovinnélength ≥ 1, length ≤ 64
rolestringVýchozí: "editor"
data_profilestring | nullDatový profil klíče. Bez něj dostane klíč výchozí profil organizace. Datový profil se na roli
adminnevztahuje. Klíč administrátora vidí všechna data organizace a profil jiný nežfullvrací400 api_keys.data_profile_not_applicable.expires_atstring (date-time) | nullČas vypršení platnosti klíče (ISO 8601, v budoucnosti).
nullnebo chybějící hodnota znamená, že platnost klíče nevyprší.scopesarray of ApiKeyScope | nullRozsahy klíče. Pokud chybějí, řídí se rozsahy rolí:
admindostaneread,write,admin;editoraverifierdostanouread,write;viewerdostaneread. Rozsahsystemvydává jen administrátor instalace. Přijímají se i podrobné rozsahyresource:action(ApiKeyScope); dřívějšíread,writeaadminse rozvinou do sad rozsahů.collection_idsarray of integer | nullOmezí klíč na tyto kolekce organizace. Karty, vyhledávání, odpovědi a události fungují jen v nich, a to navíc k omezení rolí a datovým profilem. Chybějící hodnota nebo prázdný seznam znamená bez omezení. Pokud je volající klíč sám omezen na kolekce, nový klíč může být jen v jeho kolekcích. Bez tohoto pole dostane nový klíč kolekce volajícího klíče. Prázdný seznam nebo kolekce mimo jeho seznam vrací
400 api_keys.invalid_collections.items ≤ 100
allowed_cidrsarray of string | nullSítě, ze kterých lze klíč používat, například
10.0.0.0/8nebo2001:db8::/32. Jednotlivá adresa je síť o jedné adrese. Požadavek z jiné adresy vrací403 api_keys.ip_not_allowed. Chybějící hodnota znamená bez omezení.items ≤ 50
Odpovědi
200Úspěšná odpověď
Hlavičky odpovědi
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
Idempotency-Replayedtrueznamená, že jde o znovu vrácenou uloženou odpověď pro tentoIdempotency-Key: operace se znovu nespustila.
application/json
idintegerpovinnénamestringpovinnéprefixstringpovinnécreated_atstring (date-time)povinnékeystringpovinnédata_profilestring | nullpovinnéexpires_atstring (date-time)Čas vypršení platnosti. Je uveden jen u klíčů s vypršením platnosti.
scopesarray of stringVýslovně nastavené rozsahy klíče. Jsou uvedeny jen u klíčů s výslovně nastavenými rozsahy.
collection_idsarray of integerOmezení na kolekce. Je uvedeno jen u klíčů s omezením.
allowed_cidrsarray of stringPovolené sítě. Jsou uvedeny jen u klíčů s omezením.
400Požadavek je neplatný: hodnota parametru nebo stav objektu akci neumožňuje (`detail` je zpráva).
Hlavičky odpovědi
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
application/json
401Nebyly odeslány žádné přihlašovací údaje (ani cookie relace, ani klíč API), nebo klíč nebyl nalezen.
Hlavičky odpovědi
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
application/json
403Akce není povolena: role nestačí, chybí přístup ke kolekci nebo kartě, požadavek běží v režimu „View as“, nebo je organizace pozastavená či smazaná (`detail` je objekt s `code: org_suspended | org_deleted`).
Hlavičky odpovědi
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
application/json
422Chyba validace: tělo nebo parametry neodpovídají schématu (`detail` je seznam chyb validace), nebo je hodnota parametru mimo povolený rozsah (`detail` je zpráva).
Hlavičky odpovědi
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
application/json
429Příliš mnoho požadavků (`api.rate_limited`), kvóta organizace na minutu, den nebo měsíc je vyčerpána (`api.quota_exceeded`; `error.details` obsahuje `quota`, `limit` a `reset_at`), organizace dosáhla svého limitu nebo je služba odpovědí vytížená (`answers.engine_busy`). Počkejte dobu uvedenou v hlavičce `Retry-After`.
Hlavičky odpovědi
Retry-AfterPočet sekund, které je třeba počkat před opakováním požadavku.
RateLimit-PolicyPlatné limity ve formátu návrhu IETF
draft-ietf-httpapi-ratelimit-headers: položky oddělené čárkou"<name>";q=<quota>;w=<window in seconds>.keyje četnost požadavků klíče API (kvóta je nárazová špička, okno je doba jejího úplného obnovení; pro relaci je touser, bez přihlašovacích údajůip);minute,dayamonthjsou kvóty organizace na kalendářní minutu, den a měsíc v UTC.RateLimitKolik zbývá z každého limitu v
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit nejpřísnější položky v
RateLimit-Policy(té, ve které zbývá nejméně požadavků).X-RateLimit-RemainingPočet požadavků, které zbývají v rámci nejpřísnějšího limitu.
X-RateLimit-ResetPočet sekund do obnovení nejpřísnějšího limitu.
application/json
Chybové kódy
Kódy, které tato operace může vrátit v error.code, kromě obecných kódů každého požadavku.
- 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
Bezpečné opakování
S každým požadavkem POST a PATCH odešlete hlavičku Idempotency-Key (například UUID). Opakování se stejným klíčem do 24 hodin vrátí uloženou odpověď, místo aby se požadavek provedl znovu.
Limity četnosti
Odpovědi obsahují hlavičky RateLimit a RateLimit-Policy a starší X-RateLimit-Limit, X-RateLimit-Remaining a X-RateLimit-Reset. Odpověď 429 má hlavičku Retry-After v sekundách: počkejte a požadavek zopakujte.