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

# Autenticação e Configuração

> Configure autenticação e opções do cliente

## Opções de Configuração

O SDK oferece várias opções de configuração ao criar uma instância do cliente:

* **`apiKey`** (opcional): Sua chave de API pública (`pk_...`) ou secreta (`sk_...`). Se não fornecida, o SDK tentará usar a variável de ambiente `TRIGLIT_API_KEY`
* **`baseURL`** (opcional): URL base da API (padrão: `https://api.triglit.com`)
* **`maxRetries`** (opcional): Número máximo de tentativas para requisições que falham (padrão: 2)
* **`timeout`** (opcional): Timeout em milissegundos para requisições (padrão: 60000 - 1 minuto)
* **`logLevel`** (opcional): Nível de log (`'debug'`, `'info'`, `'warn'`, `'error'`, `'off'`). Padrão: `'warn'`
* **`logger`** (opcional): Logger customizado (pino, winston, etc.)

## Variável de Ambiente

Você pode configurar a chave de API via variável de ambiente:

```bash theme={null}
# .env ou variável de ambiente do sistema
TRIGLIT_API_KEY=pk_sua_chave_aqui
```

```typescript theme={null}
// Se TRIGLIT_API_KEY estiver definida, você pode omitir apiKey
const client = new Triglit(); // Usa TRIGLIT_API_KEY automaticamente
```

## Autenticação

O SDK gerencia automaticamente a autenticação usando a chave de API fornecida. A chave é enviada no header `X-API-Key` em todas as requisições.

O tenant é automaticamente identificado a partir da chave utilizada - você não precisa enviar nenhum header adicional.

```typescript theme={null}
// A chave pk_abc123... pertence automaticamente ao tenant correto
const client = new Triglit({ apiKey: 'pk_abc123...' });
```

<Warning>
  Nunca exponha sua chave secreta (`sk_`) no frontend ou em repositórios públicos. Use apenas a chave pública (`pk_`) no frontend.
</Warning>

## Exemplo de Configuração Completa

```typescript theme={null}
import Triglit from 'triglit';

const client = new Triglit({
  apiKey: 'pk_sua_chave_aqui',
  baseURL: 'https://api.triglit.com',
  maxRetries: 3,
  timeout: 30000, // 30 segundos
  logLevel: 'info',
});
```
