Unify and manage your data

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.

The following table describes the endpoint path parameters.
ParameterTypeRequiredDescription
tenantIdStringYesThe unique identifier of the tenant. Specifies the tenant context for the request.

Request headers

Include the following headers in every request:

HeaderValueRequired
AuthorizationBearer <access_token>. For more details, see Authentication API.Yes
Content-Typeapplication/jsonYes

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.

ParameterTypeRequiredDescription
objectsArrayYesList of entity objects to validate. Each object must include the entity type and attributes.
objects[].typeStringYesThe entity type URI (for example, configuration/entityTypes/HCP).
objects[].attributesObjectYesEntity attributes structured according to the entity JSON model.
objects[].crosswalksArrayNoList 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.

FieldTypeDescription
indexNumberPosition of the object in the original request array.
objectObjectEntity object returned when validation is successful.
successfulBooleanIndicates whether the entity passed all DVF validations.
errorsObjectContains validation error details when successful is false.
errors.innerErrorDataArrayList 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 codeDescription
200 OKRequest processed successfully. The response may include validation errors.
400 Bad RequestInvalid request format or malformed JSON.
401 UnauthorizedMissing or invalid authentication credentials.
403 ForbiddenInsufficient permissions to execute validation.
422 Unprocessable EntityThe 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 ErrorUnexpected server-side error.
503 Service UnavailableThe service is temporarily unavailable.

Execution constraints

  • All objects in a single request must belong to the same entity type.
  • The Reltio/DVFAction lifecycle action must be configured in the beforeSave hook for the tenant’s business model.
  • The API validates data only and does not persist entity records.

For more information see topics: