> ## Documentation Index
> Fetch the complete documentation index at: https://fortal-pay.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação

> Aprenda a criar, armazenar e utilizar uma API key da FortalPay.

A API da FortalPay utiliza API keys para autenticar integrações entre servidores. Cada chave identifica o lojista, o ambiente e o nível de acesso da integração.

<Warning>
  Nunca exponha uma API key no navegador, em aplicativos móveis, repositórios públicos ou logs. As chamadas devem partir de um backend sob seu controle.
</Warning>

## Criar uma API key

No painel da FortalPay, acesse **Desenvolvedores → API Keys** e selecione **Nova API key**. Somente usuários com perfil de proprietário podem gerenciar essas credenciais.

Durante a criação:

1. Informe um nome que identifique a integração.
2. Escolha o nível de acesso necessário.
3. Defina uma expiração, se aplicável.
4. Copie e armazene a chave completa em um gerenciador de segredos.

<Info>
  A chave completa é exibida somente uma vez, imediatamente após a criação. Depois disso, não é possível recuperá-la pelo painel.
</Info>

## Enviar a credencial

Inclua a chave completa no cabeçalho `Authorization`, precedida pelo esquema `ApiKey` e um espaço:

```http theme={null}
Authorization: ApiKey fpay_sk_test_...
```

<Warning>
  Não utilize `Bearer`. O formato `Authorization: Bearer <api_key>` não autentica uma API key da FortalPay.
</Warning>

### Exemplo

```bash theme={null}
curl --request GET 'https://api-sandbox.fortalpay.tech/v1/products?page=0&size=20' \
  --header 'Authorization: ApiKey fpay_sk_test_...'
```

## Ambientes

O prefixo identifica o ambiente ao qual a chave pertence:

| Prefixo         | Ambiente | Uso                                    |
| --------------- | -------- | -------------------------------------- |
| `fpay_sk_test_` | Teste    | Desenvolvimento, homologação e testes. |
| `fpay_sk_live_` | Produção | Operações reais do lojista.            |

Uma chave de teste não acessa recursos de produção, e uma chave de produção não acessa recursos de teste.

## Níveis de acesso

| Nível         | Permissões                                                                                   |
| ------------- | -------------------------------------------------------------------------------------------- |
| `READ_ONLY`   | Permite consultar os recursos liberados para API keys.                                       |
| `FULL_ACCESS` | Inclui as consultas e permite criar, alterar ou remover os recursos liberados para API keys. |

Use `READ_ONLY` quando a integração não precisar modificar dados. Aplique sempre o menor nível de acesso necessário.

## Respostas de autenticação

| Status | Significado                                                                                     |
| ------ | ----------------------------------------------------------------------------------------------- |
| `401`  | Chave ausente, malformada, desconhecida, revogada, expirada ou utilizada no ambiente incorreto. |
| `403`  | Chave válida, mas sem permissão para executar a operação solicitada.                            |

## Armazenamento e rotação

* Armazene a chave em variáveis de ambiente ou em um gerenciador de segredos.
* Não inclua a chave diretamente no código-fonte.
* Use chaves diferentes para cada aplicação e ambiente.
* Para fazer uma rotação, crie uma nova chave, atualize a integração e somente depois revogue a anterior.
* Revogue imediatamente uma chave que possa ter sido exposta.

<Card title="Faça sua primeira requisição" icon="rocket" href="/quickstart">
  Teste a autenticação consultando os produtos disponíveis.
</Card>
