# Latest Access Summary Export Schema Reference Guide

**Version**: `prpr2`

When creating external tables from this schema, create a view on top of them for data consumers so that you can more easily manage data model version changes. For more details, see the [Access summary export page](https://documentation.immuta.com/saas/govern/detect-your-data/access-summary-export/..#viewing-the-export).

## `policy-metadata`

This table contains one row per unique access policy (subscription policy).

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>who</code></td><td>String (UTF-8)</td><td>No</td><td>The attribute(s) or group(s) the policy targets.</td></tr><tr><td><code>object</code></td><td>String (UTF-8)</td><td>No</td><td>Tag(s) the policy targets.</td></tr><tr><td><code>access_type</code></td><td>String (UTF-8)</td><td>No</td><td>The type of subscription policy:<br><code>GRANT</code> or <code>GUARDRAIL</code></td></tr><tr><td><code>policy</code></td><td>String (UTF-8)</td><td>No</td><td>Immuta policy expression.</td></tr><tr><td><code>scope</code></td><td>String (UTF-8)</td><td>No</td><td>The type of access policy: <code>READ</code> or <code>WRITE</code></td></tr><tr><td><code>policy_id</code></td><td>Integer (BigInt)</td><td>No</td><td>Unique numerical identifier for the specific policy.</td></tr><tr><td><code>policy_name</code></td><td>String (UTF-8)</td><td>No</td><td>The human-readable name of the policy.</td></tr><tr><td><code>creation_date</code></td><td>Timestamp</td><td>No</td><td>The point-in-time when the access policy or record was originally created.</td></tr><tr><td><code>owner</code></td><td>String (UTF-8)</td><td>No</td><td>The username or display name of the policy owner.</td></tr><tr><td><code>owner_global_user_id</code></td><td>String (UTF-8)</td><td>No</td><td>The universally unique identifier (UUID) for the policy owner.</td></tr><tr><td><code>link</code></td><td>String (UTF-8)</td><td>No</td><td>A URL or URI providing a direct reference to the policy or resource.</td></tr><tr><td><code>source</code></td><td>String (UTF-8)</td><td>No</td><td>The source of the policy.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>policy-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_POLICY_METADATA_<version> (
    "who"                  VARCHAR AS (VALUE:"who"::VARCHAR),
    "object"               VARCHAR AS (VALUE:"object"::VARCHAR),
    "access_type"          VARCHAR AS (VALUE:"access_type"::VARCHAR),
    "policy"               VARCHAR AS (VALUE:"policy"::VARCHAR),
    "scope"                VARCHAR AS (VALUE:"scope"::VARCHAR),
    "policy_id"            NUMBER  AS (VALUE:"policy_id"::NUMBER),
    "policy_name"          VARCHAR AS (VALUE:"policy_name"::VARCHAR),
    "creation_date"        TIMESTAMP_NTZ AS (VALUE:"creation_date"::TIMESTAMP_NTZ),
    "owner"                VARCHAR AS (VALUE:"owner"::VARCHAR),
    "owner_global_user_id" VARCHAR AS (VALUE:"owner_global_user_id"::VARCHAR),
    "link"                 VARCHAR AS (VALUE:"link"::VARCHAR),
    "source"               VARCHAR AS (VALUE:"source"::VARCHAR),
    "export_date"          TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/policy-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `datasource-metadata`

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique data source.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>data_source_id</code></td><td>Integer (BigInt)</td><td>No</td><td>Unique numerical ID for the data source system.</td></tr><tr><td><code>data_source_name</code></td><td>String (UTF-8)</td><td>No</td><td>The name of the data source (e.g., table or object name).</td></tr><tr><td><code>data_source_description</code></td><td>String (UTF-8)</td><td>Yes</td><td>Detailed description of the data source.</td></tr><tr><td><code>is_enabled</code></td><td>Boolean</td><td>No</td><td>A boolean flag indicating if the data source is currently enabled.</td></tr><tr><td><code>technology</code></td><td>String (UTF-8)</td><td>No</td><td>The platform type backing the data source (e.g., Snowflake, S3, Azure SQL).</td></tr><tr><td><code>connection</code></td><td>String (UTF-8)</td><td>Yes</td><td>Connection identifier in Immuta.</td></tr><tr><td><code>data_source_type</code></td><td>String (UTF-8)</td><td>No</td><td>The native data type of the data source in the source system (e.g., <code>TABLE</code>, <code>VIEW</code>, etc.).</td></tr><tr><td><code>data_source_created_at</code></td><td>Timestamp</td><td>No</td><td>Date the data source was registered in Immuta.</td></tr><tr><td><code>data_source_health</code></td><td>String (UTF-8)</td><td>No</td><td>The health status of the data source.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>datasource-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_DATASOURCE_METADATA_<version> (
    "data_source_id"          NUMBER  AS (VALUE:"data_source_id"::NUMBER),
    "data_source_name"        VARCHAR AS (VALUE:"data_source_name"::VARCHAR),
    "data_source_description" VARCHAR AS (VALUE:"data_source_description"::VARCHAR),
    "is_enabled"              BOOLEAN AS (VALUE:"is_enabled"::BOOLEAN),
    "technology"              VARCHAR AS (VALUE:"technology"::VARCHAR),
    "connection"              VARCHAR AS (VALUE:"connection"::VARCHAR),
    "data_source_type"        VARCHAR AS (VALUE:"data_source_type"::VARCHAR),
    "data_source_created_at"  TIMESTAMP_NTZ AS (VALUE:"data_source_created_at"::TIMESTAMP_NTZ),
    "data_source_health"      VARCHAR AS (VALUE:"data_source_health"::VARCHAR),
    "export_date"             TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/datasource-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `column-metadata` <a href="#columns" id="columns"></a>

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique column in any data source.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>column_id</code></td><td>​String (UTF-8)</td><td>No</td><td>​Unique ID for the column.</td></tr><tr><td><code>data_source_id</code></td><td>Integer (BigInt)</td><td>No</td><td>Unique numerical ID for the data source system.</td></tr><tr><td><code>column_name</code></td><td>​String (UTF-8)</td><td>No</td><td>​Name of the column.</td></tr><tr><td><code>column_description</code></td><td>String (UTF-8)</td><td>Yes</td><td>Detailed description of the specific column.</td></tr><tr><td><code>column_data_type</code></td><td>​String (UTF-8)</td><td>No</td><td>​The data type of the column in the source system (e.g., <code>string</code>, <code>BigInt</code>, etc.).</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>column-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_COLUMN_METADATA_<version> (
    "column_id"               VARCHAR AS (VALUE:"column_id"::VARCHAR),
    "data_source_id"          NUMBER  AS (VALUE:"data_source_id"::NUMBER),
    "column_name"             VARCHAR AS (VALUE:"column_name"::VARCHAR),
    "column_description"      VARCHAR AS (VALUE:"column_description"::VARCHAR),
    "column_data_type"        VARCHAR AS (VALUE:"column_data_type"::VARCHAR),
    "export_date"             TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/column-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `user-metadata`

This table contains one row per unique user.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>user_id</code></td><td>String (UTF-8)</td><td>No</td><td>Unique identifier for the user within the source system.</td></tr><tr><td><code>global_user_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the user across all systems.</td></tr><tr><td><code>email</code></td><td>String (UTF-8)</td><td>Yes</td><td>Primary email address associated with the user profile.</td></tr><tr><td><code>identity_source</code></td><td>String (UTF-8)</td><td>No</td><td>The originating source of the user identity (e.g., Okta, LDAP, System).</td></tr><tr><td><code>global_permissions</code></td><td>List&#x3C;String></td><td>Yes</td><td>Collection of global permissions assigned to the user.</td></tr><tr><td><code>group_name</code></td><td>String (UTF-8)</td><td>Yes</td><td>Name of the organizational group or team the user belongs to.</td></tr><tr><td><code>attribute_key</code></td><td>String (UTF-8)</td><td>Yes</td><td>The key/name for a specific user metadata attribute.</td></tr><tr><td><code>attribute_value</code></td><td>String (UTF-8)</td><td>Yes</td><td>The specific value assigned to the attribute key.</td></tr><tr><td><code>source</code></td><td>String (UTF-8)</td><td>No</td><td>Describes if the attribute comes from a group or direct assignment.</td></tr><tr><td><code>association</code></td><td>String (UTF-8)</td><td>No</td><td>Describes how the user is linked to the group or attribute (e.g., <code>Direct</code>, <code>Inherited</code>).</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>user-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_USER_METADATA_<version> (
    "user_id"            VARCHAR AS (VALUE:"user_id"::VARCHAR),
    "global_user_id"     VARCHAR AS (VALUE:"global_user_id"::VARCHAR),
    "email"              VARCHAR AS (VALUE:"email"::VARCHAR),
    "identity_source"    VARCHAR AS (VALUE:"identity_source"::VARCHAR),
    "global_permissions" ARRAY   AS (VALUE:"global_permissions"::ARRAY), -- List<String>
    "group_name"         VARCHAR AS (VALUE:"group_name"::VARCHAR),
    "attribute_key"      VARCHAR AS (VALUE:"attribute_key"::VARCHAR),
    "attribute_value"    VARCHAR AS (VALUE:"attribute_value"::VARCHAR),
    "source"             VARCHAR AS (VALUE:"source"::VARCHAR),
    "association"        VARCHAR AS (VALUE:"association"::VARCHAR),
    "export_date"        TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/user-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `tag-metadata`

[<mark style="color:blue;">**Updated table**</mark>](#user-content-fn-1)[^1]

This table contains one row per unique tag applied to a data object.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>tag_name</code></td><td>String (UTF-8)</td><td>No</td><td>The name of the tag applied to the data object.</td></tr><tr><td><code>tag_description</code></td><td>String (UTF-8)</td><td>Yes</td><td>Detailed description of the tag's purpose or meaning.</td></tr><tr><td><code>target_id</code><br><mark style="color:$success;"><strong>New</strong></mark></td><td>String (UTF-8)</td><td>No</td><td>The ID of the data source or column depending on the target type</td></tr><tr><td><code>target_type</code><br><a data-footnote-ref href="#user-content-fn-2"><mark style="color:blue;"><strong>Updated</strong></mark></a></td><td>String (UTF-8)</td><td>No</td><td>Distinguishes between <code>DATA_SOURCE</code> level and <code>COLUMN</code> level tags.</td></tr><tr><td><code>source</code></td><td>String (UTF-8)</td><td>No</td><td>The system or component that generated the tag metadata (e.g., <code>marketplace</code>, <code>collibra</code>, <code>databricksUnityCatalog</code>).</td></tr><tr><td><code>context</code></td><td>String (UTF-8)</td><td>No</td><td>The approach used to create the tag (e.g., <code>catalog</code>, <code>sdd</code>, <code>schemaEvolution</code>, <code>marketplace</code>).</td></tr><tr><td><code>as_of</code></td><td>Timestamp</td><td>No</td><td>When the tag was added.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>tag-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_TAG_METADATA_<version> (
    "tag_name"                VARCHAR AS (VALUE:"tag_name"::VARCHAR),
    "tag_description"         VARCHAR AS (VALUE:"tag_description"::VARCHAR),
    "target_id"               VARCHAR AS (VALUE:"target_id"::VARCHAR),
    "target_type"             VARCHAR AS (VALUE:"target_type"::VARCHAR),
    "source"                  VARCHAR AS (VALUE:"source"::VARCHAR),
    "context"                 VARCHAR AS (VALUE:"context"::VARCHAR),
    "as_of"                   TIMESTAMP_NTZ AS (VALUE:"as_of"::TIMESTAMP_NTZ),
    "export_date"             TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/tag-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `policy-outcomes`

<mark style="color:blue;">**Updated table**</mark>

This table contains one row per unique instance where a user gained access to a data object through an Immuta policy.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>global_user_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the user whose access is determined by these policies.</td></tr><tr><td><code>data_source_id</code></td><td>Integer (BigInt)</td><td>No</td><td>Unique numerical identifier for the data source on which the policies were applied.</td></tr><tr><td><code>column_id</code><br><mark style="color:$success;"><strong>New</strong></mark></td><td>String (UTF-8)</td><td>Yes</td><td>Unique numerical identifier for the data source on which the reveal policies were applied. <em>Note this is not supported yet and will always be <code>null</code>.</em></td></tr><tr><td><code>policy_ids</code></td><td>List&#x3C;Integer (BigInt)></td><td>Yes</td><td>A collection of unique identifiers for all policies that contributed to the final access outcome.</td></tr><tr><td><code>merged_policy</code></td><td>String (UTF-8)</td><td>Yes</td><td>The combined boolean logic resulting from merging multiple policies.</td></tr><tr><td><code>is_owner</code></td><td>Boolean</td><td>No</td><td>Flag indicating if the user is an owner of the resource, which carries additional power.</td></tr><tr><td><code>source</code></td><td>String (UTF-8)</td><td>No</td><td>If the user was added manually or via the policy.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>policy-outcomes</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_POLICY_OUTCOMES_<version> (
    "global_user_id"          VARCHAR  AS (VALUE:"global_user_id"::VARCHAR),
    "data_source_id"          NUMBER  AS (VALUE:"data_source_id"::NUMBER),
    "column_id"               VARCHAR AS (VALUE:"column_id"::VARCHAR), 
    "policy_ids"              ARRAY   AS (VALUE:"policy_ids"::ARRAY),
    "merged_policy"           VARCHAR AS (VALUE:"merged_policy"::VARCHAR),
    "is_owner"                BOOLEAN AS (VALUE:"is_owner"::BOOLEAN),
    "source"                  VARCHAR AS (VALUE:"source"::VARCHAR),
    "export_date"             TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/policy-outcomes/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `domain-metadata`

This table contains one row per unique domain.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>String (UTF-8)</td><td>No</td><td>Unique identifier for the domain.</td></tr><tr><td><code>name</code></td><td>String (UTF-8)</td><td>No</td><td>The display name of the domain.</td></tr><tr><td><code>description</code></td><td>String (UTF-8)</td><td>Yes</td><td>Detailed description of the domain.</td></tr><tr><td><code>creator_global_user_id</code></td><td>String (UTF-8)</td><td>No</td><td>The universally unique identifier (UUID) of the user who created the domain.</td></tr><tr><td><code>data_source_id</code></td><td>Integer (BigInt)</td><td>No</td><td>The unique numerical ID of the data source associated with this domain.</td></tr><tr><td><code>privileged_user</code></td><td>String (UTF-8)</td><td>No</td><td>The identity of the user with elevated administrative rights over the domain.</td></tr><tr><td><code>permissions</code></td><td>List&#x3C;String></td><td>No</td><td>A collection of access rights or roles specifically granted within this domain.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>domain-metadata</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_DOMAIN_METADATA_<version> (
    "id"                     VARCHAR AS (VALUE:"id"::VARCHAR),
    "name"                   VARCHAR AS (VALUE:"name"::VARCHAR),
    "description"            VARCHAR AS (VALUE:"description"::VARCHAR),
    "creator_global_user_id" VARCHAR AS (VALUE:"creator_global_user_id"::VARCHAR),
    "data_source_id"         NUMBER  AS (VALUE:"data_source_id"::NUMBER),
    "privileged_user"        VARCHAR AS (VALUE:"privileged_user"::VARCHAR),
    "permissions"            ARRAY   AS (VALUE:"permissions"::ARRAY), -- List<String>
    "export_date"            TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/domain-metadata/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `access-requests`

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique access request made in the Request app.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>request_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the access request.</td></tr><tr><td><code>global_user_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the user who will gain access from the request.</td></tr><tr><td><code>global_requestor_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the user who made the access request.</td></tr><tr><td><code>target_id</code></td><td>String (UTF-8)</td><td>No</td><td>The ID of the data product, data source, or column that is being requested.</td></tr><tr><td><code>target_type</code></td><td>String (UTF-8)</td><td>No</td><td>The type of target being requested. Options are <code>DATA_SOURCE</code>, <code>COLUMN</code>, or <code>DATA_PRODUCT</code>.</td></tr><tr><td><code>request_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when the request was made.</td></tr><tr><td><code>request_responses</code></td><td>String (UTF-8)</td><td>No</td><td>The responses the user submitted when making the access request.</td></tr><tr><td><code>request_form_id</code></td><td>String (UTF-8)</td><td>No</td><td>The globally unique identifier of the request form.</td></tr><tr><td><code>final_determination_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when the final determination was made.</td></tr><tr><td><code>determination</code></td><td>String (UTF-8)</td><td>No</td><td>The determination of the request. Options are <code>PENDING</code>, <code>APPROVED</code>, <code>DENIED</code>, <code>REVOKED</code>, <code>CANCELED</code>, or <code>EXPIRED</code>.</td></tr><tr><td><code>expiration_date</code></td><td>Timestamp</td><td>Yes</td><td>The timestamp when the request expires if it is a temporary request.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>access-requests</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_ACCESS_REQUESTS_<version> (
    "request_id"               VARCHAR AS (VALUE:"request_id"::VARCHAR),
    "global_user_id"           VARCHAR AS (VALUE:"global_user_id"::VARCHAR),
    "global_requestor_id"      VARCHAR AS (VALUE:"global_requestor_id"::VARCHAR),
    "target_id"                VARCHAR AS (VALUE:"target_id"::VARCHAR),
    "target_type"              VARCHAR AS (VALUE:"target_type"::VARCHAR),
    "request_responses"        VARCHAR AS (VALUE:"request_responses"::VARCHAR),
    "request_form_id"          VARCHAR AS (VALUE: "request_form_id"::VARCHAR),
    "determination"            VARCHAR AS (VALUE: "determination"::VARCHAR),
    "request_date"             TIMESTAMP_NTZ AS (VALUE:"request_date"::TIMESTAMP_NTZ),
    "expiration_date"          TIMESTAMP_NTZ AS (VALUE: "expiration_date"::TIMESTAMP_NTZ),
    "final_determination_date" TIMESTAMP_NTZ AS (VALUE: "final_determination_date"::TIMESTAMP_NTZ),
    "export_date"              TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/access-requests/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `request-determinations`

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique user or group that had to review an access request made in the Request app.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th width="187">Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>approval_id</code></td><td>String (UTF-8)</td><td>No</td><td>The globally unique identifier of the approval record.</td></tr><tr><td><code>request_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the access request.</td></tr><tr><td><code>global_reviewer_id</code></td><td>String (UTF-8)</td><td>Yes</td><td>Universally unique identifier (UUID) for the user who reviewed the request.</td></tr><tr><td><code>reviewer_source</code></td><td>String (UTF-8)</td><td>Yes</td><td>The condition the reviewer met to be a reviewer for the request.</td></tr><tr><td><code>reviewer_determination</code></td><td>String (UTF-8)</td><td>No</td><td>The determination of the reviewer. Options include <code>PENDING</code>, <code>APPROVED</code>, <code>DENIED</code>, and <code>CANCELED</code>.</td></tr><tr><td><code>determination_date</code></td><td>Timestamp</td><td>Yes</td><td>The timestamp when the determination was made.</td></tr><tr><td><code>justification</code></td><td>String (UTF-8)</td><td>Yes</td><td>The justification for the determination.</td></tr><tr><td><code>status</code></td><td>String (UTF-8)</td><td>No</td><td>Whether the determination is still pending or completed. Options include <code>WAITING</code> and <code>COMPLETED</code>.</td></tr><tr><td><code>pending_reviewers</code></td><td>String (UTF-8)</td><td>No</td><td>If the determination is still pending, a JSON array of the reviewers.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>request-determinations</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_REQUEST_DETERMINATIONS_<version> (
    "approval_id"              VARCHAR AS (VALUE:"approval_id"::VARCHAR),
    "request_id"               VARCHAR AS (VALUE:"request_id"::VARCHAR),
    "global_reviewer_id"       VARCHAR AS (VALUE:"global_reviewer_id"::VARCHAR),
    "reviewer_source"          VARCHAR AS (VALUE:"reviewer_source"::VARCHAR),
    "reviewer_determination"   VARCHAR AS (VALUE:"reviewer_determination"::VARCHAR),
    "justification"            VARCHAR AS (VALUE:"justification"::VARCHAR),
    "status"                   VARCHAR AS (VALUE: "status"::VARCHAR),
    "pending_reviewers"        VARCHAR AS (VALUE: "pending_reviewers"::VARCHAR),
    "determination_date"       TIMESTAMP_NTZ AS (VALUE:"determination_date"::TIMESTAMP_NTZ),
    "export_date"              TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/request-determinations/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `request-duas`

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique access request that is linked to a data use agreement (DUA).

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>request_id</code></td><td>String (UTF-8)</td><td>No</td><td>Universally unique identifier (UUID) for the access request.</td></tr><tr><td><code>dua_id</code></td><td>String (UTF-8)</td><td>No</td><td>The globally unique identifier of the DUA.</td></tr><tr><td><code>name</code></td><td>String (UTF-8)</td><td>No</td><td>The name of the DUA.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>request-duas</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_REQUEST_DUAS_<version> (
    "request_id"      VARCHAR AS (VALUE:"request_id"::VARCHAR),
    "dua_id"          VARCHAR AS (VALUE:"dua_id"::VARCHAR),
    "name"            VARCHAR AS (VALUE:"name"::VARCHAR),
    "export_date"     TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/request-duas/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `data-products`

<mark style="color:$success;">**New table**</mark>

This table contains one row per unique data product.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>data_product_id</code></td><td>String (UTF-8)</td><td>No</td><td>The globally unique identifier of the data product.</td></tr><tr><td><code>data_product_name</code></td><td>String (UTF-8)</td><td>No</td><td>The name of the data product.</td></tr><tr><td><code>data_product_domain</code></td><td>String (UTF-8)</td><td>No</td><td>The ID of the domain associated with the data product.</td></tr><tr><td><code>data_product_description</code></td><td>String (UTF-8)</td><td>Yes</td><td>The description of the data product.</td></tr><tr><td><code>data_product_creator</code></td><td>String (UTF-8)</td><td>No</td><td>The universally unique identifier (UUID) for the user who registered the data product.</td></tr><tr><td><code>data_product_smes</code></td><td>List [String (UTF-8)]</td><td>Yes</td><td>A list of the universally unique identifiers (UUID) for the subject matter experts for the data product.</td></tr><tr><td><code>data_product_suspended</code></td><td>Boolean</td><td>No</td><td>Whether the data product is currently suspended.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>data-products</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_DATA_PRODUCTS_<version> (
    "data_product_id"          VARCHAR AS (VALUE:"data_product_id"::VARCHAR),
    "data_product_name"        VARCHAR AS (VALUE:"data_product_name"::VARCHAR),
    "data_product_domain"      VARCHAR AS (VALUE:"data_product_domain"::VARCHAR),
    "data_product_description" VARCHAR AS (VALUE:"data_product_description"::VARCHAR),
    "data_product_creator"     VARCHAR AS (VALUE:"data_product_creator"::VARCHAR),
    "data_product_smes"        VARCHAR AS (VALUE:"data_product_smes"::VARCHAR),
    "data_product_suspended"   BOOLEAN AS (VALUE: "data_product_suspended"::BOOLEAN),
    "export_date"              TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/data-products/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## `data-product-assets`

<mark style="color:$success;">**New table**</mark>

This table contains one row per data source within a data product.

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Field name</th><th>Abstract data type</th><th>Nullable</th><th>Description</th></tr></thead><tbody><tr><td><code>data_product_id</code></td><td>String (UTF-8)</td><td>No</td><td>The globally unique identifier of the data product.</td></tr><tr><td><code>data_source_id</code></td><td>String (UTF-8)</td><td>No</td><td>The unique numerical ID of the data source associated with this data product.</td></tr><tr><td><code>export_date</code></td><td>Timestamp</td><td>No</td><td>The timestamp when this metadata record was exported.</td></tr></tbody></table>

<details>

<summary>Example: To create a Snowflake external table for the <code>data-product-assets</code> file:</summary>

```sql
CREATE OR REPLACE EXTERNAL TABLE EXT_DATA_PRODUCT_ASSETS_<version> (
    "data_product_id"          VARCHAR AS (VALUE:"data_product_id"::VARCHAR),
    "data_source_id"        VARCHAR AS (VALUE:"data_source_id"::VARCHAR),
    "export_date"              TIMESTAMP_NTZ AS (VALUE:"export_date"::TIMESTAMP_NTZ)
)
LOCATION = @<your-stage>/data-product-assets/<version>/
FILE_FORMAT = <your-format>
AUTO_REFRESH = TRUE;
```

</details>

## Possible joins

| Relationship                      | Join key(s)                                |
| --------------------------------- | ------------------------------------------ |
| Users to policy outcomes          | `global_user_id`                           |
| Policy outcomes to policy details | `policy_ids` ←→ `policy_id`                |
| Data sources to tags              | `data_source_id`                           |
| Domains to data sources           | `data_source_id`                           |
| Users to policy authorship        | `global_user_id` ←→ `owner_global_user_id` |
| Data sources in a data product    | `data_product_id`                          |

<figure><img src="https://1751699907-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlWBda5Pt4s8apEhzXGl7%2Fuploads%2F9xE90LSDMfjY1m2nxqmP%2Faccess%20summary%20export%20(1).png?alt=media&#x26;token=59e6945b-3459-4366-b28f-d616d850221b" alt=""><figcaption></figcaption></figure>

[^1]: The following fields were removed: data\_source, data\_source\_id, data\_source\_description, is\_enabled, column\_description, data\_source\_type, technology, and connection.

[^2]: Previously `tag_type`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/saas/govern/detect-your-data/access-summary-export/latest-access-summary-export-schema-reference-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
