Skip to main content
Version: 10.0

Group Roles Resource

Description​

This resource is for managing roles and their permissions within a group.

GET /groups/:ID/roles​

Returns all available roles for that group. This is a paged query.

GET Parameters​

NameRequiredTypeDescriptionDefault Value
:IDYesURL ParameterNumeric ID of the group whose roles you want to check. 

GET Response Values​

NameTypeDescription
nameJSON StringThe name of the role.
descriptionJSON StringThe description of the role.
featuresJSON ArrayArray containing the features allowed for the role. Each feature is an object with a "name" and "privilege" element. See the role resource for more information.
role_resourceJSON StringA string indicating the role resource identifier for this role.
usersJSON ArrayAn array of JSON strings containing the usernames assigned to this role.
admin_groupJSON ObjectThe entire JSON object representing the group resource that owns the role.
group_resourcesJSON ArrayThis array is a list of the group resources to which this role's permissions apply.

Example GET Request​

 GET /groups/407/roles

Example GET Response​

 {
"rows": 3,
"data": [
{
"name": "Test Group 3 admin",
"description": "a role created by default",
"features": [
{
"name": "group",
"privilege": "rw"
},
{
"name": "mitigation_reporting",
"privilege": "rw"
},
{
"name": "mitigation_config",
"privilege": "rw"
},
{
"name": "limit_resource",
"privilege": "rw"
},
{
"name": "group_routing",
"privilege": "rw"
},
{
"name": "zone_routing",
"privilege": "rw"
},
{
"name": "group_admin",
"privilege": "rw"
},
{
"name": "device",
"privilege": "none"
},
{
"name": "rweb",
"privilege": "none"
}
],
"role_resource": "/roles/960",
"users": [],
"admin_group": {
"name": "Electic bugaloo",
"description": "Test group 4",
"mode": "NONE",
"customer_resource": "/customers/407",
"zones_resource": "/groups/407/zones",
"reports_resource": "/groups/407/report_statuses",
"scheduled_reports_resource": "/groups/407/scheduled_reports",
"customer_configurations_resource": "/groups/407/configurations",
"customer_devices_resource": "/groups/407/mapped_devices",
"customer_traffic_resource": "/groups/407/traffic",
"customer_logs_resource": "/groups/407/logs",
"group_resource": "/groups/407",
"group_configurations_resource": "/groups/407/configurations",
"group_traffic_resource": "/groups/407/traffic",
"group_logs_resource": "/groups/407/logs",
"members_resource": "/groups/407/members",
"roles_resource": "/groups/407/roles",
"users_resource": "/groups/407/users",
"templates_resource": "/groups/407/templates",
"subnets_resource": "/groups/407/subnets",
"mapped_devices_resource": "/groups/407/mapped_devices",
"pre_mapped_devices_resource": "/groups/407/pre_mapped_devices",
"sub_groups_resource": "/groups/407/groups",
"parent_resource": "/groups/279"
},
"group_resources": [
"/groups/407"
]
},
{
"name": "Test Group 3 read write",
"description": "a role created by default",
"features": [
{
"name": "group",
"privilege": "rw"
},
{
"name": "mitigation_reporting",
"privilege": "rw"
},
{
"name": "mitigation_config",
"privilege": "rw"
},
{
"name": "limit_resource",
"privilege": "rw"
},
{
"name": "group_routing",
"privilege": "rw"
},
{
"name": "zone_routing",
"privilege": "rw"
},
{
"name": "group_admin",
"privilege": "none"
},
{
"name": "device",
"privilege": "none"
},
{
"name": "rweb",
"privilege": "none"
}
],
"role_resource": "/roles/961",
"users": [],
"admin_group": {
"name": "Electic bugaloo",
"description": "Test group 4",
"mode": "NONE",
"customer_resource": "/customers/407",
"zones_resource": "/groups/407/zones",
"reports_resource": "/groups/407/report_statuses",
"scheduled_reports_resource": "/groups/407/scheduled_reports",
"customer_configurations_resource": "/groups/407/configurations",
"customer_devices_resource": "/groups/407/mapped_devices",
"customer_traffic_resource": "/groups/407/traffic",
"customer_logs_resource": "/groups/407/logs",
"group_resource": "/groups/407",
"group_configurations_resource": "/groups/407/configurations",
"group_traffic_resource": "/groups/407/traffic",
"group_logs_resource": "/groups/407/logs",
"members_resource": "/groups/407/members",
"roles_resource": "/groups/407/roles",
"users_resource": "/groups/407/users",
"templates_resource": "/groups/407/templates",
"subnets_resource": "/groups/407/subnets",
"mapped_devices_resource": "/groups/407/mapped_devices",
"pre_mapped_devices_resource": "/groups/407/pre_mapped_devices",
"sub_groups_resource": "/groups/407/groups",
"parent_resource": "/groups/279"
},
"group_resources": [
"/groups/407"
]
},
{
"name": "Test Group 3 read",
"description": "a role created by a crazy person",
"features": [
{
"name": "group",
"privilege": "ro"
},
{
"name": "mitigation_reporting",
"privilege": "ro"
},
{
"name": "mitigation_config",
"privilege": "ro"
},
{
"name": "limit_resource",
"privilege": "none"
},
{
"name": "group_routing",
"privilege": "none"
},
{
"name": "zone_routing",
"privilege": "ro"
},
{
"name": "group_admin",
"privilege": "none"
},
{
"name": "device",
"privilege": "none"
},
{
"name": "rweb",
"privilege": "none"
}
],
"role_resource": "/roles/962",
"users": [],
"admin_group": {
"name": "Electic bugaloo",
"description": "Test group 4",
"mode": "NONE",
"customer_resource": "/customers/407",
"zones_resource": "/groups/407/zones",
"reports_resource": "/groups/407/report_statuses",
"scheduled_reports_resource": "/groups/407/scheduled_reports",
"customer_configurations_resource": "/groups/407/configurations",
"customer_devices_resource": "/groups/407/mapped_devices",
"customer_traffic_resource": "/groups/407/traffic",
"customer_logs_resource": "/groups/407/logs",
"group_resource": "/groups/407",
"group_configurations_resource": "/groups/407/configurations",
"group_traffic_resource": "/groups/407/traffic",
"group_logs_resource": "/groups/407/logs",
"members_resource": "/groups/407/members",
"roles_resource": "/groups/407/roles",
"users_resource": "/groups/407/users",
"templates_resource": "/groups/407/templates",
"subnets_resource": "/groups/407/subnets",
"mapped_devices_resource": "/groups/407/mapped_devices",
"pre_mapped_devices_resource": "/groups/407/pre_mapped_devices",
"sub_groups_resource": "/groups/407/groups",
"parent_resource": "/groups/279"
},
"group_resources": [
"/groups/407"
]
}
],
"start": 0
}

POST /groups/:ID/roles​

POST Parameters​

NameRequiredTypeDescriptionDefault Value
:IDYesURL ParameterThe numeric ID for the group you are creating a new role for. 
nameYesJSON StringThe name of the role. 
descriptionYesJSON StringThe description of the role. 
admin_group_resourceNoJSON StringThe group resource that should administrate this role.Defaults to the group identified by the :ID parameter
featuresYesJSON ArrayAn array of the desired permissions for this role. See the role resource for more information. 
group_resourcesYesJSON ArrayThis array is a list of the group resources to which this role's permissions apply.  

POST Response Values​

NameTypeDescription
nameJSON StringThe name of the role.
descriptionJSON StringThe description of the role.
featuresJSON ArrayArray containing the features allowed for the role. Each feature is an object with a "name" and "privilege" element. See the role resource for more information.
role_resourceJSON StringA string indicating the role resource identifier for this role.
usersJSON ArrayAn array of JSON strings containing the usernames assigned to this role.
admin_groupJSON ObjectThe entire JSON object representing the group resource that owns the role.
group_resourcesJSON ArrayThis array is a list of the group resources to which this role's permissions apply.

Example POST Request​

POST /groups/407/roles
 
JSON Body: 
{
"data": {
"name": "API Inserted Role",
"description": "Used API to create this role.",
"group_resources": ["/groups/407"],
"features": [
{
"name": "mitigation_reporting",
"privilege": "ro"
},
{
"name": "mitigation_config",
"privilege": "ro"
},
{
"name": "limit_resource",
"privilege": "none"
},
{
"name": "zone_routing",
"privilege": "none"
},
{
"name": "group_routing",
"privilege": "none"
},
{
"name": "group_admin",
"privilege": "none"
}
]
}
}

Example POST Response​

HTTP/1.1 201 Created
 
{
"name": "API Inserted Role",
"description": "Used API to create this role.",
"features": [
{
"name": "group",
"privilege": "ro"
},
{
"name": "mitigation_reporting",
"privilege": "ro"
},
{
"name": "mitigation_config",
"privilege": "ro"
},
{
"name": "limit_resource",
"privilege": "none"
},
{
"name": "group_routing",
"privilege": "none"
},
{
"name": "zone_routing",
"privilege": "none"
},
{
"name": "group_admin",
"privilege": "none"
},
{
"name": "device",
"privilege": "none"
},
{
"name": "rweb",
"privilege": "none"
}
],
"role_resource": "/roles/1887",
"users": [],
"admin_group": {
"name": "Electic bugaloo",
"description": "Test group 4",
"mode": "NONE",
"customer_resource": "/customers/407",
"zones_resource": "/groups/407/zones",
"reports_resource": "/groups/407/report_statuses",
"scheduled_reports_resource": "/groups/407/scheduled_reports",
"customer_configurations_resource": "/groups/407/configurations",
"customer_devices_resource": "/groups/407/mapped_devices",
"customer_traffic_resource": "/groups/407/traffic",
"customer_logs_resource": "/groups/407/logs",
"group_resource": "/groups/407",
"group_configurations_resource": "/groups/407/configurations",
"group_traffic_resource": "/groups/407/traffic",
"group_logs_resource": "/groups/407/logs",
"members_resource": "/groups/407/members",
"roles_resource": "/groups/407/roles",
"users_resource": "/groups/407/users",
"templates_resource": "/groups/407/templates",
"subnets_resource": "/groups/407/subnets",
"mapped_devices_resource": "/groups/407/mapped_devices",
"pre_mapped_devices_resource": "/groups/407/pre_mapped_devices",
"sub_groups_resource": "/groups/407/groups",
"parent_resource": "/groups/279"
},
"group_resources": [
"/groups/407"
]
}