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

# Formato de Resposta

> Como as respostas da API Wappfy são estruturadas — o envelope padrão, paginação e formato de erro.

# Formato de Resposta

Todas as respostas da API Wappfy seguem um formato de envelope consistente.

## Respostas de sucesso

Toda resposta bem-sucedida é envolvida em um objeto padrão:

```json theme={null}
{
  "success": true,
  "data": { ... },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

| Campo            | Tipo              | Descrição                                        |
| ---------------- | ----------------- | ------------------------------------------------ |
| `success`        | `boolean`         | Sempre `true` para respostas bem-sucedidas       |
| `data`           | `object \| array` | O payload da resposta                            |
| `meta.requestId` | `string`          | Identificador único da requisição para depuração |
| `meta.timestamp` | `string`          | Timestamp no formato ISO 8601                    |

## Respostas paginadas

Endpoints que retornam listas incluem metadados de paginação:

```json theme={null}
{
  "success": true,
  "data": {
    "items": [ ... ],
    "total": 42,
    "page": 1,
    "limit": 20,
    "totalPages": 3
  },
  "meta": {
    "requestId": "req_def456",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

Use os parâmetros de query `page` e `limit` para controlar a paginação:

```bash theme={null}
GET /api/instances?page=2&limit=10
```

## Respostas de erro

Requisições que falharam retornam um objeto de erro:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "INSTANCE_NOT_FOUND",
    "message": "Instance with ID abc123 not found",
    "details": {}
  },
  "meta": {
    "requestId": "req_ghi789",
    "timestamp": "2026-02-10T12:00:00.000Z"
  }
}
```

### Códigos de erro comuns

| Status HTTP | Código                | Descrição                                  |
| ----------- | --------------------- | ------------------------------------------ |
| `400`       | `VALIDATION_ERROR`    | O corpo da requisição falhou na validação  |
| `401`       | `UNAUTHORIZED`        | Token de autenticação ausente ou inválido  |
| `403`       | `FORBIDDEN`           | Permissões insuficientes                   |
| `404`       | `NOT_FOUND`           | O recurso não existe                       |
| `409`       | `PLAN_LIMIT_REACHED`  | Limite de instâncias do seu plano atingido |
| `429`       | `RATE_LIMIT_EXCEEDED` | Muitas requisições                         |
| `500`       | `INTERNAL_ERROR`      | Erro inesperado do servidor                |

<Note>
  O campo `meta.requestId` é útil para solicitações de suporte — inclua-o ao entrar em contato com o suporte para uma depuração mais rápida.
</Note>
