# Authentification

Chaque appel à l'API Puna requiert 3 éléments d'authentification cumulatifs. L'absence de l'un d'eux provoque une erreur 401 ou 403.

# 1. Header X-KEY-PUNA

Clé globale de l'application, définie par la variable API_KEY dans le .env.

X-KEY-PUNA: votre_cle_api_globale

La comparaison est effectuée à temps constant côté serveur pour se prémunir contre les attaques par timing.

# 2. Header Authorization: Bearer <token>

Token JWT du site, généré automatiquement lors de la création du site. Disponible dans la vue "API" de chaque site (voir Gestion des sites).

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Le token contient, chiffré en AES-CBC, l'identifiant du site et son control_code. Ce token est à conserver côté serveur uniquement.

# 3. Code du formulaire dans l'URL

Le :code dans l'URL correspond au code unique du formulaire, visible dans la vue "API" du site (voir Gestion des formulaires).

POST /api/v1/send/mon_code_formulaire

# Récapitulatif

POST /api/v1/send/mon_code_formulaire
X-KEY-PUNA: votre_cle_api_globale
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

Pour des exemples complets d'appels API, voir Format des données et les pages d'exemples par langage.