Anar al contingut
Sursa Developers

POST/v1/api-keys

Crear una clau d’API

create_api_key

Autenticació

Envieu una clau d’API a la capçalera Authorization: Authorization: Bearer <clau>.

Paràmetres de capçalera

  • Idempotency-Keystring

    Clau per reintentar una escriptura de manera segura: d’1 a 255 caràcters ASCII imprimibles; es recomana un UUID v4 per operació lògica. Un reintent amb la mateixa clau en un termini de 24 hores no torna a executar l’operació: retorna la resposta desada (estat, capçaleres i cos) amb la capçalera Idempotency-Replayed: true. La mateixa clau amb un mètode, un camí, un Content-Type o un cos diferents retorna 409 api.idempotency_mismatch; mentre la primera sol·licitud encara s’executa, 409 api.idempotency_in_progress amb Retry-After: 1. Després d’una resposta 5xx o 429 la clau s’allibera, i un reintent torna a executar l’operació. L’abast de la clau és l’organització i qui fa la crida (clau d’API, usuari o clau de font personalitzada).

    length ≥ 1, length ≤ 255

  • X-View-Asstring

    Només per a claus d’API amb el rol admin. Fa la sol·licitud com el perfil de dades <profile>[:viewer|verifier|editor], per exemple employee:viewer. La clau d’instal·lació no pot fer servir aquesta capçalera (403).

Paràmetres de galeta

  • kb_view_asstring

    Galeta del mode «View as» per a una sessió. POST /auth/view-as l’estableix i DELETE /auth/view-as l’esborra.

Cos de la sol·licitud

application/json

Objecte: ApiKeyCreate

  • namestringobligatori

    length ≥ 1, length ≤ 64

  • rolestring

    Per defecte: "editor"

  • data_profilestring | null

    Perfil de dades de la clau. Sense aquest camp, la clau rep el perfil per defecte de l’organització. Un perfil de dades no s’aplica al rol admin. Una clau d’administrador veu totes les dades de l’organització, i un perfil diferent de full retorna 400 api_keys.data_profile_not_applicable.

  • expires_atstring (date-time) | null

    Moment de caducitat de la clau (ISO 8601, en el futur). null o cap valor vol dir que la clau no caduca.

  • scopesarray of ApiKeyScope | null

    Àmbits de la clau. Si no s’indiquen, els àmbits depenen del rol: admin rep read, write, admin; editor i verifier reben read, write; viewer rep read. L’àmbit system només el concedeix l’administrador de la instal·lació. També s’accepten àmbits detallats resource:action (ApiKeyScope); els anteriors read, write i admin s’amplien en conjunts d’àmbits.

  • collection_idsarray of integer | null

    Limita la clau a aquestes col·leccions de l’organització. Les entrades, la cerca, les respostes i els esdeveniments només funcionen dins d’aquestes col·leccions, a més del rol i del perfil de dades. Cap valor o una llista buida vol dir sense restricció. Si la clau que fa la crida està limitada a col·leccions, la clau nova només pot ser dins de les seves col·leccions. Sense aquest camp, la clau nova rep les col·leccions de la clau que fa la crida. Una llista buida o una col·lecció fora de la seva llista retorna 400 api_keys.invalid_collections.

    items ≤ 100

  • allowed_cidrsarray of string | null

    Xarxes des de les quals es pot fer servir la clau, com ara 10.0.0.0/8 o 2001:db8::/32. Una sola adreça és una xarxa d’una adreça. Una sol·licitud des d’una altra adreça retorna 403 api_keys.ip_not_allowed. Cap valor vol dir sense restricció.

    items ≤ 50

Respostes

200Resposta correcta

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

  • Idempotency-Replayed

    true indica que la resposta s’ha reproduït a partir de la desada per a aquesta Idempotency-Key: l’operació no s’ha tornat a executar.

application/json

Objecte: ApiKeyCreated

  • idintegerobligatori
  • namestringobligatori
  • prefixstringobligatori
  • roleRoleobligatori
  • created_atstring (date-time)obligatori
  • keystringobligatori
  • data_profilestring | nullobligatori
  • expires_atstring (date-time)

    Moment de caducitat. Només hi és per a les claus amb caducitat.

  • scopesarray of string

    Àmbits explícits de la clau. Només hi és per a les claus amb àmbits definits explícitament.

  • collection_idsarray of integer

    Restricció de col·leccions. Només hi és per a les claus amb restricció.

  • allowed_cidrsarray of string

    Xarxes permeses. Només hi és per a les claus amb restricció.

400La sol·licitud no és vàlida: el valor d’un paràmetre o l’estat de l’objecte no permeten l’acció (`detail` és un missatge).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

401No s’han enviat credencials (ni una galeta de sessió ni una clau d’API), o no s’ha trobat la clau.

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

403L’acció no està permesa: el rol és insuficient, no hi ha accés a la col·lecció o a l’entrada, la sol·licitud s’executa en mode «View as», o l’organització està suspesa o eliminada (`detail` és un objecte amb `code: org_suspended | org_deleted`).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

422Error de validació: el cos o els paràmetres no coincideixen amb l’esquema (`detail` és una llista d’errors de validació), o el valor d’un paràmetre és fora de l’interval permès (`detail` és un missatge).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

429Massa sol·licituds (`api.rate_limited`), s’ha esgotat la quota de l’organització per al minut, el dia o el mes (`api.quota_exceeded`; `error.details` conté `quota`, `limit` i `reset_at`), s’ha arribat al límit de l’organització o el servei de respostes està ocupat (`answers.engine_busy`). Espereu el temps que indica la capçalera `Retry-After`.

Capçaleres de la resposta

  • Retry-After

    Nombre de segons que cal esperar abans de reintentar la sol·licitud.

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

Codis d’error

Codis que aquest punt final pot retornar a error.code, a més dels codis generals de totes les sol·licituds.

Reintents segurs

Envieu una capçalera Idempotency-Key (per exemple, un UUID) amb cada POST i PATCH. Un reintent amb la mateixa clau en un termini de 24 hores retorna la resposta desada en lloc de tornar a executar la sol·licitud.

Límits de freqüència

Les respostes porten les capçaleres RateLimit i RateLimit-Policy i les anteriors X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Una resposta 429 té Retry-After en segons: espereu i torneu-ho a provar.

← api-keys · Referència de l’API