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.
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 thesearchString
finds 10 entities, the request triggers 10 workflow processes.
Request
Operation Endpoint:
POST {workflowPath}/workflow/{tenantId}/processInstances/_generateFromQuery
Parameter | Required | Description | |
---|---|---|---|
Headers | Authorization | Yes | Access Token in format "Bearer (see details in Authentication API). |
Content-Type | Yes | " . | |
EnvironmentURL | Yes | Reltio Environment URL | |
Body | processType | Yes | Process definition type |
searchString | Yes | Reltio Entity search string | |
Query | background | No | The 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 createdobjectURIs
- 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 codeerrorMessage
- error message-
errorData
- details of the error:exception
- exception messagestack
- stack trace
-
innerError
- details of the error from Reltio API:errorMessage
- Reltio API error messageerrorCode
- Reltio API error codeinnerErrorData
- Reltio API inner error data
warning
- returned if the operation is completed with some minor issuesstatus
- 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"
}