Create a new asset type hierarchy configuration for a specified namespace prefix.
Creates a hierarchy configuration that defines how assets are categorized and organized within a namespace. The request includes the namespace prefix, display name, hierarchy levels, fallback asset type, name separator, and optional attributes such as description, activation status, and priority
POST https://[hostname]/api/v1/openlineage/config/hierarchies
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
namespacePrefix |
string | Yes |
Namespace prefix that identifies where the configuration applies
(e.g., |
displayName |
string | Yes | Display name for the hierarchy configuration. |
description |
string | No | Description of the hierarchy configuration. |
hierarchyLevels |
array[object] | Yes | Defines the hierarchy levels used to map and categorize assets. |
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 | Determines the 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 matching assets. |
parentLevel |
integer | No | Identifies the parent hierarchy level. |
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" \
-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", {
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"
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", 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 created hierarchy configuration object.
It includes configuration identity, namespace/display metadata, hierarchy levels, fallback/type parsing settings, activation state, and audit fields.
Representative payload generated from the response schema.
{
"_id": "string",
"workspaceId": "string",
"namespacePrefix": "string",
"displayName": "string",
"description": "string",
"hierarchyLevels": [
{
"pattern": "string",
"assetTypeXref": "string",
"catalogType": "Datasource",
"parentLevel": 0,
"description": "string"
}
],
"fallbackAssetTypeXref": "string",
"nameSeparator": ".",
"isActive": true,
"priority": 0,
"createdAt": "string",
"createdBy": "string",
"updatedAt": "string",
"updatedBy": "string"
}
Error Responses
This payload returns validation or request-shape errors when the configuration input is invalid.
Representative payload generated from the response schema.
{
"statusCode": 400,
"code": "string",
"error": "string",
"message": "string",
"validationErrors": [
{
"path": "string",
"message": "string"
}
]
}
This payload returns a conflict error when a configuration already exists for the provided namespace prefix.
Representative payload generated from the response schema.
{
"statusCode": 409,
"code": "string",
"error": "string",
"message": "string",
"validationErrors": [
{
"path": "string",
"message": "string"
}
]
}