Database
Lists databases¶
GET/api/v2/databases
Lists the accessible databases.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
like | string | Query parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters. |
startsWith | string | 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. |
showLimit | integer | Query parameter to limit the maximum number of rows returned by a command. |
fromName | string | 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. |
history | boolean | Optionally includes dropped databases that have not yet been purged. |
Response¶
Code | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
200 | Successful request. [
{
"created_on": "2019-08-24T14:15:22Z",
"name": "TEST_NAME",
"kind": "PERMANENT",
"is_default": true,
"is_current": true,
"origin": "string",
"owner": "string",
"comment": "string",
"options": "string",
"retention_time": 0,
"dropped_on": "2019-08-24T14:15:22Z",
"budget": "string",
"owner_role_type": "string",
"data_retention_time_in_days": 0,
"default_ddl_collation": "string",
"log_level": "string",
"max_data_extension_time_in_days": 0,
"suspend_task_after_num_failures": 0,
"trace_level": "string",
"user_task_managed_initial_warehouse_size": "string",
"user_task_timeout_ms": 0
}
]
| |||||||||
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."
}
|
400 | Bad 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. |
401 | Unauthorized. 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. |
403 | Forbidden. The request is forbidden. This can also happen if the request is made even if the API is not enabled. |
404 | Not Found. The request endpoint is not valid. This happens if the API endpoint does not exist, or if the API is not enabled. |
405 | Method 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. |
408 | Request Timeout. This indicates that the request from the client timed out and was not completed by the server. |
409 | Conflict. 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. |
410 | Gone. This error is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable. |
429 | Limit Exceeded. The number of requests hit the rate limit. The application must slow down the frequency of hitting the API endpoints. |
500 | Internal 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. |
503 | Service Unavailable. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended. |
504 | Gateway Timeout. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended. |
Parameter | Type | Description |
---|
Creates a database¶
POST/api/v2/databases
Creates a database, with modifiers as query parameters. You must provide the full database definition when creating a database.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
createMode | string | Query parameter allowing support for different modes of resource creation. Possible values include:
|
kind | string | Type of database to create. Currently, Snowflake supports only transient and permanent (also represented by the empty string). |
Parameter | Type | Description |
---|
{
"created_on": "2019-08-24T14:15:22Z",
"name": "TEST_NAME",
"kind": "PERMANENT",
"is_default": true,
"is_current": true,
"origin": "string",
"owner": "string",
"comment": "string",
"options": "string",
"retention_time": 0,
"dropped_on": "2019-08-24T14:15:22Z",
"budget": "string",
"owner_role_type": "string",
"data_retention_time_in_days": 0,
"default_ddl_collation": "string",
"log_level": "string",
"max_data_extension_time_in_days": 0,
"suspend_task_after_num_failures": 0,
"trace_level": "string",
"user_task_managed_initial_warehouse_size": "string",
"user_task_timeout_ms": 0
}
Response¶
Code | Description | ||||
---|---|---|---|---|---|
200 | Successful request. {
"status": "Request successfully completed"
}
| ||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|---|---|
status | string | Message returned by the server. |
Clones a database¶
POST/api/v2/databases/{name}:clone
Clones an existing database, with modifiers as query parameters. You must provide the full database definition when cloning an existing database.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
kind | string | Type of database to create. Currently, Snowflake supports only transient and permanent (also represented by the empty string). |
Parameter | Type | Description |
---|
{
"point_of_time": {
"point_of_time_type": "string",
"reference": "string"
},
"created_on": "2019-08-24T14:15:22Z",
"name": "TEST_NAME",
"kind": "PERMANENT",
"is_default": true,
"is_current": true,
"origin": "string",
"owner": "string",
"comment": "string",
"options": "string",
"retention_time": 0,
"dropped_on": "2019-08-24T14:15:22Z",
"budget": "string",
"owner_role_type": "string",
"data_retention_time_in_days": 0,
"default_ddl_collation": "string",
"log_level": "string",
"max_data_extension_time_in_days": 0,
"suspend_task_after_num_failures": 0,
"trace_level": "string",
"user_task_managed_initial_warehouse_size": "string",
"user_task_timeout_ms": 0
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Fetches a database¶
GET/api/v2/databases/{name}
Fetches a database.
Path Parameters¶
Parameter | Type | Description |
---|---|---|
name | Identifier (i.e. name) for the resource. |
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful {
"created_on": "2019-08-24T14:15:22Z",
"name": "TEST_NAME",
"kind": "PERMANENT",
"is_default": true,
"is_current": true,
"origin": "string",
"owner": "string",
"comment": "string",
"options": "string",
"retention_time": 0,
"dropped_on": "2019-08-24T14:15:22Z",
"budget": "string",
"owner_role_type": "string",
"data_retention_time_in_days": 0,
"default_ddl_collation": "string",
"log_level": "string",
"max_data_extension_time_in_days": 0,
"suspend_task_after_num_failures": 0,
"trace_level": "string",
"user_task_managed_initial_warehouse_size": "string",
"user_task_timeout_ms": 0
}
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
Creates a new, or alters an existing, database¶
PUT/api/v2/databases/{name}
Creates a new, or alters an existing, database. You must provide the full database definition even when altering an existing database.
Parameter | Type | Description |
---|
{
"created_on": "2019-08-24T14:15:22Z",
"name": "TEST_NAME",
"kind": "PERMANENT",
"is_default": true,
"is_current": true,
"origin": "string",
"owner": "string",
"comment": "string",
"options": "string",
"retention_time": 0,
"dropped_on": "2019-08-24T14:15:22Z",
"budget": "string",
"owner_role_type": "string",
"data_retention_time_in_days": 0,
"default_ddl_collation": "string",
"log_level": "string",
"max_data_extension_time_in_days": 0,
"suspend_task_after_num_failures": 0,
"trace_level": "string",
"user_task_managed_initial_warehouse_size": "string",
"user_task_timeout_ms": 0
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Deletes a database¶
DELETE/api/v2/databases/{name}
Deletes the specified database. If you enable the ifExists parameter, the operation succeeds even if the database does not exist. Otherwise, a 404 failure is returned if the database does not exist. if the drop is unsuccessful.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
ifExists | boolean | Query parameter that specifies how to handle the request for a resource that does not exist:
|
restrict | boolean | Whether to drop the database if foreign keys exist that reference any tables in the database.
|
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Undrop a database¶
POST/api/v2/databases/{name}:undrop
Undrops database.
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Enables database replication¶
POST/api/v2/databases/{name}/replication:enable
Promotes a local database to serve as a primary database for replication. A primary database can be replicated in one or more accounts, allowing users in those accounts to query objects in each secondary (i.e. replica) database.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
ignore_edition_check | boolean | Whether to allow replicating data to accounts on lower editions. Default: true.
For more information, see the <a href=https://docs.snowflake.com/en/sql-reference/sql/alter-database> ALTER DATABASE</a> reference. |
Parameter | Type | Description |
---|
{
"accounts": [
"accountName1",
"accountName2"
]
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Disables database replication¶
POST/api/v2/databases/{name}/replication:disable
Disables replication for this primary database, meaning no replica of this database (i.e. secondary database) in another account can be refreshed. Any secondary databases remain linked to the primary database, but requests to refresh a secondary database are denied.
Parameter | Type | Description |
---|
{
"accounts": [
"accountName1",
"accountName2"
]
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Refreshes database replications¶
POST/api/v2/databases/{name}/replication:refresh
Refreshes a secondary database from a snapshot of its primary database. A snapshot includes changes to the objects and data.
If you call this endpoint while another refresh for the same replica database is running, it fails and returns an error. Snowflake ensures only one refresh is executed at any given time.
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Enables database failover¶
POST/api/v2/databases/{name}/failover:enable
Specifies a comma-separated list of accounts in your organization where a replica of this primary database can be promoted to serve as the primary database.
Parameter | Type | Description |
---|
{
"accounts": [
"accountName1",
"accountName2"
]
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Disables database failover¶
POST/api/v2/databases/{name}/failover:disable
Disables failover for this primary database, meaning no replica of this database (i.e. secondary database) can be promoted to serve as the primary database.
Parameter | Type | Description |
---|
{
"accounts": [
"accountName1",
"accountName2"
]
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |
Sets a primary database¶
POST/api/v2/databases/{name}/failover:primary
Promotes the specified secondary (replica) database to serve as the primary database. When promoted, the database becomes writeable. At the same time, the previous primary database becomes a read-only secondary database.
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | |
409 | |
410 | |
429 | |
500 | |
503 | |
504 |