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

# Autenticação

> Autentique suas requisições com o header Authorization: Bearer e sua API key (liq_...) ou JWT do painel.

<Warning>
  Use apenas o header **`Authorization: Bearer`**, seguido do valor da API
  key (`liq_...`) ou do JWT do painel. Outros formatos (por exemplo
  `x-api-key`) **não** são aceitos; token ausente ou inválido resulta em
  `401 UNAUTHORIZED`.
</Warning>

A API Liquerapay autentica todas as requisições via header
**`Authorization: Bearer`**, seguido da sua API key (`liq_...`) ou do JWT do
painel. O mesmo header é usado tanto para API keys (integrações server-side)
quanto para JWT (dashboard).

## Como obter sua chave

1. Acesse [app.liquerapay.com](https://app.liquerapay.com)
2. Vá em **Configurações → API Keys**
3. Clique em **Gerar chave**
4. **Copie a chave imediatamente** — ela só é exibida uma vez, no formato completo

<Warning>
  A chave concede acesso total à sua conta. **Nunca** comite ela em repositórios,
  exponha em frontend, ou envie por canais inseguros.
</Warning>

## Como usar

Inclua o header em toda requisição:

```bash theme={null}
curl https://api.liquerapay.com/transparents/list \
  -H "Authorization: Bearer liq_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
```

Exemplo em outras linguagens:

<CodeGroup>
  ```javascript Node.js (fetch) theme={null}
  const res = await fetch('https://api.liquerapay.com/transparents/list', {
    headers: {
      Authorization: `Bearer ${process.env.LIQUERAPAY_API_KEY}`,
    },
  })
  ```

  ```python Python (requests) theme={null}
  import os, requests

  res = requests.get(
      "https://api.liquerapay.com/transparents/list",
      headers={"Authorization": f"Bearer {os.environ['LIQUERAPAY_API_KEY']}"},
  )
  ```
</CodeGroup>

## Boas práticas de segurança

<Card title="Recomendações" horizontal>
  * Armazene a chave em **variáveis de ambiente** ou cofres (Vault, AWS Secrets Manager, etc.)
  * **Rotacione** as chaves periodicamente — gere uma nova, atualize sua aplicação, revogue a antiga
  * **Revogue imediatamente** se houver suspeita de vazamento
  * Use chaves **separadas por serviço** quando possível para isolar impacto
  * Monitore o uso pelos logs de auditoria no painel
</Card>

## Erros de autenticação

| HTTP  | `error`        | Causa                                           |
| ----- | -------------- | ----------------------------------------------- |
| `401` | `UNAUTHORIZED` | Header `Authorization` ausente ou mal formatado |
| `401` | `UNAUTHORIZED` | Token inválido ou revogado                      |
| `403` | `FORBIDDEN`    | Token válido mas conta suspensa                 |

Exemplo de resposta:

```json theme={null}
{
  "error": "UNAUTHORIZED",
  "message": "Token inválido ou ausente",
  "success": false
}
```
