> ## 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 /qr-code

> Gere QR codes em PNG ou SVG a partir de qualquer texto ou URL.

## Endpoint

```
POST https://api.bunny.build/api/v1/qr-code
```

## Autenticação

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

## Visão geral

Gere QR codes a partir de qualquer texto ou URL nos formatos PNG ou SVG. Controle o tamanho da saída e o nível de correção de erros para equilibrar legibilidade e densidade de dados. A resposta inclui uma imagem em base64 pronta para ser incorporada diretamente na sua aplicação.

## Casos de uso

* Exibir QR codes durante o onboarding de aplicativos móveis para vincular dispositivos
* Gerar links de pagamento ou URLs promocionais para campanhas impressas e digitais
* Incorporar entradas de catálogo de produtos com links escaneáveis
* Emitir ingressos de eventos com dados de check-in codificados

## Corpo da requisição

| Campo              | Tipo    | Obrigatório | Descrição                                                               |
| ------------------ | ------- | ----------- | ----------------------------------------------------------------------- |
| `data`             | string  | Sim         | O texto ou URL a ser codificado                                         |
| `format`           | string  | Não         | Formato de saída: `"png"` ou `"svg"`. Padrão: `"png"`                   |
| `size`             | integer | Não         | Tamanho da imagem em pixels (100–1000). Padrão: `256`                   |
| `error_correction` | string  | Não         | Nível de correção de erros: `"L"`, `"M"`, `"Q"` ou `"H"`. Padrão: `"M"` |

### Exemplo

```json theme={null}
{
  "data": "https://bunny.build",
  "format": "png",
  "size": 256
}
```

## Resposta

### 200 OK

| Campo       | Tipo    | Descrição                            |
| ----------- | ------- | ------------------------------------ |
| `format`    | string  | Formato de saída: `"png"` ou `"svg"` |
| `size`      | integer | Tamanho da imagem em pixels          |
| `mime_type` | string  | Tipo MIME da imagem codificada       |
| `image`     | string  | Imagem PNG ou SVG em base64          |

**Exemplo**

```json theme={null}
{
  "format": "png",
  "size": 256,
  "mime_type": "image/png",
  "image": "iVBORw0KGgoAAAANSUhEUgAA..."
}
```

### 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": "Field 'data' is required."
}
```

### 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/qr-code \
  -H "X-API-Key: bun_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"data": "https://bunny.build", "format": "png", "size": 256}'
```
