Table Management
Tables are the primary catalog entity representing datasets. The Catalog Service provides endpoints for listing, searching, filtering, and inspecting table metadata including column schemas and tag associations.
List Tables
GET /api/v1/catalog/tables?page={page}&size={size}curl "http://localhost:8086/api/v1/catalog/tables?page=0&size=20" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"Search Tables by Name
GET /api/v1/catalog/tables/search?query={query}&page={page}&size={size}curl "http://localhost:8086/api/v1/catalog/tables/search?query=customer&page=0&size=20" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"Get Table by FQN
Retrieve detailed table metadata by fully qualified name.
GET /api/v1/catalog/tables/{fqn}curl "http://localhost:8086/api/v1/catalog/tables/warehouse.public.customer_orders" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"Response
{
"id": "tbl-001",
"tenantId": "550e8400-...",
"name": "customer_orders",
"fullyQualifiedName": "warehouse.public.customer_orders",
"schemaName": "public",
"catalogName": "warehouse",
"tableType": "REGULAR",
"description": "Customer order transactions",
"columnCount": 12,
"tags": ["production", "pii"]
}Get Table Schema
Retrieve the column schema definition for a table.
GET /api/v1/catalog/tables/{fqn}/schemacurl "http://localhost:8086/api/v1/catalog/tables/warehouse.public.customer_orders/schema" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"List Tables by Database
GET /api/v1/catalog/tables/database/{databaseId}?page={page}&size={size}curl "http://localhost:8086/api/v1/catalog/tables/database/db-001?page=0&size=50" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"List Tables by Tag
GET /api/v1/catalog/tables/tag/{tag}?page={page}&size={size}curl "http://localhost:8086/api/v1/catalog/tables/tag/pii?page=0&size=20" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000"Add Tag to Table
POST /api/v1/catalog/tables/{tableId}/tagscurl -X POST "http://localhost:8086/api/v1/catalog/tables/tbl-001/tags" \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000" \
-d '{"tagName": "production"}'Source Reference
| Component | File |
|---|---|
| Table CRUD | CatalogController.java -- listTables(), getTableByFqn(), getTableSchema() |
| Table search | CatalogController.java -- searchTables() |
| Tag filtering | CatalogController.java -- getTablesByTag(), addTagToTable() |
| Table entity | CatalogTable.java |
| Table repository | CatalogTableRepository.java |