Base URL
https://app.dmu.email/api/v1
Authentication
Bearer dmk_… API key
Rate limit
120 requests a minute per key

List correspondents

GET/correspondents

Looks up addresses for a recipient field: colleagues first, then people your organisation has exchanged mail with.

Needs the permissioncontacts:list

Until October 2026 this was GET /contacts. It moved here unchanged, with the same permission, when that address became List contacts.

Colleagues match on their name or address, other people on their address, the most recent first. A query shorter than two characters returns an empty list.

Query parameters

qstringrequired
Part of a name or address, at least two characters.
limitnumberoptional
1 to 50, or 8 if you leave it out. No more than 20 come back.

Returns

A list of people, each with:

emailstring
The address.
namestring or null
Their name, when it’s known.
kindstring
colleague or correspondent.
lastSeenstring or null
When your organisation last exchanged mail with them. Null for colleagues.

Errors

400bad_limit
limit isn’t a whole number from 1 to 50.
401invalid_key
The key is wrong, expired or revoked. With no Authorization header at all, the code is missing_credentials.
403missing_scope
The key doesn’t have contacts:list. The X-Required-Scope header names what’s missing.
429rate_limited
More than 120 requests a minute from this key. Wait for Retry-After seconds.
curl "https://app.dmu.email/api/v1/correspondents?q=maria&limit=8" \
  -H "Authorization: Bearer dmk_7f3a9c2e1b4d_Xq8v…"

Response

200 OK

{
  "data": [
    {
      "email": "maria@example.com",
      "name": "Maria Papadaki",
      "kind": "correspondent",
      "lastSeen": "2026-09-26T15:42:10.000Z"
    }
  ]
}

Every response wraps its result in data. A page of threads adds nextCursor, which is null on the last page.