Snowflake · Schema

Stage

A Snowflake stage.

DataData WarehouseData LakehouseCloud Data PlatformAnalyticsArtificial IntelligenceData EngineeringData GovernanceSQLApache IcebergModel Context ProtocolT1

Properties

Name Type Description
name object String that specifies the identifier (i.e. name) for the stage.
kind string Specifies whether the stage is permanent or temporary.
url string URL for the external stage; blank for an internal stage.
endpoint string The S3-compatible API endpoint associated with the stage; always NULL for stages that are not S3-compatible.
storage_integration object Storage integration associated with the stage; always NULL for an internal stage.
comment string Specifies a comment for the stage.
credentials object Credentials of the stage.
encryption object Encryption parameters of the stage.
directory_table object Directory table parameters of the stage.
created_on string Date and time when the stage was created.
has_credentials boolean Indicates that the external stage has access credentials; always false for an internal stage.
has_encryption_key boolean Indicates that the external stage contains encrypted files; always false for an internal stage.
owner string Role that owns the stage.
owner_role_type string 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 dele
region string Region where the stage is located.
cloud string Cloud provider; always NULL for an internal stage.
View JSON Schema on GitHub

JSON Schema

snowflake-stage-schema.json Raw ↑
{
  "$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"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/snowflake-stage"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.