Unify and manage your data

Start Processes From a Search Query

Learn how to initiate workflow processes like Potential Match Review using a search query.

This API is applicable for all workflow processes except for change requests. For more information, see topic Workflow Use Cases.

This API gets every entity from searchString and depending on the workflow type the behavior is as follows:
  • For Potential Match Review (PMR) workflow process it finds potential matches using the Match API. Then starts PMR workflow process for every pair of potentially matched entities. For example, entity1 and entity2 are the entities found using the searchString, then each of them has 10 different potentially matched entities that lead to 20 PMR workflow processes started in total.
  • For other workflow processes, the system triggers a single process per entity found by the searchString. For example, Reviewing Recommend Delete finds entities for which deletion is recommended. There is no additional logical process. If the searchString finds 10 entities, the request triggers 10 workflow processes.
Note: The following request does not search for workflow processes.

Request

Operation Endpoint:

POST {workflowPath}/workflow/{tenantId}/processInstances/_generateFromQuery 
Table 1. Parameters
Parameter Required Description
HeadersAuthorizationYes Access Token in format "Bearer <accessToken>" (see details in Authentication API).
Content-Type Yes"Content-Type: application/json" .
EnvironmentURLYesReltio Environment URL
Body processTypeYesProcess definition type
searchStringYesReltio Entity search string
QuerybackgroundNoThe Background parameter can be true or false.

By default, Background is false.

If the Background parameter is true, the background job will run based on the searchString query. The background job initiates the process from a search query.
Note: When the Background parameter is either not set, or, set to false, the _generateFromQuery request has a HTTP session timeout limitation. Therefore, Reltio recommends that you do not start more than 100 processes at the same time.

Example Sample JSON Request:

{ "processType":"potentialMatchReview", "searchString":"((equals(type,'configuration/entityTypes/SoldToCustomer'))and(range(matches,5,6)))"}

Response

Response Structure:

  • total- total number of records
  • data- array with results for each element returned. Each result will have the following properties:
    • processInstanceId- ID of the process instance created
    • objectURIs- URI of a pair of entities to be match-reviewed
  • error- returned if an error is encountered, contains details of the issue:
    • errorCode- 5-digit error code
    • errorMessage- error message
    • errorData- details of the error:
      • exception- exception message
      • stack- stack trace
    • innerError- details of the error from Reltio API:
      • errorMessage- Reltio API error message
      • errorCode- Reltio API error code
      • innerErrorData- Reltio API inner error data
  • warning- returned if the operation is completed with some minor issues
  • status- result of the operation; possible values are "OK" or "failed"

Example

Sample JSON Response:

{
	"data": [{
		"processInstanceId": "1234",
		"objectURIs": ["entity/e1", "entity/e2"]
	}, {
		"processInstanceId": "2345",
		"objectURIs": ["entity/e1", "entity/e3"]
	}, {
		"processInstanceId": "3456",
		"objectURIs": ["entity/e4", "entity/e5"]
	}],
	"total": 3,
	"status": "OK"
}