# gt: General Translation CLI tool: gt api-key create
URL: https://generaltranslation.com/it/docs/cli/reference/commands/api-key-create.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Crea una chiave API del progetto con autorizzazioni esplicite e mostrane il segreto una sola volta. Riferimento API per il comando gt api-key create.

Crea credenziali per il runtime o per le automazioni senza modificare l&#39;ambiente locale né i file di configurazione. Autenticati con un login salvato o con una chiave esplicita autorizzata, come descritto in [Configurare la CLI](/docs/cli/guides/configuring#credentials).

## Panoramica [#overview]

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

| Parametro                                      | Descrizione                                 | Tipo       | Facoltativo | Predefinito                    |
| ---------------------------------------------- | ------------------------------------------- | ---------- | ----------- | ------------------------------ |
| [`--name <name>`](#name)                       | Nome della chiave (non vuoto).              | `string`   | No          | —                              |
| [`--permission <permissions...>`](#permission) | Autorizzazioni canoniche esplicite.         | `string[]` | No          | —                              |
| [`-c, --config <path>`](#config)               | Percorso del file di configurazione.        | `string`   | Sì          | Risolto automaticamente        |
| [`--api-key <key>`](#api-key)                  | Override esplicito dell&#39;autenticazione. | `string`   | Sì          | `GT_API_KEY`, altrimenti login |
| [`--project-id <id>`](#project-id)             | Progetto di destinazione.                   | `string`   | Sì          | Configurazione o ambiente      |

## Come funziona [#how-it-works]

Il chiamante deve disporre dell&#39;autorizzazione `project:api_keys:write` e dell&#39;autorizzazione a delegare ciascuna autorizzazione richiesta. In presenza di autorizzazioni non disponibili, l&#39;operazione fallisce interamente (tutto o niente): la CLI non restringe la selezione in modo silenzioso. Le chiavi di progetto non possono avere `project:api_keys:write` e non possono creare altre chiavi.

In caso di esito positivo, su stdout vengono scritti soltanto il nuovo segreto e un carattere di nuova riga. I messaggi diagnostici vengono inviati a stderr. Il segreto non passa né dal logger né dal file di log, anche con `--quiet` o `GT_LOG_FORMAT=json`, e non viene incluso nei metadati JSON. Il comando non scrive file env né file di configurazione.

## Flag [#flags]

Si applicano anche le [opzioni globali](/docs/cli/reference/global-options).

### Nome

**Tipo** `string` · **Obbligatorio** · **Predefinito** —

Il nome visualizzato della chiave. Gli spazi iniziali e finali vengono rimossi; se il risultato è vuoto, viene rifiutato prima di inviare qualsiasi richiesta.

### Autorizzazione

**Tipo** `string[]` · **Obbligatorio** · **Predefinito** —

Specifica uno o più nomi canonici di autorizzazione, separati da spazi o ripetendo il flag:

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

Caratteri jolly, nomi di preimpostazioni e flag relativi al tipo di chiave non sono supportati. Omettere le autorizzazioni genera un errore e non concede l&#39;accesso completo. Includi esplicitamente ogni autorizzazione necessaria: un&#39;autorizzazione in scrittura non include automaticamente l&#39;accesso in lettura.

### Config

**Tipo** `string` · **Facoltativo** · **Predefinito** Determinato automaticamente

Legge le impostazioni del progetto da questo file di configurazione JSON; il suffisso `.json` può essere omesso. Se non è specificato, viene eseguita la normale ricerca di `gt.config.json`.

### Chiave API

**Tipo** `string` · **Facoltativo** · **Predefinito** `GT_API_KEY`, altrimenti il login salvato

Sostituisce l&#39;autenticazione con una chiave autorizzata specificata esplicitamente. In caso di chiavi non valide o con autorizzazioni insufficienti, non viene usato il login come fallback. È preferibile usare segreti forniti tramite variabili d&#39;ambiente anziché segreti scritti in chiaro, che restano nella cronologia della shell. (Vedi [precedenza delle credenziali](/docs/cli/guides/configuring#credentials)).

### ID progetto

**Tipo** `string` · **Facoltativo** · **Predefinito** Config o ambiente

Seleziona il progetto di destinazione. Se l&#39;ID nella config non corrisponde a quello indicato dal flag o all&#39;ID risolto dall&#39;ambiente, la validazione non va a buon fine. In assenza di un ID nella config, il flag ha la precedenza sull&#39;ambiente. Alla risoluzione concorrono anche le variabili di progetto supportate con il prefisso specifico del framework.

## Esempio [#example]

Dopo aver effettuato l&#39;accesso con [`gt login`](/docs/cli/reference/commands/login), crea una chiave runtime di sviluppo di sola generazione:

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

Conserva il segreto restituito in un luogo sicuro. Questa chiave di sola generazione non può eseguire l&#39;intera pipeline di [`gt translate`](/docs/cli/reference/commands/translate). Per la CI, concedi le autorizzazioni per l&#39;[intero workflow](/docs/cli/guides/configuring#credentials) e salva la chiave nell&#39;archivio dei segreti del tuo provider CI, non in file sottoposti a commit.

<Callout type="warn">
  Tratta lo stdout come materiale riservato. Non reindirizzare lo stderr nello stdout, non inviare lo stdout a log condivisi e non esporre nemmeno una chiave di sola generazione nei bundle distribuiti per browser o dispositivi mobili. Eseguire di nuovo il comando può creare un&#39;altra chiave: non è previsto alcun rollback remoto né alcuna garanzia di idempotenza in caso di nuovi tentativi.
</Callout>

## Sitemap

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