Bulk update relation start or end entities
Learn more about the API to bulk update start or end entities of existing relationships.
Use this API to bulk update the start or end entities of an existing relationship, based on specified filter conditions. Earlier, to change the start or end object of a relation, you had to delete the existing relation and create a new one.
Request
POST {ApplicationURL}/updateRelationStartEnd
POST {ApplicationURL}/api/{tenantId}/updateRelationStartEnd
Parameters
Parameter | Required | Details | |
---|---|---|---|
Headers | Authorization | Yes | Information about authentication access token in format "Bearer <accessToken> " (see details in Authentication API ). |
Body | filter | Yes | Filter condition to select the relation that you want to update. For more information, see topic Relations Filtering. |
updateStartOrEnd | Yes | Denotes whether the start or end object has to be updated. Specify START to update the start object and END to update the end object. | |
entityURI | Yes | The URI of the new entity that will replace the start or end object. | |
uriList | No | The list of URIs that need to be updated. Omit this if you have specified a filter. |
Task payload - examples
Example 1 - Update end entity for a specific relationship URI
{
"filter": "in(uri, 'relations/0000sCT')",
"updateStartOrEnd": "END",
"entityURI": "entities/0000RYr"
}
Example 2 - Update all start entities for all relationships that have HasAddress relationship type
{
"filter": "equals(type, 'configuration/relationTypes/HasAddress')",
"updateStartOrEnd": "START",
"entityURI": "entities/0000RYr"
}
Example 3 - Update start entity based on a URI list of relationships
{
"uriList": [ "relations/0000sCT" , "relations/0000gUT"],
"updateStartOrEnd": "START",
"entityURI": "entities/0000RYr"
}
Example 4 - Update start entity for all relationships of type IndividualHasAddress and a specific start entity URI
{
"filter": "equals(type, 'configuration/relationTypes/IndividualHasAddress') and equals(startObject, 'entities/0AFmt9f')",
"updateStartOrEnd": "START",
"entityURI": "entities/0AFmkd9"
}
Response
[
{
"id": "22dd5fbd-0a19-4736-b90e-8561ec4c2278",
"groupId": "ef1f45e7-e8b4-4458-9b98-0787314e8c4d",
"createdTime": 1749041087134,
"createdBy": "saurabh.agarwal",
"updatedTime": 1749041087134,
"updatedBy": "saurabh.agarwal",
"type": "com.reltio.businesslogic.tasks.update.UpdateRelationStartEndTask",
"status": "SCHEDULED",
"name": "Update Relation Start End Task for tenant : TurboView",
"createdOnHost": "dataload-5685f5bf95-r4bmh",
"parallelExecution": false,
"nodesGroup": "default",
"parameters": {
"tenantId": "TurboView",
"uriList": null,
"distributed": "false",
"filter": "equals(type, 'configuration/relationTypes/IndividualHasAddress') and equals(startObject, 'entities/0AFmt9f')",
"entityUri": "0AFmkd9",
"updateStartOrEnd": "START"
},
"currentState": {},
"duration": "0s"
}
]
id
field , which denotes the task ID of the task that is created for the update. GET {TenantURL}/tasks/{taskId}
Headers: Authorization: Bearer c3f28fdd-e082-4f90-8840-9896914eaf41