
Roles are created to specify how a user or group of users interfaces with Exago. Roles can restrict access to folders or data objects. Roles can also override the General Settings.
A Role object refers to the definition of an Exago Role. At minimum, a role contains an ID (name), a General object representing any General Settings overrides and a Security object representing data object or report tree folder tenancy.

public class Role : WebReports.Api.Common.ConfigObj
api.Roles.NewRole("Restricted User"); Role r = api.Roles.GetRole("Restricted User"); //Allow user only to run a report with, but not create a report level custom SQL object r.General.AllowReportCustomSQLObjects = false; r.Security.IncludeReportCustomSQLObjects = true; r.Security.DataObjects.IncludeAll = false; //Limit the user to ONLY their My Reports folder r.Security.Folders.AllowManagement = false; r.Security.Folders.IncludeAll = false; Folder f = r.Security.Folders.NewFolder(); f.Name = "My Reports"; r.Activate(true);
System.Object
WebReports.Api.Roles.Role