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

List mailboxes

GET/mailboxes

Lists the mailboxes the key can reach. It’s usually the first call you make: most other endpoints take one of these ids.

Needs the permissionmailboxes:list

A key sees what its person sees: the mailboxes shared with everyone, with one of their teams or with them, and their own private ones. An administrator’s key sees every shared mailbox. The list isn’t paginated, because an organisation has tens of mailboxes, not thousands.

access and visibility describe each mailbox. They aren’t what limits the key: that was decided before the list was made.

Returns

A list of mailboxes, each with:

idstring
Pass it as mailbox or mailboxId to the other endpoints.
emailstring
The address.
namestring
The name recipients see.
labelstring or null
The name colleagues see in DMU Mail. Null means the address is shown.
statusstring
active, paused or broken. Broken means the password or the server stopped working and DMU Mail stopped checking it.
visibilitystring
shared with the organisation, or private to one person.
accessobject or null
Who can see it: { "everyone": true }, or { "everyone": false, "teamIds": […], "userIds": […] } for the teams and people ticked on it. Administrators always can. Null for a private mailbox.
teamIdstring or null
Kept for integrations written before October 2026: the first team ticked, or null for everyone, people only or private. Read access instead.
lastSyncAtstring or null
When DMU Mail last fetched its mail.
lastErrorstring or null
What the mail server said when fetching last failed.
authMethodstring
password, or google or microsoft for a mailbox that signs in with the provider.
iconobject
How DMU Mail draws it: style (default, icon, emoji or image), background, and the name, emoji or image its style uses.

Errors

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 mailboxes: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/mailboxes \
  -H "Authorization: Bearer dmk_7f3a9c2e1b4d_Xq8v…"

Response

200 OK

{
  "data": [
    {
      "id": "9e53e6ba",
      "email": "info@aegeanfreight.gr",
      "name": "Aegean Freight",
      "label": null,
      "status": "active",
      "visibility": "shared",
      "access": {
        "everyone": true,
        "teamIds": [],
        "userIds": []
      },
      "teamId": null,
      "lastSyncAt": "2026-09-27T08:12:04.000Z",
      "lastError": null,
      "authMethod": "password",
      "icon": {
        "style": "default",
        "background": "default",
        "name": null,
        "emoji": null,
        "image": null
      }
    }
  ]
}

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