The admin/roles resource can be used to manage M/Monit roles.

Available methods:

GET /api/2/admin/roles/list The roles list
POST /api/2/admin/roles/create Create a new role
POST /api/2/admin/roles/update Update a role
POST /api/2/admin/roles/delete Delete a role
POST /api/2/admin/roles/adduser Assign a role to the user
POST /api/2/admin/roles/removeuser Revoke a role from the user
POST /api/2/admin/roles/updateactive Activate or deactivate the role

list

Returns a list of all M/Monit roles.

Arguments

none
curl -b ~/.mmonit/cookie \
 https://127.0.0.1:8080/api/2/admin/roles/list

Output

id The numeric role id (immutable)
name The role name
description The role description
admin True if it's an administrator role, false for normal role
active True of the role is active, false if disabled
buildin True if the role is buildin (protected from removal), false for custom, fully managed roles
rolerows
hosts The numeric array of host ids, the role applies to
hostgroups The numeric array of host group ids, the role applies to
permissions The permissions for hosts and hostgroups
members
users The user ids of role members
[
    {
        "id": 4,
        "name": "admin",
        "description": "The super administrator role",
        "admin": true,
        "active": true,
        "buildin": true,
        "rolerows": [{
            "hosts": [],
            "hostgroups": [],
            "permission": ["1", "2", "4"]
        }],
        "members": {
            "users": ["1"]
        }
    }
]

create

Create a new M/Monit role. Parameters with space in them must be URL encoded (space=%20) as curl won’t escape it automatically.

Arguments

name string required The role name
admin boolean required True, if the role will be the M/Monit administrator role, with full access to M/Monit application parts and data
active boolean required True, if the role is active, otherwise false (the role is disabled)
description string optional Rule description
rolerowscount number optional Number of role rows (the number N is used as a numeric index for hostsN, hostgroupsN, permissionN, useridN)
hostsN number optional Target host id
hostgroupsN number optional Target host group id
permissionN number optional The bitmap of permissions, granted to the user (0=None, 1=collector, 2=view, 4=serviceactions)
useridN number optional The userids assigned to this role
curl -b ~/.mmonit/cookie \
 -d name=test \
 -d description="test%20role" \
 -d admin=false \
 -d active=true \
 -d rolerowscount=1 \
 -d hosts1=12 \
 -d permission1=1 \
 -d userid=1 \
 https://127.0.0.1:8080/api/2/admin/roles/create

Output

id The role id

update

Update role in the M/Monit database. Parameters with space in them must be URL encoded (space=%20) as curl won’t escape it automatically.

Arguments

id number required The role id to update
name string required The role name
admin boolean required True, if the role will be the M/Monit administrator role, with full access to M/Monit application parts and data
active boolean required True, if the role is active, otherwise false (the role is disabled)
description string optional Rule description
rolerowscount number optional Number of role rows (the number N is used as a numeric index for hostsN, hostgroupsN, permissionN, useridN)
hostsN number optional Target host id
hostgroupsN number optional Target host group id
permissionN number optional The bitmap of permissions, granted to the user (0=None, 1=collector, 2=view, 4=serviceactions)
useridN number optional The userids assigned to this role
curl -b ~/.mmonit/cookie \
 -d id=123 \ 
 -d name=test \ 
 -d description="test%20role" \
 -d admin=false \       
 -d active=true \
 -d rolerowscount=1 \   
 -d hosts1=12 \         
 -d permission1=1 \
 -d userid=1 \  
 https://127.0.0.1:8080/api/2/admin/roles/update

delete

Deletes the role with the given id.

Arguments

id number required The role id to delete
curl -b ~/.mmonit/cookie \
 -d id=123 \
 https://127.0.0.1:8080/api/2/admin/roles/delete

adduser

Add users to the role

Arguments

id number required The role id to modify
userid number required The userid to assign to the role. You can use this attribute multiple times to assign multiple users at once
curl -b ~/.mmonit/cookie \
 -d id=123 \    
 -d userid=678 \    
 -d userid=679 \    
 https://127.0.0.1:8080/api/2/admin/roles/adduser

removeuser

Remove users from the role

Arguments

id number required The role id to modify
userid number required The userid to remove from the role. You can use this attribute multiple times to remove multiple users at once
curl -b ~/.mmonit/cookie \
 -d id=123 \   
 -d userid=678 \   
 -d userid=679 \   
 https://127.0.0.1:8080/api/2/admin/roles/removeuser

updateactive

Activate or deactivate the role

Arguments

id number required The role id to modify
active boolean required True to activate the role, false to deactive it
curl -b ~/.mmonit/cookie \
 -d id=123 \
 -d active=false \
 https://127.0.0.1:8080/api/2/admin/roles/updateactive