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

# Autenticação

> Guia de como se autenticar na API da Legacy usando suas chaves de produção.

Para acessar qualquer endpoint privado da nossa API, sua aplicação precisará estar devidamente autenticada. A Legacy suporta duas formas de integração, sendo o **Basic Auth** altamente recomendado para garantias de segurança e performance.

### Como funciona

Sua conta na plataforma Legacy provê duas chaves de acesso, disponíveis na aba "Integrações" do Dashboard da Empresa:

* **Public Key**: Uma chave projetada para identificação, no formato `pk_live_xxxx...`
* **Secret Key**: Uma chave projetada para autorização, no formato `sk_live_yyyy...`

Juntas, elas garantem que sua solicitação não apenas vem da sua empresa, mas sim de uma fonte protegida.

***

## 🔒 Opção Recomendada: Basic Token Auth

Para invocar as APIs como `POST /payin` ou `POST /payout`, você deve informar o cabeçalho padrão de `Authorization` combinando sua **Public Key** e **Secret Key**.

### Exemplo

Codifique sua chave Pública e Secreta em [Base64](https://www.base64encode.org/): `pk_live_xxxxxxxx : sk_live_yyyyyyyy`

**1.** Concatene as duas chaves com `:` (dois pontos) entre elas. **2.** Aplique base64 no resultado.

```bash theme={null}
Authorization: Basic cGtfbGl2ZV94eHh4eHh4eDpzaz9saXZlX3l5eXl5eXl5eQ==
```

Este é o padrão que você colocará na chamada:

<CodeGroup>
  ```javascript NodeJS theme={null}
  import axios from 'axios';

  const publicKey = 'pk_live_xxxxxx';
  const secretKey = 'sk_live_yyyyyy';
  const encodedCredentials = Buffer.from(`${publicKey}:${secretKey}`).toString('base64');

  axios.post('https://api.holdinglegacy.io/payin', payload, {
    headers: {
      'Authorization': `Basic ${encodedCredentials}`
    }
  });
  ```

  ```php PHP theme={null}
  $publicKey = 'pk_live_xxxxxx';
  $secretKey = 'sk_live_yyyyyy';
  $encodedCredentials = base64_encode("{$publicKey}:{$secretKey}");

  $headers = [
      "Authorization: Basic {$encodedCredentials}",
      "Content-Type: application/json"
  ];

  // ... curl request
  ```
</CodeGroup>

***

## 🔄 Opção de Fallback (Sistemas Legados)

Se você já possuía uma integração via `x-api-key` nas antigas arquiteturas, manteremos total compatibilidade do seu ambiente em produção.

Basta enviar o par de chaves nos respectivos Headers HTTP:

```bash theme={null}
x-api-key: pk_live_xxxxxx
x-api-secret: sk_live_yyyyyy
```

*Nota: Recomendamos planejar a migração de seus sistemas para o Basic Auth para maior performance.*
