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

# Comment authentifier vos requêtes avec l'API Pioneer

> Générez une clé API depuis votre compte Pioneer, puis incluez-la dans l'en-tête X-API-Key à chaque requête. Aucun OAuth ni rafraîchissement de jeton n'est requis.

Chaque requête à l'API Pioneer doit inclure une clé API. Pioneer utilise un schéma d'authentification simple basé sur les en-têtes : incluez votre clé dans l'en-tête `X-API-Key` et vous êtes prêt. Il n'y a aucun jeton à rafraîchir ni flux OAuth à gérer.

## Générer une clé API

1. Connectez-vous à [pioneer.ai](https://pioneer.ai).
2. Allez dans **Settings → API Keys**.
3. Cliquez sur **Create key**, donnez-lui un nom et copiez la valeur de la clé.

<Warning>
  Vous ne pouvez consulter la clé complète qu'immédiatement après sa création. Pioneer ne stocke pas la valeur de la clé, copiez-la donc avant de fermer la boîte de dialogue. Si vous perdez une clé, révoquez-la et générez-en une nouvelle.
</Warning>

## Transmettre la clé dans les requêtes

Incluez votre clé API dans l'en-tête `X-API-Key` de chaque requête. Les exemples ci-dessous montrent le même appel d'inférence en curl, Python et JavaScript.

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.pioneer.ai/inference \
    -H "X-API-Key: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model_id": "fastino/gliner2-base-v1",
      "text": "Apple launched the iPhone in San Francisco.",
      "schema": {"entities": ["organization", "product", "location"]}
    }'
  ```

  ```python Python theme={null}
  import requests

  headers = {
      "X-API-Key": "YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  response = requests.post(
      "https://api.pioneer.ai/inference",
      headers=headers,
      json={
          "model_id": "fastino/gliner2-base-v1",
          "text": "Apple launched the iPhone in San Francisco.",
          "schema": {"entities": ["organization", "product", "location"]}
      }
  )
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.pioneer.ai/inference", {
    method: "POST",
    headers: {
      "X-API-Key": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model_id: "fastino/gliner2-base-v1",
      text: "Apple launched the iPhone in San Francisco.",
      schema: { entities: ["organization", "product", "location"] }
    })
  });
  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

<Tip>
  Stockez votre clé API dans une variable d'environnement (par exemple, `PIONEER_API_KEY`) plutôt que de la coder en dur. Ne validez jamais de clés API dans le contrôle de version. Ajoutez votre fichier `.env` à `.gitignore` et utilisez un gestionnaire de secrets pour les déploiements en production.
</Tip>

## Erreurs d'authentification

| Statut                 | Signification                                                                                                                           |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `401 Unauthorized`     | L'en-tête `X-API-Key` est manquant ou la clé est invalide. Vérifiez que vous envoyez bien l'en-tête et que la clé n'a pas été révoquée. |
| `402 Payment Required` | Votre compte n'a pas assez de crédits. Mettez à niveau votre offre ou ajoutez des crédits dans **Settings → Billing**.                  |

Tous les autres codes d'erreur sont documentés sur la [page des erreurs de la référence de l'API](/fr/api-reference/errors).

## Gérer les clés API existantes via l'API

Créez de nouvelles clés API depuis **Settings -> API Keys** dans le tableau de bord Pioneer. Pour des raisons de sécurité, les requêtes authentifiées par clé API ne peuvent pas créer d'autres clés API ; `POST /create-api-key` est réservé aux sessions du tableau de bord et renvoie `403 Forbidden` lorsqu'il est appelé avec `X-API-Key`.

Vous pouvez lister et révoquer les clés existantes de manière programmatique en utilisant une clé existante.

**Lister les clés existantes**

```bash theme={null}
curl https://api.pioneer.ai/list-api-keys \
  -H "X-API-Key: YOUR_API_KEY"
```

**Révoquer une clé**

```bash theme={null}
curl -X DELETE https://api.pioneer.ai/delete-api-key \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key_id": "key_id_to_revoke"}'
```

<Note>
  La révocation est immédiate et permanente. Toute requête utilisant la clé révoquée recevra une erreur `401`. Créez une clé de remplacement avant de révoquer une clé existante si vous avez besoin d'un accès ininterrompu.
</Note>

## Recommandations de sécurité

<Warning>
  Faites tourner vos clés API régulièrement, en particulier si elles sont utilisées dans des environnements partagés ou des pipelines CI/CD. Utilisez une clé distincte par intégration afin de pouvoir révoquer chaque clé individuellement sans perturber les autres services.
</Warning>

* Utilisez une clé par environnement (développement, staging, production).
* Révoquez immédiatement les clés si vous soupçonnez qu'elles ont été exposées.
* Évitez de transmettre les clés en paramètres de requête. Utilisez toujours l'en-tête `X-API-Key`.
* En production, récupérez les clés depuis un gestionnaire de secrets plutôt que depuis des variables d'environnement intégrées aux images de conteneurs.
