# gt: General Translation CLI tool: gt api-key create
URL: https://generaltranslation.com/es/docs/cli/reference/commands/api-key-create.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Crea una clave de API de Project con permisos explícitos y muestra su secreto una sola vez. Referencia de la API del comando gt api-key create.

Crea credenciales de runtime o de automatización sin modificar el entorno local ni los archivos de configuración. Autentícate con una sesión guardada o con una clave explícita autorizada, como se describe en [Configurar la CLI](/docs/cli/guides/configuring#credentials).

## Descripción general [#overview]

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

| Parámetro                                      | Descripción                                | Tipo       | Opcional | Valor predeterminado                    |
| ---------------------------------------------- | ------------------------------------------ | ---------- | -------- | --------------------------------------- |
| [`--name <name>`](#name)                       | Nombre de la clave (no puede estar vacío). | `string`   | No       | —                                       |
| [`--permission <permissions...>`](#permission) | Concesiones canónicas explícitas.             | `string[]` | No       | —                                       |
| [`-c, --config <path>`](#config)               | Ruta del archivo de configuración.         | `string`   | Sí       | Se resuelve automáticamente             |
| [`--api-key <key>`](#api-key)                  | Reemplaza explícitamente la autenticación. | `string`   | Sí       | `GT_API_KEY`; si no, la sesión iniciada |
| [`--project-id <id>`](#project-id)             | Project de destino.                       | `string`   | Sí       | Configuración o entorno                 |

## Cómo funciona [#how-it-works]

Quien realiza la llamada necesita la autorización `project:api_keys:write` y permiso para delegar cada concesión solicitada. Si alguna concesión no está disponible, la operación falla por completo (todo o nada); la CLI no reduce la selección de forma silenciosa. Las claves de Project no pueden tener `project:api_keys:write` ni crear otras claves.

Si la operación se completa correctamente, solo se escribe en stdout el nuevo secreto seguido de un salto de línea. Los diagnósticos se envían a stderr. El secreto no pasa por el logger ni por el archivo de registro, incluso con `--quiet` o `GT_LOG_FORMAT=json`; no forma parte de los metadatos JSON. El comando no escribe archivos env ni de configuración.

## Flags [#flags]

También se aplican las [opciones globales](/docs/cli/reference/global-options).

### Nombre

**Tipo** `string` · **Obligatorio** · **Default** —

Nombre para mostrar de la clave. Se eliminan los espacios en blanco iniciales y finales; si el resultado queda vacío, se rechaza antes de enviar ninguna solicitud.

### Permiso

**Tipo** `string[]` · **Obligatorio** · **Predeterminado** —

Pasa uno o más nombres de permiso canónicos, separados por espacios o repitiendo el flag:

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

No se admiten comodines, nombres de preajustes ni flags de tipo de clave. Omitir los permisos genera un error; no es un atajo para obtener acceso completo. Incluye explícitamente cada concesión necesaria y no des por hecho que una concesión de escritura también otorga acceso de lectura.

### Config

**Tipo** `string` · **Opcional** · **Valor predeterminado** Resuelto automáticamente

Lee la configuración del Project desde este archivo de configuración JSON; la extensión `.json` puede omitirse. Si no se especifica, se aplica la detección habitual de `gt.config.json`.

### API Key

**Tipo** `string` · **Opcional** · **Predeterminado** `GT_API_KEY`; en su defecto, el inicio de sesión guardado

Reemplaza la autenticación con una clave autorizada explícita. Si la clave no es válida o no tiene permisos suficientes, no se recurre al inicio de sesión como alternativa. Es preferible usar secretos definidos en variables de entorno en lugar de secretos literales que queden en el historial de la shell. (Consulta [precedencia de credenciales](/docs/cli/guides/configuring#credentials)).

### ID del Project

**Tipo** `string` · **Opcional** · **Predeterminado** Configuración o entorno

Selecciona el Project de destino. Si el ID de la configuración no coincide con el del flag o con el ID del entorno resuelto, la validación falla. Si la configuración no define un ID, el flag tiene prioridad sobre el entorno. Las variables de Project compatibles con el prefijo del framework también intervienen en la resolución.

## Ejemplo [#example]

Después de iniciar sesión con [`gt login`](/docs/cli/reference/commands/login), crea una clave de runtime de desarrollo de solo generación:

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

Guarda el secreto devuelto en un lugar seguro. Esta clave de solo generación no puede ejecutar el flujo completo de [`gt translate`](/docs/cli/reference/commands/translate). Para CI, concede permisos para el [flujo de trabajo completo](/docs/cli/guides/configuring#credentials) y guarda la clave en el almacén de secretos de tu proveedor de CI, no en archivos incluidos en commits.

<Callout type="warn">
  Trata stdout como información secreta. No redirijas stderr a él, no lo envíes a registros compartidos y no expongas ninguna clave, ni siquiera una de solo generación, en bundles desplegados en navegadores o dispositivos móviles. Si repites el comando, puede crearse otra clave; no hay reversión remota ni garantía de reintentos idempotentes.
</Callout>

## Sitemap

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