Create a Table
Create a new table entity with columns, constraints, owners, tags, domains, and custom properties within a database schema using the Collate REST API.
POST
POST /v1/tables
Create a Table
Create a new table within a database schema.Body Parameters
Fully qualified name of the parent DatabaseSchema, for example
snowflake_prod.analytics.public.Type of table:
Regular, External, View, MaterializedView, SecureView, Iceberg, Local, Partitioned, Foreign, Transient.POST /v1/tables
Returns
Returns the created table object with all specified properties, system-generated fields, and fully qualified names for each column.Response
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.
Note:
PUT will not return a 409 conflict error if the entity already exists — it will update the existing entity instead. However, for certain fields (such as description, tags, owners, and custom properties), PUT preserves an already-populated value instead of overwriting it with an empty or omitted one — the exact behavior depends on the field and the calling user or bot’s permissions, not a blanket rule. See Entity Update Behavior for the full preserve/merge rules. Use PATCH to intentionally replace an existing value.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.