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

# GET /validate-cpf-cnpj

> Valide CPF e CNPJ brasileiros pelo algoritmo oficial de dígito verificador. Retorna validade, tipo do documento e número formatado.

## Endpoint

```
GET https://api.bunny.build/api/v1/validate-cpf-cnpj?document=529.982.247-25
```

## Autenticação

| Header      | Obrigatório | Valor                        |
| ----------- | ----------- | ---------------------------- |
| `X-API-Key` | Sim         | Sua chave de API (`bun_...`) |

## Visão geral

Valide documentos fiscais brasileiros, CPF (pessoa física) e CNPJ (empresa), em um único endpoint. A Bunny executa o algoritmo oficial de dígito verificador e retorna se o documento é matematicamente válido, o tipo do documento e o número formatado.

## Casos de uso

* Validar campos de CPF e CNPJ em formulários de cadastro e checkout
* Evitar erros de digitação e dígitos transpostos no banco de dados
* Fluxos de KYC e verificação de identidade
* Garantir formatação correta antes de enviar para processadores de pagamento

## Detalhes

Aceita entrada formatada (`529.982.247-25`) ou apenas dígitos (`52998224725`). Ambos funcionam. A validação é algorítmica (dígito verificador), não uma consulta a um banco de dados governamental.

## Parâmetros de query

| Parâmetro  | Tipo   | Obrigatório | Descrição                                                                                      |
| ---------- | ------ | ----------- | ---------------------------------------------------------------------------------------------- |
| `document` | string | Sim         | CPF (ex.: `529.982.247-25`) ou CNPJ (ex.: `11.222.333/0001-81`). Formatado ou somente dígitos. |

## Resposta

### 200 OK

| Campo      | Tipo    | Descrição                                                       |
| ---------- | ------- | --------------------------------------------------------------- |
| `document` | string  | O documento validado (normalizado)                              |
| `type`     | string  | `cpf` ou `cnpj`                                                 |
| `valid`    | boolean | `true` se o documento passa na validação por dígito verificador |

**Exemplo (CPF)**

```json theme={null}
{
  "document": "529.982.247-25",
  "type": "cpf",
  "valid": true
}
```

**Exemplo (CNPJ)**

```json theme={null}
{
  "document": "11.222.333/0001-81",
  "type": "cnpj",
  "valid": true
}
```

### 401 Unauthorized

```json theme={null}
{
  "detail": "Missing API key. Include X-API-Key header."
}
```

### 402 Payment Required

```json theme={null}
{
  "detail": "Monthly quota exceeded. Upgrade your plan."
}
```

### 422 Unprocessable Entity

Formato de documento não reconhecido.

```json theme={null}
{
  "detail": "Could not determine document type (CPF or CNPJ)"
}
```

### 429 Too Many Requests

```json theme={null}
{
  "detail": "Rate limit exceeded. Try again in 60 seconds."
}
```

## Exemplo cURL

```bash theme={null}
curl "https://api.bunny.build/api/v1/validate-cpf-cnpj?document=529.982.247-25" \
  -H "X-API-Key: bun_sua_chave_api"
```
