# gt: General Translation CLI tool: gt api-key create
URL: https://generaltranslation.com/fr/docs/cli/reference/commands/api-key-create.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Créez une clé API de projet dotée de permissions explicites et affichez son secret une seule fois. Référence API de la commande gt api-key create.

Créez des identifiants pour le runtime ou l&#39;automatisation sans modifier l&#39;environnement local ni les fichiers de configuration. Authentifiez-vous avec une session enregistrée ou une clé explicite autorisée, comme décrit dans [Configurer la CLI](/docs/cli/guides/configuring#credentials).

## Vue d&#39;ensemble [#overview]

```bash
npx gt api-key create --name <name> --permission <permissions...> [options]
```

| Paramètre                                      | Description                                 | Type       | Facultatif | Valeur par défaut                           |
| ---------------------------------------------- | ------------------------------------------- | ---------- | ---------- | ------------------------------------------- |
| [`--name <name>`](#name)                       | Nom de la clé (non vide).                   | `string`   | Non        | —                                           |
| [`--permission <permissions...>`](#permission) | Autorisations canoniques explicites.        | `string[]` | Non        | —                                           |
| [`-c, --config <path>`](#config)               | Chemin d’accès au fichier de configuration. | `string`   | Oui        | Résolu automatiquement                      |
| [`--api-key <key>`](#api-key)                  | Remplace explicitement l’authentification.  | `string`   | Oui        | `GT_API_KEY`, sinon la session de connexion |
| [`--project-id <id>`](#project-id)             | Projet cible.                               | `string`   | Oui        | Configuration ou environnement              |

## Fonctionnement [#how-it-works]

L&#39;appelant doit disposer de l&#39;autorisation `project:api_keys:write` ainsi que de la permission de déléguer chacune des autorisations demandées. Si une autorisation demandée n&#39;est pas disponible, l&#39;ensemble de l&#39;opération échoue (tout ou rien) ; la CLI ne réduit pas la sélection en silence. Les clés de projet ne peuvent pas détenir `project:api_keys:write` ni créer d&#39;autres clés.

En cas de succès, seul le nouveau secret, suivi d&#39;un saut de ligne, est écrit sur stdout. Les diagnostics sont envoyés sur stderr. Le secret contourne le logger et le fichier journal, y compris avec `--quiet` ou `GT_LOG_FORMAT=json` ; il ne fait pas partie des métadonnées JSON. La commande n&#39;écrit aucun fichier d&#39;environnement ou de configuration.

## Options [#flags]

Les [options globales](/docs/cli/reference/global-options) s&#39;appliquent également.

### Nom

**Type** `string` · **Obligatoire** · **Valeur par défaut** —

Le nom d’affichage de la clé. Les espaces en début et en fin de chaîne sont supprimés ; un résultat vide est rejeté avant l’envoi de toute requête.

### Permission

**Type** `string[]` · **Obligatoire** · **Valeur par défaut** —

Indiquez un ou plusieurs noms de permission canoniques, séparés par des espaces ou en répétant l&#39;option :

* `project:write`
* `project:context:read`
* `project:context:write`
* `project:files:read`
* `project:files:write`
* `project:translations:generate`
* `project:translations:enqueue`

Les caractères génériques, les noms de préréglages et les options de type de clé ne sont pas pris en charge. Omettre les permissions provoque une erreur et n&#39;accorde pas un accès complet. Indiquez explicitement chaque autorisation requise : une autorisation d&#39;écriture n&#39;inclut pas automatiquement l&#39;accès en lecture.

### Config

**Type** `string` · **Facultatif** · **Valeur par défaut** Résolue automatiquement

Lit les paramètres du projet depuis ce fichier de configuration JSON ; l’extension `.json` peut être omise. Sans cette option, la détection habituelle de `gt.config.json` s’applique.

### Clé API

**Type** `string` · **Facultatif** · **Valeur par défaut** `GT_API_KEY`, sinon la session de connexion enregistrée

Remplace l&#39;authentification par une clé autorisée fournie explicitement. En cas de clé invalide ou aux droits insuffisants, aucun repli sur la session de connexion n&#39;a lieu. Privilégiez les secrets définis dans des variables d&#39;environnement plutôt que des secrets saisis en clair, qui resteraient dans l&#39;historique du shell. (Voir [priorité des identifiants](/docs/cli/guides/configuring#credentials).)

### ID du projet

**Type** `string` · **Facultatif** · **Valeur par défaut** Configuration ou environnement

Sélectionne le projet cible. Si l&#39;ID défini dans la configuration diffère de celui fourni par l&#39;option ou de l&#39;ID résolu depuis l&#39;environnement, la validation échoue. En l&#39;absence d&#39;ID dans la configuration, l&#39;option prévaut sur l&#39;environnement. Les variables de projet préfixées propres aux frameworks pris en charge sont également prises en compte lors de la résolution.

## Exemple [#example]

Après vous être connecté avec [`gt login`](/docs/cli/reference/commands/login), créez une clé runtime de développement limitée à la génération :

```bash
npx gt api-key create \
  --project-id your-project-id \
  --name "Runtime translations" \
  --permission project:translations:generate
```

Conservez le secret renvoyé en lieu sûr. Cette clé limitée à la génération ne permet pas d&#39;exécuter l&#39;intégralité du pipeline [`gt translate`](/docs/cli/reference/commands/translate). Pour la CI, accordez les autorisations couvrant l&#39;[ensemble du workflow](/docs/cli/guides/configuring#credentials) et enregistrez la clé dans le gestionnaire de secrets de votre fournisseur de CI, et non dans des fichiers commités.

<Callout type="warn">
  Considérez stdout comme une donnée secrète. Ne redirigez pas stderr vers stdout, n&#39;envoyez pas stdout dans des journaux partagés et n&#39;exposez aucune clé, pas même une clé limitée à la génération, dans des bundles déployés sur navigateur ou mobile. Relancer la commande peut créer une nouvelle clé ; il n&#39;existe ni annulation à distance ni garantie de nouvelle tentative idempotente.
</Callout>

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
