Ga direct naar de documentatie
API

Een lid uitnodigen

Op e-mailadres, met een rol, en optioneel met adressen en hele domeinen die worden toegekend zodra diegene accepteert.

POSTapi.openemail.uk/members

Voert de echte aanroep uit op je workspace, met je eigen sleutel.

POST /members

Op e-mailadres, met een rol, en optioneel met adressen en hele domeinen die worden toegekend zodra diegene accepteert.

Voorbeeld

Vereist members:write. Geeft 202 terug met de uitnodiging. Niemand zit in de workspace totdat hij die accepteert. access is standaard member en geldt voor elk id in addressIds en domainIds.

curl
curl -X POST "$OE/members" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "email": "[email protected]",    "roleId": "role_2b81de079c1f0a4b7e05d386",    "domainIds": ["93542ff8-2baa-4f2f-841d-5ceaa074ab0d"],    "access": "member"  }'
Respons
{  "object": "invitation",  "id": "winv_6bb640f5b99e47deb758f1f5",  "email": "[email protected]",  "role": {    "id": "role_2b81de079c1f0a4b7e05d386",    "name": "Support",    "builtin": null  },  "addresses": [],  "domains": [    {      "domainId": "93542ff8-2baa-4f2f-841d-5ceaa074ab0d",      "domain": "acme.com",      "access": "member"    }  ],  "expiresAt": "2026-10-02T14:07:31.000Z",  "delivered": true,  "deliveryError": null,  "createdAt": "2026-09-18T14:07:31.000Z"}

IEDEREEN WORDT UITGENODIGD. Of het adres nu al een OpenEmail-account heeft of niet, het antwoord is een uitnodiging en een 202, nooit een lid. Niemand wordt zonder te accepteren in een workspace gezet, en dit endpoint houdt zich aan dezelfde regel als de app. Iemand die al in de workspace zit wordt geweigerd met member_is_owner, een 422: wijzig in plaats daarvan wat diegene mag doen met PATCH /members/{userId} en de toekenningsaanroepen.

De uitnodiging draagt de rol, de adressen en de hele domeinen die je noemt, en kent precies die toe op het moment dat ze wordt geaccepteerd. Daarvoor wordt er niets toegekend. Een heel domein dekt elk adres erop, ook adressen die na het versturen van de uitnodiging zijn aangemaakt.

POST in plaats van PUT op een user-id, omdat de aanroeper het user-id niet kent en mogelijk iemand uitnodigt die nog geen account heeft. Wat hij kent is een e-mailadres.

Twee keer vragen binnen tien minuten levert invitation_too_soon op, een 409. Daarna wordt de ene openstaande uitnodiging ververst, wordt er een nieuwe link aangemaakt en de oude ingetrokken, in plaats van dat er een tweede wordt verstuurd.

delivered: false betekent dat de uitnodiging bestaat maar dat de e-mail de mailserver niet heeft verlaten. deliveryError vertelt wat de server zei. Er is niets bij diegene aangekomen, dus verstuur hem opnieuw vanuit de app zodra de wachttijd voorbij is.

invitedBy wordt bewust op null gelaten in plaats van aan de eigenaar van de workspace toegeschreven. De kolom legt vast welke PERSOON iemand heeft uitgenodigd, en een API-sleutel is geen persoon.

De eigenaar van de workspace wordt geweigerd met member_is_owner, een 422. Die is geen lid en kan er ook geen worden.