---
title: Authentification
description: Clés d’API, modes Réel et Test, et niveaux d’accès.
sidebar:
  order: 2
---
Envoyez votre clé comme jeton bearer dans chaque requête :

```txt
Authorization: Bearer tc_live_…
```

`X-Api-Key: tc_live_…` fonctionne aussi.

## Clés réelles et clés de test [#live-and-test-keys]

Le préfixe vous indique d’un coup d’œil le mode d’une clé :

- **`tc_live_…`** débite votre solde réel et retire de vrais crédits. Les réponses indiquent `"livemode": true`.
- **`tc_test_…`** débite un solde simulé. Les réponses indiquent `"livemode": false`. Consultez [Mode test](/docs/fr/test-mode).

Les données réelles et les données de test sont séparées : une clé de test ne voit jamais les compensations réelles, et inversement.

## Accès [#access]

Chaque clé dispose de l’un des deux niveaux d’accès, défini lors de sa création :

| Accès | Permet de |
| --- | --- |
| Lecture seule | Consulter le solde, les devis, les compensations et l’impact. |
| Lecture et achat | Faire tout ce qui précède, et acheter des compensations. |

Attribuez une clé en lecture seule aux tableaux de bord et aux rapports. Un achat effectué avec une clé en lecture seule échoue avec `403 insufficient_permissions`.

## Gardez vos clés secrètes [#keep-keys-secret]

- Utilisez vos clés **uniquement sur votre serveur**. L’API n’envoie aucun en-tête CORS : les navigateurs ne peuvent donc pas l’appeler avec une clé.
- Stockez vos clés comme des secrets (variables d’environnement, gestionnaire de secrets), jamais dans le code.
- Créez une clé par système, afin de pouvoir en révoquer une sans toucher aux autres.
- Si une clé est divulguée, révoquez-la immédiatement sur la page Développeurs. Les requêtes qui l’utilisent échouent dès lors. Vous êtes responsable des achats effectués avec vos clés.

## Erreurs [#errors]

| Statut | Code | Quand |
| --- | --- | --- |
| 401 | `invalid_api_key` | La clé est absente, mal formée, inconnue ou révoquée. |
| 403 | `api_access_inactive` | Le compte n’est pas approuvé, ou il est suspendu. Un compte suspendu conserve l’accès en lecture. |
| 403 | `insufficient_permissions` | Une clé en lecture seule a tenté d’acheter. |
| 429 | `rate_limited` | Trop de requêtes pour cette clé. Consultez [Limites](/docs/fr/limits). |
