Split Process Instance

API Type

REST

HTTP Method

POST

Description

Splits one process instance into 2 or more process instances. The original process is canceled.

URL Format (On Premises)

https://[domain]:[port]/AgilePointServer/Workflow/SplitProcInst

URL Format (AgilePoint for Azure)

https://[domain]:[port]/AgilePointService/Workflow/SplitProcInst

Request Parameters

Name Description
None Not Applicable

Request Body Properties

Name Description

instruction

Definition:
Specifies the instructions for splitting a process instance.
Type
WFProcessSplitting
Allowed Values:
A WFProcessSplitting object.

SplitProcessInstances

Definition:
An array of instances of the SplitProcessParameter class.
Type
SplitProcessParameter
Allowed Values:
A valid SplitProcessParameter object.

SplittingProcessInstanceID

Definition:
An array that includes the process instance IDs of the process instances you are splitting.
Type
string
Allowed Values:
An array of valid process instance IDs.

JavaScript Code Example

$("#btnSplitProcInst").click(function () {
                 
  var JSONObject =  {
    SplitProcessInstances:[{
    CustomAttributes:[{
    Name:"/pd:myFields/pd:username",
    Value:"Administrator"
    },
    {
    Name:"/pd:myFields/pd:dept",
    Value:"IT Admin"
    } 
    ],
    ProcessInstanceID:"008493358D1A419EA7094B7A3A58929D",
    ProcessInstanceName:"ProcessMapApproval-008493358D1A419EA7094B7A3A58929D",
    WorkObjectID:"00777ED0FE3E4AB49C44E7E5EDAA9656",
    WorkObjectInfo:"00777ED0FE3E4AB49C44E7E5EDAA9656t"
    }],
    SplittingProcessInstanceID:"060404057EC543A48C16FEC3F7FF8374"
    };  

  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Workflow/SplitProcInst",
    data: JSON.stringify(JSONObject),
                      
  });

});

Java Code Example

public String SplitProcInst(){
  String URI = "https://mydomain:9011/AgilePointServer/Workflow/SplitProcInst";
  HTTPOperations ops = new HTTPOperations(domain, userName, 
                       password, appID, locale);
		
  JSONObject postData = new JSONObject();
  
    JSONObject customAttribute1 = new JSONObject();
    customAttribute1.put("Name", "/pd:myFields/pd:username");
    customAttribute1.put("Value", "Administrator");
    JSONObject customAttribute2 = new JSONObject();
    customAttribute2.put("Name", "/pd:myFields/pd:dept");
    customAttribute2.put("Value", "IT Admin");
			
    JSONArray customAttributes = new JSONArray();
    customAttributes.put(customAttribute1);
    customAttributes.put(customAttribute2);
			
    JSONObject newProcInstanceInfo = new JSONObject();
    newProcInstanceInfo.put("CustomAttributes", customAttributes);
    newProcInstanceInfo.put("ProcessInstanceID" ,"008493358D1A419EA7094B7A3A58929D");
    newProcInstanceInfo.put("ProcessInstanceName", 
      "ProcessMapApproval-008493358D1A419EA7094B7A3A58929D");
    newProcInstanceInfo.put("WorkObjectID", "00777ED0FE3E4AB49C44E7E5EDAA9656");
    newProcInstanceInfo.put("WorkObjectInfo", "00777ED0FE3E4AB49C44E7E5EDAA9656");
			
    JSONArray splitProcessInstances = new JSONArray(); 
    splitProcessInstances.put(newProcInstanceInfo);
			
    postData.put("SplitProcessInstances", splitProcessInstances);
    postData.put("SplittingProcessInstanceID","060404057EC543A48C16FEC3F7FF8374");
			
    return ops.POSTMethod(URI, postData.toString());
  return "";
}

C# Code Example

public string SplitProcInst()
  {
    string URL = "https://mydomain:9011/AgilePointServer/Workflow/SplitProcInst";   

    string jsonRequestData = "{
      \"SplitProcessInstances\":[{
      \"CustomAttributes\":[{
      \"Name\":\"\\/pd:myFields\\/pd:username\",
      \"Value\":\"Administrator\"},
      {\"Name\":\"\\/pd:myFields\\/pd:dept\",
      \"Value\":\"IT Admin\"}],
      \"ProcessInstanceID\":\"8707CAB31A0B4E65942BF10440A91EC4\",
      \"ProcessInstanceName\":\"Test007-DB2E1378A1054FB8BC7EF771B6D0CAFD\",
      \"WorkObjectID\":\"0FF438306540448D834A05C29201D1B2\",
      \"WorkObjectInfo\":\"" + null + "\"}],
      \"SplittingProcessInstanceID\":\"8BE789DF1FAE462CAB20CE2CA7178F4C\"}";

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

    return ops.POSTMethod(URL,jsonRequestData);
  }

Output

A collection of strings that contain the process instance IDs for the process instances that were created from the split.

JSON Response Body Example

"String content"

Supported Versions

AgilePoint BPMS v5.0 R2 and higher