> ## 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.

# Autenticação

> Autentique a CLI do Social media studio com a sua conta

Os comandos `auth:*` gerenciam as credenciais que a CLI usa para se comunicar com a API. As credenciais são armazenadas localmente em `~/.so-me/config.json` (ou em `~/.so-me-dev/config.json` para o binário `so-me-dev`).

> [!NOTE]
>
> Todos os comandos aceitam as flags globais `--api-key <key>`, `--api-url <url>`, `--json` (padrão), `--table` e `--verbose`. As variáveis de ambiente `SOME_API_KEY` e `SOME_API_URL` têm precedência sobre as credenciais armazenadas. Veja a [Visão geral da CLI](/pt-BR/cli/overview.md) para mais detalhes.

## auth:login

Autentica-se na API. Você pode informar uma chave de API diretamente ou omiti-la para iniciar o provisionamento de dispositivo aprovado pelo navegador. O [guia Auth.md](https://so-me.studio/auth.md) documenta os endpoints de dispositivo e o fluxo OAuth do MCP, que é separado.

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

| Opção | Descrição |
| - | - |
| `--api-key <key>` | Chave de API a ser armazenada localmente. Quando informada, o fluxo de dispositivo é ignorado. |

### Login com chave de API

Quando você passa `--api-key`, a CLI salva a chave na configuração local (junto com `--api-url`, se você também definir essa flag global) e termina sem contatar o servidor.

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

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

Você também pode apontar para uma URL de API personalizada ao salvar a chave:

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

> [!TIP]
>
> A autenticação por chave de API é recomendada para scripts e CI/CD. Como alternativa a armazenar a chave, defina a variável de ambiente `SOME_API_KEY`.

### Provisionamento de dispositivo aprovado pelo navegador

Quando `--api-key` é omitida, a CLI inicia um fluxo de autorização de dispositivo usando `/auth/device/code` e `/auth/device/token`. Esses endpoints JSON provisionam uma chave de API após a aprovação do usuário; eles são separados do endpoint de token OAuth do MCP:

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

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

A CLI solicita um código de dispositivo à API e exibe uma URL de verificação mais um código de usuário de uso único. Ela também informa por quantos minutos o código permanece válido.

**2. Abrir a URL e inserir o código**

A CLI tenta abrir o navegador automaticamente (sem garantia). Se isso não acontecer, abra a URL exibida manualmente e insira o código mostrado.

**3. Aguardar a autorização**

A CLI consulta a API repetidamente enquanto você autoriza no navegador. Depois de aprovado, ela confirma o e-mail autorizado e salva automaticamente a chave de API gerada.

```bash Saída 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]
>
> Se o fluxo de dispositivo for concluído, mas o seu plano não puder gerar uma chave de API, a CLI exibe um aviso. O acesso à API exige o plano Standard, Advanced ou Lifetime. Crie uma chave manualmente e execute `so-me auth:login --api-key <key>` para concluir.

O fluxo de dispositivo termina com código diferente de zero se o código expirar ou a autorização atingir o tempo limite antes de você concluí-la. Execute `so-me auth:login` novamente para recomeçar.

## auth:status

Mostra o status de autenticação atual, incluindo a chave de API mascarada e a URL da API configurada. Esta é uma verificação somente local: ela lê a configuração armazenada e não acessa o servidor.

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

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

A linha `Workspace` só aparece quando há um espaço de trabalho padrão configurado. Se nenhuma credencial estiver armazenada, o comando informa que você não está autenticado e indica `auth:login`.

```bash Saída (não autenticado) theme={null}
Not authenticated.
Run "so-me auth:login --api-key <key>" to authenticate.
```

## auth:whoami

Verifica a chave de API atual no servidor e exibe o usuário e a organização autenticados. Ao contrário de `auth:status`, que apenas lê a configuração local, este comando acessa a API (`/v1/settings/profile` e `/v1/settings/organization`) e falha imediatamente se a chave tiver sido revogada.

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

```bash Exemplos theme={null}
# Saída JSON padrão
so-me auth:whoami

# Tabela compacta
so-me auth:whoami --table

# Encadear com jq: somente o e-mail
so-me auth:whoami | jq -r '.user.email'

# Confirmar a organização ativa
so-me auth:whoami | jq '{org: .organization.name, role: .user.tenantRole}'
```

O resultado é um objeto que combina as duas respostas nas chaves `user` e `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

Remove as credenciais armazenadas, excluindo o arquivo de configuração local.

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

```bash Saída theme={null}
Logged out. Credentials removed.
```


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