Validate entities using DVF
Learn how to validate entity data using Data Validation Functions (DVF) without persisting the data in your Reltio tenant.
Use the Data Validation to execute Data Validation Functions (DVFs) against entity data without saving the entity in Reltio. The API validates the request payload against active DVF rules configured for the specified entity type and returns validation results for each object.
HTTP method and endpoint
Use the following HTTP method and endpoint path to submit the validation request:
POST {TenantURL}/api/{tenantId}/dvf/validate
Replace {TenantURL} with your tenant's base URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
| tenantId | String | Yes | The unique identifier of the tenant. Specifies the tenant context for the request. |
Request headers
Include the following headers in every request:
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer <access_token>. For more details, see Authentication API. | Yes |
| Content-Type | application/json | Yes |
Request body
The request body must contain a list of entity objects to validate. All objects in a single request must belong to the same entity type.
| Parameter | Type | Required | Description |
|---|---|---|---|
| objects | Array | Yes | List of entity objects to validate. Each object must include the entity type and attributes. |
| objects[].type | String | Yes | The entity type URI (for example, configuration/entityTypes/HCP). |
| objects[].attributes | Object | Yes | Entity attributes structured according to the entity JSON model. |
| objects[].crosswalks | Array | No | List of crosswalk objects associated with the entity. |
Example request
The following example shows a request that validates a single entity object:
POST {TenantURL}/api/{tenantId}/dvf/validate
Authorization: Bearer <access_token>
Content-Type: application/json
{
"objects": [
{
"type": "configuration/entityTypes/HCP",
"attributes": {
"FirstName": [
{
"type": "configuration/entityTypes/HCP/attributes/FirstName",
"value": "MTR@455"
}
],
"LastName": [
{
"type": "configuration/entityTypes/HCP/attributes/LastName",
"value": "Maram"
}
]
}
}
]
}
Response body
The response contains one result object per entity in the request. Each result indicates whether validation succeeded and provides error details when applicable.
| Field | Type | Description |
|---|---|---|
| index | Number | Position of the object in the original request array. |
| object | Object | Entity object returned when validation is successful. |
| successful | Boolean | Indicates whether the entity passed all DVF validations. |
| errors | Object | Contains validation error details when successful is false. |
| errors.innerErrorData | Array | List of individual DVF execution results, including severity, function name, and validation message. |
Example response
[
{
"index": 0,
"successful": false,
"errors": {
"severity": "Error",
"errorCode": "31001",
"errorMessage": "The profile has failed against one or more DVF Functions.",
"innerErrorData": [
{
"severity": "ERROR",
"functionName": "HCP.Dob.01",
"validationMessage": "Date should not be earlier than 1990-01-26."
}
]
}
}
]
Response codes
| HTTP status code | Description |
|---|---|
| 200 OK | Request processed successfully. The response may include validation errors. |
| 400 Bad Request | Invalid request format or malformed JSON. |
| 401 Unauthorized | Missing or invalid authentication credentials. |
| 403 Forbidden | Insufficient permissions to execute validation. |
| 422 Unprocessable Entity | The request is syntactically valid but violates validation constraints, such as submitting multiple entity types in a single request or when DVFAction isn't configured for the tenant. |
| 500 Internal Server Error | Unexpected server-side error. |
| 503 Service Unavailable | The service is temporarily unavailable. |
Execution constraints
- All objects in a single request must belong to the same entity type.
- The
Reltio/DVFActionlifecycle action must be configured in thebeforeSavehook for the tenant’s business model. - The API validates data only and does not persist entity records.
Related pages
For more information see topics: