Skip to main content
Glama

IvedaAI: UserGroup

ivedaai_user_group
Destructive

Manage IvedaAI user groups: create, list, update, delete groups, assign or remove users, and grant or view permissions.

Instructions

IvedaAI API — UserGroup operations. Response JSON: "status" is the HTTP status code; "truncated"/"timedOut" flag a cut-off response.

GET /api/user-groups — List user group query: nameContains?:string, offset?:integer, page?:any, pageNumber?:integer, pageSize?:integer, paged?:boolean, size?:any, sort?:any, sort.sorted?:boolean, sort.unsorted?:boolean, unpaged?:boolean

POST /api/user-groups — Create user group body: UserGroupRequest — required: externalId, name; ivedaai_get_schema for all fields

DELETE /api/user-groups/{userGroupId} — Delete user group path: userGroupId*:string

PATCH /api/user-groups/{userGroupId} — Patch user group path: userGroupId*:string body: UserGroupRequest — required: externalId, name; ivedaai_get_schema for all fields CAUTION: this endpoint nulls "externalId" if the body omits it, and still returns 200. Send the full object, including the current value of that field. Omitting it is refused by this tool; pass it as null to clear it deliberately. NOTE: "accountIds" is not on the record at all, but a second endpoint returns it — read accountIds from GET /api/user-groups/{userGroupId}/accounts at content[].accountId. Read it there if you need the current value.

PUT /api/user-groups/{userGroupId} — Update user group path: userGroupId*:string body: UserGroupRequest — required: externalId, name; ivedaai_get_schema for all fields NOTE: "accountIds" is not on the record at all, but a second endpoint returns it — read accountIds from GET /api/user-groups/{userGroupId}/accounts at content[].accountId. Read it there if you need the current value.

DELETE /api/user-groups/{userGroupId}/accounts — Remove user from group path: userGroupId*:string body: array of integer

GET /api/user-groups/{userGroupId}/accounts — List user in group path: userGroupId*:string query: offset?:integer, page?:any, pageNumber?:integer, pageSize?:integer, paged?:boolean, size?:any, sort?:any, sort.sorted?:boolean, sort.unsorted?:boolean, unpaged?:boolean, nameContains?:string

POST /api/user-groups/{userGroupId}/accounts — Add users to group path: userGroupId*:string body: array of integer

PUT /api/user-groups/{userGroupId}/accounts — Set users in group path: userGroupId*:string body: array of integer

GET /api/user-groups/{userGroupId}/permissions — List user group permissions path: userGroupId*:string query: type?:string enum:Camera|FaceCategory|LicensePlateCategory

POST /api/user-groups/{userGroupId}/permissions — Grant user group permissions path: userGroupId*:string body: array of Permission — required: actions, id, type; ivedaai_get_schema for all fields

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON request body, or form field values when uploading a file.
fileNoLocal file to upload, for operations that accept a file.
pathNoPath parameters, e.g. { "cameraId": 12 }
queryNoQuery string parameters for this operation.
operationYesWhich API operation to call, from the list in this tool's description.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses critical behavioral details beyond annotations: PATCH nulls 'externalId' when omitted, accountIds are not stored on the record but fetched from a sub-endpoint, response status/truncated/timedOut fields are explained, and required fields are explicitly listed. This far surpasses the basic destructiveHint annotation and gives the agent actionable knowledge about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but warranted given the 11 operations. It is structured with endpoint headings, clear parameter lists, and front-loaded response caveats. Every sentence carries necessary information—cautions, field locations, or required-body details—with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description explains the response envelope (status, truncated, timedOut) and points to ivedaai_get_schema for full request field details. It covers all operations, their expected parameters, required fields, and cross-endpoint dependencies, making it complete for a complex multi-endpoint tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The generic input schema only has generic body/path/query/operation fields, but the description enriches every operation with specific parameter names, types, required flags, enums, and caution notes. For example, the PATCH body requires externalId and name, and the permissions query has the type enum Camera|FaceCategory|LicensePlateCategory. This compensates fully for the schema's generic nature.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly enumerates all 11 operations with specific verbs and resources (list, create, delete, patch, update, account management, permissions). It distinguishes the UserGroup API from sibling tools by naming each endpoint and its purpose. The resource (user groups) is explicit and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context is provided per operation, including when to use the accounts endpoint for reading accountIds rather than the main record endpoint. However, it does not explicitly mention alternative sibling tools or when to prefer another tool over this one. The guidance is strong internally but lacks cross-tool exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WillORepO/ivedaAI-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server