Rollback Process Instance

API Type

REST

HTTP Method

POST

Description

Rolls a process instance back to a previous specified activity, or skips a specified activity that has not yet been started.

Good to Know

  • When this method is invoked, the current or skipped activity becomes Cancelled. When skipping, the process moves forward regardless of the activity's status.
  • This API can be called on process instances in running status only.
  • This API call cancels all the active activity instances and rollbacks or jumps to a specified activity.
  • To call this method, the API account user must have the access right, Rollback a Process.

URL Format (OnPremises, PrivateCloud)

https://[domain]:[port]/AgilePointServer/Workflow/RollbackProcInst/[activityInstanceID]

URL Format (OnDemand)

https://[domain]:[port]/AgilePointService/Workflow/RollbackProcInst/[activityInstanceID]

Request Parameters

Name Description

activityInstanceID

Function:
The unique ID for an activity instance.
Type
string
Accepted Values:
A valid activity instance ID.

JavaScript Code Example

$("#btnRollbackProcInst").click(function () {

  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Workflow/
                RollbackProcInst/3E14D9BE837C47F2BA17A724508AC8CD",
  });

});

Java Code Example

public String RollbackProcInst() {

  String URI = "https://mydomain:9011/AgilePointServer/Workflow/
                        RollbackProcInst/3E14D9BE837C47F2BA17A724508AC8CD";

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

  JSONObject postData = new JSONObject();

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

C# Code Example

public string RollbackProcInst()
  {
    string URI = "https://mydomain:9011/AgilePointServer/Workflow/
                         RollbackProcInst/3E14D9BE837C47F2BA17A724508AC8CD";

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

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

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 {\"ACTIVITYINSTANCEID\":\"827028D244B4F4D9117757491D0C4F59\"} 
                         https://mydomain:9011/AgilePointServer/Workflow/
                         RollbackProcInst/827028D244B4F4D9117757491D0C4F59

Output

WFEvent object that provides the status of the transaction. The possible statuses are:

  • Sent - Indicates event has been sent to engine for processing.
  • Failed - Indicates event failed to process.
  • Processed - Indicates event has been processed successfully.
  • Canceled - Indicates event was canceled.
  • Deferred - Indicates event does not need to be sent immediately.

JSON Response Body Example

{
  "ActivityInstID": "0F6B47906A0C4B469AC9CB9A7F2FF831",
  "AutoStart": true,
  "CustomAttributes": null,
  "Diagnostic": true,
  "EndDate": "\/Date(928149600000+0000)\/",
  "Entries": 1,
  "Error": null,
  "EventID": "3A664D0A8D4B4B6AA41F7DB1D606876F",
  "EventName": "RollbackProcessInstance",
  "HighPriority": true,
  "ParamsXml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>
                <WFEvent>
                  <param name=\"ProcInstID\" 
                            value=\"00131C75A35046A89E32B64C4649E075\" \/>
                  <param name=\"ActivityInstID\" 
                            value=\"0F6B47906A0C4B469AC9CB9A7F2FF831\" \/>
                  <param name=\"HighPriority\" value=\"True\" \/>
                <\/WFEvent>",
  "ParentProcInstID": "",
  "ProcDefID": "",
  "ProcInstID": "00131C75A35046A89E32B64C4649E075",
  "ProcInstName": "",
  "Sender": "mydomain\\administrator",
  "SentDate": "\/Date(1394144131068+0000)\/",
  "SourceWorkItemID": "",
  "Status": "Sent",	
  "UserID": "",
  "WorkItemID": "",
  "WorkObjectID": "",
  "WorkObjectInfo": ""
}

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.