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

# Response Structure

## Success

```json theme={null}
{
  "data": { ... },
  "message": "Optional human-readable message"
}
```

***

## Collections

```json theme={null}
{
  "data": [ ... ],
  "pagination": { ... },
  "message": "Optional message"
}
```

***

## Error

```json theme={null}
{
  "error": {
    "key": "ERROR_CODE",
    "message": "Human-readable explanation",
    "details": { }
  }
}
```

***

## Validation errors

Always HTTP 422.

```json theme={null}
{
  "errors": [
    {
      "parameter": "email",
      "message": "Invalid email address",
      "key": "INVALID_EMAIL_ADDRESS"
    }
  ]
}
```

***

## Rate limit

Always 429.

```json theme={null}
{
  "error": {
    "key": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please retry after the rate limit window resets."
  }
}
```

```http Headers theme={null}
HTTP/1.1 429 Too Many Requests
Retry-After: 60
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1705228800
```

***

## General rules

* data is never mixed with error.
* Empty collections always return an empty array.
* Messages are optional and intended for debugging or logging.


## Related topics

- [How To](/api/core-api/how-to.md)
- [Authentication](/authentication.md)
- [Retrieve status of the API](/api-reference/health/retrieve-status-of-the-api.md)
