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

# Authentification

> Clés d'API : portée, usage, rotation et révocation.

Chaque appel porte la clé dans l'en-tête `Authorization`, schéma `Bearer` :

```bash theme={null}
curl https://api.spottracker.fr/v1/companies \
  -H "Authorization: Bearer st_votre_cle"
```

Il n'existe pas d'autre moyen de s'authentifier : ni paramètre d'URL, ni
cookie, ni en-tête alternatif. Une clé passée en paramètre de requête se
retrouverait dans les journaux d'accès de chaque intermédiaire.

## La clé porte le workspace

Une clé appartient à un et un seul espace de travail, et **aucune route ne lit
un identifiant de workspace depuis la requête**. Le périmètre des données est
donc entièrement déterminé par la clé présentée : il n'y a rien à passer, et
rien à se tromper de passer.

Conséquence pratique : pour lire deux workspaces, il faut deux clés.

## Format

Une clé commence par `st_`. Le reste est aléatoire et opaque : il n'encode ni
votre identité, ni une date d'expiration, et ne se décode pas.

Côté SpotTracker, seule une empreinte de la clé est conservée. La valeur
complète n'existe qu'au moment où elle vous est affichée, ce qui a deux
conséquences directes :

* **Copiez-la tout de suite.** Elle n'est plus consultable ensuite, y compris
  par le support.
* **Une clé perdue ne se retrouve pas**, elle se révoque et se recrée.

## Où la ranger

<Warning>
  Une clé d'API donne accès aux entreprises identifiées sur votre site et aux
  coordonnées de leurs décideurs. Ne la placez jamais dans du code exécuté
  côté navigateur, ni dans un dépôt de code, même privé.
</Warning>

L'API n'autorise pas les appels depuis un navigateur (pas d'en-têtes CORS
permissifs) : une intégration front-end n'est pas seulement risquée, elle ne
fonctionnera pas. Appelez l'API depuis votre serveur, votre outil d'ETL ou
votre plateforme d'automatisation.

## Une clé par usage

Nommez chaque clé d'après ce qu'elle sert. Le jour où un prestataire termine sa
mission, où un script est mis hors service, ou bien où une valeur a pu fuiter,
vous révoquez exactement ce qu'il faut sans interrompre le reste.

## Rotation et révocation

La révocation est **immédiate** : la clé cesse d'être acceptée au prochain
appel, sans délai de propagation.

Pour remplacer une clé sans coupure :

<Steps>
  <Step title="Créer la nouvelle clé">
    Les deux clés coexistent, toutes deux valides.
  </Step>

  <Step title="Basculer les appelants">
    Déployez la nouvelle valeur partout où l'ancienne était utilisée.
  </Step>

  <Step title="Révoquer l'ancienne">
    Une fois qu'aucun appelant ne l'utilise plus. Le panneau des clés affiche
    la date de dernière utilisation, ce qui permet de vérifier avant de
    couper.
  </Step>
</Steps>

<Card title="Conditions d'accès" icon="lock" href="/offres-et-acces" horizontal>
  Quelles offres ouvrent l'API, et ce qui se passe en cas de changement
  d'offre.
</Card>
