boxioo Developers

Scopes

Permissions granulaires que vous pouvez attacher à une clé API.

Un scope est une chaîne comme records:read qui accorde la permission d'effectuer une action précise. Chaque clé API porte un ensemble de scopes ; le serveur vérifie le scope pertinent à chaque requête et renvoie 403 insufficient_scope s'il manque.

Catalogue

Enregistrements

ScopeVous permet
records:readGET /v1/objects/:apiName, GET /v1/objects/:apiName/:id
records:writePOST /v1/objects/:apiName, PATCH /v1/objects/:apiName/:id
records:deleteDELETE /v1/objects/:apiName/:id

Objets (schéma)

ScopeVous permet
objects:readGET /v1/objects, GET /v1/objects/:apiName/schema
objects:writePOST /v1/objects (créer un nouveau type d'objet)
objects:delete(réservé — pas encore exposé)

Champs

ScopeVous permet
fields:read(couvert par objects:read)
fields:writePOST /v1/objects/:apiName/fields, DELETE /v1/objects/:apiName/fields/:id

Joker

ScopeVous permet
*Tout ce qui précède. À n'utiliser que si vous voulez vraiment un « accès tenant total ».

Choisir ses scopes

Par défaut, prenez le plus petit ensemble de privilèges qui couvre le besoin.

Synchro en lecture seule (job BI) :

objects:read
records:read

Écriture façon Zapier :

objects:read
records:read
records:write

Outil de provisioning de schéma :

objects:read
objects:write
fields:write

Automatisation admin complète :

*

Mode d'échec

Quand un scope manque, la réponse est :

{
  "error": {
    "type": "permission_error",
    "code": "insufficient_scope",
    "message": "Required scope: records:write",
    "requestId": "req_8a4f2e10bb55"
  }
}

Ne vous fiez pas au message lisible — branchez sur code.

Compatibilité ascendante

Nous ne faisons qu'ajouter de nouveaux scopes — les scopes existants ne changent jamais de sémantique. De nouveaux endpoints peuvent introduire de nouveaux scopes (ex. un futur webhooks:write) ; vos clés existantes continuent de fonctionner sans changement.

On this page