Chaque clé porte une liste de scopes, de la forme ressource:read ou ressource:write. Chaque opération en exige un ; une clé qui ne l’a pas reçoit 403 insufficient_scope et rien n’est exécuté.
Les 14 scopes
write n’inclut pas read : une intégration qui crée des contenus et les relit demande contents:write et contents:read. generations:write est le seul scope qui consomme des crédits IA ; suivre ses travaux demande jobs:read.
Choisir les scopes d’une clé
Les scopes sont fixés à la création de la clé, avec notre équipe : indiquez-nous ceux dont chaque intégration a besoin. Pour en changer, une nouvelle clé est créée avec les bons scopes, puis l’ancienne est révoquée.
Le refus 403 insufficient_scope
details.required donne le scope exigé, details.granted ceux de la clé :
{
"error": {
"code": "insufficient_scope",
"message": "Cette clé d’API n’a pas le scope exigé par cette opération (voyez `details.required`).",
"details": {
"required": "memocards:write",
"granted": [
"contents:read",
"memocards:read"
]
}
}
}