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

# Chaves de API

> Aprenda como funcionam as chaves de API e como utilizá-las para acessar a AbacatePay

<Tip>
  A **chave de API** é sua credencial de acesso à AbacatePay. Ela identifica sua conta e autoriza cada requisição enviada para a nossa API. **Sem uma chave válida, nenhum pedido será aceito.**
</Tip>

## O que você pode fazer com suas chaves

As chaves de API são gerenciadas diretamente pelo dashboard. Com elas, você pode:

* Ver todas as chaves ativas
* Criar novas chaves para diferentes projetos
* Revogar chaves comprometidas ou que não são mais usadas

<Card title="Dev mode x Produção" horizontal>
  Todas as requisições usam o mesmo endpoint [api.abacatepay.com](https://api.abacatepay.com).\
  O ambiente é definido **pela chave utilizada**:

  * Chaves criadas em **Dev mode** → transações simuladas
  * Chaves criadas em **Produção** → transações reais

  Saiba mais sobre o ambiente de testes <a href="./devmode">aqui</a>.
</Card>

<Card title="Erro de Autenticação (401)" horizontal>
  Você receberá um **HTTP 401** quando:

  * A chave não for enviada no header
  * A chave estiver incorreta
  * A chave tiver sido revogada
</Card>

## Permissões da chave de API

Além de identificar sua conta, a chave de API define **quais recursos** você pode acessar. Quase todos os endpoints da API exigem que a chave tenha a permissão correspondente; sem ela, a requisição será recusada (por exemplo, com **403 Forbidden**).

Ao criar ou gerenciar chaves no dashboard, você pode atribuir apenas as permissões necessárias para cada integração — por exemplo, uma chave só para leitura de clientes ou outra só para criar cobranças. Isso melhora a segurança e o princípio do menor privilégio.

**Exceção:** o endpoint de **MRR** (`/public-mrr/mrr`) é público e não exige permissão de chave.

### Permissões disponíveis

| Recurso  | Permissões                                                       |
| -------- | ---------------------------------------------------------------- |
| Checkout | `CHECKOUT:CREATE`, `CHECKOUT:READ`, `CHECKOUT:DELETE`            |
| Coupon   | `COUPON:CREATE`, `COUPON:READ`, `COUPON:UPDATE`, `COUPON:DELETE` |
| Customer | `CUSTOMER:CREATE`, `CUSTOMER:READ`, `CUSTOMER:DELETE`            |
| Product  | `PRODUCT:CREATE`, `PRODUCT:READ`, `PRODUCT:DELETE`               |
| Store    | `STORE:READ`, `STORE:CREATE`, `STORE:DELETE`                     |
| Withdraw | `WITHDRAW:CREATE`, `WITHDRAW:READ`                               |
| Connect  | `CONNECT:READ`, `CONNECT:CREATE`, `CONNECT:DELETE`               |

Cada endpoint da documentação indica qual permissão é necessária no topo da página.

## Boas práticas de segurança

<Card horizontal>
  * Armazene suas chaves em variáveis de ambiente
  * Nunca publique sua chave em repositórios ou grupos
  * A AbacatePay **nunca** solicitará sua chave
  * Revogue imediatamente qualquer chave que possa ter vazado
</Card>

***

## Como criar uma chave de API

Siga os passos abaixo no dashboard:

<Steps>
  <Step title="Acesse a seção de Integração">
    <Card>
      <img src="https://mintcdn.com/abacatepay/A_mLrlQaTYJZv5aB/images/criar-chave-api.png?fit=max&auto=format&n=A_mLrlQaTYJZv5aB&q=85&s=2e1304a721602712a643c5e341795a29" alt="Interface da plataforma AbacatePay mostrando o botão de criação de chave" width="1918" height="863" data-path="images/criar-chave-api.png" />

      <Card title="Clique em 'Criar Chave'">
        Inicie a criação de uma nova chave de API.
      </Card>
    </Card>
  </Step>

  <Step title="Adicione uma descrição">
    <Card>
      <img src="https://mintcdn.com/abacatepay/A_mLrlQaTYJZv5aB/images/exemplo-de-chave-api.png?fit=max&auto=format&n=A_mLrlQaTYJZv5aB&q=85&s=9dbbed9678ed660ac0cb6e0087fc5f50" alt="Formulário de criação de chave com campo de descrição" width="1917" height="871" data-path="images/exemplo-de-chave-api.png" />

      <Card title="Identifique a chave">
        Use nomes claros, como “Loja Principal” ou “Ambiente de testes”.
      </Card>
    </Card>
  </Step>

  <Step title="Copie a chave gerada">
    <Card>
      <img src="https://mintcdn.com/abacatepay/A_mLrlQaTYJZv5aB/images/copiar-chave-api.png?fit=max&auto=format&n=A_mLrlQaTYJZv5aB&q=85&s=c7b9de8486ebccf1978a0652948d7a2c" alt="Lista de chaves com opção para copiar" width="1917" height="862" data-path="images/copiar-chave-api.png" />

      <Card title="Guarde com segurança">
        Copie a chave e salve em um local seguro ou gerenciador de segredos.
      </Card>
    </Card>
  </Step>
</Steps>

Depois disso, você já pode enviar requisições:

```bash theme={null}
curl -X POST https://api.abacatepay.com/v2/transparents/create \
  -H "Authorization: Bearer {{API_KEY}}" \
  -H "Content-Type: application/json" \
  --data '{
    "amount": 1000,
    "method": "PIX"
  }'
```

<Card title="Nota Importante">
  O mesmo endpoint [api.abacatepay.com](https://api.abacatepay.com) é usado para o ambiente de desenvolvimento e produção. O ambiente é determinado automaticamente pela chave de API utilizada na requisição.
</Card>
