URIs for Accessing BPM Processes

This topic lists the available uniform resource identifiers (URI) you can use to access BPM processes or perform an operation on a process.

Action URI Description

Get active process definition

GET /bpmodata/processes.svc/ActiveProcessDefinition(vendor='<vendor>',dcName='<dc-name>',processTechnicalName='<process-technical-name>')

GET /bpmodata/processes.svc/$metadata

The response body provides the metadata of the process definition as a unique identifier for the process definition (id), the process model's identifier (modelId), and the translated name of the process definition (name). It also returns a flag indicating whether the process definition implements a conditional start pattern and thus cannot be started with the BPM OData service.

Get a process instance

GET /bpmodata/processes.svc/ProcessCollection('<process-instance-id>')

The response body provides the metadata of the process instance, such as the unique identifier for the process instance (InstanceId), the process instance status (Status), the name of the process instance (Name), its subject (Subject), dates when the process instance was started and finished (StartDate and EndDate), and identifiers of the process instance model (ModelId) and definition (DefinitionId). Furthermore, it returns the identifiers of the parent (ParentProcessInstanceId) and root (RootProcessInstanceId) process instances if the process instance is a subprocess.

Get a property of a process instance

GET /bpmodata/processes.svc/ProcessCollection('<process-instance-id>')/<property-name>

The response body provides the process instance property with the specified <property-name> property name.

Get a property value of a process instance

GET /bpmodata/processes.svc/ProcessCollection('<process-instance-id>')/<property-name>/$value

The response body provides the value of the process instance property with the specified <property-name> property name.

Get filtered processes

GET /bpmodata/processes.svc/ProcessCollection?$filter=<filter_expression>

GET /bpmodata/processes.svc/ProcessCollection?$filter=<filter_expression>&$top=<N>

GET /bpmodata/processes.svc/ProcessCollection?$filter=<filter_expression>&$skip=<N>

GET /bpmodata/processes.svc/ProcessCollection?$filter=<filter_expression>&$top=<Nt>&$skip=<Ns>

The response body provides a collection of processes matching the given filter.

More details about <filter_expression> are described in the Filtering of Processes section.

Cancel a process

POST /bpmodata/processes.svc/Cancel?InstanceId='<process-instance-id>'

*

The response body provides the canceled process instance.

Suspend a process

POST /bpmodata/processes.svc/Suspend?InstanceId='<process-instance-id>'

*

The response body provides the suspended process instance.

Resume a process

POST /bpmodata/processes.svc/Resume?InstanceId='<process-instance-id>'

*

The response body provides the resumed process instance.

* To protect modifying requests such as POST against cross-site request forgery (CSRF) attacks, a valid CSRF token is required. Therefore, before you use the POST request you need to request a CSRF token with a GET request containing the header 'X-CSRF-Token' with the value 'Fetch'. Modifying requests without a valid CSRF token are rejected.