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

# Paginación

> Parámetros de query estándar para endpoints de lista, y cómo recorrer cada página.

Los endpoints de lista aceptan estos parámetros de query:

| Parámetro   | Tipo            | Default     | Notas                                                                |
| ----------- | --------------- | ----------- | -------------------------------------------------------------------- |
| `limit`     | entero 1..100   | `50`        | Tamaño de página.                                                    |
| `offset`    | entero ≥ 0      | `0`         | Cantidad de registros a saltar.                                      |
| `query`     | string          | —           | Búsqueda libre por nombre, email, empresa, teléfono (donde aplique). |
| `sortBy`    | string          | `createdAt` | Específico de cada endpoint.                                         |
| `sortOrder` | `asc` \| `desc` | `desc`      |                                                                      |

## Recorriendo páginas

```js theme={null}
async function* iterateLeads(apiKey) {
  let offset = 0;
  const limit = 100;
  while (true) {
    const res = await fetch(
      `https://panel.flowestate.app/api/v1/leads?limit=${limit}&offset=${offset}`,
      { headers: { Authorization: `Bearer ${apiKey}` } }
    );
    const { data, pagination } = await res.json();
    for (const lead of data) yield lead;
    if (!pagination.hasMore) break;
    offset += limit;
  }
}
```

Detente cuando `pagination.hasMore` sea `false`.

## Filtros

La mayoría de los endpoints de lista aceptan parámetros de filtro adicionales sobre los estándar — por ejemplo `status` y `source` en `/leads`. Los parámetros de filtro están listados por endpoint en la [Referencia API](/es/api-reference/overview).

## Notas

* **No caches offsets en sesiones largas.** Los registros nuevos se insertan al tope (orden por defecto `createdAt desc`), así que un offset que apuntaba a "página 5" ayer ya no es la misma ventana hoy. Repagina desde cero.
* **Para exportes grandes**, considera ordenar `sortBy=createdAt&sortOrder=asc` y paginar cronológicamente. Así los inserts nuevos no te corren la posición.
* **`limit` está topado a 100.** Valores más altos se clampean silenciosamente.
