403 missing_scope et le champ errors.scopes nomme la permission manquante.
Une permission
.write inclut automatiquement la lecture correspondante : products.write permet aussi de lister les produits. L’inverse n’est jamais vrai.Recommandations
Une clé par usage
Une clé pour votre serveur de licences, une autre pour Zapier. Si l’une fuit, vous ne révoquez que celle-là.
Lecture seule par défaut
Un tableau de bord ou un export n’a besoin que des permissions
.read.Valider une licence, rien de plus
POST /licenses/validate ne demande que licenses.read : votre logiciel peut vérifier une clé sans pouvoir en révoquer.Aucun remboursement par API
Le remboursement est un mouvement d’argent : il reste dans le tableau de bord, quelle que soit la clé.

