How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Lightdash Catalog API

The Catalog API from Lightdash — 23 operation(s) for catalog.

Lightdash Catalog API is one of 50 APIs that Lightdash publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 8 JSON Schema definitions.

Tagged areas include Catalog. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 8 JSON Schemas.

This API exposes 28 operations across 23 paths, and defines 92 schemas. It is described by OpenAPI 3.0.0, at version 0.3156.1.

Requests are made against a single base URL, /.

28 operations 23 paths 92 schemas 4 DELETE16 GET2 PATCH5 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
0.3156.1
Base URL
https://app.lightdash.cloud
Authentication
API Key, API Key
License
MIT
Resource Areas
1

Authentication & Security 2

Lightdash Catalog API declares 2 security schemes for authenticating requests. An API key is passed in the cookie as connect.sid (session_cookie). An API key is passed in the header as Authorization (api_key).

  • api_key — Value should be 'ApiKey '

Paths & Operations 28

Across 23 paths, the API surfaces 28 operations — 4 DELETE, 16 GET, 2 PATCH, 5 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Catalog 28
GET
/api/v1/projects/{projectUuid}/dataCatalog
Get catalog
getCatalog 4 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees
List metrics trees
getMetricsTrees 3 params → 200default
POST
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees
Create metrics tree
createMetricsTree 1 param body → 201default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuidOrSlug}
Get metrics tree details
getMetricsTreeDetails 2 params → 200default
PATCH
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}
Update metrics tree
updateMetricsTree 2 params body → 200default
DELETE
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}
Delete metrics tree
deleteMetricsTree 2 params → 200default
POST
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock
Acquire tree lock
acquireMetricsTreeLock 2 params → 200default
DELETE
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock
Release tree lock
releaseMetricsTreeLock 2 params → 200default
PUT
/api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock/heartbeat
Refresh tree lock heartbeat
refreshMetricsTreeLockHeartbeat 2 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/{table}/metadatadeprecated
Get table metadata
getMetadata 2 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics
Get table analytics
getAnalytics 2 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics/{field}
Get field analytics
getAnalyticsField 3 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics
List metrics in catalog
getMetricsCatalog 10 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges
Get all metrics tree edges
getAllMetricsTreeEdges 1 param → 200default
POST
/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edgesdeprecated
Create metrics tree edge
createMetricsTreeEdge 1 param body → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/{tableName}/{metricName}
Get metric
getMetric 3 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions
Get metrics with time dimensions
getMetricsWithTimeDimensions 2 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/{tableName}/filter-dimensions
Get filter dimensions
getFilterDimensions 2 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/{tableName}/segment-dimensions
Get segment dimensions
getSegmentDimensions 2 params → 200default
POST
/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories
Add category to catalog item
addCategoryToCatalogItem 1 param body → 200default
DELETE
/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories/{tagUuid}
Remove category from catalog item
removeCategoryFromCatalogItem 2 params → 200default
PATCH
/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/icon
Update catalog item icon
updateCatalogItemIcon 2 params body → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/treedeprecated
Get metrics tree
getMetricsTreeLegacy 2 params → 200default
POST
/api/v1/projects/{projectUuid}/dataCatalog/metrics/treedeprecated
Get metrics tree
getMetricsTree 1 param body → 200default
DELETE
/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges/{sourceCatalogSearchUuid}/{targetCatalogSearchUuid}deprecated
Delete metrics tree edge
deleteMetricsTreeEdge 3 params → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/has
Check if metrics exist in catalog
hasMetricsInCatalog 1 param → 200default
GET
/api/v1/projects/{projectUuid}/dataCatalog/metrics/owners
List metric owners
getMetricOwners 1 param → 200default
GET
/api/v2/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions
List metrics with time dimensions
getPaginatedMetricsWithTimeDimensions 8 params → 200default

Schemas 92

The contract defines 92 schemas that model the data the API accepts and returns. The most detailed are Dimension (37 properties), Metric (33 properties), MetricsTree (11 properties), CustomFormat (9 properties). Each schema is shown below with its type and property counts.

FieldType.DIMENSION
string
ApiCreateMetricsTreeResponse
object
2 properties 2 required
MetricsTreeLockInfo
object
3 properties 3 required
MetricsTreeWithDetails
FieldUrl
object
2 properties 2 required
MetricsTreeNodePosition
object
3 properties 3 required
ApiMetricsWithAssociatedTimeDimensionResponse
object
2 properties 2 required
CustomIcon
object
1 property 1 required
ApiSegmentDimensionsResponse
object
2 properties 2 required
ApiMetricsTreeEdgePayload
object
2 properties 2 required
Metric
object
33 properties 8 required
FieldType.METRIC
string
ApiErrorPayload
object
The Error object is returned from the api any time there is an error. The message contains
2 properties 2 required
CatalogFilter
string
ApiGetMetricPeek
object
2 properties 2 required
KnexPaginatedData_MetricsTreeSummary-Array_
object
2 properties 1 required
ApiMetricsCatalogResults
array
CompiledDimension
MetricWithAssociatedTimeDimension
CatalogMetadata
object
9 properties 5 required
DefaultTimeDimension
object
2 properties 2 required
ApiGetMetricsTree
object
2 properties 2 required
ApiUpdateMetricsTreePayload
object
5 properties 3 required
KnexPaginatedData_ApiMetricsCatalogResults_
object
2 properties 1 required
Record_string.string-or-string-Array_
object
Construct a type with a set of properties K of type T
CatalogItemIcon
InlineError
object
2 properties 2 required
CompactOrAlias
ApiGetMetricsTreesResponse
object
2 properties 2 required
CatalogMetricsTreeEdge
object
6 properties 6 required
MetricsTreeNode
Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_
object
From T, pick a set of properties whose keys are in the union K
3 properties 3 required
Source
object
4 properties 3 required
CatalogCategoryFilterMode
string
DimensionType
string
ChartKind
string
MetricType
string
NumberSeparator
string
CatalogField
CatalogType.Table
string
AnyType
This AnyType is an alias for any The goal is to make it easier to identify any type in the codebase without having to eslint-disable all the time These are onl…
ApiSuccessEmpty
object
2 properties 1 required
FieldType
string
TimeFrames
string
CatalogItem
CompiledProperties
object
7 properties 1 required
CatalogOwner
object
4 properties 4 required
ApiUpdateMetricsTreeResponse
object
2 properties 2 required
CatalogType
string
MetricsTreeSummary
ApiPaginatedMetricsWithTimeDimensionResponse
object
2 properties 2 required
DimensionType.DATE
string
Compact
string
InlineErrorType
string
EmojiIcon
object
1 property 1 required
ApiGetMetricsTreePayload
object
1 property 1 required
ApiMetricsTreeLockResponse
object
2 properties 2 required
CustomFormat
object
9 properties 1 required
ApiCatalogAnalyticsResults
ApiGetAllMetricsTreeEdges
object
2 properties 2 required
Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_
object
From T, pick a set of properties whose keys are in the union K
5 properties 4 required
FieldCompilationError
object
Error information stored on a field when compilation fails but partial compilation mode is enabled.
1 property 1 required
CatalogAnalytics
object
1 property 1 required
CatalogType.Field
string
MetricsTreeSource
string
Dimension
object
37 properties 8 required
Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes-or-anyAttributes_
object
From T, pick a set of properties whose keys are in the union K
6 properties 2 required
DimensionType.TIMESTAMP
string
ApiCreateMetricsTreePayload
object
6 properties 3 required
CatalogMetricsTreeNode
Pick_Dimension.requiredAttributes-or-anyAttributes_
object
From T, pick a set of properties whose keys are in the union K
2 properties
SourcePosition
object
2 properties 2 required
Record_string.Record_string.string-or-string-Array__
object
Construct a type with a set of properties K of type T
ApiGetMetricsTreeResponse
object
2 properties 2 required
CatalogTable
CatalogSortField
string
FilterOperator
string
KnexPaginateArgs
object
2 properties 2 required
CustomFormatType
string
Pick_ChartSummary.uuid-or-name-or-description-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_
object
From T, pick a set of properties whose keys are in the union K
8 properties 6 required
KnexPaginatedData_CatalogField-Array_
object
2 properties 1 required
ApiCatalogResults
array
ApiCatalogMetadataResults
ApiFilterDimensionsResponse
object
2 properties 2 required
ApiSortDirection
string
Record_string.string_
object
Construct a type with a set of properties K of type T
Pick_Tag.name-or-color-or-tagUuid-or-yamlReference_
object
From T, pick a set of properties whose keys are in the union K
4 properties 4 required
MetricsTree
object
11 properties 11 required
ApiMetricsCatalog
object
2 properties 2 required
Format
string
CompiledMetric
MetricFilterRule
object
Filter rule for metrics, targeting fields by reference
8 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

lightdash-catalog-api-openapi.yml Raw ↑

Other APIs Lightdash publishes across the network.

Lightdash AiAgents API
Lightdash Bulk action API
Lightdash Changesets API
Lightdash Charts API
Lightdash Comments API
Lightdash Content API
Lightdash Custom Roles API
Lightdash Dashboards API
Lightdash Explorer API
Lightdash Exploring API
Lightdash Exports API
Lightdash Feature Flag API
Where this information came from

This is an independent, third-party profile of Lightdash Catalog API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.