Catalog Items 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 Catalog Items API allows you to programmatically access and manage catalog items in Ataccama ONE. Catalog items represent discovered data assets such as tables, files, and datasets that have been cataloged from your data sources.
Before using the Catalog Items API, configure authentication as described in API Authentication.
API base URL
All Catalog Items 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.
List catalog attributes
Retrieve a paginated list of all published catalog attributes.
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/attributes?size=20" \
-H "Authorization: Bearer {access_token}"
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
No |
Cursor for forward pagination. |
|
integer |
No |
Number of catalog attributes to return. Default: Max: |
|
string |
No |
Filter attributes by parent catalog item URN.
For example: |
{
"meta": {
"next": "MjA=",
"total": 250
},
"data": [
{
"urn": "urn:ata:acme-corp:catalog:catalog-attribute:123e4567-e89b-12d3-a456-426614174000",
"name": "customer_email",
"dataType": "STRING",
"columnType": "varchar",
"description": "Customer email address",
"catalogItemUrn": "urn:ata:acme-corp:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54"
}
]
}
List catalog items
Retrieve a paginated list of all published catalog items.
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items?size=20" \
-H "Authorization: Bearer {access_token}"
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
No |
Cursor for forward pagination. |
|
integer |
No |
Number of catalog items to return. Default: Max: |
{
"meta": {
"next": "MjA=",
"total": 150
},
"data": [
{
"urn": "urn:ata:acme-corp:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54",
"name": "customers",
"description": "This table contains information about our customers",
"originPath": "public/customers",
"connection": {
"urn": "urn:ata:acme-corp:todo:connection:b812d964-f94e-4be7-85c3-0073742ade09"
},
"source": {
"urn": "urn:ata:acme-corp:catalog:source:28e3ca71-635b-43c4-9d1b-bc9cc642721f"
}
}
]
}
Get a catalog item
Retrieve detailed information about a specific catalog item by its URN.
Catalog item attributes are not included in the catalog item response.
To retrieve attributes for a catalog item, use the List catalog attributes endpoint with the catalogItemUrn query parameter.
|
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/{urn}" \
-H "Authorization: Bearer {access_token}"
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
Yes |
URN identifier of the catalog item.
For example: |
{
"urn": "urn:ata:acme-corp:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54",
"name": "customers",
"description": "This table contains information about our customers",
"originPath": "public/customers",
"connection": {
"urn": "urn:ata:acme-corp:todo:connection:b812d964-f94e-4be7-85c3-0073742ade09"
},
"termAssignments": [
{
"termUrn": "urn:ata:acme-corp:catalog:term:1ede1262-f76b-4d00-9929-e92c15d8a5ba"
}
],
"locations": [
{
"name": "public"
},
{
"name": "CustomerDB",
"description": "This database contains all customer related data"
}
],
"source": {
"urn": "urn:ata:acme-corp:catalog:source:28e3ca71-635b-43c4-9d1b-bc9cc642721f"
},
"effectiveStewardship": {
"groupUrn": "urn:ata:acme-corp:iam:group:7c9e6679-7425-40de-944b-e07fc1f90ae7"
},
"primaryDqMonitor": {
"urn": "urn:ata:acme-corp:data-quality:dq-monitor:3c9e6679-7425-40de-944b-e07fc1f90ae7"
},
"aliases": [
{
"type": "COLLIBRA_ASSET_ID",
"value": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
Filter catalog items
Filter catalog items based on complex criteria to find specific data assets.
curl -X POST "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/filter" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"name": {
"contains": "customer"
}
}
}'
| Parameter | Type | Required | Description |
|---|---|---|---|
|
string |
No |
Cursor for forward pagination. |
|
integer |
No |
Number of catalog items to return. Default: Max: |
Filter options
The filter supports complex queries using logical and comparison operators.
Field filters
You can filter by the following fields:
-
urn: Catalog item URN. -
name: Catalog item name. -
description: Catalog item description. -
originPath: Origin path in the source system. -
connection: Filter by connection URN or name. -
source: Filter by source URN or name. -
aliases: Filter by alias type and value. -
attributes: Filter by attribute properties. -
termAssignments: Filter by assigned terms.
String operators
For string fields, use these operators:
-
contains/notContains: Substring match. -
equals/notEquals: Exact match. -
in/notIn: Match any value in array. -
isNull/isNotNull: Check if field is null.
{
"filter": {
"name": {
"in": ["customer", "customers"]
}
}
}
{
"filter": {
"source": {
"name": {
"contains": "Sales"
}
}
}
}
{
"filter": {
"termAssignments": {
"any": {
"termUrn": {
"in": ["urn:ata:acme-corp:catalog:term:9e106021-3655-463a-8884-6c7c6c315548"]
}
}
}
}
}
{
"filter": {
"or": [
{
"name": {
"contains": "customer"
}
},
{
"and": [
{
"source": {
"name": {
"contains": "Sales"
}
}
},
{
"termAssignments": {
"any": {
"termUrn": {
"in": ["urn:ata:acme-corp:catalog:term:9e106021-3655-463a-8884-6c7c6c315548"]
}
}
}
}
]
}
]
}
}
Update a catalog item
Update specific fields of a catalog item using JSON Merge Patch (RFC 7386). You only need to specify the fields you want to change.
curl -X PATCH "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/{urn}" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated description for the customer table",
"stewardshipGroupUrn": "urn:ata:acme-corp:iam:group:123e4567-e89b-12d3-a456-426614174000"
}'
| Field | Type | Description | description |
|---|---|---|---|
string or null |
Updated description for the catalog item. |
|
string or null |
URN of the stewardship group responsible for this catalog item. |
|
array or null |
Alternative identifiers for the catalog item. The entire array is replaced if provided. |
The response returns the updated catalog item with all fields (same structure as Get a catalog item).
Delete a catalog item
Delete a catalog item from the catalog.
curl -X DELETE "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/{urn}" \
-H "Authorization: Bearer {access_token}"
The response returns the HTTP status code 204 No Content on success.
Complete example
Here’s a complete example using cURL to work with catalog items:
# 1. Obtain access token
TOKEN=$(curl -s -X POST "https://{your-environment}.ataccama.one/auth/realms/{your-realm}/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id={your-client-id}" \
-d "client_secret={your-client-secret}" \
| jq -r '.access_token')
# 2. List all catalog items
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items?size=20" \
-H "Authorization: Bearer $TOKEN"
# 3. Filter catalog items by name
curl -X POST "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/filter" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"name": {
"contains": "customer"
}
}
}'
# 4. Get a specific catalog item
CATALOG_ITEM_URN="urn:ata:your-tenant:catalog:catalog-item:fde84300-7a83-4d24-8c88-30ada80b0b54"
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/$CATALOG_ITEM_URN" \
-H "Authorization: Bearer $TOKEN"
# 5. Get attributes for the catalog item
curl -X GET "https://{your-environment}.ataccama.one/api/catalog/v1/attributes?catalogItemUrn=$CATALOG_ITEM_URN" \
-H "Authorization: Bearer $TOKEN"
# 6. Update catalog item description
curl -X PATCH "https://{your-environment}.ataccama.one/api/catalog/v1/catalog-items/$CATALOG_ITEM_URN" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated customer data table"
}'
Error handling
The API returns standard HTTP status codes and problem details for errors:
| Status code | Description |
|---|---|
|
Request successful. |
|
Delete successful. |
|
Invalid request parameters or body. |
|
Insufficient permissions or catalog item is forbidden. |
|
Catalog item does not exist. |
{
"type": "RESOURCE_NOT_FOUND",
"title": "Resource Not Found",
"detail": "Catalog item with ID 'fde84300-7a83-4d24-8c88-30ada80b0b54' was not found"
}
Next steps
-
Learn about managing terms for business glossary automation.
-
Download the Catalog API OpenAPI specification for detailed API reference.
Was this page useful?