> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Tables

> Create and manage table entities within a database schema

# 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.

<Info>
  Entity schema follows the [OpenMetadata Standard](https://openmetadatastandards.org/data-assets/databases/table/).
</Info>

## Entity Hierarchy

Tables sit at the bottom of the database hierarchy:

<CodeGroup>
  ```txt Table theme={null}
  DatabaseService
  └── Database
      └── DatabaseSchema
          └── Table (this page)
  ```
</CodeGroup>

## FQN Format

A table's fully qualified name follows the pattern:

```
service.database.schema.table
```

For example: `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](/v1.12.x/api-reference/data-assets/tables/create)      |
| `POST`   | `/v1/tables`            | [Create a table (POST variant)](/v1.12.x/api-reference/data-assets/tables/create) |
| `GET`    | `/v1/tables`            | [List tables](/v1.12.x/api-reference/data-assets/tables/list)                     |
| `GET`    | `/v1/tables/{id}`       | [Get by ID](/v1.12.x/api-reference/data-assets/tables/retrieve)                   |
| `GET`    | `/v1/tables/name/{fqn}` | [Get by FQN](/v1.12.x/api-reference/data-assets/tables/retrieve)                  |
| `PATCH`  | `/v1/tables/{id}`       | [Update by ID](/v1.12.x/api-reference/data-assets/tables/update)                  |
| `PATCH`  | `/v1/tables/name/{fqn}` | [Update by name](/v1.12.x/api-reference/data-assets/tables/update)                |
| `DELETE` | `/v1/tables/{id}`       | [Delete by ID](/v1.12.x/api-reference/data-assets/tables/delete)                  |
| `DELETE` | `/v1/tables/name/{fqn}` | [Delete by name](/v1.12.x/api-reference/data-assets/tables/delete)                |
| `PUT`    | `/v1/tables/restore`    | [Restore soft-deleted table](/v1.12.x/api-reference/data-assets/tables/delete)    |

### Versions

| Method | Endpoint                             | Description                                                                |
| ------ | ------------------------------------ | -------------------------------------------------------------------------- |
| `GET`  | `/v1/tables/{id}/versions`           | [List versions](/v1.12.x/api-reference/data-assets/tables/versions)        |
| `GET`  | `/v1/tables/{id}/versions/{version}` | [Get specific version](/v1.12.x/api-reference/data-assets/tables/versions) |

### Import / Export

| Method | Endpoint                            | Description                                                                        |
| ------ | ----------------------------------- | ---------------------------------------------------------------------------------- |
| `GET`  | `/v1/tables/name/{fqn}/export`      | [Export to CSV](/v1.12.x/api-reference/data-assets/tables/import-export)           |
| `GET`  | `/v1/tables/name/{fqn}/exportAsync` | [Export to CSV (async)](/v1.12.x/api-reference/data-assets/tables/import-export)   |
| `PUT`  | `/v1/tables/name/{fqn}/import`      | [Import from CSV](/v1.12.x/api-reference/data-assets/tables/import-export)         |
| `PUT`  | `/v1/tables/name/{fqn}/importAsync` | [Import from CSV (async)](/v1.12.x/api-reference/data-assets/tables/import-export) |

### Sample Data

| Method   | Endpoint                     | Description                                                                 |
| -------- | ---------------------------- | --------------------------------------------------------------------------- |
| `GET`    | `/v1/tables/{id}/sampleData` | [Get sample data](/v1.12.x/api-reference/data-assets/tables/sample-data)    |
| `PUT`    | `/v1/tables/{id}/sampleData` | [Add sample data](/v1.12.x/api-reference/data-assets/tables/sample-data)    |
| `DELETE` | `/v1/tables/{id}/sampleData` | [Delete sample data](/v1.12.x/api-reference/data-assets/tables/sample-data) |

### Profiler & Profile Data

| Method   | Endpoint                         | Description                                                                  |
| -------- | -------------------------------- | ---------------------------------------------------------------------------- |
| `GET`    | `/v1/tables/{id}/profilerConfig` | [Get profiler config](/v1.12.x/api-reference/data-assets/tables/profiler)    |
| `PUT`    | `/v1/tables/{id}/profilerConfig` | [Set profiler config](/v1.12.x/api-reference/data-assets/tables/profiler)    |
| `DELETE` | `/v1/tables/{id}/profilerConfig` | [Delete profiler config](/v1.12.x/api-reference/data-assets/tables/profiler) |
| `GET`    | `/v1/tables/{id}/tableProfile`   | [Get table profile](/v1.12.x/api-reference/data-assets/tables/profiler)      |
| `GET`    | `/v1/tables/{id}/columnProfile`  | [Get column profile](/v1.12.x/api-reference/data-assets/tables/profiler)     |
| `GET`    | `/v1/tables/{id}/systemProfile`  | [Get system profile](/v1.12.x/api-reference/data-assets/tables/profiler)     |

### Pipeline Observability

| Method | Endpoint                                | Description                                                                       |
| ------ | --------------------------------------- | --------------------------------------------------------------------------------- |
| `GET`  | `/v1/tables/{id}/pipelineObservability` | [Get observability data](/v1.12.x/api-reference/data-assets/tables/observability) |
| `PUT`  | `/v1/tables/{id}/pipelineObservability` | [Add observability data](/v1.12.x/api-reference/data-assets/tables/observability) |

### Relationships & Data Model

| Method | Endpoint                    | Description                                                               |
| ------ | --------------------------- | ------------------------------------------------------------------------- |
| `PUT`  | `/v1/tables/{id}/joins`     | [Add join info](/v1.12.x/api-reference/data-assets/tables/relationships)  |
| `PUT`  | `/v1/tables/{id}/dataModel` | [Set data model](/v1.12.x/api-reference/data-assets/tables/relationships) |
| `GET`  | `/v1/tables/{id}/columns`   | [Get columns](/v1.12.x/api-reference/data-assets/tables/relationships)    |

### Custom Metrics

| Method   | Endpoint                                    | Description                                                                      |
| -------- | ------------------------------------------- | -------------------------------------------------------------------------------- |
| `PUT`    | `/v1/tables/{id}/customMetric`              | [Add custom metric](/v1.12.x/api-reference/data-assets/tables/custom-metrics)    |
| `DELETE` | `/v1/tables/{id}/customMetric/{metricName}` | [Delete custom metric](/v1.12.x/api-reference/data-assets/tables/custom-metrics) |

### Followers & Votes

| Method   | Endpoint                             | Description                                                                  |
| -------- | ------------------------------------ | ---------------------------------------------------------------------------- |
| `PUT`    | `/v1/tables/{id}/followers`          | [Add follower](/v1.12.x/api-reference/data-assets/tables/followers-votes)    |
| `DELETE` | `/v1/tables/{id}/followers/{userId}` | [Remove follower](/v1.12.x/api-reference/data-assets/tables/followers-votes) |
| `PUT`    | `/v1/tables/{id}/vote`               | [Add/update vote](/v1.12.x/api-reference/data-assets/tables/followers-votes) |

### 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 |
