> ## 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 /random-password/generate

> Gere senhas aleatórias criptograficamente seguras com tamanho e conjuntos de caracteres configuráveis, além de entropia em bits para sua política de força.

## Endpoint

```
POST https://api.bunny.build/api/v1/random-password/generate
```

## Autenticação

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

## Visão geral

Gere senhas aleatórias criptograficamente seguras sob demanda. O Gerador de Senhas da Bunny permite controlar o comprimento e os conjuntos de caracteres (maiúsculas, minúsculas, números e símbolos) e retorna a senha junto com sua entropia em bits para que você possa aplicar sua própria política de força.

## Casos de uso

* Gerar senhas temporárias para novas contas de usuário
* Alimentar a UI de sugestão de senhas em fluxos de cadastro
* Criar tokens de API e chaves secretas seguras
* Automatizar a geração de credenciais em pipelines DevOps

## Detalhes

Comprimento: 4–256 caracteres. A entropia é calculada como `log2(charset_size^length)`. Se nenhum conjunto de caracteres for especificado, letras minúsculas e números são usados por padrão.

## Corpo da requisição

| Campo       | Tipo    | Obrigatório | Descrição                                      |
| ----------- | ------- | ----------- | ---------------------------------------------- |
| `length`    | integer | Sim         | Comprimento da senha (ex.: `16`)               |
| `uppercase` | boolean | Não         | Incluir letras maiúsculas (padrão: `true`)     |
| `lowercase` | boolean | Não         | Incluir letras minúsculas (padrão: `true`)     |
| `numbers`   | boolean | Não         | Incluir dígitos (padrão: `true`)               |
| `symbols`   | boolean | Não         | Incluir caracteres especiais (padrão: `false`) |

### Exemplo

```json theme={null}
{
  "length": 16,
  "uppercase": true,
  "lowercase": true,
  "numbers": true,
  "symbols": true
}
```

## Resposta

### 200 OK

| Campo      | Tipo   | Descrição                                               |
| ---------- | ------ | ------------------------------------------------------- |
| `password` | string | A senha gerada                                          |
| `length`   | int    | Comprimento real da senha                               |
| `strength` | string | Força estimada: `weak`, `fair`, `strong`, `very_strong` |

**Exemplo**

```json theme={null}
{
  "password": "aB3$kLm9!Xz2#qRt",
  "length": 16,
  "strength": "very_strong"
}
```

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

Parâmetros inválidos.

```json theme={null}
{
  "detail": "Length must be between 4 and 128"
}
```

### 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/random-password/generate \
  -H "X-API-Key: bun_sua_chave_api" \
  -H "Content-Type: application/json" \
  -d '{"length": 16, "uppercase": true, "lowercase": true, "numbers": true, "symbols": true}'
```
