elaichi__member__set_roles
Set the single role one member holds. A member holds exactly ONE role in an organization, so this is a WHOLESALE REPLACE: role_ids must be an array of exactly one role id, and that role becomes their entire access. There is no way to add a role alongside an existing one — "also give Bob the admin role" means Bob stops being whatever he was and becomes an admin, so confirm that with the user before calling. If they need a mix of two roles’ permissions, the answer is a custom role holding both (role.create), not two assignments. Resolve role ids with role.list first. Takes effect on the member’s next request. You cannot assign a role that carries a permission you do not hold yourself, and you cannot re-role a member who holds permissions you lack. Returns the updated membership, including user: { id, name, email }, so you can confirm out loud whose role changed. To change what a role means for everyone who holds it, use role.update instead; to remove the person from the organization entirely, member.delete. NOT CALLABLE FROM ANY AI SURFACE, in-app agent or MCP: handing somebody a role needs step-up reauthentication (confirming it is really you), which neither surface can ask for, so every call from here is refused. Say what needs doing and tell the user to do it in Settings → People in the Elaichi app.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The member’s USER id (`usr_…`) from member.list. | |
| role_ids | Yes | Exactly one role id (`role_…`, from role.list). It replaces the member’s current role; a member cannot hold two. |