Accelerate the Value of Data

Create Entity With Multiple Crosswalks

For multiple crosswalks for an entity, describe them under the crosswalks section.

If you have multiple crosswalks for an entity, you should describe them in the request body, under the crosswalks section. This operation creates a collection of entities in the Reltio Platform according to the JSON object definition. Note, the specified crosswalks are added to all attribute values specified in this request. To avoid this, a crosswalk can be marked as non-"dataProvider" by specifying the attribute "dataProvider" as false.

By default, all new crosswalks are added to newly created contributor. In case of an override of an already existing entity, it is possible to associate new crosswalks with already existing contributor. See Association of Crosswalk With Proper Contributor for details.

Request

POST {TenantURL}/entities
Table 1. Parameters
Parameter Required Description
Headers Authorization Yes Information about authentication access token in format "Bearer <accessToken>" (see details in Authentication API).
Content-Type Yes Should be "Content-Type: application/json".
Query returnObjects No Specifies if response should contain created entities. Default value is true.
maxObjectsToUpdate No
Note: The maxObjectsToUpdate parameter will be deprecated. Therefore, we recommend you do not use this parameter and instead, use the Immutable Reference Attributes feature. For more information, see deprecateservice.dita.

When a reference attribute is used, an update made to the referenced entity or relationship will generate an event and cause a referencing entity to get reindexed. In the case where the referenced entity is linked to numerous referencing entities, this can cause undesirable performance impact during a data load.

For example, suppose in the source files, a single location is being used by 300 party entities. As the 300 party entities are being loaded into the tenant, the location object continues to absorb more and more duplicate location entities through merging, each time firing an event that causes the party entities linked to it (which are increasing in number continuously from 1 to 300) to get reindexed.

To avoid this occurring in data loads and improve the data load performance, use the maxObjectsToUpdate POST parameter to specify the maximum number of events generated by the create / update request for any related objects. Once the data load has completed, the tenant should be reindexed to ensure all entities are properly referenced.

Body Yes JSON Array with objects representing entity objects to be created. Each object must have "type" property but will not have "URI" properties (it will be provided/generated by Reltio API).

Response

Array with results for each element of a request. Each result will have the following properties:

  • index- index of an entity object in JSON Array of entities to be created. Required in a response.
  • successful- indicates whether the request was successful. Returns "true" for success; "false" otherwise.
  • object- entity object that is created. This parameter will be returned if returnObjects query parameter in the request is not false and object was created successfully. It will return complete entity object - the same as returned by Get Entity request without any select parameters. Note that by default hidden attributes will not be returned in a response, use "options=ov=false" parameter in the request to change this behavior.
  • errors- the object cannot be created for some reason. Contains details of the issue. Returned only if the object was not created.
    • Possible errors:
      • warning- if object is created but there were some problems.
      • status- result of operation; possible values are "OK" or "failed".

Request

POST {
	TenantURL
}
/entities Headers: Authorization: Bearer 204938ca-2cf7-44b0-b11a-1b4c59984512, Content-Type: application/json
Body: [{
	"type": "configuration/entityTypes/Individual",
	"attributes": {
		"LastName": [{
			"type": "configuration/entityTypes/Individual/attributes/LastName",
			"value": "Smith"
		}]
	},
	"crosswalks": [{
		"type": "configuration/sources/TWITTER",
		"value": "@john",
		"url": "www.twitter.com"
	}, {
		"type": "configuration/sources/MDM",
		"value": "Person.781",
		"url": "www.MDM.com"
	}, {
		"type": "configuration/sources/Facebook",
		"value": "123456",
		"url": "www.facebook.com",
		"dataProvider": false
	}]
}]

Response

POST {
	TenantURL
}
/entities?crosswalkValue='XYZ.id1' Headers: Authorization: Bearer 204938ca-2cf7-44b0-b11a-1b4c59984512, Content-Type: application/json
Body: [{
	"index": 0,
	"object": {
		"URI": "entities/00005KL",
		"type": "configuration/entityTypes/Individual",
		"createdBy": "User",
		"createdTime": 1358768317681,
		"updatedTime": 1358768317681,
		"attributes": {
			"LastName": [{
				"type": "configuration/entityTypes/Individual/attributes/LastName",
				"value": "Smith",
				"URI": "entities/00005KL/attributes/LastName/0"
			}]
		},
		"crosswalks": [{
			"URI": "entities/00005KL/crosswalks/1",
			"type": "configuration/sources/TWITTER",
			"value": "@john",
			"attributes": ["entities/00005KL/attributes/LastName/0"]
		}, {
			"URI": "entities/00005KL/crosswalks/2",
			"type": "configuration/sources/MDM",
			"value": "Person.781",
			"attributes": ["entities/00005KL/attributes/LastName/0"]
		}, {
			"URI": "entities/00005KL/crosswalks/2",
			"type": "configuration/sources/Facebook",
			"value": "123456"
		}]
	},
	"successful": true
}]