{
  "ab_internal": {
    "isEnterprise": false,
    "ql": 300,
    "requireVersionIncrementsInPullRequests": false,
    "sl": 300
  },
  "connectorBuildOptions": {
    "baseImage": "docker.io/airbyte/java-connector-base:2.0.4@sha256:5f343797cfcf021ca98ba9bdf5970ef66cbf6222d8cc17b0d61d13860a5bcc2b"
  },
  "connectorIPCOptions": {
    "dataChannel": {
      "supportedSerialization": [
        "JSONL",
        "PROTOBUF"
      ],
      "supportedTransport": [
        "SOCKET",
        "STDIO"
      ],
      "version": "0.0.2"
    }
  },
  "connectorTestSuitesOptions": [
    {
      "suite": "unitTests"
    },
    {
      "suite": "integrationTests",
      "testSecrets": [
        {
          "fileName": "1s1t_disabletd_internal_staging_config.json",
          "name": "SECRET_DESTINATION-SNOWFLAKE_INTERNAL_STAGING_CONFIG_DISABLETD",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "1s1t_disabletd_internal_staging_config_raw_schema_override.json",
          "name": "SECRET_DESTINATION-SNOWFLAKE_INTERNAL_STAGING_CONFIG_RAW_SCHEMA_OVERRIDE_DISABLETD",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "1s1t_internal_staging_config.json",
          "name": "SECRET_DESTINATION_SNOWFLAKE_1S1T_INTERNAL_STAGING_CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "1s1t_internal_staging_config_raw_schema_override.json",
          "name": "SECRET_DESTINATION_SNOWFLAKE_1S1T_INTERNAL_STAGING_CREDS_RAW_SCHEMA_OVERRIDE",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "config.json",
          "name": "SECRET_DESTINATION_SNOWFLAKE_INSUFFICIENT_PERMISSIONS_CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "1s1t_case_insensitive.json",
          "name": "SECRET_DESTINATION_SNOWFLAKE_QUOTED_IDENTIFIERS_IGNORE_CASE_CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        }
      ]
    }
  ],
  "custom": false,
  "destinationDefinitionId": "424892c4-daac-4491-b35d-c6688ba547ba",
  "dockerImageTag": "4.0.39-preview.6813379",
  "dockerRepository": "airbyte/destination-snowflake",
  "documentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake",
  "externalDocumentationUrls": [
    {
      "title": "Release notes",
      "type": "api_release_history",
      "url": "https://docs.snowflake.com/en/release-notes"
    },
    {
      "title": "Snowflake server release notes and feature updates",
      "type": "api_release_history",
      "url": "https://docs.snowflake.com/en/release-notes/new-features"
    },
    {
      "title": "Key pair authentication",
      "type": "authentication_guide",
      "url": "https://docs.snowflake.com/en/user-guide/key-pair-auth"
    },
    {
      "title": "Access control",
      "type": "permissions_scopes",
      "url": "https://docs.snowflake.com/en/user-guide/security-access-control"
    },
    {
      "title": "SQL reference",
      "type": "sql_reference",
      "url": "https://docs.snowflake.com/en/sql-reference"
    },
    {
      "title": "Snowflake Status",
      "type": "status_page",
      "url": "https://status.snowflake.com/"
    }
  ],
  "generated": {
    "git": {
      "commit_author": "devin-ai-integration[bot]",
      "commit_author_email": "158243242+devin-ai-integration[bot]@users.noreply.github.com",
      "commit_sha": "c1906d056d2deb73b2f4436996809db0e5f307c3",
      "commit_timestamp": "2026-04-02T15:51:40-07:00"
    },
    "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/destination-snowflake/4.0.39-preview.6813379.spdx.json",
    "source_file_info": {
      "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service",
      "metadata_file_path": "metadata/airbyte/destination-snowflake/4.0.39-preview.6813379/metadata.yaml",
      "metadata_last_modified": "2026-04-03T18:47:49.191990+00:00",
      "registry_entry_generated_at": "2026-04-03T18:47:49.191990+00:00"
    }
  },
  "githubIssueLabel": "destination-snowflake",
  "icon": "snowflake.svg",
  "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/destination-snowflake/latest/icon.svg",
  "language": "java",
  "license": "ELv2",
  "name": "Snowflake",
  "packageInfo": {},
  "public": true,
  "releaseStage": "generally_available",
  "releases": {
    "breakingChanges": {
      "2.0.0": {
        "message": "Remove GCS/S3 loading method support.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake-migrations#2.0.0",
        "upgradeDeadline": "2023-08-31"
      },
      "3.0.0": {
        "message": "**Do not upgrade until you have run a test upgrade as outlined [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#testing-destinations-v2-for-a-single-connection)**.\nThis version introduces [Destinations V2](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#what-is-destinations-v2), which provides better error handling, incremental delivery of data for large syncs, and improved final table structures. To review the breaking changes, and how to upgrade, see [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#quick-start-to-upgrading). These changes will likely require updates to downstream dbt / SQL models, which we walk through [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#updating-downstream-transformations).\nSelecting `Upgrade` will upgrade **all** connections using this destination at their next sync. You can manually sync existing connections prior to the next scheduled sync to start the upgrade early.\n",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake-migrations#3.0.0",
        "upgradeDeadline": "2023-11-07"
      },
      "4.0.0": {
        "message": "The connector now requires ALTER TABLE permissions, so you must grant this permission to the Snowflake user. Otherwise, if you never interact with the raw tables, you can upgrade without taking any action. If you _do_ use the raw tables, make sure to read the migration guide for more details.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake-migrations#4.0.0",
        "upgradeDeadline": "2026-01-06"
      }
    },
    "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake-migrations",
    "rolloutConfiguration": {
      "advanceDelayMinutes": 10,
      "enableProgressiveRollout": false,
      "initialPercentage": 0,
      "maxPercentage": 50
    }
  },
  "resourceRequirements": {
    "jobSpecific": [
      {
        "jobType": "sync",
        "resourceRequirements": {
          "memory_limit": "2Gi",
          "memory_request": "2Gi"
        }
      }
    ]
  },
  "sourceType": "database",
  "spec": {
    "connectionSpecification": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": true,
      "groups": [
        {
          "id": "connection",
          "title": "Connection"
        },
        {
          "id": "sync_behavior",
          "title": "Sync Behavior"
        },
        {
          "id": "advanced",
          "title": "Advanced"
        }
      ],
      "properties": {
        "cdc_deletion_mode": {
          "always_show": true,
          "default": "Hard delete",
          "description": "Whether to execute CDC deletions as hard deletes (i.e. propagate source deletions to the destination), or soft deletes (i.e. leave a tombstone record in the destination). Defaults to hard deletes.",
          "enum": [
            "Hard delete",
            "Soft delete"
          ],
          "group": "sync_behavior",
          "order": 5,
          "title": "CDC deletion mode",
          "type": "string"
        },
        "credentials": {
          "description": "Determines the type of authentication that should be used.",
          "group": "connection",
          "oneOf": [
            {
              "additionalProperties": true,
              "description": "Configuration details for the Key Pair Authentication.",
              "properties": {
                "auth_type": {
                  "default": "Key Pair Authentication",
                  "enum": [
                    "Key Pair Authentication"
                  ],
                  "type": "string"
                },
                "private_key": {
                  "airbyte_secret": true,
                  "description": "RSA Private key to use for Snowflake connection. See the <a\n href=\"https://docs.airbyte.com/integrations/destinations/snowflake\">docs</a> for more\n information on how to obtain this key.",
                  "multiline": true,
                  "order": 0,
                  "title": "Private Key",
                  "type": "string"
                },
                "private_key_password": {
                  "airbyte_secret": true,
                  "description": "Passphrase for private key",
                  "order": 0,
                  "title": "Passphrase",
                  "type": "string"
                }
              },
              "required": [
                "auth_type",
                "private_key"
              ],
              "title": "Key Pair Authentication",
              "type": "object"
            },
            {
              "additionalProperties": true,
              "description": "Configuration details for the Username and Password Authentication.",
              "properties": {
                "auth_type": {
                  "default": "Username and Password",
                  "enum": [
                    "Username and Password"
                  ],
                  "type": "string"
                },
                "password": {
                  "airbyte_secret": true,
                  "description": "Enter the password associated with the username.",
                  "order": 0,
                  "title": "Password",
                  "type": "string"
                }
              },
              "required": [
                "auth_type",
                "password"
              ],
              "title": "Username and Password",
              "type": "object"
            }
          ],
          "order": 6,
          "title": "Authorization Method",
          "type": "object"
        },
        "database": {
          "description": "Enter the name of the <a href=\"https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl\">database</a> you want to sync data into",
          "examples": [
            "AIRBYTE_DATABASE"
          ],
          "group": "connection",
          "order": 3,
          "title": "Database",
          "type": "string"
        },
        "disable_type_dedupe": {
          "description": "Write the legacy \"raw tables\" format, to enable backwards compatibility with older versions of this connector.",
          "group": "advanced",
          "order": 7,
          "title": "Legacy raw tables",
          "type": "boolean"
        },
        "host": {
          "description": "Enter your Snowflake account's <a href=\"https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#using-an-account-locator-as-an-identifier\">locator</a> (in the format <account_locator>.<region>.<cloud>.snowflakecomputing.com)",
          "examples": [
            "accountname.us-east-2.aws.snowflakecomputing.com",
            "accountname.snowflakecomputing.com"
          ],
          "group": "connection",
          "order": 0,
          "pattern": "^(http(s)?:\\/\\/)?([^./?#]+\\.)?([^./?#]+\\.)?([^./?#]+\\.)?([^./?#]+\\.(snowflakecomputing\\.com|localstack\\.cloud))$",
          "pattern_descriptor": "{account_name}.snowflakecomputing.com or {accountname}.{aws_location}.aws.snowflakecomputing.com",
          "title": "Host",
          "type": "string"
        },
        "jdbc_url_params": {
          "description": "Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3",
          "group": "advanced",
          "order": 9,
          "title": "JDBC URL Params",
          "type": "string"
        },
        "raw_data_schema": {
          "description": "Airbyte will use this dataset for various internal tables. In legacy raw tables mode, the raw tables will be stored in this dataset. Defaults to \"airbyte_internal\".",
          "group": "advanced",
          "order": 8,
          "title": "Airbyte Internal Table Dataset Name",
          "type": "string"
        },
        "retention_period_days": {
          "description": "The number of days of Snowflake Time Travel to enable on the tables. See <a href=\"https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period\">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance.",
          "group": "advanced",
          "order": 10,
          "title": "Data Retention Period (days)",
          "type": "integer"
        },
        "role": {
          "description": "Enter the <a href=\"https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles\">role</a> that you want to use to access Snowflake",
          "examples": [
            "AIRBYTE_ROLE"
          ],
          "group": "connection",
          "order": 1,
          "title": "Role",
          "type": "string"
        },
        "schema": {
          "description": "Enter the name of the default <a href=\"https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl\">schema</a>",
          "examples": [
            "AIRBYTE_SCHEMA"
          ],
          "group": "connection",
          "order": 4,
          "title": "Default Schema",
          "type": "string"
        },
        "username": {
          "description": "Enter the name of the user you want to use to access the database",
          "examples": [
            "AIRBYTE_USER"
          ],
          "group": "connection",
          "order": 5,
          "title": "Username",
          "type": "string"
        },
        "warehouse": {
          "description": "Enter the name of the <a href=\"https://docs.snowflake.com/en/user-guide/warehouses-overview.html#overview-of-warehouses\">warehouse</a> that you want to use as a compute cluster",
          "examples": [
            "AIRBYTE_WAREHOUSE"
          ],
          "group": "connection",
          "order": 2,
          "title": "Warehouse",
          "type": "string"
        }
      },
      "required": [
        "host",
        "role",
        "warehouse",
        "database",
        "schema",
        "username"
      ],
      "title": "Snowflake Specification",
      "type": "object"
    },
    "documentationUrl": "https://docs.airbyte.com/integrations/destinations/snowflake",
    "supported_destination_sync_modes": [
      "overwrite",
      "append",
      "append_dedup"
    ],
    "supportsDBT": false,
    "supportsIncremental": true,
    "supportsNormalization": false
  },
  "supportLevel": "certified",
  "supportsDataActivation": false,
  "supportsDbt": true,
  "supportsRefreshes": true,
  "tags": [
    "language:java"
  ],
  "tombstone": false
}
