Returns a list of roles assigned to the specified user profile
{ getRolesbyProfile }
Returns a list of roles that have been assigned to the specified user profile.
Method
/API3/access/getRolesbyProfile
- Enterprise Admin
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 3.0 REST methods
var pyramidURL = "http://mysite.com/api3/";
// step 1: authenticate admin account and get token
// NOTE: callApi method is a generic REST method shown below.
let token = callApi("authentication/authenticateUser",{
"userName":"adminUser",
"password":"abc123!"
},"",false);
//step 2: get default tenant
let defaultTenantResult = callApi("access/getDefaultTenant","",token);
let tenantId = defaultTenantResult;
//step 3A: 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/addProProfile",{
"name":"Consumers",
"description":"Basic tools for consumer user types",
"permissions":{"numeric":bitNum},
"tenantId":tenantId
},token);
let profileId = saveProfile.modifiedList[0].id
//step 3B: 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/addProProfile",{
"name":"Consumers",
"description":"Basic tools for consumer user types",
"permissions":{"permissionBitIndexList":[9,3]},
"tenantId":tenantId
},token);
let profileId = saveProfile2.modifiedList[0].id
//step 4: creating roles
let createRole=callApi("access/createRoles",[{
"roleName": "prole1",
"tenantId": tenantId,
"isGroupRole": false
},{
"roleName": "prole2",
"tenantId": tenantId,
"isGroupRole": false
}],token);
let role1 = createRole.modifiedList[0].id;
let role2 = createRole.modifiedList[1].id;
log("created roles "+role1+","+role2);
//step 5: bind new profile to role1
let updateRolesByProfileId=callApi("access/updateRoleProfiles",{
"profileId":profileId,
"rolesToAdd":[role1],
"rolesToRemove":[]
},token);
//step 6: retrieve all roles with a given profile
let allProfileRoles= callApi("access/getRolesbyProfile",profileId,token);
//step 7: delete the profile
let deleteProfile= callApi("access/deleteProfile",profileId,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,token="",parseResult=true){
var xhttp = new XMLHttpRequest();
xhttp.open("POST", pyramidURL+path, false);
xhttp.setRequestHeader("paToken",token)
xhttp.send(JSON.stringify(data));
if(parseResult){
return JSON.parse(xhttp.responseText);
}else{
return xhttp.responseText;
}
}
Code Snippets
Use the Authentication API methods to generate an access 'key' or 'token' for use in code as shown below.
TypeScript
Curl
Java
C#
Python
PHP
curl -X POST \
-H "paToken: [[apiKey]]" \
-H "Accept: application/json,application/json;charset=utf-8,text/plain,text/plain;charset=utf-8" \
-H "Content-Type: application/json" \
"http://Your.Server.URL/API3/access/getRolesbyProfile" \
-d ''
import com.pyramidanalytics.*;
import com.pyramidanalytics.auth.*;
import com.pyramidanalytics.model.*;
import com.pyramidanalytics.api.AccessServiceApi;
import java.util.*;
import java.time.*;
public class AccessServiceApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://Your.Server.URL/");
// Configure API key authorization: paToken
ApiKeyAuth paToken = (ApiKeyAuth) defaultClient.getAuthentication("paToken");
paToken.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//paToken.setApiKeyPrefix("Token");
// Create an instance of the API class
AccessServiceApi apiInstance = new AccessServiceApi();
// Initialize the profileId parameter object for the call
String profileId = profileId_example; // Create the input object for the operation, type: String
try {
// "array[RoleData]" is only psaudo-code to symbolize list of type and not the actual usage
array[RoleData] result = apiInstance.getRolesbyProfile(profileId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AccessServiceApi#getRolesbyProfile");
e.printStackTrace();
}
}
}
import * as PyramidAnalyticsWebApi from "com.pyramidanalytics";
// Create an instance of the API class
const api = new PyramidAnalyticsWebApi.AccessServiceApi("http://Your.Server.URL")
// Configure API key authorization: paToken
api.setApiToken("YOUR API KEY");
const profileId = profileId_example; // {String}
api.getRolesbyProfile(profileId).then(function(data) {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.error(error);
});
using System;
using System.Diagnostics;
using PyramidAnalytics.Sdk.Api;
using PyramidAnalytics.Sdk.Client;
using PyramidAnalytics.Sdk.Model;
public class getRolesbyProfileExample
{
public static void Main()
{
Configuration conf = new Configuration();
conf.BasePath = "http://Your.Server.URL/";
// Configure API key authorization: paToken
conf.ApiKey.Add("paToken", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// conf.ApiKeyPrefix.Add("paToken", "Bearer");
GlobalConfiguration.Instance = conf;
// Create an instance of the API class
var apiInstance = new AccessServiceApi();
// Initialize the profileId parameter object for the call
var profileId = profileId_example; // Create the input object for the operation, type: String |
try {
// Returns a list of roles that have been assigned to the specified user profile.
// "array[RoleData]" is only psaudo-code to symbolize array of type and not the actual usage
array[RoleData] result = apiInstance.getRolesbyProfile(profileId);
Debug.WriteLine(result);
} catch (Exception e) {
Debug.Print("Exception when calling AccessServiceApi.getRolesbyProfile: " + e.Message );
}
}
}
import com.pyramidanalytics
from com.pyramidanalytics import ApiException
from com.pyramidanalytics import AccessServiceApi
from pprint import pprint
# Configure API key authorization: paToken
api_config = com.pyramidanalytics.Configuration(host = 'http://Your.Server.URL/', api_key={ paToken:'YOUR_ACCESS_TOKEN' })
with com.pyramidanalytics.ApiClient(api_config) as api_client:
# Create an instance of the API class
api_instance = AccessServiceApi(api_client)
# Initialize the profileId parameter object for the call
profileId = profileId_example # String |
try:
# Returns a list of roles that have been assigned to the specified user profile.
api_response = api_instance.get_rolesby_profile(profileId)
pprint(api_response)
except ApiException as e:
print("Exception when calling AccessServiceApi->getRolesbyProfile: %s\n" % e)
<?php
require_once(__DIR__ . '/vendor/autoload.php');
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setHost('http://Your.Server.URL');
// Configure API key authorization: paToken
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('paToken', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('paToken', 'Bearer');
// Create an instance of the API class
$api_instance = new OpenAPITools\Client\Api\AccessServiceApi();
$profileId = profileId_example; // String |
try {
$result = $api_instance->getRolesbyProfile($profileId);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling AccessServiceApi->getRolesbyProfile: ', $e->getMessage(), PHP_EOL;
}
?>