Convidar um membro
Por email, com uma função, e opcionalmente com endereços e domínios inteiros que chegam quando a pessoa aceita.
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 -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" }'{ "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.