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

# Paginación y filtros

> Cómo listar datos con cursor, filtros y orden.

# Paginación y filtros

Los endpoints de lista usan paginación por cursor.

## Parámetros

| Parámetro | Descripción                                                                |
| --------- | -------------------------------------------------------------------------- |
| `limit`   | Tamaño de página. Por defecto `50`, máximo `100`.                          |
| `cursor`  | Cursor opaco devuelto por una respuesta anterior.                          |
| `order`   | `created_at desc`, `created_at asc`, `updated_at desc` o `updated_at asc`. |

## Respuesta

```json theme={null}
{
  "data": [],
  "pagination": {
    "next_cursor": null,
    "previous_cursor": null,
    "limit": 50
  }
}
```

## Uso de cursores

En la primera petición puedes enviar filtros y orden:

```http theme={null}
GET /v1/persons?status=missing&limit=50&order=updated_at%20desc
```

En la siguiente petición, usa solo `cursor` y opcionalmente `limit`:

```http theme={null}
GET /v1/persons?cursor=<next_cursor>&limit=50
```

Si envías `cursor` junto con otros filtros, la API responde `422`.

## Filtros de personas

* `status`: `all`, `missing`, `found`, `not_missing` (este último siempre devuelve una lista vacía; ver [Personas](/api/persons)).
* `query`: texto de búsqueda. Valores menores a 3 caracteres se ignoran.
* `gender`: lista separada por comas. Valores: `female`, `male`, `other`.
* `hospital`: lista separada por comas. Usa los handles documentados en la referencia OpenAPI.
* `hospital_status`: lista separada por comas. Valores: `admitted`, `discharged`, `deceased`.
* `shelter`: lista separada por comas.
* `source`: lista separada por comas. Valores: `form`, `hospital_list`, `persons_list`, `shelter_list`, `pacientes_terremoto_venezuela`, `sos_venezuela_2026`, `laguaira_hsiciliano`, `venezuela_te_cuida`, `dra_florangel_vera`, `venezuela_reporta`.
* `age_min`: edad mínima.
* `age_max`: edad máxima.

## Filtros de recursos

* `country`: `all`, `VE`, `XX`.
* `type`: `all`, `website`, `organization`, `hospital`, `hotline`,
  `shelter`, `government`, `volunteer`, `other`.
* `query`: texto de búsqueda. Valores menores a 3 caracteres se ignoran.

## Reportes de personas

`GET /v1/persons/{person_id}/reports` acepta únicamente `limit` y `cursor`.
Lista reportes pendientes activos por `created_at desc`; no admite filtros ni
orden personalizado. Un cursor de otra persona responde `422`.
