Add New Role

API Type

REST

HTTP Method

POST

Description

Creates a role in AgilePoint NX, and specifies the access right for the users assigned to the role.

URL Format (OnPremises, PrivateCloud)

https://[domain]:[port]/AgilePointServer/Admin/AddRole

URL Format (OnDemand)

https://[domain]:[port]/AgilePointService/Admin/AddRole

Request Parameters

Name Description
None Not Applicable

Request Body Properties

Name Description

RoleName

Function:
The name of a role.
Type
string
Accepted Values:
A valid role name.

Description

Function:
A description of an entity.
Type
string
Accepted Values:
A string that can contain spaces and special characters.

Rights

Function:
Specifies the rights that are assigned to the Role.
Type
WFAccessRights
Accepted Values:
An array of index values. See the table for appropriate indexes.

WFAccessRights provides the enums for rights. See the sample code for more information.

Enabled

Function:
Enables or disables an entity.
Type
bool
Accepted Values:
  • True - Enables the entity.
  • False - Disables the entity.

Access Rights

Index Rights
0 Register and modify the user information
1 Unregister a user
2 Add and modify role information
3 Remove a role
4 Add and modify group information
5 Remove a group
6 Modify and view system information
7 Add a process definition
8 Check in and check out a process definition
9 Delete or disable a process definition
10 Release a process definition
11 Initiate a process
12 Suspend and resume a process
13 Resend and cancel an email notification
14 Cancel a process
15 Rollback a process
16 Reassign a task
17 Cancel a task
18 Create a task
19 Add, remove and modify delegation
20 Add, remove and modify report configuration
21 Achieve and restore processes
22 Add, remove and modify shared custom attributes
23 View process details

JavaScript Code Example

$("#btnAddRole").click(function () {
  
  var JSONObject = {
    RoleName: "testasd12", 
    Description: "test", 
    Enabled: true, 
    Rights: ["InitiateProcessInstance", "CancelProcessInstance", 
             "ViewProcessDetails"]
  }; 
  
  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Admin/AddRole",
    data: JSON.stringify(JSONObject)
  });
  
});

Java Code Example

public String AddRole() {

  String URI = "https://mydomain:9011/AgilePointServer/Admin/AddRole";

  HTTPOperations ops = new HTTPOperations(domain, userName, 
                       password, appID, locale);

  
    JSONObject postData = new JSONObject();
    postData.put("RoleName", "Regional Managers");
    postData.put("Description", "Region wide Managers");
    postData.put("Enabled", "true");
    JSONArray rights = new JSONArray();
    String[] Rights = { "InitiateProcessInstance",
      "CancelProcessInstance", "ViewProcessDetails" };
    for (String temp : Rights) {
      rights.put(temp);
    }
    postData.put("Rights", rights);

    return ops.POSTMethod(URI, postData.toString());
  return "";
}

C# Code Example

public string AddRole()
  {
    string URL = "https://mydomain:9011/AgilePointServer/Admin/AddRole";

    string jsonRequestData = "{
      \"RoleName\":\"" + "testasd12" + "\",
      \"Description\":\"" + "test" + "\",
      \"Enabled\":\"true\",
      \"Rights\":[ \"InitiateProcessInstance\",
      \"CancelProcessInstance\",
      \"ViewProcessDetails\"]}";

    HTTPOperations ops = new HTTPOperations(domain, this.userName,
                         password, appID, locale);

    return ops.POSTMethod(URL, jsonRequestData);
  }

cURL Code Example

Note: The authorization code is an example. You must generate your own authorization code in base64 encoded format with the syntax Domain\Username:Password.
curl --header "Content-Type: application/json" 
                         --header "Authorization:Basic QVAtNDI0XEFkbWluOnBhc3M=" 
                         --request POST 
                         --data {\"Description\":\"Adds my role\",
                         \"Enabled\":\"true\",
                         \"Rights\":\"[]\",
                         \"RoleName\":\"ProcessInitiator\"} 
                         https://mydomain:9011/AgilePointServer/Admin/AddRole

Output

WFRole object for the role that is added.

JSON Response Body Example

{
  "CreatedBy":"mydomain\\administrator",
  "CreatedDate":"\/Date(1394324078561+0000)\/",
  "Description":"test",
  "Enabled":true,
  "LastModifiedBy":null,
  "LastModifiedDate":"\/Date(-62135568000000+0000)\/",
  "Name":"testasd12",
  "RightFlags":"NNNNNNNNNNNYNNYNNNNNNNNYNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNNNNNN
                NNNNNNNNNNNNNNNNNNNNNN"
}

Supported Versions

AgilePoint v5.0 R2 and higher

Code Examples in the AgilePoint NX Documentation

The AgilePoint NX Product Documentation is intended as a basic reference to help you understand how to complete basic coding tasks, such as make API or JavaScript method calls. Code examples that show specific use cases, the solutions to specific business problems, or detailed implementation scenarios are outside the scope of the AgilePoint NX Product Documentation. For specific and/or advanced types of examples that may better meet your requirements, AgilePoint provides several resources:

  • AgilePoint Community Forums - A free, AgilePoint-moderated, crowd-sourcing user forum where you can ask questions about specific techniques, the solutions to use cases, workarounds, or other topics that may not be covered in the Product Documentation.
  • Professional Services - If you can not find the information you need for your specific business problem, mentoring is available through AgilePoint Professional Services.
  • Personalized Training - AgilePoint can provide personalized training for your organization. To request personalized training, contact AgilePoint Sales.