Table

List tablesΒΆ

GET/api/v2/databases/{database}/schemas/{schema}/tables
Lists the tables under the database and schema.

Path Parameters

ParameterTypeDescription
database
Identifier (i.e. name) for the database to which the resource belongs. You can use the /api/v2/databases GET request to get a list of available databases.
schema
Identifier (i.e. name) for the schema to which the resource belongs. You can use the /api/v2/databases/{database}/schemas GET request to get a list of available schemas for the specified database.

Query Parameters

ParameterTypeDescription
likestring
Query parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.
startsWithstring
Query parameter to filter the command output based on the string of characters that appear at the beginning of the object name. Uses case-sensitive pattern matching.
showLimitinteger
Query parameter to limit the maximum number of rows returned by a command.
fromNamestring
Query parameter to enable fetching rows only following the first row whose object name matches the specified string. Case-sensitive and does not have to be the full name.
historyboolean
Optionally includes dropped tables that have not yet been purged.
deepboolean
Optionally includes dependency information of the table.

Response

CodeDescription
200
successful
[
  {
    "name": "string",
    "kind": "PERMANENT",
    "cluster_by": [
      "string"
    ],
    "enable_schema_evolution": true,
    "change_tracking": true,
    "data_retention_time_in_days": 0,
    "max_data_extension_time_in_days": 0,
    "default_ddl_collation": "string",
    "columns": [
      {
        "name": "string",
        "datatype": "string",
        "nullable": true,
        "collate": "string",
        "default": "string",
        "autoincrement": true,
        "autoincrement_start": 0,
        "autoincrement_increment": 0,
        "constraints": [
          {
            "name": "string",
            "column_names": [
              "string"
            ],
            "constraint_type": "string"
          }
        ],
        "comment": "string"
      }
    ],
    "constraints": [
      {
        "name": "string",
        "column_names": [
          "string"
        ],
        "constraint_type": "string"
      }
    ],
    "comment": "string",
    "created_on": "2019-08-24T14:15:22Z",
    "database_name": "string",
    "schema_name": "string",
    "rows": 0,
    "bytes": 0,
    "owner": "string",
    "dropped_on": "2019-08-24T14:15:22Z",
    "automatic_clustering": true,
    "search_optimization": true,
    "search_optimization_progress": 0,
    "search_optimization_bytes": 0,
    "owner_role_type": "string",
    "budget": "string"
  }
]
NameTypeDescription
X-Snowflake-Request-IDstringUnique ID of the API request.
202
Successfully accepted the request, but it is not completed yet.
{
  "code": "392604",
  "message": "Request execution in progress. Use the provided location header or result handler ID to perform query monitoring and management."
}
NameTypeDescription
LocationstringRelative path for checking request status or getting the result, if available.
X-Snowflake-Request-ID
400Bad Request. The request payload is invalid or malformed. This happens if the application didn't send the correct request payload. The response body may include the error code and message indicating the actual cause. The application must reconstruct the request body for retry.
401Unauthorized. The request is not authorized. This happens if the attached access token is invalid or missing. The response body may include the error code and message indicating the actual cause, e.g., expired, invalid token. The application must obtain a new access token for retry.
403Forbidden. The request is forbidden. This can also happen if the request is made even if the API is not enabled.
404Not Found. The request endpoint is not valid. This happens if the API endpoint does not exist, or if the API is not enabled.
405Method Not Allowed. The request method doesn't match the supported API. This happens, for example, if the application calls the API with GET method but the endpoint accepts only POST.
408Request Timeout. This indicates that the request from the client timed out and was not completed by the server.
409Conflict. The requested operation could not be performed due to a conflicting state that could not be resolved. This usually happens when a CREATE request was performed when there is a pre-existing resource with the same name, and also without one of the options orReplace/ifNotExists.
410Gone. This error is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable.
429Limit Exceeded. The number of requests hit the rate limit. The application must slow down the frequency of hitting the API endpoints.
500Internal Server Error. The server hit an unrecoverable system error. The response body may include the error code and message for further guidance. The application owner may need to reach out the customer support.
503Service Unavailable. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended.
504Gateway Timeout. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended.
ParameterTypeDescription

Create a table (clone and undrop are separate subresources)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables
Create a table.

Query Parameters

ParameterTypeDescription
createModestring
Query parameter allowing support for different modes of resource creation. Possible values include:
  • errorIfExists: Throws an error if you try to create a resource that already exists.
  • orReplace: Automatically replaces the existing resource with the current one.
  • ifNotExists: Creates a new resource when an alter is requested for a non-existent resource.
copyGrantsboolean
Query parameter to enable copy grants when creating the object.
ParameterTypeDescription
{
  "name": "string",
  "kind": "PERMANENT",
  "cluster_by": [
    "string"
  ],
  "enable_schema_evolution": true,
  "change_tracking": true,
  "data_retention_time_in_days": 0,
  "max_data_extension_time_in_days": 0,
  "default_ddl_collation": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "constraints": [
    {
      "name": "string",
      "column_names": [
        "string"
      ],
      "constraint_type": "string"
    }
  ],
  "comment": "string",
  "created_on": "2019-08-24T14:15:22Z",
  "database_name": "string",
  "schema_name": "string",
  "rows": 0,
  "bytes": 0,
  "owner": "string",
  "dropped_on": "2019-08-24T14:15:22Z",
  "automatic_clustering": true,
  "search_optimization": true,
  "search_optimization_progress": 0,
  "search_optimization_bytes": 0,
  "owner_role_type": "string",
  "budget": "string"
}

Response

CodeDescription
200
Successful request.
{
  "status": "Request successfully completed"
}
NameType
X-Snowflake-Request-ID
202
400
401
403
404
405
408
409
410
429
500
503
504
ParameterTypeDescription
statusstringMessage returned by the server.

Create a table using the result of the specified select query (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:as_select
Create a table as select.

Query Parameters

ParameterTypeDescription
querystring
The SQL select query to run to set up the table values (and possibly columns).
ParameterTypeDescription
{
  "name": "string",
  "kind": "PERMANENT",
  "cluster_by": [
    "string"
  ],
  "enable_schema_evolution": true,
  "change_tracking": true,
  "data_retention_time_in_days": 0,
  "max_data_extension_time_in_days": 0,
  "default_ddl_collation": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "constraints": [
    {
      "name": "string",
      "column_names": [
        "string"
      ],
      "constraint_type": "string"
    }
  ],
  "comment": "string",
  "created_on": "2019-08-24T14:15:22Z",
  "database_name": "string",
  "schema_name": "string",
  "rows": 0,
  "bytes": 0,
  "owner": "string",
  "dropped_on": "2019-08-24T14:15:22Z",
  "automatic_clustering": true,
  "search_optimization": true,
  "search_optimization_progress": 0,
  "search_optimization_bytes": 0,
  "owner_role_type": "string",
  "budget": "string"
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Create a table using the result of the specified select queryΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables:as-select
Create a table as select.

Query Parameters

ParameterTypeDescription
querystring
The SQL select query to run to set up the table values (and possibly columns).
ParameterTypeDescription
{
  "name": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "cluster_by": [
    "string"
  ]
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Create a table using the templates specified in staged files (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:using_template
Create a table using template.

Query Parameters

ParameterTypeDescription
querystring
The SQL query that uses INFER_SCHEMA on staged files to set the column definitions for the new table.

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Create a table using the templates specified in staged filesΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables:using-template
Create a table using template.

Query Parameters

ParameterTypeDescription
querystring
The SQL query that uses INFER_SCHEMA on staged files to set the column definitions for the new table.
ParameterTypeDescription
{
  "name": "string"
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Fetch a tableΒΆ

GET/api/v2/databases/{database}/schemas/{schema}/tables/{name}
Fetch a Table using the describe command output.

Path Parameters

ParameterTypeDescription
name
Identifier (i.e. name) for the resource.

Response

CodeDescription
200
successful
{
  "name": "string",
  "kind": "PERMANENT",
  "cluster_by": [
    "string"
  ],
  "enable_schema_evolution": true,
  "change_tracking": true,
  "data_retention_time_in_days": 0,
  "max_data_extension_time_in_days": 0,
  "default_ddl_collation": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "constraints": [
    {
      "name": "string",
      "column_names": [
        "string"
      ],
      "constraint_type": "string"
    }
  ],
  "comment": "string",
  "created_on": "2019-08-24T14:15:22Z",
  "database_name": "string",
  "schema_name": "string",
  "rows": 0,
  "bytes": 0,
  "owner": "string",
  "dropped_on": "2019-08-24T14:15:22Z",
  "automatic_clustering": true,
  "search_optimization": true,
  "search_optimization_progress": 0,
  "search_optimization_bytes": 0,
  "owner_role_type": "string",
  "budget": "string"
}
NameType
X-Snowflake-Request-ID
202
400
401
403
404
405
408
409
410
429
500
503
504
ParameterTypeDescription

Create a (or alter an existing) tableΒΆ

PUT/api/v2/databases/{database}/schemas/{schema}/tables/{name}
Create a (or alter an existing) table. Even if the operation is just an alter, the full property set must be provided.
ParameterTypeDescription
{
  "name": "string",
  "kind": "PERMANENT",
  "cluster_by": [
    "string"
  ],
  "enable_schema_evolution": true,
  "change_tracking": true,
  "data_retention_time_in_days": 0,
  "max_data_extension_time_in_days": 0,
  "default_ddl_collation": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "constraints": [
    {
      "name": "string",
      "column_names": [
        "string"
      ],
      "constraint_type": "string"
    }
  ],
  "comment": "string",
  "created_on": "2019-08-24T14:15:22Z",
  "database_name": "string",
  "schema_name": "string",
  "rows": 0,
  "bytes": 0,
  "owner": "string",
  "dropped_on": "2019-08-24T14:15:22Z",
  "automatic_clustering": true,
  "search_optimization": true,
  "search_optimization_progress": 0,
  "search_optimization_bytes": 0,
  "owner_role_type": "string",
  "budget": "string"
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Delete a tableΒΆ

DELETE/api/v2/databases/{database}/schemas/{schema}/tables/{name}
Delete a table with the given name.

Query Parameters

ParameterTypeDescription
ifExistsboolean
Query parameter that specifies how to handle the request for a resource that does not exist:
  • true: The endpoint does not throw an error if the resource does not exist. It returns a 200 success response, but does not take any action on the resource.
  • false: The endpoint throws an error if the resource doesn't exist.

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Clone tableΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:clone
Create a new table by cloning from the specified resource

Query Parameters

ParameterTypeDescription
targetDatabasestring
Database of the newly created table. Defaults to the source table's database.
targetSchema
Schema of the newly created table. Defaults to the source table's schema.
ParameterTypeDescription
{
  "point_of_time": {
    "point_of_time_type": "string",
    "reference": "string"
  },
  "name": "string",
  "kind": "PERMANENT",
  "cluster_by": [
    "string"
  ],
  "enable_schema_evolution": true,
  "change_tracking": true,
  "data_retention_time_in_days": 0,
  "max_data_extension_time_in_days": 0,
  "default_ddl_collation": "string",
  "columns": [
    {
      "name": "string",
      "datatype": "string",
      "nullable": true,
      "collate": "string",
      "default": "string",
      "autoincrement": true,
      "autoincrement_start": 0,
      "autoincrement_increment": 0,
      "constraints": [
        {
          "name": "string",
          "column_names": [
            "string"
          ],
          "constraint_type": "string"
        }
      ],
      "comment": "string"
    }
  ],
  "constraints": [
    {
      "name": "string",
      "column_names": [
        "string"
      ],
      "constraint_type": "string"
    }
  ],
  "comment": "string",
  "created_on": "2019-08-24T14:15:22Z",
  "database_name": "string",
  "schema_name": "string",
  "rows": 0,
  "bytes": 0,
  "owner": "string",
  "dropped_on": "2019-08-24T14:15:22Z",
  "automatic_clustering": true,
  "search_optimization": true,
  "search_optimization_progress": 0,
  "search_optimization_bytes": 0,
  "owner_role_type": "string",
  "budget": "string"
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Create a table like this existing one (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:create_like
Create a new table like the specified resource, but empty

Query Parameters

ParameterTypeDescription
newTableNamestring
The name of the table to be created.

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Create a table like this existing oneΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:create-like
Create a new table like the specified resource, but empty
ParameterTypeDescription
{
  "name": "string"
}

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Undrop a tableΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:undrop
Undrop specified table

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Suspend recluster of a table (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:suspend_recluster
Suspend recluster of a table

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Suspend recluster of a tableΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:suspend-recluster
Suspend recluster of a table

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Resume recluster of a table (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:resume_recluster
Resume recluster of a table

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Resume recluster of a tableΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:resume-recluster
Resume recluster of a table

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Swap with another table (Deprecated)ΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:swapwith
Swap with another table

Query Parameters

ParameterTypeDescription
targetTableNamestring
The fully-specified name of the target table to be swapped with.

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504

Swap with another tableΒΆ

POST/api/v2/databases/{database}/schemas/{schema}/tables/{name}:swap-with
Swap with another table

Query Parameters

ParameterTypeDescription
targetNamestring
The fully-specified name of the target table to be swapped with.

Response

CodeDescription
200
202
400
401
403
404
405
408
409
410
429
500
503
504