Saltar para a documentação
API

Convidar um membro

Por email, com uma função, e opcionalmente com endereços e domínios inteiros que chegam quando a pessoa aceita.

POSTapi.openemail.uk/members

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

POST /members

Por email, com uma função, e opcionalmente com endereços e domínios inteiros que chegam quando a pessoa aceita.

Exemplo

Requer members:write. Devolve 202 com o convite. Ninguém está no espaço de trabalho enquanto não o aceitar. access assume member por omissão e aplica-se a todos os ids em addressIds e 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"  }'
Resposta
{  "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"}

TODA A GENTE É CONVIDADA. Quer o endereço já tenha uma conta OpenEmail quer não, a resposta é um convite e um 202, nunca um membro. Ninguém é colocado num espaço de trabalho sem aceitar, e este endpoint está sujeito à mesma regra que a aplicação. Alguém que já esteja no espaço de trabalho é recusado com member_is_owner, um 422: altere o que essa pessoa pode fazer com PATCH /members/{userId} e com as chamadas de concessão.

O convite leva consigo a função, os endereços e os domínios inteiros que indicar, e concede exatamente esses no momento em que for aceite. Nada é concedido antes disso. Um domínio inteiro cobre todos os endereços nele, incluindo os criados depois de o convite ter sido enviado.

POST em vez de PUT sobre um id de utilizador, porque quem chama não conhece o id do utilizador e pode estar a convidar alguém que ainda não tem conta. O que conhece é um endereço de email.

Pedir duas vezes em menos de dez minutos é invitation_too_soon, um 409. Passado esse tempo, o único convite pendente é renovado, é gerada uma nova ligação e a antiga é anulada, em vez de ser enviado um segundo.

delivered: false significa que o convite existe mas o email não saiu do servidor de correio. deliveryError diz o que o servidor respondeu. Nada chegou à pessoa, por isso volte a enviá-lo a partir da aplicação assim que o período de espera passar.

invitedBy é deixado a null deliberadamente em vez de ser atribuído ao proprietário do espaço de trabalho. A coluna regista que PESSOA convidou alguém, e uma chave de API não é uma pessoa.

O proprietário do espaço de trabalho é recusado com member_is_owner, um 422. Não é um membro e não pode ser tornado um.