Ir a la documentación
API

Listar personas

Todos los que lista la página de Contactos de la app: los contactos guardados y cada dirección vista en el correo como remitente o destinatario del mensaje más reciente de un hilo, con cuántos hilos comparte cada una con el buzón y cuándo se movió el último correo. Una persona vista en el correo y guardada es una sola fila. La paginación es por clave: `limit` llega hasta 100 y vale 25 por defecto, y `nextCursor` vuelve como `cursor` mientras `hasMore` sea true.

GETapi.openemail.uk/contacts/people

Ejecuta la llamada real contra tu espacio de trabajo, con tu propia clave.

GET /contacts/people

Todos los que lista la página de Contactos de la app: los contactos guardados y cada dirección vista en el correo como remitente o destinatario del mensaje más reciente de un hilo, con cuántos hilos comparte cada una con el buzón y cuándo se movió el último correo. Una persona vista en el correo y guardada es una sola fila. La paginación es por clave: limit llega hasta 100 y vale 25 por defecto, y nextCursor vuelve como cursor mientras hasMore sea true.

Ejemplo

Requiere contacts:read. Las direcciones vistas en el correo solo se incluyen cuando la clave también tiene threads:read.

curl
curl "$OE/contacts/people?sort=threads&limit=25" -H "$AUTH"
Respuesta
{  "object": "list",  "data": [    {      "object": "person",      "email": "[email protected]",      "displayEmail": "[email protected]",      "name": "Ada Lovelace",      "saved": true,      "source": "manual",      "notes": "Met at the engine demo",      "photoUrl": null,      "threads": 42,      "lastAt": "2026-09-22T16:04:11.000Z",      "createdAt": "2026-08-01T10:00:00.000Z",      "updatedAt": "2026-09-01T09:12:00.000Z",      "blockedBy": null    },    {      "object": "person",      "email": "[email protected]",      "displayEmail": "[email protected]",      "name": "Shop",      "saved": false,      "source": null,      "notes": null,      "photoUrl": null,      "threads": 17,      "lastAt": "2026-09-21T07:30:00.000Z",      "createdAt": null,      "updatedAt": null,      "blockedBy": { "rule": "shop.example", "list": "blockedDomains" }    }  ],  "hasMore": true,  "nextCursor": "WyIyMDI2LTA5LTIxVDA3OjMwOjAwLjAwMFoiLDE3XQ",  "seen": true}

sort es recent (por defecto), el correo más reciente primero y los contactos guardados nunca vistos en el correo después, name, por nombre o, si no hay, por dirección y sin distinguir mayúsculas, o threads, los que tienen más hilos primero. Los empates se resuelven por la dirección, así que un recorrido nunca repite ni se salta una fila.

q busca en nombres, direcciones y notas. email lee una sola dirección, que es cómo se obtiene el número de hilos y el último correo de una persona. blocked=true devuelve solo a las personas que bloquea la lista de bloqueo del espacio de trabajo, incluidas las reglas de dominio entero, y blockedBy nombra la regla en cada fila.

Sin threads:read, las filas son solo los contactos guardados y seen es false, porque el resto se lee del correo. Las direcciones eliminadas y las propias del buzón nunca se listan. El cursor es opaco: devuélvelo con los mismos sort, q y blocked, y uno que no se haya entregado es un 400 invalid_cursor.