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

# Clés d'agent

> Créez une clé qui contient la date limite, pour les outils qui ne peuvent pas en définir une par requête.

La plupart des outils construisent leur propre corps de requête. Ils ne vous offrent aucun endroit pour insérer `start_within`, et chaque requête sans cette valeur renvoie [`400 missing_start_within`](/fr/errors#missing_start_within).

Une clé d'agent résout ce problème. Elle contient la date limite elle-même, de sorte que chaque requête effectuée par l'outil est routée en fonction de celle-ci.

## Créer la clé

1. Ouvrez le [tableau de bord](https://www.flexinference.com/dashboard) et accédez à **API**, puis **FlexInference keys**.
2. Appuyez sur **Create agent key**. Le bouton simple **Create key** crée une clé sans date limite.
3. Nommez la clé. Le nom est facultatif et vous aide seulement à la retrouver plus tard.
4. Choisissez la date limite. **Flex race** est présélectionné, et c'est la raison d'être des clés d'agent.
5. Définissez la durée si vous avez choisi **Flex race**. Saisissez n'importe quelle durée de 5 secondes à 10 minutes, ou choisissez une option rapide.
6. Appuyez sur créer, puis copiez le secret. Le tableau de bord ne l'affiche qu'une seule fois.

Retrouvez la clé en utilisant le filtre **Agent keys only** dans la liste des clés. Une puce de politique sur la ligne indique ce qu'elle contient.

## Ce que fait chaque date limite

| Option        | Wire value | Ce qui se passe                                                                   |
| ------------- | ---------- | --------------------------------------------------------------------------------- |
| **Flex race** | a duration | Tente le niveau moins cher pendant cette durée, puis revient au niveau standard.  |
| **Standard**  | `default`  | Sert le niveau normal. Fonctionne avec tous les modèles et toutes les routes.     |
| **Priority**  | `priority` | Démarre plus tôt et coûte plus cher. Utile lorsqu'une personne attend la réponse. |
| **Auto**      | `auto`     | Laisse le fournisseur choisir. Non disponible sur les modèles Gemini.             |

**Flex race** coûte moins cher et démarre plus tard. Vous ressentez ce délai dans une boucle interactive, donc un niveau convient à un outil que vous surveillez.

<Note>
  Les niveaux **Priority** et **Auto** nécessitent une organisation BYOK. Les [Managed
  Keys](/fr/billing) n'offrent aucun de ces niveaux, donc une organisation
  avec un fournisseur géré est refusée à la création avec `400
      invalid_key_defaults`. Le refus couvre également le niveau de repli d'une durée.
  Choisissez **Standard** ou **Flex race** dans ce cas.
</Note>

## Ce que la clé contient

Une clé stocke jusqu'à trois champs.

* `start_within` : une durée ou un nom de niveau. Toujours défini.
* `on_no_flex` : le niveau vers lequel une durée se replie. Le tableau de bord stocke toujours `default` et ne le demande jamais. Seule l'API vous permet de choisir `priority`.
* `retry` : un `count` de 1 à 5, avec `backoff` et `jitter` facultatifs. Non défini sauf si vous le demandez.

Laissez `retry` tel quel, sauf si vous avez une bonne raison. La plupart des agents réessayent d'eux-mêmes, et les deux s'empilent. Chaque tentative du client dépense alors un budget complet côté serveur.

## La requête l'emporte toujours

Nous remplissons un champ stocké dans toute requête qui arrive sans celui-ci. Nous ne remplaçons jamais une valeur envoyée par la requête.

Cette règle s'applique même lorsque la valeur envoyée est incorrecte. Un `start_within` explicite et erroné renvoie toujours `400 invalid_start_within`. Une valeur par défaut de clé remplace un champ que vous n'avez pas envoyé, jamais un champ que vous avez mal envoyé.

Chaque réponse que nous remplissons est accompagnée de `x-flexinference-defaults-applied`, listant les champs. Une requête qui a envoyé sa propre date limite ne reçoit pas un tel en-tête.

## Une durée de clé se replie là où une durée de requête échoue

Une durée dans le corps de la requête sur un modèle `claude-*` met en concurrence le niveau moins cher de Claude. Trois règles la décident : les clés gérées, pas de streaming, et trois minutes ou plus. Si l'une d'elles est enfreinte, la requête échoue, avec [`400 flex_unsupported_for_anthropic`](/fr/errors#flex_unsupported_for_anthropic) pour la première d'entre elles. Voir [Les durées Claude nécessitent une fenêtre plus longue](/fr/deadline-routing).

Une durée sur la clé se replie à la place. Elle exécute le niveau `on_no_flex`, de sorte que la clé a toujours une réponse. Ce repli est la raison pour laquelle une clé ne met jamais en concurrence le niveau moins cher de Claude, que ce soit avec des clés gérées ou non : la date limite se résout à votre niveau avant que la concurrence ne soit prise en compte.

Ce repli ne couvre que le modèle. Un conflit créé par votre propre requête échoue toujours. L'épinglage d'une route cloud le fait, car une route cloud n'exécute que le niveau normal. Voir [`key_default_not_applicable`](/fr/errors#key_default_not_applicable).

## Modifier ou révoquer

Modifiez la date limite sur la ligne de la clé. Le trafic en direct la prend en compte en quelques secondes, et vous conservez la même clé. Rien ne redémarre et le secret reste le même.

La révocation d'une clé efface ses valeurs par défaut avec elle.

## Où une clé d'agent ne s'applique pas

Un outil a besoin d'une URL de base et d'un champ de clé pour nous atteindre. Un produit qui ne fonctionne que contre l'abonnement de son propre fournisseur n'a ni l'un ni l'autre, donc aucune clé ne peut l'atteindre.

## Guides par outil

| Outil                              | Surface qu'il appelle |
| ---------------------------------- | --------------------- |
| [Codex](/fr/coding-agents)         | Responses             |
| [Cursor](/fr/cursor)               | Chat Completions      |
| [Claude Code](/fr/claude-code)     | Messages              |
| [Claude Cowork](/fr/claude-cowork) | Messages              |
| [OpenCode](/fr/opencode)           | Chat Completions      |
| [OpenWork](/fr/openwork)           | Chat Completions      |
| [OpenScience](/fr/openscience)     | Chat Completions      |
| [OpenWorker](/fr/openworker)       | Chat Completions      |
| [OpenClaw](/fr/openclaw)           | Chat Completions      |

## Dépannage et FAQ

[Errors](/fr/errors) contient chaque refus que nous renvoyons, avec sa forme filaire, sa cause et la solution. Chaque guide par outil couvre ceux spécifiques à ce client.

Un refus appartient aux clés d'agent elles-mêmes.

**[`400 missing_start_within`](/fr/errors#missing_start_within) sur chaque requête.** La clé ne contient aucune date limite, elle provient donc de **Create key** plutôt que de **Create agent key**. Créez une nouvelle clé avec **Create agent key** et remplacez-la. Une clé créée sans valeurs par défaut ne peut pas les acquérir plus tard, donc la ligne n'offre aucun contrôle pour en ajouter une.

**L'outil doit-il savoir qu'il détient une clé d'agent ?** Non. Il s'authentifie de la même manière que n'importe quelle clé, et chaque clé commence par `flex_live_`.

**Une seule clé peut-elle servir un outil et mon propre code ?** Oui. Votre code envoie `start_within` et l'emporte. L'outil n'envoie rien et prend la date limite de la clé.

**Combien cela coûte-t-il ?** Nous exécutons chaque requête effectuée par l'agent. Sur votre propre clé de fournisseur, cela ne vous coûte rien ici, et votre fournisseur facture les tokens. Sur les [Managed Keys](/fr/billing), chaque requête puise dans votre solde, alors définissez une alarme de **Request volume**.

**Pourquoi un ordinateur portable a-t-il atteint une limite de débit ?** Nous plafonnons les requêtes réussies par adresse IP source, pour toutes les clés derrière elle. Une boucle rapide l'atteint avant le plafond par clé. Voir [`rate_limit_exceeded`](/fr/errors#rate_limit_exceeded).
