Metadata Model API
|
The REST API is currently in Early Access Preview. The API specification and endpoints might change before being marked as stable. We recommend testing thoroughly and being prepared to adapt to potential changes in future releases. |
The Metadata Model API lets you query the metadata model of your environment: which entity types exist, how they relate to each other in the type hierarchy, and which properties each type defines. All endpoints are read-only.
Use this API to discover the entity types and property names you need when working with the Generic Metadata Entities API. For example, before creating entities of a custom type, retrieve its definition to see which properties it supports and which of them are editable.
Before using the Metadata Model API, configure authentication as described in API Authentication.
API base URL
All Metadata Model API endpoints are accessed through the following base URL:
https://{your-environment}.ataccama.one/api/catalog/v1
Replace {your-environment} with your environment identifier from the Ataccama Cloud Portal.
How entity definitions are structured
Every entity definition returned by this API has the same structure:
-
name: The unique entity-type identifier, for example,businessTerm. Use it as the path parameter when retrieving a single entity definition. -
description: A human-readable description of the entity type. -
nodePaths: The node paths under which entities of this type are located in the metadata model. -
superEntities: The names of the entity types this type extends, ordered from the direct parent up to the root type. -
subEntities: The names of the entity types that directly extend this type. -
properties: The properties defined on the entity type. See Property types. -
editable: Whether entities of this type can be created, updated, or deleted. Iffalse, entities of this type are read-only, typically because they represent computed content.
The entity types and their properties reflect the metadata model of your environment, including any customizations.
Property types
Each item in properties describes one property of the entity type:
-
name: The property name as referenced by entity instances. -
description: A human-readable description of the property. -
type: The kind of the property. One ofSCALAR,SINGLE_EMBEDDED,ARRAY_EMBEDDED,SINGLE_REFERENCE, orARRAY_REFERENCE. -
editable: Whether the property is writable. Iffalse, the property is read-only, typically because its value is computed, for example, delegated to another property.
Depending on type, each property carries one additional field:
| Property type | Additional field | Description |
|---|---|---|
|
|
Name of the scalar type that determines the value type, for example, |
|
|
Name of the metadata model entity embedded as a single value under this property. |
|
|
Name of the metadata model entity embedded as an array of values under this property. |
|
|
Name of the metadata model entity referenced as a single value under this property. |
|
|
Name of the metadata model entity referenced as an array of values under this property. |
List metadata model entities
Retrieve a paginated list of entity definitions.
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/metadata-model/entities?searchQuery=term&size=20" \
-H "Authorization: Bearer {access_token}"
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
No |
Cursor for forward pagination. When omitted, the list starts at the beginning. |
|
integer |
No |
Number of entity definitions to return. Default: Max: |
|
string |
No |
Full-text query matched against the entity Example: |
{
"meta": {
"next": "MjA=",
"total": 150
},
"data": [
{
"name": "businessTerm",
"description": "A term that captures business meaning attached to catalog data.",
"nodePaths": [
"/catalog/terms"
],
"superEntities": [
"term"
],
"subEntities": [],
"properties": [
{
"name": "isCritical",
"description": "Whether the term represents critical business information.",
"type": "SCALAR",
"scalarType": "boolean",
"editable": true
},
{
"name": "parent",
"description": "Parent business term in the term hierarchy.",
"type": "SINGLE_REFERENCE",
"entityName": "term",
"editable": true
}
],
"editable": true
}
]
}
Get a metadata model entity
Retrieve a single entity definition by its name.
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/metadata-model/entities/businessTerm" \
-H "Authorization: Bearer {access_token}"
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
Yes |
The entity-type identifier, matching the |
{
"name": "businessTerm",
"description": "A term that captures business meaning attached to catalog data.",
"nodePaths": [
"/catalog/terms"
],
"superEntities": [
"term"
],
"subEntities": [],
"properties": [
{
"name": "isCritical",
"description": "Whether the term represents critical business information.",
"type": "SCALAR",
"scalarType": "boolean",
"editable": true
},
{
"name": "parent",
"description": "Parent business term in the term hierarchy.",
"type": "SINGLE_REFERENCE",
"entityName": "term",
"editable": true
},
{
"name": "aliases",
"description": "Aliases of this business term.",
"type": "ARRAY_EMBEDDED",
"entityName": "catalogAlias",
"editable": true
},
{
"name": "parentName",
"description": "Name of the parent business term. Delegated to parent.name.",
"type": "SCALAR",
"scalarType": "string",
"editable": false
}
],
"editable": true
}
Error handling
The API returns standard HTTP status codes and problem details for errors:
| Status code | Description |
|---|---|
|
Request successful. |
|
Invalid request parameters. |
|
Insufficient permissions to access the requested resource. |
|
No entity definition with the given name exists. |
{
"type": "RESOURCE_NOT_FOUND",
"title": "Resource Not Found",
"detail": "Metadata model entity with name 'businessTerm' was not found"
}
Next steps
-
Learn about the Generic Metadata Entities API for creating, reading, updating, and deleting entities of the types returned by this API.
-
Download the Catalog API OpenAPI specification for detailed API reference.
Was this page useful?