Schema:

ACCOUNT_USAGE

INTEGRATIONS view

This Account Usage view displays a row for each integration in your account, including API, catalog, external access, notification, security, and storage integrations.

Columns

Column NameData TypeDescription
IDNUMBERInternal, system-generated identifier for the integration.
NAMEVARCHARName of the integration.
TYPEVARCHAR

Type of the integration (for example, EXTERNAL_API, EXTERNAL_ACCESS, EXTERNAL_STAGE, CATALOG, EMAIL, WEBHOOK, OAUTH - CUSTOM, SAML2, SCIM - OKTA, or API_AUTHENTICATION). Matches the type column in the SHOW INTEGRATIONS output.

CATEGORYVARCHAR

Category of the integration (for example, API, CATALOG, EXTERNAL_ACCESS, NOTIFICATION, SECURITY, or STORAGE). Matches the category column in the SHOW INTEGRATIONS output.

DETAILSVARIANT

Additional configuration details for the integration. Depending on the integration type, this column contains an OBJECT value with the following key-value pairs, or NULL for other integration types:

  • For API integrations (TYPE = 'EXTERNAL_API'):

    • api_allowed_prefixes: Array of HTTPS URL prefixes that the integration is allowed to access.
    • api_blocked_prefixes: Array of HTTPS URL prefixes that the integration is blocked from accessing.

    For example:

    {
      "api_allowed_prefixes": ["https://github.com/"],
      "api_blocked_prefixes": ["https://github.com/example/private/"]
    }
    
  • For external access integrations (TYPE = 'EXTERNAL_ACCESS'):

    • allowed_network_rules: Array of fully qualified names of the egress network rules that are allowed for the integration.
    • allowed_network_rule_ids: Array of internal identifiers for the allowed network rules.

    For example:

    {
      "allowed_network_rule_ids": [101],
      "allowed_network_rules": ["MY_DB.PUBLIC.API_NETWORK_RULE"]
    }
    
  • For storage integrations (TYPE = 'EXTERNAL_STAGE'):

    • storage_allowed_locations: Array of cloud storage URLs (buckets, containers, or prefixes) that the integration is allowed to access.
    • storage_blocked_locations: Array of cloud storage URLs that the integration is blocked from accessing.

    For example:

    {
      "storage_allowed_locations": ["s3://mybucket1/path1/"],
      "storage_blocked_locations": ["s3://mybucket1/path1/sensitive/"]
    }
    
  • For all other integration types, this column contains NULL.

ENABLEDBOOLEANTRUE if the integration is enabled and available for use; FALSE if the integration is disabled.
OWNERVARCHARName of the role that owns the integration. NULL if the integration has been dropped.
OWNER_ROLE_TYPEVARCHAR

The type of role that owns the object, for example 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.

COMMENTVARCHARComment for the integration, if any.
CREATEDTIMESTAMP_LTZDate and time when the integration was created.
LAST_ALTEREDTIMESTAMP_LTZDate and time when the integration was last altered.
DELETEDTIMESTAMP_LTZDate and time when the integration was dropped. NULL if the integration has not been dropped.

Usage notes

  • Latency for the view may be up to 240 minutes (4 hours).
  • Credentials, secrets, and other sensitive authentication properties configured on an integration are not returned in this view. For API, external access, and external stage storage integrations, the DETAILS column exposes only the configured network rules and location allowlists or blocklists.

Examples

Retrieve all active integrations in the account:

SELECT name, type, category, details, enabled, owner, created
  FROM SNOWFLAKE.ACCOUNT_USAGE.INTEGRATIONS
  WHERE deleted IS NULL
  ORDER BY category, name;

Retrieve all active external access integrations and their allowed network rules:

SELECT name, details:allowed_network_rules AS allowed_network_rules, enabled, owner
  FROM SNOWFLAKE.ACCOUNT_USAGE.INTEGRATIONS
  WHERE category = 'EXTERNAL_ACCESS'
    AND deleted IS NULL
  ORDER BY name;