Tables
A Table is the most feature-rich entity in OpenMetadata. It belongs to a DatabaseSchema and represents a structured dataset with columns, profiles, sample data, lineage, and more.Entity schema follows the OpenMetadata Standard.
Entity Hierarchy
Tables sit at the bottom of the database hierarchy:FQN Format
A table’s fully qualified name follows the pattern:snowflake_prod.analytics.public.customers
SDK References
- Python:
from metadata.sdk.entities import Table - Java:
org.openmetadata.sdk.entities.Tables/org.openmetadata.sdk.fluent.Tables
API Endpoints
CRUD Operations
| Method | Endpoint | Description |
|---|---|---|
PUT | /v1/tables | Create or update a table |
POST | /v1/tables | Create a table (POST variant) |
GET | /v1/tables | List tables |
GET | /v1/tables/{id} | Get by ID |
GET | /v1/tables/name/{fqn} | Get by FQN |
PATCH | /v1/tables/{id} | Update by ID |
PATCH | /v1/tables/name/{fqn} | Update by name |
DELETE | /v1/tables/{id} | Delete by ID |
DELETE | /v1/tables/name/{fqn} | Delete by name |
PUT | /v1/tables/restore | Restore soft-deleted table |
Versions
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/versions | List versions |
GET | /v1/tables/{id}/versions/{version} | Get specific version |
Import / Export
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/name/{fqn}/export | Export to CSV |
GET | /v1/tables/name/{fqn}/exportAsync | Export to CSV (async) |
PUT | /v1/tables/name/{fqn}/import | Import from CSV |
PUT | /v1/tables/name/{fqn}/importAsync | Import from CSV (async) |
Sample Data
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/sampleData | Get sample data |
PUT | /v1/tables/{id}/sampleData | Add sample data |
DELETE | /v1/tables/{id}/sampleData | Delete sample data |
Profiler & Profile Data
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/profilerConfig | Get profiler config |
PUT | /v1/tables/{id}/profilerConfig | Set profiler config |
DELETE | /v1/tables/{id}/profilerConfig | Delete profiler config |
GET | /v1/tables/{id}/tableProfile | Get table profile |
GET | /v1/tables/{id}/columnProfile | Get column profile |
GET | /v1/tables/{id}/systemProfile | Get system profile |
Pipeline Observability
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/pipelineObservability | Get observability data |
PUT | /v1/tables/{id}/pipelineObservability | Add observability data |
Relationships & Data Model
| Method | Endpoint | Description |
|---|---|---|
PUT | /v1/tables/{id}/joins | Add join info |
PUT | /v1/tables/{id}/dataModel | Set data model |
GET | /v1/tables/{id}/columns | Get columns |
Custom Metrics
| Method | Endpoint | Description |
|---|---|---|
PUT | /v1/tables/{id}/customMetric | Add custom metric |
DELETE | /v1/tables/{id}/customMetric/{metricName} | Delete custom metric |
Followers & Votes
| Method | Endpoint | Description |
|---|---|---|
PUT | /v1/tables/{id}/followers | Add follower |
DELETE | /v1/tables/{id}/followers/{userId} | Remove follower |
PUT | /v1/tables/{id}/vote | Add/update vote |
Query & Usage
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/tableQuery | Get table queries |
PUT | /v1/tables/{id}/tableQuery | Add table query |
GET | /v1/tables/{id}/usageSummary | Get usage summary |
Tests
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/testSuite | Get test suite |
PUT | /v1/tables/{id}/testSuite | Add test suite |
DELETE | /v1/tables/{id}/testSuite | Delete test suite |
Lineage
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/lineage | Get lineage |
PUT | /v1/tables/{id}/lineage | Add lineage edge |
DELETE | /v1/tables/{id}/lineage | Delete lineage edge |
Entity Relationships
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/tables/{id}/relationships | Get entity relationships |
PUT | /v1/tables/{id}/relationships | Add entity relationship |
DELETE | /v1/tables/{id}/relationships/{relId} | Delete entity relationship |