post_org_admin_members_by_userid_permissions

Changes data · you confirm first

Calls POST /api/org-admin/members/{userId}/permissions as the signed-in person · REST reference

Grant one of the organization's permissions to one member directly

With the caller's own token. Requires admin.roles.assign in the PERMISSION's organization (read from the permission), and the caller must hold the permission there themselves. The member must be a current member of that organization; an invited member's grant confers nothing until they join.

Arguments

ArgumentTypeDescription
userIdpathstring (uuid)required
bodyJSONobjectrequiredThe request body, as a JSON object. Its fields are listed below.

Fields of body

FieldTypeDescription
orgPermissionIdstring (uuid)required

Example call

A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "post_org_admin_members_by_userid_permissions",
    "arguments": {
      "userId": "11111111-1111-4111-8111-111111111111",
      "body": {
        "orgPermissionId": "11111111-1111-4111-8111-111111111111"
      }
    }
  }
}
Confirmation
The client shows the person the exact request and waits. Nothing runs until they tick Make this change. See Reading and changing.

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

The member holds the grant (changed false when they already did).

json
{
  "data": {
    "changed": true,
    "feature": "string",
    "orgPermissionId": "11111111-1111-4111-8111-111111111111"
  },
  "success": true
}

Fields

FieldTypeDescription
dataobject
data.changedboolean
data.featurestring
data.orgPermissionIdstring (uuid)
successtrue

When it fails

A failed call returns isError: true with the API's message as text. A change the person declines, or lets time out, also comes back this way and nothing changes.

400

The request was malformed or failed a guard.

403

No admin.roles.assign in the permission's organization, or the caller does not hold the permission there (the message names it).

404

No such resource — or none this caller may see.

409

The resource is not in a state that allows this operation.

What the model is shown

This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.

json
{
  "name": "post_org_admin_members_by_userid_permissions",
  "description": "POST /api/org-admin/members/{userId}/permissions — With the caller's own token. Requires `admin.roles.assign` in the PERMISSION's organization (read from the permission), and the caller must hold the permission there themselves. The member must be a current member of that organization; an invited member's grant confers nothing until they join.\n\nThis changes data. The person is asked to confirm it before it runs, and nothing happens if they decline.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "userId": {
        "type": "string"
      },
      "body": {
        "type": "string",
        "description": "The JSON request body: { orgPermissionId*: string }"
      }
    },
    "required": [
      "userId",
      "body"
    ]
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": false
  }
}