> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wappfy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentification

> Comment s'authentifier aupres de l'API Wappfy avec des cles API ou des jetons JWT.

# Authentification

L'API Wappfy prend en charge deux methodes d'authentification. Toutes les requetes doivent inclure l'une d'entre elles.

## Cle API (recommande)

Transmettez votre cle API dans l'en-tete `X-Api-Key` :

```bash theme={null}
curl https://api.wappfy.io/api/instances \
  -H "X-Api-Key: wappfy_sk_abc123def456..."
```

### Creer une cle API

Les cles API sont creees via le tableau de bord ou l'API. Les cles sont associees a un utilisateur et disposent des memes permissions que le compte de l'utilisateur.

```bash theme={null}
curl -X POST https://api.wappfy.io/api/api-keys \
  -H "Authorization: Bearer YOUR_SUPABASE_JWT" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Production Key" }'
```

<Warning>
  La valeur de la cle n'est retournee qu'une seule fois lors de sa creation. Conservez-la en lieu sur.
</Warning>

## Jeton Bearer (JWT Supabase)

Transmettez un jeton d'acces Supabase dans l'en-tete `Authorization` :

```bash theme={null}
curl https://api.wappfy.io/api/instances \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
```

Les jetons JWT ont une duree de vie limitee et doivent etre renouveles. Ils sont generalement utilises par le tableau de bord frontend, et non pour les integrations serveur a serveur.

## Bonnes pratiques de securite

<AccordionGroup>
  <Accordion title="Utilisez les cles API pour les communications serveur a serveur">
    Les cles API n'expirent pas et sont plus faciles a gerer pour les integrations backend.
  </Accordion>

  <Accordion title="Renouvelez regulierement vos cles">
    Si une cle est compromise, supprimez-la et creez-en une nouvelle.
  </Accordion>

  <Accordion title="Utilisez toujours HTTPS">
    Toutes les requetes API doivent utiliser HTTPS. Les requetes HTTP seront rejetees.
  </Accordion>

  <Accordion title="N'exposez pas les cles dans le code frontend">
    Les cles API ne doivent etre utilisees que dans le code cote serveur, jamais dans le JavaScript cote client.
  </Accordion>
</AccordionGroup>

## Reponses d'erreur

| Statut | Description                                    |
| ------ | ---------------------------------------------- |
| `401`  | Jeton d'authentification manquant ou invalide  |
| `403`  | Permissions insuffisantes pour cette ressource |
