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

# Contacts

> The people an account has emailed with.

The engine builds the contact list from synced mail: everyone in from, to, cc or bcc. The account's own address is left out.

```bash theme={null}
curl "$EE_URL/api/v1/contacts?account_id=acc_ba1fa6938d8548298e8ce62e4b4b4e99&q=ana&limit=20" -H "X-API-KEY: $EE_KEY"
```

<ParamField query="account_id" type="string">One account (`acc_…`). Leave it out to list contacts across all accounts (each item says which account).</ParamField>
<ParamField query="q" type="string">Search the address and the name.</ParamField>
<ParamField query="limit" type="integer" default="50">1 to 250.</ParamField>
<ParamField query="cursor" type="string">From the previous page.</ParamField>

```json Response theme={null}
{
  "object": "Contacts",
  "data": [
    {
      "object": "Contact",
      "account_id": "acc_ba1fa6938d8548298e8ce62e4b4b4e99",
      "identifier": "ana@example.com",
      "display_name": "Ana Lee",
      "emails_count": 42,
      "last_email_at": "2026-10-06T09:12:00Z"
    }
  ],
  "has_more": false,
  "cursor": null
}
```

| Field | |
| - | - |
| `account_id` | The account that emailed with this person |
| `identifier` | The address, in lowercase |
| `display_name` | The name from their latest email |
| `emails_count` | How many synced emails include this address |
| `last_email_at` | The date of the latest one |

The most recent contacts come first. When `has_more` is `true`, pass `cursor` back to get the next page. See [Pagination](/reference/pagination).

<Note>
  Contacts only come from mail the engine has synced. Mail from before the account connected isn't synced, so the list starts empty and grows as mail arrives.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.