Bỏ qua tới phần tài liệu
API

Thay đổi vai trò của thành viên

Chỉ vai trò, không gì khác. Địa chỉ là trục còn lại và có các lệnh gọi riêng.

PATCHapi.openemail.uk/members/{userId}

Chạy lệnh gọi thật với không gian làm việc của bạn, bằng khóa của chính bạn.

PATCH /members/{userId}

Chỉ vai trò, không gì khác. Địa chỉ là trục còn lại và có các lệnh gọi riêng.

Ví dụ

Cần members:write. roleId là trường duy nhất, và là bắt buộc. Lệnh gọi này nêu trạng thái mong muốn thay vì một thay đổi cần áp dụng, nên gửi hai lần vẫn cho ra cùng một người giữ cùng một vai trò.

curl
curl -X PATCH "$OE/members/7fQ2mN8vBz1aRd4tYwKx7fQ2mN8vBz1a" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "roleId": "role_2b81de079c1f0a4b7e05d386" }'
Phản hồi
{  "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"}

Địa chỉ KHÔNG thể được PATCH từ đây, và việc bỏ qua này là có chủ đích: chúng là một tập hợp có mức truy cập cho từng phần tử, và một lệnh PATCH mang theo một mảng sẽ phải có nghĩa là thay thế toàn bộ, tức là một vụ thu hồi hàng loạt âm thầm mỗi khi client gửi một danh sách cũ. Hai lệnh gọi địa chỉ thêm và xóa từng cái một, nên những gì xảy ra luôn là những gì được yêu cầu.

Đây cũng là cách một người giữ quyền cấp kiểu cũ thôi là implied: họ không có hàng thành viên, lệnh này upsert một hàng, và từ đó trở đi quyền của họ là những gì ai đó đã chọn thay vì những gì quyền truy cập địa chỉ của họ tình cờ ngụ ý. Hãy để ý implied chuyển thành false và createdAt xuất hiện trong phản hồi ở trên. Không có gì về địa chỉ của họ thay đổi.

Vai trò owner không thể được trao (role_immutable, mã 409) bất kể bên gọi có quyền gì. Đưa ai đó trở thành chủ sở hữu là chuyển nhượng không gian làm việc, có hậu quả khác và không tồn tại trên API này.

Vai trò mới của họ có hiệu lực từ yêu cầu tiếp theo của họ, và từ yêu cầu tiếp theo của mọi khóa API bị vai trò đó giới hạn.