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

# Autenticación

> Autentica la CLI de Social media studio con tu cuenta

Los comandos `auth:*` gestionan las credenciales que usa la CLI para comunicarse con la API. Las credenciales se guardan localmente en `~/.so-me/config.json` (o en `~/.so-me-dev/config.json` para el binario `so-me-dev`).

> [!NOTE]
>
> Todos los comandos aceptan las opciones globales `--api-key <key>`, `--api-url <url>`, `--json` (por defecto), `--table` y `--verbose`. Las variables de entorno `SOME_API_KEY` y `SOME_API_URL` tienen prioridad sobre las credenciales guardadas. Consulta el [resumen de la CLI](/es/cli/overview.md) para más detalles.

## auth:login

Autentícate con la API. Puedes indicar directamente una clave de API, u omitirla para iniciar el aprovisionamiento de dispositivo aprobado desde el navegador. La [guía Auth.md](https://so-me.studio/auth.md) documenta los endpoints de dispositivo y el flujo OAuth de MCP, que es independiente.

```bash theme={null}
so-me auth:login [options]
```

| Opción | Descripción |
| - | - |
| `--api-key <key>` | Clave de API que se guardará localmente. Si se indica, se omite el device flow. |

### Inicio de sesión con clave de API

Al pasar `--api-key`, la CLI guarda la clave en la configuración local (junto con `--api-url` si también indicas esa opción global) y termina sin contactar con el servidor.

```bash theme={null}
so-me auth:login --api-key sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
```

```bash Salida theme={null}
Authentication settings saved successfully.
Run "so-me auth:status" to verify.
```

También puedes apuntar a una URL de API personalizada mientras guardas la clave:

```bash theme={null}
so-me auth:login --api-key sk_live_xxxxxxxxxxxxxxxxxxxxxxxx --api-url https://api.so-me.studio
```

> [!TIP]
>
> Se recomienda la autenticación con clave de API para scripts y CI/CD. Como alternativa a guardar la clave, define la variable de entorno `SOME_API_KEY`.

### Aprovisionamiento de dispositivo aprobado desde el navegador

Si se omite `--api-key`, la CLI inicia un flujo de autorización de dispositivo usando `/auth/device/code` y `/auth/device/token`. Estos endpoints JSON aprovisionan una clave de API tras la aprobación del usuario; son independientes del endpoint de tokens OAuth de MCP:

```bash theme={null}
so-me auth:login
```

**1. Solicitar un código de dispositivo**

La CLI solicita un código de dispositivo a la API e imprime una URL de verificación junto con un código de usuario de un solo uso. También indica durante cuántos minutos es válido el código.

**2. Abrir la URL e introducir el código**

La CLI intenta abrir tu navegador automáticamente (en la medida de lo posible). Si no lo consigue, abre manualmente la URL impresa e introduce el código mostrado.

**3. Esperar la autorización**

La CLI consulta periódicamente la API mientras autorizas en el navegador. Una vez aprobada, confirma el correo electrónico autorizado y guarda automáticamente la clave de API generada.

```bash Salida theme={null}
  To authenticate, open this URL in your browser:

  https://app.so-me.studio/cli/authorize

  And enter this code:

  WDJB-MJHT

  Code expires in 10 minutes.
  Browser opened automatically.

✔ Device authorized!

  Logged in as jane@example.com
  API key generated and saved.
  Run "so-me auth:status" to verify.
```

> [!WARNING]
>
> Si el device flow tiene éxito pero tu plan no puede generar una clave de API, la CLI muestra una advertencia. El acceso a la API requiere el plan Standard, Advanced o Lifetime. Crea una clave manualmente y ejecuta `so-me auth:login --api-key <key>` para terminar.

El device flow termina con un código distinto de cero si el código caduca o la autorización agota el tiempo antes de que la completes. Vuelve a ejecutar `so-me auth:login` para empezar de nuevo.

## auth:status

Muestra el estado de autenticación actual, incluida la clave de API enmascarada y la URL de API configurada. Es una comprobación solo local: lee la configuración guardada y no contacta con el servidor.

```bash theme={null}
so-me auth:status
```

```bash Salida theme={null}
Authenticated
  API Key: sk_live_xxxx...abcd
  API URL: https://api.so-me.studio
  Workspace: my-workspace
```

La línea `Workspace` solo se muestra cuando hay un espacio de trabajo predeterminado configurado. Si no hay credenciales guardadas, el comando indica que no estás autenticado y te remite a `auth:login`.

```bash Salida (sin autenticar) theme={null}
Not authenticated.
Run "so-me auth:login --api-key <key>" to authenticate.
```

## auth:whoami

Verifica la clave de API actual contra el servidor e imprime el usuario y la organización autenticados. A diferencia de `auth:status`, que solo lee la configuración local, este comando consulta la API (`/v1/settings/profile` y `/v1/settings/organization`) y falla de inmediato si la clave ha sido revocada.

```bash theme={null}
so-me auth:whoami
```

```bash Ejemplos theme={null}
# Default JSON output
so-me auth:whoami

# Compact table
so-me auth:whoami --table

# Pipe to jq — just the email
so-me auth:whoami | jq -r '.user.email'

# Confirm the active organization
so-me auth:whoami | jq '{org: .organization.name, role: .user.tenantRole}'
```

El resultado es un objeto que combina ambas respuestas bajo las claves `user` y `organization`:

```json theme={null}
{
  "user": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "email": "jane@example.com"
  },
  "organization": {
    "id": "6f9619ff-8b86-d011-b42d-00c04fc964ff",
    "name": "Acme Inc"
  }
}
```

## auth:logout

Elimina las credenciales guardadas borrando el archivo de configuración local.

```bash theme={null}
so-me auth:logout
```

```bash Salida theme={null}
Logged out. Credentials removed.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.