POST /v1/tables
Create a Table
Create a new table within a database schema
POST
POST /v1/tables
Documentation Index
Fetch the complete documentation index at: https://openmetadata-codex-audit-docs-codebase-alignment.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Create a Table
Create a new table within a database schema.Body Parameters
Name of the table. Must be unique within the parent schema.
Fully qualified name of the parent DatabaseSchema (e.g.,
snowflake_prod.analytics.public).Array of column definitions for the table.
Human-readable display name for the table.
Description of the table in Markdown format.
Type of table:
Regular, External, View, MaterializedView, SecureView, Iceberg, Local, Partitioned, Foreign, Transient.Data retention period in ISO 8601 duration format (e.g.,
P365D).Array of owner references (users or teams) to assign to the table.
Fully qualified name of the domain to assign for governance purposes.
Array of classification tags to apply to the table.
POST /v1/tables
Returns
Returns the created table object with all specified properties, system-generated fields, and fully qualified names for each column.Response
Unique identifier for the table (UUID format).
Table name.
Fully qualified name in format
service.database.schema.table.Human-readable display name.
Description of the table in Markdown format.
Type of table (e.g.,
Regular, View, MaterializedView).Array of column definitions.
Reference to the parent database schema.
Reference to the parent database service.
Type of database service (e.g., Snowflake, BigQuery, PostgreSQL).
Version number for the entity (starts at 0.1).
Create or Update (PUT)
UsePUT /v1/tables instead of POST to perform an upsert. If a table with the same fullyQualifiedName already exists, it will be updated; otherwise, a new table is created. The request body is the same as POST.
PUT will not return a 409 conflict error if the entity already exists — it will update the existing entity instead.Bulk Create or Update (PUT)
UsePUT /v1/tables/bulk to create or update multiple tables in a single request. The request body is an array of create request objects.
Error Handling
| Code | Error Type | Description |
|---|---|---|
400 | BAD_REQUEST | Invalid request body, missing required fields, or invalid column definitions |
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission to create tables |
409 | ENTITY_ALREADY_EXISTS | Table with same name already exists in schema (POST only) |