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

# Errors and limits

> Response envelope, status codes, validation and rate limits.

# Errors and limits

## Envelope

Every response — success or failure — looks like this:

```json theme={null}
{ "success": true, "message": "Done", "data": { "...": "..." } }
```

## Status codes

| Code | Meaning |
| - | - |
| `200` / `201` / `202` | Success, created, accepted |
| `302` | OAuth and click-redirect hops — follow the location |
| `400` | Malformed request |
| `401` | Missing, expired or revoked credential |
| `403` | Authenticated but not allowed (wrong key type, unverified domain) |
| `404` | Unknown id or path |
| `422` | Validation failed — `message` names the field |
| `429` | Quota, send rate or sign-in throttling — back off and retry |

## Rate limits

Authentication endpoints are throttled per IP (20 requests/minute), with five failed password attempts locking sign-in for 15 minutes. Sending is paced by your plan's per-minute rate and monthly allowance instead — see [Billing](/docs/guides/billing).

## Validation

Bodies are validated strictly: unknown rules are rejected, emails must parse, and passwords need at least 12 characters. The `message` always explains the first problem; fix it and resend.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.