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

# Pagination

Depending on the API and use case, one of the following pagination styles may be used.
The endpoints will document the supported parameters.

## Offset / Page Pagination

Suitable for smaller or static datasets.

### Possible GET parameters

* `limit`
* `page_size`
* `page`
* `offset`

### Request

```text Request theme={null}
GET /users?limit=50&offset=100
GET /users?page=2&page_size=25
```

### Response

```json Response theme={null}
{
  "data": [...],
  "pagination": {
    "page": 2,
    "page_size": 25,
    "total_pages": 10
  }
}
```

***

## Cursor pagination

Recommended for large or frequently changing datasets.

### Possible GET parameters

* `cursor`
* `limit`

### Request

```Text Request theme={null}
GET /users?cursor=base64EncodedCursor&limit=100
```

### Response

```json Response theme={null}
{
  "data": [...],
  "pagination": {
    "cursor": {
      "next": "nextCursorValue",
      "prev": "previousCursorValue"
    }
  }
}
```

***

## General rules

* Pagination metadata is always returned via a pagination object.
* Clients must treat cursor values as opaque.
* If no results are found, an empty array is returned (data: \[]), never null.


## Related topics

- [Retrieves sensors](/api-reference/sensors/retrieves-sensors.md)
- [Retrieves plugs](/api-reference/plugs/retrieves-plugs.md)
- [Retrieves meters](/api-reference/meters/retrieves-meters.md)
