# range-empty

The time range **contains no instant**.

- **Status:** `422 Unprocessable Entity`
- **Route:** `POST /api/v1/generate-events`
- **Description:** `range is empty: expected from to lie before to`
- **Details:** **`from`** and **`to`**, the bounds as the request gave them.

## Why It Happens

`from` does not lie before `to`. The range is half-open, so it includes `from`, but not `to`, and a range whose bounds are the same instant is empty, too. Often, the bounds are simply swapped.

## How to Fix It

Make `from` lie before `to`.

## Example

For a range whose bounds are swapped, SynthEvents answers:

```json
{
  "type": "error",
  "data": {
    "code": "https://docs.synthevents.io/errors/range-empty",
    "description": "range is empty: expected from to lie before to",
    "details": {
      "from": "2026-01-01T00:00:00Z",
      "to": "2025-01-01T00:00:00Z"
    }
  }
}
```
