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

# Autenticação

> Todas as rotas exigem um Bearer Token no header Authorization.

A Bob Payments usa Bearer Token para autenticar todas as requisições. A chave é enviada no header `Authorization`:

```
Authorization: Bearer sk_test_sua_chave_aqui
```

## Tipos de chave

| Tipo     | Prefixo     | Uso                      |
| -------- | ----------- | ------------------------ |
| Sandbox  | `sk_test_*` | Testes e desenvolvimento |
| Produção | `sk_live_*` | Ambiente real            |

## Exemplos

<CodeGroup>
  ```bash cURL theme={"system"}
  curl https://api.payments.bob.company/api/store \
    -H "Authorization: Bearer sk_test_sua_chave"
  ```

  ```javascript JavaScript theme={"system"}
  const response = await fetch('https://api.payments.bob.company/api/store', {
    headers: {
      'Authorization': 'Bearer sk_test_sua_chave',
      'Content-Type': 'application/json'
    }
  });

  const data = await response.json();
  ```

  ```python Python theme={"system"}
  import requests

  response = requests.get(
      'https://api.payments.bob.company/api/store',
      headers={'Authorization': 'Bearer sk_test_sua_chave'}
  )

  data = response.json()
  ```
</CodeGroup>

## Gerando sua chave de API

<Steps>
  <Step title="Acesse o Dashboard">
    Entre em [app.payments.bob.company](https://app.payments.bob.company) e selecione seu projeto.
  </Step>

  <Step title="Acesse a página de API Keys">
    No menu lateral, clique em **Chaves de API**.
  </Step>

  <Step title="Crie uma nova chave">
    Clique em **Nova chave**, dê um nome descritivo (ex: `backend-producao`) e confirme.
  </Step>

  <Step title="Copie e guarde com segurança">
    A chave é exibida **apenas uma vez**. Salve em um gerenciador de segredos ou variável de ambiente.
  </Step>
</Steps>

<Tip>
  Use variáveis de ambiente (`process.env.BOB_API_KEY`) para nunca expor a chave no código.
</Tip>

<Warning>
  Em caso de vazamento, revogue a chave imediatamente pelo Dashboard e gere uma nova.
</Warning>

## Erros de autenticação

| HTTP  | Descrição                                         |
| ----- | ------------------------------------------------- |
| `401` | Token ausente ou inválido                         |
| `403` | Token válido, mas sem permissão para este recurso |

## Próximos passos

<CardGroup cols={2}>
  <Card title="Testar no sandbox" icon="flask" href="/pages/sandbox">
    Use a chave `sk_test_` para rodar o fluxo completo sem dinheiro real.
  </Card>

  <Card title="Erros" icon="triangle-exclamation" href="/pages/errors">
    Veja o que fazer com cada status e código de erro.
  </Card>
</CardGroup>
