> ## 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.

# POST /credit-card-validator

> Valide números de cartão de crédito usando o algoritmo de Luhn e identifique a bandeira e o tipo do cartão.

## Endpoint

```
POST https://api.bunny.build/api/v1/credit-card-validator
```

## Autenticação

| Header         | Obrigatório | Valor                        |
| -------------- | ----------- | ---------------------------- |
| `X-API-Key`    | Sim         | Sua chave de API (`bun_...`) |
| `Content-Type` | Sim         | `application/json`           |

## Visão geral

Valide números de cartão de crédito e débito usando o algoritmo de Luhn e identifique a bandeira do cartão (Visa, Mastercard, Amex, etc.) e o tipo. Use esta API para fornecer feedback instantâneo em formulários de pagamento antes de processar uma cobrança, reduzindo transações falhas e melhorando a experiência de checkout.

## Casos de uso

* Validar números de cartão no lado do cliente antes de chamar seu gateway de pagamento
* Exibir o logo correto da bandeira em formulários de checkout
* Reduzir fraudes ao detectar números obviamente inválidos mais cedo
* Aplicar restrições de tipo de cartão (ex.: somente crédito, sem pré-pago)

## Detalhes

Aceita números de cartão com ou sem espaços e hífens. A validação usa o algoritmo de Luhn; confirma que o número é estruturalmente válido, não que a conta existe ou tem saldo disponível. Nunca registre ou armazene números de cartão brutos.

## Corpo da requisição

| Campo    | Tipo   | Obrigatório | Descrição                                                    |
| -------- | ------ | ----------- | ------------------------------------------------------------ |
| `number` | string | Sim         | Número do cartão de crédito (espaços e hífens são ignorados) |

### Exemplo

```json theme={null}
{
  "number": "4111 1111 1111 1111"
}
```

## Resposta

### 200 OK

| Campo     | Tipo    | Descrição                                                                     |
| --------- | ------- | ----------------------------------------------------------------------------- |
| `valid`   | boolean | Se o número passa na verificação de Luhn                                      |
| `network` | string  | Bandeira do cartão: `visa`, `mastercard`, `amex`, `discover`, `unknown`, etc. |
| `length`  | number  | Número de dígitos                                                             |

**Exemplo**

```json theme={null}
{
  "valid": true,
  "network": "visa",
  "length": 16
}
```

### 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

```json theme={null}
{
  "detail": "Missing required field: number"
}
```

### 429 Too Many Requests

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

## Exemplo cURL

```bash theme={null}
curl -X POST https://api.bunny.build/api/v1/credit-card-validator \
  -H "X-API-Key: bun_sua_chave_api" \
  -H "Content-Type: application/json" \
  -d '{"number": "4111111111111111"}'
```
