get_groups_by_id

Read-only

Calls GET /api/groups/{id} as the signed-in person · REST reference

Get one group

Requires query:ListGroupsQuery — the same READ permission as the list route, there is no per-group permission — and admin.groups.view in some org (403 otherwise), platform staff included. After the group is loaded, its organization must be in the caller's org tree, so that check happens AFTER the 404: a caller holding it elsewhere can distinguish "no such group" from "group I may not see". The member roster is NOT included; fetch it from GET /api/groups/{id}/members.

Arguments

ArgumentTypeDescription
idpathstring (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": "get_groups_by_id",
    "arguments": {
      "id": "11111111-1111-4111-8111-111111111111"
    }
  }
}

Result

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

The group, wrapped in the success envelope. ISO-8601 timestamps.

json
{
  "data": {
    "createdAt": "2026-01-15T12:00:00Z",
    "id": "11111111-1111-4111-8111-111111111111",
    "memberCount": 1,
    "name": "string",
    "status": "ACTIVE",
    "type": "FUNCTIONAL",
    "description": "string",
    "orgId": "11111111-1111-4111-8111-111111111111",
    "updatedAt": "2026-01-15T12:00:00Z"
  },
  "success": true
}

Fields

FieldTypeDescription
dataobjectGroup model projection — same shape as a row of GET /api/groups.
data.createdAtstring (date-time)
data.descriptionstring | null
data.idstring (uuid)
data.memberCountinteger
data.namestring
data.orgIdstring (uuid) | null
data.status"ACTIVE" | "INACTIVE" | "ARCHIVED"
data.type"FUNCTIONAL" | "DEPARTMENTAL" | "ROLE_BASED" | "PROJECT" | "ADMIN" | "OWNER" | … (7 values)
data.updatedAtstring (date-time)
successtrue

When it fails

A failed call returns isError: true with the API's message as text.

400

id is not a UUID. details is an express-validator ARRAY.

403

Missing query:ListGroupsQuery, no admin.groups.view in any org, or none in the group's org — the last carries code: GROUP_ACCESS_DENIED.

404

No such group. Carries code: GROUP_NOT_FOUND.

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": "get_groups_by_id",
  "description": "GET /api/groups/{id} — Requires `query:ListGroupsQuery` — the same READ permission as the list route, there is no per-group permission — and `admin.groups.view` in some org (403 otherwise), platform staff included. After the group is loaded, its organization must be in the caller's org tree, so that check happens AFTER the 404: a caller holding it elsewhere can distinguish \"no such group\" from \"group I may not see\". The member roster is NOT included; fetch it from `GET /api/groups/{id}/members`.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      }
    },
    "required": [
      "id"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}