Validate hierarchy configuration - Precisely Data Integrity Suite

Data Integrity Suite APIs

Product
Data_Integrity
Spatial_Analytics
Data_Enrichment
geo_addressing_1
Services
Spatial Analytics
Data Enrichment
Geo Addressing
ft:title
Data Integrity Suite APIs
ft:locale
en-US
PublicationType
pt_developer
copyrightfirst
2023
copyrightlast
2026

Validate a hierarchy configuration without saving it.

Validates a hierarchy configuration request and checks that the referenced asset types exist in the workspace. The configuration is not persisted.

POST https://[hostname]/api/v1/openlineage/config/hierarchies/validate

Request Parameters

Parameter Type Required Description
namespacePrefix string Yes Namespace prefix that defines where the configuration applies (e.g., "custom://")
displayName string Yes Display name of the hierarchy configuration.
description string No Description of the hierarchy configuration.
hierarchyLevels array[object] Yes List of hierarchy levels that define how assets are matched and categorized.
fallbackAssetTypeXref string Yes Asset type reference used when no hierarchy level pattern matches.
nameSeparator string Yes Character used to split qualified names.
isActive boolean No Indicates whether the configuration is active.
priority integer No Priority of the configuration.

hierarchyLevels Item Properties

Field Type Required Description
pattern string Yes Regular expression used to match qualified names (e.g., "^[^.]+\\.[^.]+\\.[^.]+$")
assetTypeXref string Yes Asset type reference applied when the pattern matches (e.g., "{Oracle Table}")
catalogType string Yes Catalog type assigned to assets that match the pattern.
parentLevel integer No Hierarchy level that defines the parent relationship.
description string No Description of the hierarchy level.

For the complete CreateHierarchyConfigInput schema definition, see the example below.


{
  "namespacePrefix": "example",
  "displayName": "example",
  "description": "example",
  "hierarchyLevels": [
    {
      "pattern": "example",
      "assetTypeXref": "example",
      "catalogType": "example",
      "parentLevel": 0,
      "description": "example"
    }
  ],
  "fallbackAssetTypeXref": "example",
  "nameSeparator": "example",
  "isActive": true,
  "priority": 0
}

Request Examples

Each example shows how to call this endpoint with the documented method, URL, headers, and request body format.


curl -X POST "/api/v1/openlineage/config/hierarchies/validate" \
  -H "Authorization: Bearer <JWT>" \
  -H "Content-Type: application/json" \
  -d '{
  "namespacePrefix": "example",
  "displayName": "example",
  "hierarchyLevels": [
    {}
  ],
  "fallbackAssetTypeXref": "example",
  "nameSeparator": "example"
}'

fetch("/api/v1/openlineage/config/hierarchies/validate", {
  method: "POST",
  headers: {
        "Authorization": "Bearer <JWT>",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "namespacePrefix": "example",
  "displayName": "example",
  "hierarchyLevels": [
    {}
  ],
  "fallbackAssetTypeXref": "example",
  "nameSeparator": "example"
})
})
.then(res => res.json())
.then(data => console.log(data));

import json
import requests

url = "/api/v1/openlineage/config/hierarchies/validate"
headers = {
    "Authorization": "Bearer <JWT>",
  "Content-Type": "application/json"
}
payload = json.loads('''{
  "namespacePrefix": "example",
  "displayName": "example",
  "hierarchyLevels": [
    {}
  ],
  "fallbackAssetTypeXref": "example",
  "nameSeparator": "example"
}''')

response = requests.post(url, headers=headers, json=payload)
print(response.json())

package main

import (
	"fmt"
	"io"
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{
  "namespacePrefix": "example",
  "displayName": "example",
  "hierarchyLevels": [
    {}
  ],
  "fallbackAssetTypeXref": "example",
  "nameSeparator": "example"
}`)
	req, _ := http.NewRequest("POST", "/api/v1/openlineage/config/hierarchies/validate", body)
	req.Header.Set("Authorization", "Bearer <JWT>")
	req.Header.Set("Content-Type", "application/json")
	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body2, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body2))
}

Success Responses

This payload returns the outcome of the dry-run validation for the submitted hierarchy configuration.

The valid field indicates whether the configuration is valid. When validation fails, the errors array contains field-level details identifying which fields are invalid and why.

Representative payload generated from the response schema.

{
  "valid": true,
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ]
}

Error Responses

No error responses are defined for this endpoint.