# Listar contactos (/es/api-reference/contacts/listContacts)

`GET /v1/contacts`

Base URL: `https://api.bitelio.com`

Obtiene una lista paginada de contactos con paginación basada en cursor.

---

**Versionado de rutas.** Este recurso también responde en `/contacts`, sin versionar, que es donde siempre ha estado y donde seguirá funcionando indefinidamente — `bitelio@0.1.0` llama ahí. Usa `/v1/contacts`: el prefijo `/v1` es el que lleva una promesa de versión detrás, y un futuro `/v2` podrá cambiar de forma sin romper nada escrito contra este.

## Query parameters

- `limit`: integer — Número máximo de elementos por página
- `cursor`: string — Cursor de paginación
- `search`: string — Coincidencia de subcadena sin distinguir mayúsculas/minúsculas sobre el correo.

## Responses

### `200` — Lista de contactos

- `data`: array<object>
  items:
    - `id`: string — Identificador único del contacto
    - `email`: string (email) — Dirección de correo electrónico del contacto
    - `subscribed`: boolean — Estado de suscripción
    - `data`: object — Campos de datos personalizados del contacto
    - `createdAt`: string (date-time)
    - `updatedAt`: string (date-time)
- `cursor`: string — Cursor para la siguiente página. Devuélvelo como el parámetro de consulta `cursor` para obtener la siguiente página.
- `hasMore`: boolean
- `total`: integer — Recuento total. Solo se completa en la primera página (cuando no se proporciona `cursor`); las páginas siguientes devuelven `0` para evitar el costo de recontar.

```json
{
  "data": [
    {
      "id": "string",
      "email": "user@example.com",
      "subscribed": false,
      "data": null,
      "createdAt": "2026-10-13T07:11:40.094Z",
      "updatedAt": "2026-10-13T07:11:40.094Z"
    }
  ],
  "cursor": "string",
  "hasMore": false,
  "total": 0
}
```

## Example request

```bash
curl -X GET 'https://api.bitelio.com/v1/contacts' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```
