list_roles
Retrieve all roles and their permissions to manage user assignment and audit access control in LogicMonitor.
Instructions
List all roles (permission sets) in LogicMonitor (LM) monitoring.
Returns: Array of roles with: id, name, description, custom flag, associated users count, permissions (view/manage/delete for resources/alerts/reports/settings).
What are roles: Permission templates assigned to users. Control who can view/modify/delete resources, alerts, dashboards, settings. Essential for RBAC (role-based access control).
When to use:
Discover available roles before creating users
Audit permission structure
Find role IDs for user assignment
Compare custom vs built-in roles
Compliance documentation
Built-in roles (examples):
administrator: Full access to everything
readonly: View-only access to monitoring data
manager: Manage resources/devices/alerts but not settings
Custom roles: Organizations create custom roles for specific needs (e.g., "database-team-role", "view-prod-only").
Common use cases:
"What roles exist?" → List all to see options
"Who can delete resources/devices?" → Check which roles have delete permissions
"Create read-only user" → Find "readonly" role ID for user creation
Workflow: Use this tool to discover roles, then "get_role" for detailed permissions, then use in "create_user" or "update_user".
Important: A negative "total" value in the response indicates incomplete results. Use pagination (size/offset parameters) or set autoPaginate: true to retrieve all items.
Related tools: "get_role" (detailed permissions), "list_users" (see user assignments), "create_user" (assign roles to new users).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Number of results per page (default: 50, max: 1000). | |
| offset | No | Starting offset for pagination (default: 0). Use this to skip a specific number of results. | |
| autoPaginate | No | Automatically fetch all pages (default: false). When true, fetches all results across multiple pages. When false, returns only the requested page. Use false for large result sets to avoid long response times. | |
| filter | No | Filter expression using LogicMonitor query syntax. Examples: name:*prod*, displayName~*server*, id>100, hostStatus:normal. Available operators: : (equals), ~ (includes), !: (not equals), !~ (not includes), >: (greater than or equals), <: (less than or equals), > (greater than), < (less than). Multiple conditions: Use comma (,) for AND, use || for OR. Do NOT use &&. | |
| fields | No | Comma-separated list of fields to include in response. Examples: "id,displayName,hostStatus" or use "*" for all fields. Omit this parameter to receive a curated set of commonly used fields. |