post_org_admin_by_orgid_join_requests_by_userid_approve

Changes data · you confirm first

Calls POST /api/org-admin/{orgId}/join-requests/{userId}/approve as the signed-in person · REST reference

Approve a request to join the organization

With the caller's own token; requires admin.groups.members.add IN THIS organization — an owner of another organization is refused (403). The requester becomes a member (the MEMBER group's read-only baseline); the DAL refuses an approver who would confer anything they do not hold here. 404 when there is no pending request.

Arguments

ArgumentTypeDescription
orgIdpathstring (uuid)required
userIdpathstring (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_by_orgid_join_requests_by_userid_approve",
    "arguments": {
      "orgId": "11111111-1111-4111-8111-111111111111",
      "userId": "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.

Approved.

json
{
  "success": true,
  "data": {},
  "message": "string"
}

Fields

FieldTypeDescription
dataanyThe payload; absent when the operation returns nothing.
messagestring
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

Authenticated, but the caller holds none of the required permissions.

404

No such resource — or none this caller may see.

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_by_orgid_join_requests_by_userid_approve",
  "description": "POST /api/org-admin/{orgId}/join-requests/{userId}/approve — With the caller's own token; requires `admin.groups.members.add` IN THIS organization — an owner of another organization is refused (403). The requester becomes a member (the MEMBER group's read-only baseline); the DAL refuses an approver who would confer anything they do not hold here. 404 when there is no pending request.\n\nThis changes data. The person is asked to confirm it before it runs, and nothing happens if they decline.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "orgId": {
        "type": "string"
      },
      "userId": {
        "type": "string"
      }
    },
    "required": [
      "orgId",
      "userId"
    ]
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": false
  }
}