# Guardar API key (CI)

> plazbot init: guarda una API key manualmente, para CI o servidores sin navegador

Fuente: https://developers.plazbot.com/cli/init/

### Guardar una API key manualmente

> **Tip:** Para trabajar en tu computador usa [`plazbot login`](https://developers.plazbot.com/cli/login): inicias sesión desde el navegador sin copiar credenciales. `plazbot init` es para CI, servidores o cuando necesitas fijar una API key concreta.

Guarda una API key, el workspace y la zona en `~/.plazbot/config.json` (con permisos `0600`) para que las use el resto de comandos.

```bash
plazbot init -k <apiKey> -w <workspaceId> -z <LA|EU> [opciones]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| API key | `-k, --api-key <apiKey>` | Sí | API key creada en **Configuración → Developer** |
| Workspace | `-w, --workspace <workspaceId>` | Sí | ID del workspace (`wok_...`) |
| Zona | `-z, --zone <zone>` | Sí | `LA` (América) o `EU` (Europa), en mayúsculas o minúsculas |
| Email | `-e, --email <email>` | No | Tu correo; solo se muestra en [`plazbot whoami`](https://developers.plazbot.com/cli/whoami) |
| User ID | `-u, --user-id <userId>` | No | Tu ID de usuario. Lo necesitan [`plazbot workspace`](https://developers.plazbot.com/cli/workspace) y [Studio](https://developers.plazbot.com/cli/studio/introduccion) |
| JSON | `--json` | No | Imprime `{"workspace","zone"}` en JSON |

> **Tip:** La API key y el Workspace ID están en la plataforma, en **Configuración → Developer**.

### Ejemplos

```bash
# Workspace en América
plazbot init -k <apiKey> -w wok_AbcDef123 -z LA

# Workspace en Europa, con email
plazbot init -k <apiKey> -w wok_AbcDef123 -z EU -e tu@empresa.com

# Con el ID de usuario (para Studio y workspace list)
plazbot init -k <apiKey> -w wok_AbcDef123 -z LA -u usr_AbcDef123
```

### Resultado

```text
Credentials saved to ~/.plazbot/config.json
Workspace: wok_AbcDef123
Zone: Europe (EU)
Email: tu@empresa.com

The key is not verified yet. Check it with:
  plazbot agent list     List your agents (fails if the key or zone is wrong)
  plazbot whoami         Show the active session
```

### Salida JSON

```json
{
"workspace": "wok_AbcDef123",
"zone": "EU"
}
```

La zona siempre se guarda en mayúsculas (`LA` o `EU`).

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `Invalid zone "..."` | `-z` distinto de `LA` o `EU` | Usa `-z LA` (América) o `-z EU` (Europa) |
| `API key cannot be empty.` | `-k ""` | Pasa la API key |
| `Workspace ID cannot be empty.` | `-w ""` | Pasa el ID del workspace |

> **Importante:** `init` no comprueba la API key contra Plazbot: si está mal (o la zona no corresponde), lo verás al ejecutar el siguiente comando. Confirma con `plazbot agent list`.

### Alternativa sin archivo: variables de entorno

En CI es más seguro no escribir la key en disco. Si defines estas variables, el CLI las usa y tienen prioridad sobre `~/.plazbot/config.json`:

```bash
export PLAZBOT_API_KEY=tu_api_key
export PLAZBOT_WORKSPACE_ID=wok_AbcDef123
export PLAZBOT_ZONE=LA   # opcional, por defecto LA
```

### Cerrar sesión

Para borrar las credenciales guardadas usa [`plazbot logout`](https://developers.plazbot.com/cli/logout).
