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

# Pagination, filtering & sorting

> How Oviond list endpoints page, filter, and sort results — page/limit parameters, the meta totals, search, and sort order.

List endpoints (for example `GET /v1/clients`, `GET /v1/projects`) return a page of results plus a `meta` block describing the full set.

## Pagination

Control the page with two query parameters:

| Parameter | Type    | Default | Notes                                   |
| --------- | ------- | ------- | --------------------------------------- |
| `page`    | integer | `0`     | **Zero-based** — the first page is `0`. |
| `limit`   | integer | `20`    | Items per page, `1`–`100`.              |

The response repeats these in `meta` along with the total count:

```bash theme={null}
curl "https://api.oviond.com/v1/clients?page=0&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

```json theme={null}
{
  "success": true,
  "data": [ { "id": "...", "name": "Acme" } ],
  "meta": { "page": 0, "limit": 20, "total": 137 }
}
```

To walk every page, request `page=0`, `page=1`, … until `page * limit >= total`.

<Note>
  Some endpoints expose an unpaginated `/all` variant (for example `GET /v1/clients/all`) that returns a lightweight `{ id, name }[]` of every record — handy for populating dropdowns without paging.
</Note>

## Filtering

Most list endpoints accept a free-text `search` parameter plus resource-specific filters. Common examples:

| Parameter   | Example endpoint                  | Purpose                                     |
| ----------- | --------------------------------- | ------------------------------------------- |
| `search`    | `GET /v1/clients?search=acme`     | Free-text match on name and related fields. |
| `client_id` | `GET /v1/projects?client_id=...`  | Scope results to one client.                |
| `folder_id` | `GET /v1/clients?folder_id=...`   | Scope clients to a folder.                  |
| `type`      | `GET /v1/projects?type=DASHBOARD` | Filter by resource type.                    |

Filters combine with `AND`. The exact set differs per endpoint — check each endpoint's **Query Parameters** in the [API reference](/api/introduction).

## Sorting

Where sorting is supported, use:

| Parameter | Default      | Notes              |
| --------- | ------------ | ------------------ |
| `sort_by` | `updated_at` | Column to sort by. |
| `order`   | `desc`       | `asc` or `desc`.   |

```bash theme={null}
curl "https://api.oviond.com/v1/clients?sort_by=name&order=asc" \
  -H "Authorization: Bearer YOUR_API_KEY"
```
