 Returns a list of roles assigned to the specified user profile
 Returns a list of roles assigned to the specified user profile
                                    { getAllRolesByProfileId }
Returns a list of roles that have been assigned to the specified user profile.
Method
/API2/access/getAllRolesByProfileId
                                    
                                    Input Parameters
Name
profileId
Type
string
Description
The system profile's ID
Output Response
Successful Result Code
200
Response List Type
Description of Response Type
Returns a list of roles assigned to the specified profile Note that the response is returned as a list of items of this object type.
Examples
Running Queries and Slicers programmatically (JavaScript):
This example demonstrates how to run queries and slicers (parameters) programmatically to extract results.
The example uses API authentication driven from JavaScript. See Authentication APIs for alternatives.
// URL of the Pyramid installation and the path to the API 2.0 REST methods
var pyramidURL = "http://mysite.com/api2/";
// step 1: authenticate admin account and get token
// NOTE: callApi method is a generic REST method shown below.
let token = callApi("auth/authenticateUser",{
	"data":{
		"userName":"adminUser",
		"password":"abc123!"
	}
},false);
//step 2: get default tenant
let defaultTenantResult = callApi("access/getDefaultTenant",{
	"auth": token
});
let tenantId = defaultTenantResult.data;
//step 3: retrieve all profiles for a specific tenant
let getAllProfilesByTenantId= callApi("access/getAllProfilesByTenantId ",{
	"tenantId": tenantId,
	"auth": token
});
//step 4A: add a new profile called "Consumers" using the numeric approach
//	build the numeric value by summing the bit switches for each item needed.
// assume we want to have advanced (9) and discovery (3) choices on
let bitNum = (2^3) + (2^9)
let saveProfile= callApi("access/addProfile",{
	"profileApiData": {
		"name":"Consumers",
		"description":"Basic tools for consumer user types",
		"permissions":{"numeric":bitNum},
		"tenantId":tenantId
	},
	"auth": token
});
let profileId = saveProfile.data.modifiedList[0].id
//step 4B: add a new profile called "Consumers" using the array approach
// assume we want to have advanced (9) and discovery (3) choices on
let saveProfile2= callApi("access/addProfile",{
	"profileApiData": {
		"name":"Consumers",
		"description":"Basic tools for consumer user types",
		"permissions":{"permissionBitIndexList":[9,3]},
		"tenantId":tenantId
	},
	"auth": token
});
let profileId = saveProfile2.data.modifiedList[0].id
//step 5: creating roles
let createRole=callApi("access/createRoles",{
	"data": [{
		"roleName": "prole1",
		"tenantId": tenantId,
		"isGroupRole": false
	},{
		"roleName": "prole2",
		"tenantId": tenantId,
		"isGroupRole": false
	}],
	"auth": token
});
let role1 = createRole.data.modifiedList[0].id;
let role2 = createRole.data.modifiedList[1].id;
log("created roles "+role1+","+role2);
//step 6: bind new profile to role1
let updateRolesByProfileId=callApi("access/updateRolesByProfileId",{
	"profileRolesData": {
		"profileId":profileId,
		"rolesToAdd":[role1],
		"rolesToRemove":[]
	},
	"auth": token
});
//step 7: retrieve all roles with a given profile
let allProfileRoles= callApi("access/getAllRolesByProfileId",{
	"profileId": profileId,
	"auth": token
});
//step 8: delete the profile
let deleteProfile= callApi("access/deleteProfile",{
	"profileId": profileId,
	"auth": token
});
// ##### optional generic logging method for debugging ##############
function log(msg){
	document.write(msg);
	console.log(msg);
}
// ##### generic REST API calling method ##############
function callApi(path,data,parseResult=true){
	var xhttp = new XMLHttpRequest();
	xhttp.open("POST", pyramidURL+path, false);
	xhttp.send(JSON.stringify(data));
	if(parseResult){
		return JSON.parse(xhttp.responseText);
	}else{
		return xhttp.responseText;
	}
}
		 RoleData[]
 RoleData[]