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

Add a team member

PUT/teams/{id}/members/{userId}

Puts one person in a team. Doing it twice is harmless.

Needs the permissionteams:update

Path parameters

idstringrequired
The team.
userIdstringrequired
The person’s user id.

Returns

The team, with them in it.

Errors

400not_a_member
The person isn’t an active member of the organisation.
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 teams:update. The X-Required-Scope header names what’s missing.
403not_admin
The key’s owner isn’t an administrator.
404not_found
There’s no such team.
429rate_limited
More than 120 requests a minute from this key. Wait for Retry-After seconds.
curl https://app.dmu.email/api/v1/teams/6e1b7c40/members/284113279415566337 \
  -X PUT \
  -H "Authorization: Bearer dmk_7f3a9c2e1b4d_Xq8v…"

Response

200 OK

{
  "data": {
    "id": "6e1b7c40",
    "name": "Customer Service",
    "description": "Front desk and returns",
    "members": [
      {
        "userId": "284113279415566337",
        "name": "Maria Kalogirou",
        "email": "maria@aegeanfreight.gr",
        "suspended": false
      }
    ],
    "mailboxes": [
      {
        "id": "9e53e6ba",
        "email": "info@aegeanfreight.gr",
        "name": "Aegean Freight",
        "label": null
      }
    ]
  }
}

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