Saltar para a documentação
API

Alterar a função de um membro

A função e nada mais. Os endereços são o outro eixo e têm as suas próprias chamadas.

PATCHapi.openemail.uk/members/{userId}

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

PATCH /members/{userId}

A função e nada mais. Os endereços são o outro eixo e têm as suas próprias chamadas.

Exemplo

Requer members:write. roleId é o único campo, e é obrigatório. Esta chamada nomeia o estado que quer em vez de uma alteração a aplicar, portanto enviá-la duas vezes deixa a mesma pessoa com a mesma função.

curl
curl -X PATCH "$OE/members/7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "roleId": "role_2b81de079c1f0a4b7e05d386" }'
Resposta
{  "object": "member",  "userId": "7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a",  "email": "[email protected]",  "name": null,  "image": null,  "role": {    "id": "role_2b81de079c1f0a4b7e05d386",    "name": "Support",    "builtin": null  },  "implied": false,  "permissions": [    "emails:send",    "emails:read",    "threads:read",    "threads:write",    "labels:read",    "labels:write",    "contacts:read"  ],  "addresses": [    {      "addressId": "c40a95f2-1cc6-4d31-82a8-9e075d31c2a8",      "address": "[email protected]",      "access": "viewer"    }  ],  "createdAt": "2026-08-30T15:44:02.000Z"}

Os endereços NÃO são alteráveis a partir daqui, e a omissão é deliberada: são um conjunto com um nível de acesso por elemento, e um PATCH com um array teria de significar substituir-tudo, o que é uma revogação em massa silenciosa sempre que um cliente enviar uma lista desatualizada. As duas chamadas de endereço acrescentam e removem um de cada vez, portanto o que aconteceu é sempre o que foi pedido.

É também assim que um detentor de concessões antigas deixa de ser implied: não tem linha de membro, isto cria-a, e a partir daí as suas permissões são o que alguém escolheu e não o que o seu acesso aos endereços calhou implicar. Repare no implied a passar a false e no createdAt a aparecer na resposta acima. Nada muda nos seus endereços.

A função de proprietário não pode ser distribuída (role_immutable, um 409), independentemente do que quem chama tenha. Tornar alguém proprietário é uma transferência de espaço de trabalho, que tem consequências diferentes e não existe nesta API.

A nova função entra em vigor no pedido seguinte dessa pessoa, e no pedido seguinte de todas as chaves de API limitadas por ela.