API: Catalog
Business glossary, asset certification, ownership, and lineage. All endpoints require authentication unless noted. 18 endpoints.
GET /api/audit-logs
Section titled “GET /api/audit-logs”List audit logs
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId |
string | no | |
action |
string | no | |
resourceType |
string | no | |
from |
string | no | |
to |
string | no | |
limit |
integer | no | |
offset |
integer | no |
Responses: 200 · 400 · 401
GET /api/audit-logs/export
Section titled “GET /api/audit-logs/export”Export audit logs (CSV download, or seq-cursored NDJSON for SIEM collectors)
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId |
string | no | |
action |
string | no | |
resourceType |
string | no | |
from |
string | no | |
to |
string | no | |
limit |
integer | no | |
format |
"csv" | "ndjson" |
no | |
afterSeq |
integer | no |
Responses: 200
GET /api/audit-logs/verify
Section titled “GET /api/audit-logs/verify”Verify the audit log hash chain
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
fromSeq |
integer | no | |
limit |
integer | no |
Responses: 200
GET /api/catalog/assets
Section titled “GET /api/catalog/assets”List governed assets with owner/domain facets
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
type |
"dashboard" | "model" | "source" | "metric" |
no | |
domain |
string | no | |
ownerId |
string | no | |
unowned |
boolean | no | |
limit |
integer | no |
Responses: 200
PATCH /api/catalog/assets/{type}/{id}
Section titled “PATCH /api/catalog/assets/{type}/{id}”Assign owner/domain to a governed asset
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
type |
"dashboard" | "model" | "source" | "metric" |
yes | |
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
ownerId |
string,null | no | |
domain |
string,null | no |
Responses: 200
PUT /api/certification/{assetType}/{id}
Section titled “PUT /api/certification/{assetType}/{id}”Certify or un-certify a governed asset (workspace admins)
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
assetType |
"dashboard" | "model" | "source" | "metric" |
yes | |
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
certified |
boolean | yes |
Responses: 200 · 400 · 401 · 404
GET /api/glossary
Section titled “GET /api/glossary”List glossary terms
Responses: 200 · 400 · 401
POST /api/glossary
Section titled “POST /api/glossary”Create a glossary term
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
term |
string | yes | |
definition |
string | yes | |
synonyms |
array of string | no |
Responses: 201 · 400 · 401 · 409
PUT /api/glossary/{id}
Section titled “PUT /api/glossary/{id}”Update a glossary term
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
term |
string | no | |
definition |
string | no | |
synonyms |
array of string | no |
Responses: 200 · 400 · 401 · 404
DELETE /api/glossary/{id}
Section titled “DELETE /api/glossary/{id}”Delete a glossary term
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 204 — No content · 401 · 404
POST /api/glossary/{id}/links
Section titled “POST /api/glossary/{id}/links”Link a glossary term to an asset
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
assetType |
"metric" | "model_field" | "model" |
yes | |
assetRef |
string | yes |
Responses: 201 · 400 · 401 · 409
DELETE /api/glossary/{id}/links/{linkId}
Section titled “DELETE /api/glossary/{id}/links/{linkId}”Unlink a glossary term from an asset
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
linkId |
string | yes |
Responses: 204 — No content · 401 · 404
GET /api/lineage
Section titled “GET /api/lineage”Get data lineage edges
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId |
string | yes | |
resourceType |
string | no | |
resourceId |
string | no |
Responses: 200 · 400 · 401
POST /api/lineage
Section titled “POST /api/lineage”Add a lineage edge
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
workspaceId |
string | yes | |
sourceType |
string | yes | |
sourceId |
string | yes | |
targetType |
string | yes | |
targetId |
string | yes | |
edgeType |
string | no | |
metadata |
object | no |
Responses: 201 · 400 · 401 · 409
DELETE /api/lineage/{id}
Section titled “DELETE /api/lineage/{id}”Delete a lineage edge
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Responses: 204 — No content · 401 · 404
GET /api/lineage/graph
Section titled “GET /api/lineage/graph”Asset-level lineage graph (source → model → query/metric → dashboard/report → share)
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
asset |
string | no |
Responses: 200
PUT /api/ownership/{assetType}/{id}
Section titled “PUT /api/ownership/{assetType}/{id}”Set/clear an asset’s owner and business domain
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
assetType |
"dashboard" | "model" | "source" | "metric" |
yes | |
id |
string | yes |
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
ownerId |
string | no | |
domain |
string | no |
Responses: 200 · 400 · 401 · 404
GET /api/ownership/domains
Section titled “GET /api/ownership/domains”Business domains in use (filter facets)
Responses: 200 · 400 · 401 · 404