Clés API & scopes

Authentification par clé Bearer sk_live_, affichée une seule fois, avec des scopes par clé.

Authentification

Chaque requête porte votre clé API en tant que jeton Bearer. La clé (sk_live_…) n'est affichée qu'une seule fois, à sa création : stockez-la de façon sécurisée côté serveur, jamais dans du code client ou un dépôt public.

En-tête d'autorisation

Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
Attention — Clé compromise ?
Révoquez-la immédiatement dans la console (onglet Clés API) et générez-en une nouvelle. Une clé révoquée renvoie 401 sur tout appel.

Scopes

Chaque clé porte un ensemble de scopes. Un appel dont la clé n'a pas le scope requis renvoie 403. Vous choisissez ces scopes à la création de la clé, dans l'onglet Clés API : ne cochez que ce dont l'intégration a besoin. Une clé destinée à un connecteur IA, par exemple, n'a généralement pas besoin de messages:send.

ScopeAutorise
balance:readLire le solde, la tarification et les packs de crédits.
templates:readLister vos templates et leur statut Meta.
templates:writeCréer et supprimer des templates.
messages:sendEnvoyer des messages template, et répondre en texte libre dans la fenêtre de 24h.
messages:readLire le statut de livraison d'un message.
connection:writeRaccorder votre numéro WhatsApp à Meta depuis /v1.

GET /v1/ping — scope balance:read

Utilisez /v1/ping pour valider une clé et son identité. Une réponse 200 confirme que la clé est active et rattachée à votre client.

Restriction par numéro

Si votre compte a plusieurs numéros WhatsApp (voir Plusieurs numéros), vous pouvez limiter une clé à un ou plusieurs numéros précis dès sa création dans l'onglet Clés API, au lieu de la laisser utiliser tous les numéros du compte (comportement par défaut). Une clé limitée à UN SEUL numéro l'utilise automatiquement, sans avoir à préciser `from`. Limitée à PLUSIEURS numéros, `from` devient obligatoire à l'envoi et doit être l'un des numéros autorisés — tout autre `from` renvoie 403. GET /v1/console/keys renvoie allowed_numbers (liste, ou null pour « tous les numéros »).

Note — Cas d'usage : un connecteur par numéro
Utile pour donner à une intégration (ex. un connecteur IA) l'accès à un seul de vos numéros, sans exposer les autres — par exemple un numéro support dédié, séparé de votre numéro de vente.