Add New Delegation

API Type

REST

HTTP Method

POST

Description

Creates a rule for delegating one user's tasks to another user.

Good to Know

  • After a delegation is added, its status is set to Created.
  • After it is created, you must call the ActivateDelegation method for the delegation to take effect.
  • This method uses the WFDelegation class. For more information, see the AgilePoint Class Reference.

URL Format (OnPremises, Private Cloud)

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

URL Format (OnDemand)

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

Request Parameters

NameDescription
NoneNot Applicable

Request Body Properties

NameDescription

FromUser

Function:
Specifies a user from whom to delegate tasks.
Type
string
Accepted Values:
A valid user name.

ToUser

Function:
Specifies the user who will receive the delegated tasks.
Type
string
Accepted Values:
A valid user name.

StartDate

Function:
The start date of delegation.
Type
DateTime
Accepted Values:
A valid DateTime value.

EndDate

Function:
Specifies the completion date of delegation.
Type
DateTime
Accepted Values:
A valid DateTime value.

Description

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

JavaScript Code Example

$("#btnAddDelegation").click(function () {
  
  var JSONObject = {
    FromUser: "mydomain\\brian.lucas", 
    ToUser: "mydomain\\lilly.allen", 
    StartDate: '\/Date(' + new Date().getTime() + '-0000)\/', 
    EndDate: '\/Date(' + new Date().getTime() + '-0000)\/', 
    Description: "Rest Test", Status: "Created"
  };
  
  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Admin/AddDelegation",
    data: JSON.stringify(JSONObject)
  });
  
});

Java Code Example

public String AddDelegation() {

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

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

  JSONObject postData = new JSONObject();
    postData.put("FromUser", "mydomain\\liy.allen");
    postData.put("ToUser", "mydomain\\bob.hope");
    postData.put("StartDate", "/Date("
      + Calendar.getInstance().getTimeInMillis() + "+0000)/");
    postData.put("EndDate", "/Date("
      + Calendar.getInstance().getTimeInMillis() + "+0000)/");
    postData.put("Description", "Vacation");
    postData.put("Status", "Created");

    return ops.POSTMethod(URI, postData.toString());
  } catch (JSONException e1) {
    e1.printStackTrace();
  return "";
}

C# Code Example

public string AddDelegation()
  {
    string gh=@"\/Date(928149600000+0000)\/";
    string jsonRequestData = "{
      \"FromUser\":\"" + "mydomain\\liy.allen" + "\",
      \"ToUser\":\"" + "mydomain\\bob.hope" + "\",
      \"StartDate\":\"" + gh + "\",
      \"EndDate\":\"" + gh + "\",
      \"Description\":\"" + "My sample delegation" + "\",
      \"Status\":\"" + "Created" + "\"}";
           
    string URI = "https://mydomain:9011/AgilePointServer/Admin/AddDelegation";

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

    return ops.POSTMethod(URI, 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\":\"My sample delegation\",
                         \"EndDate\":\"/Date(1499884200000+0000)/\",
                         \"FromUser\":\"mydomain\\brian.lucas\",
                         \"StartDate\":\"/Date(1499797800000+0000)/\",
                         \"Status\":\"Active\",
                         \"ToUser\":\"mydomain\\lilly.allen\"} 
                         https://mydomain:9011/AgilePointServer/Admin/AddDelegation

Output

WFDelegation object.

JSON Response Body Example

{
  "CancelledBy": null,
  "CancelledDate": "\/Date(928149600000+0000)\/",
  "CreatedBy": "mydomain\\brian.lucas",
  "CreatedDate": "\/Date(1394154711507+0000)\/",
  "DelegationID": "77F9A9946CF74545B4C8A27956CDA036",
  "Description": "Rest Test",
  "EndDate": "\/Date(28799000+0000)\/",
  "FromUser": "mydomain\\brian.lucas",
  "LastUpdatedBy": null,
  "LastUpdatedDate": "\/Date(928149600000+0000)\/",
  "ProcDefIDS": "",
  "RecWeekdaysString": "",
  "StartDate": "\/Date(-57600000+0000)\/",
  "Status": "Created",
  "ToUser": "mydomain\\lilly.allen"
}

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.