{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/Stage",
"title": "Stage",
"type": "object",
"description": "A Snowflake stage.",
"properties": {
"name": {
"$ref": "./common.yaml#/components/schemas/Identifier",
"description": "String that specifies the identifier (i.e. name) for the stage."
},
"kind": {
"type": "string",
"enum": [
"PERMANENT",
"TEMPORARY"
],
"default": "PERMANENT",
"description": "Specifies whether the stage is permanent or temporary.",
"example": "PERMANENT"
},
"url": {
"type": "string",
"description": "URL for the external stage; blank for an internal stage.",
"example": "https://www.example.com"
},
"endpoint": {
"type": "string",
"description": "The S3-compatible API endpoint associated with the stage; always NULL for stages that are not S3-compatible.",
"example": "example_value"
},
"storage_integration": {
"$ref": "./common.yaml#/components/schemas/Identifier",
"description": "Storage integration associated with the stage; always NULL for an internal stage."
},
"comment": {
"type": "string",
"description": "Specifies a comment for the stage.",
"example": "example_value"
},
"credentials": {
"$ref": "#/components/schemas/Credentials",
"writeOnly": true,
"description": "Credentials of the stage."
},
"encryption": {
"type": "object",
"description": "Encryption parameters of the stage.",
"writeOnly": true,
"properties": {
"type": {
"type": "string",
"enum": [
"SNOWFLAKE_FULL",
"SNOWFLAKE_SSE",
"AWS_CSE",
"AWS_SSE_S3",
"AWS_SSE_KMS",
"GCS_SSE_KMS",
"AZURE_CSE",
"NONE"
],
"description": "Specifies the encryption type used."
},
"master_key": {
"type": "string",
"format": "password",
"description": "Specifies the client-side master key used to encrypt the files in the bucket. The master key must be a 128-bit or 256-bit key in Base64-encoded form."
},
"kms_key_id": {
"type": "string",
"description": "Optionally specifies the ID for the KMS-managed key used to encrypt files unloaded into the bucket."
}
},
"example": "example_value"
},
"directory_table": {
"type": "object",
"description": "Directory table parameters of the stage.",
"properties": {
"enable": {
"type": "boolean",
"default": false,
"description": "Specifies whether to add a directory table to the stage. When the value is TRUE, a directory table is created with the stage."
},
"refresh_on_create": {
"type": "boolean",
"default": true,
"writeOnly": true,
"description": "Specifies whether to automatically refresh the directory table metadata once, immediately after the stage is created."
},
"auto_refresh": {
"type": "boolean",
"default": false,
"writeOnly": true,
"description": "Specifies whether Snowflake should enable triggering automatic refreshes of the directory table metadata when new or updated data files are available in the named external stage specified in the URL value."
},
"notification_integration": {
"type": "string",
"writeOnly": true,
"description": "Specifies the name of the notification integration used to automatically refresh the directory table metadata."
}
},
"example": "example_value"
},
"created_on": {
"type": "string",
"description": "Date and time when the stage was created.",
"format": "date-time",
"readOnly": true,
"example": "2026-01-15T10:30:00Z"
},
"has_credentials": {
"type": "boolean",
"description": "Indicates that the external stage has access credentials; always false for an internal stage.",
"readOnly": true,
"example": true
},
"has_encryption_key": {
"type": "boolean",
"description": "Indicates that the external stage contains encrypted files; always false for an internal stage.",
"readOnly": true,
"example": true
},
"owner": {
"type": "string",
"description": "Role that owns the stage.",
"readOnly": true,
"example": "example_value"
},
"owner_role_type": {
"type": "string",
"description": "The type of role that owns the object, either ROLE or DATABASE_ROLE. If a Snowflake Native App owns the object, the value is APPLICATION. Snowflake returns NULL if you delete the object because a deleted object does not have an owner role.",
"readOnly": true,
"example": "example_value"
},
"region": {
"type": "string",
"description": "Region where the stage is located.",
"readOnly": true,
"example": "example_value"
},
"cloud": {
"type": "string",
"description": "Cloud provider; always NULL for an internal stage.",
"readOnly": true,
"example": "example_value"
}
},
"example": {
"name": "stage_name"
},
"required": [
"name"
]
}