Get a Tenant's Users with specific license type
{ getAllUsersDataByTenantAndLicenceType }
Returns a list of all users for a given tenant and license type.
Method
/API2/access/getAllUsersDataByTenantAndLicenceType
- Enterprise Admin
Input Parameters
Name
tenantUsersGetObject
Object Type
Description
The tenant object for fetching users.
Output Response
Successful Result Code
200
Response List Type
Description of Response Type
Returns a generic response object with the list of users for the tenant in the system. Note that the response is returned as a list of items of this object type.
Notes
The user object can be used in other operations where it is required.
Examples
Content and Tag Operations (JavaScript):
This example demonstrates how to find item's and the manipulation of content tags.
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: search for tenant by name
let tenant=callApi("access/getTenantByName",{
"tenantName": "Company X",
"auth": token
});
let tenantId;
//step 3: if tenant is found, get its ID. Otherwise create the tenant
if(tenant.data != undefined){
tenantId=tenant.data.id;
log("found tenant with id "+ tenantId);
}else{
log("tenant was not found ,creating one");
let createTenantResult = callApi("access/createTenant",{
"tenant": {
"name": "Company X",
"viewerSeats": 1,
"proSeats": 1
},
"auth": token
});
tenantId = createTenantResult.data.modifiedList[0].id;
}
//step 4: delete the tenant we found in step 2
let deleteTenants=callApi("access/deleteTenants",{
"data": {
"tenantIds": [
tenantId
],
"deleteUsers": true,
"deleteServers": true
},
"auth": token
});
//step 5: get the default tenant
let defaultTenant = callApi("access/getDefaultTenant",{
"auth": token
});
let defaultTenantId = defaultTenant.data;
//step 6: get available licenses by type for default tenant
let proSeatsNumber = callApi("access/getAvailableTenantLicenseCount",{
"tenantLicenseTypeData": {
"tenantId": defaultTenantId,
"licenseType": 200,
},
"auth": token
});
log("The default tenant has "+ proSeatsNumber.data + " available pro seats licenses");
//step 7: get available users for tenant by license type
let proSeatsUsersData = callApi("access/getAllUsersDataByTenantAndLicenceType",{
"tenantUsersGetObject": {
"tenantId": defaultTenantId,
"clientLicenseType": 200,
},
"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;
}
}