Saltar para a documentação
API

Listar pessoas

Todos os que a página de Contactos da app lista: os contactos guardados e cada endereço visto no correio como remetente ou destinatário da mensagem mais recente de uma conversa, com quantas conversas cada um partilha com a caixa e quando se mexeu o último correio. Uma pessoa vista no correio e guardada é uma só linha. A paginação é por chave: `limit` vai até 100 e vale 25 por omissão, e `nextCursor` volta como `cursor` enquanto `hasMore` for true.

GETapi.openemail.uk/contacts/people

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

GET /contacts/people

Todos os que a página de Contactos da app lista: os contactos guardados e cada endereço visto no correio como remetente ou destinatário da mensagem mais recente de uma conversa, com quantas conversas cada um partilha com a caixa e quando se mexeu o último correio. Uma pessoa vista no correio e guardada é uma só linha. A paginação é por chave: limit vai até 100 e vale 25 por omissão, e nextCursor volta como cursor enquanto hasMore for true.

Exemplo

Requer contacts:read. Os endereços vistos no correio só são incluídos quando a chave também tem threads:read.

curl
curl "$OE/contacts/people?sort=threads&limit=25" -H "$AUTH"
Resposta
{  "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 é recent (por omissão), o correio mais recente primeiro e os contactos guardados nunca vistos no correio depois, name, por nome ou, na falta dele, por endereço e sem distinguir maiúsculas, ou threads, os que têm mais conversas primeiro. Os empates desfazem-se pelo endereço, por isso um percurso nunca repete nem salta uma linha.

q pesquisa nomes, endereços e notas. email lê um só endereço, que é como se obtém o número de conversas e o último correio de uma pessoa. blocked=true devolve só as pessoas que a lista de bloqueio do espaço de trabalho bloqueia, incluindo regras de domínio inteiro, e blockedBy indica a regra em cada linha.

Sem threads:read, as linhas são só os contactos guardados e seen é false, porque o resto é lido do correio. Os endereços eliminados e os próprios endereços da caixa nunca são listados. O cursor é opaco: devolva-o com os mesmos sort, q e blocked, e um que não tenha sido entregue é um 400 invalid_cursor.