arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Get Access Relationship

Identify grantees (such as roles) providing specific access permissions to a given identity for a set of resources.

Early Access: This API is provided in Early Access. Please contact our customer support team for more information and to enable this feature.

hashtag
Overview

The GetAccessRelationship API takes an identity (user), a list of resources with permissions, and responds with potential grantees (roles) that can grant these access permissions to the user. The response includes detailed information about the additional access these grantees would provide. This API is particularly designed for role recommendations and permissions analysis in Snowflake environments.

hashtag
Use cases and features

This API returns potential grantees (i.e., Snowflake roles) that can provide specific permissions, with results ordered by the level of "extra access" they provide (access not already available to the user). The response includes comparisons between current access and potential access and supports filtering by grantee type and other criteria.

  1. Role Recommendations: Find the most appropriate roles to grant a user for specific access needs

  2. Privilege Analysis: Analyze what additional privileges different roles would provide to a user

  3. Access Management: Compare different access options before making permission changes

hashtag
Limitations

  • This feature is currently limited to the .

  • For highly connected identities (>10,000 accesses or accessible resources), the calculation of "extra access" can be performance-intensive. For a timely response, the API will return grantees with the least resources by themselves, instead of those providing the least extra resources. In such cases, is_identity_highly_connected will be set to true in response.

hashtag
Get Access Relationship

hashtag
Request Parameters

The API accepts a GetAccessRelationshipRequest object with the following parameters:

Parameter
Type
Required
Description

Important: Either resource_permissions or the combination of (resource_id, resource_type, raw_permissions, effective_permissions) must be provided in the request, but not both.

hashtag
Result Ordering

The API provides two options for ordering the returned grantees:

  • Default Order (Minimal Access Count): By default, the API returns grantees ordered by their access count, prioritizing roles with fewest total accesses.

  • Least Privileged: When setting "result_order": "LEAST_PRIVILEGED", the API orders grantees by least privilege principle (minimum necessary permissions) and enables several advanced features:

    • No system-defined admin roles will be returned in the results

hashtag
Special Considerations

  • When max_resource_count is reached for an identity, the API will return grantees with the least resources by themselves, instead of those providing the least extra resources.

  • The no_extra_stats parameter improves performance when detailed statistics aren't needed. This parameter will:

hashtag
Response Structure

The API returns a GetAccessRelationshipResponse object with the following fields:

Field
Type
Description

Note: There are deprecated fields in the response (role_id, resource_type, new_accessible_resource_count) that should not be used. Use the ordered_node_access_changes field instead.

hashtag
NodeAccessChange Structure

Each NodeAccessChange object contains:

Field
Type
Description

hashtag
ResourceAccessChange Structure

Each ResourceAccessChange object contains:

Field
Type
Description

hashtag
Usage Examples

hashtag
Example 1: Using Resource Permissions (Recommended)

This example shows how to use the API to find roles that would give a specific Snowflake user access to certain resources using the resource_permissions parameter.

Request

hashtag
Example 2: Using Resource ID and Permissions

This example shows how to use the API with the resource ID and permissions approach.

This example uses LEAST_PRIVILEGED result ordering. The response will prioritize grantees that provide the minimum necessary permissions to meet the requested access requirements.

Request

hashtag
Response

hashtag
Related APIs

Least Privilege Implementation: Identify roles that provide necessary access with minimal excess permissions

Veza node type for the principal (currently must be SnowflakeUser)

resource_id

string

No

ID of the resource to analyze

resource_type

string

No

Type of the resource to analyze (used to calculate impact)

raw_permissions

RawPermissionCollection

No

Collection of raw permissions to analyze

effective_permissions

EffectivePermissionCollection

No

Collection of effective permissions to analyze

grantee_type

string

No

Veza node type for the grantee (currently must be SnowflakeRole)

grantee_filter

AssessmentQuerySpecFilter

No

Filter to apply on potential grantees

saved_query_id_for_grantee_ids

string

No

ID of a saved query, source nodes in its result will be used as a filter

max_grantee_count

int32

No

Maximum number of grantees to return

resource_types_to_display

string[]

No

Resource types to include in the result (in addition to resource_type above)

max_resource_count

int32

No

Grantees with access to more resources will be excluded from the results. 0 (unset) uses the default value of 100,000. Setting a higher value will include grantees with more resources.

no_extra_stats

boolean

No

Show less stats to makes the API respond faster: when True, the response will not contain permission summaries and resource access changes, but the grantee IDs are still returned in the correct order.

resource_permissions

ResourcePermissions[]

No

Only valid when result order is LEAST_PRIVILEGED. Returned grantees will be able to access all resources with the permissions in resource_permissions.

result_order

RoleRecommendationResultOrder

No

Ordering method for results (default is by minimal access count)

direct_grantee_to_resource_only

boolean

No

When true, only return roles with direct access to the input resources

  • The resource_permissions parameter can be used, which allows input of multiple resources

  • Skip saved query lookup for grantee IDs
  • Only include basic resource count information in the response

  • Ignore the saved_query_id_for_grantee_ids parameter

  • Only return old_accessible_resource_count and new_accessible_resource_count for the input resource_type

  • This parameter is not effective when result_order is set to LEAST_PRIVILEGED

  • The resource_permissions parameter is only usable when result_order is set to LEAST_PRIVILEGED

  • Timestamp

    Time when the cache was refreshed (if cache was used)

    identity_already_has_all_access

    boolean

    Indicates if the principal already has all the requested access

    string

    The name of the grantee

    resource_access_changes

    ResourceAccessChange[]

    Access changes per resource type

    int32

    Count of resources accessible after granting

    old_raw_permissions

    string[]

    List of raw permissions before granting

    new_raw_permissions

    string[]

    List of raw permissions after granting

    old_effective_permissions

    string[]

    List of effective permissions before granting

    new_effective_permissions

    string[]

    List of effective permissions after granting

    identity_id

    string

    Yes

    ID for the principal (user) in Veza node ID format

    identity_type

    string

    ordered_node_access_changes

    NodeAccessChange[]

    List of grantees and their access statistics, ordered according to the input result_order

    is_identity_highly_connected

    boolean

    Indicates if the identity has access to many resources (>10,000 accesses for a single resource type)

    node_type

    string

    The node type of the grantee

    id

    string

    The node ID of the grantee

    resource_type

    string

    Type of the resource

    old_accessible_resource_count

    int32

    Count of resources accessible before granting

    Snowflake integration
    Role Existence API
    Role Maintenance API
    Cohort Role Analysis API

    Yes

    result_time

    name

    new_accessible_resource_count

    {
      "identity_id": "example-snowflake.com/user/ALICE",
      "identity_type": "SnowflakeUser",
      "resource_permissions": [
        {
          "resource_id": "example-snowflake.com/database/SALES/schema/PUBLIC/table/CUSTOMER_DATA",
          "resource_type": "SnowflakeTable",
          "permissions": ["SELECT", "INSERT"]
        }
      ],
      "grantee_type": "SnowflakeRole",
      "max_grantee_count": 5,
      "result_order": "LEAST_PRIVILEGED"
    }
    {
      "identity_id": "example-snowflake.com/user/ALICE",
      "identity_type": "SnowflakeUser",
      "resource_id": "example-snowflake.com/database/SALES/schema/PUBLIC/table/CUSTOMER_DATA",
      "resource_type": "SnowflakeTable",
      "raw_permissions": {
        "values": ["SELECT", "INSERT"],
        "operator": "AND"
      },
      "grantee_type": "SnowflakeRole",
      "max_grantee_count": 5,
      "result_order": "LEAST_PRIVILEGED"
    }
    {
      "ordered_node_access_changes": [
        {
          "node_type": "SnowflakeRole",
          "id": "example-snowflake.com/role/ANALYST",
          "name": "ANALYST",
          "resource_access_changes": [
            {
              "resource_type": "SnowflakeTable",
              "old_accessible_resource_count": 10,
              "new_accessible_resource_count": 25,
              "old_raw_permissions": ["SELECT"],
              "new_raw_permissions": ["SELECT", "INSERT"],
              "old_effective_permissions": ["SELECT"],
              "new_effective_permissions": ["SELECT", "INSERT"]
            }
          ]
        },
        {
          "node_type": "SnowflakeRole",
          "id": "example-snowflake.com/role/DATA_EDITOR",
          "name": "DATA_EDITOR",
          "resource_access_changes": [
            {
              "resource_type": "SnowflakeTable",
              "old_accessible_resource_count": 10,
              "new_accessible_resource_count": 32,
              "old_raw_permissions": ["SELECT"],
              "new_raw_permissions": ["SELECT", "INSERT", "UPDATE"],
              "old_effective_permissions": ["SELECT"],
              "new_effective_permissions": ["SELECT", "INSERT", "UPDATE"]
            }
          ]
        }
      ],
      "is_identity_highly_connected": false,
      "result_time": "2025-02-25T10:15:30Z",
      "identity_already_has_all_access": false
    }
    post
    Authorizations
    AuthorizationstringRequired

    Veza API key for authentication. Generate keys in Administration > API Keys.

    Body
    identity_idstringOptional
    identity_typestringOptional
    resource_idstringOptional

    only one of resource_permissions or (resource_id, resource_type, raw_permissions, effective_permissions) can be set in the input

    resource_typestringOptional
    valuesstring[]Optional
    operatorinteger · enumOptional
    valuesinteger · enum[]Optional
    operatorinteger · enumOptional
    grantee_typestringOptional
    query_typeinteger · enumOptional
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    keystringOptional
    valuestringOptional
    opinteger · enumOptional
    valueinteger · int32Optional
    opinteger · enumOptional
    valueinteger · int32Optional
    include_secondary_granteebooleanOptional
    include_indirect_resourcebooleanOptional
    exclude_indirect_granteebooleanOptional
    anomaly_detection_history_daysstringOptional
    opinteger · enumOptional
    valuestring · date-timeOptional
    targetinteger · enumOptional
    relative_timevar_valuestringOptional
    notbooleanOptional
    node_relationship_typeinteger · enumOptional
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    valuesstring[]Optional
    operatorinteger · enumOptional
    valuesinteger · enum[]Optional
    operatorinteger · enumOptional
    unsupported_condition_modeinteger · enumOptional
    no_relationbooleanOptional
    directioninteger · enumOptional
    path_typeinteger · enumOptional
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    valuesstring[]Optional
    operatorinteger · enumOptional
    valuesinteger · enum[]Optional
    operatorinteger · enumOptional
    unsupported_condition_modeinteger · enumOptional
    no_relationbooleanOptional
    directioninteger · enumOptional
    path_typeinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    and_op_typeinteger · enumOptional
    operatorinteger · enumOptional
    notbooleanOptional
    and_op_typeinteger · enumOptional
    node_typestringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    node_idstringOptional
    keystringOptionalDeprecated
    valuestringOptionalDeprecated
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    operatorinteger · enumOptional
    notbooleanOptional
    include_zero_count_resultsbooleanOptional
    direct_relationship_onlybooleanOptional

    When set to true, self-referential edges on this node type will not be traversed. For example, if the node type is Role and direct_relationship_only is true, then any edge Role -> Role will be ignored. Can only be used with destination or source node types which have self-referential edges. Cannot be used with labels.

    node_typesstring[]Optional
    constraint_typeinteger · enumOptional
    properties_to_getstring[]Optional

    The properties that are returned on node, this allows the ability to limit the amount of properties retrieved through the graph This currently is only available on the source_node_types collection If used during an export, it is supported for source_node_types, relates_to_expression.node_types and path summary node types. In this case, the field is used to filter which properties will be exported, in the order in which they are specified.

    typeinteger · enumOptional
    keystringOptional
    integration_typesstring[]Optional
    nodes_operatorinteger · enumOptional

    Boolean operator for combining multiple node specs.

    Example: 0Possible values:
    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    fninteger · enumOptional

    The comparison function to use for this condition. For list properties (like emails), use LIST_ANY_ELEMENT_* functions. Value 5 (LIST_CONTAINS) is deprecated - use LIST_ANY_ELEMENT_EQ instead.

    Example: 0Possible values:
    propertystringOptional

    The node property to compare. Use the property name as shown in the Graph. For custom properties from OAA integrations, prefix with customprop_ (e.g., customprop_display_name).

    Example: email
    valueanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    notbooleanOptional

    If true, negates the condition (e.g., fn=EQ with not=true means "not equals").

    Default: false
    value_property_namestringOptional

    If value_property_name is set, the value will be retrieved from the property instead of using value above

    value_property_from_other_nodebooleanOptional

    Only effective when value_property_name is used. true -> value from <other_node>.<value_property_name> false (default) -> value from <current_node>.<value_property_name> A "true" input is valid only in destination nodes.

    source_propertystringOptional

    Property from saved query (RIGHT) to extract for IN_FROM_QUERY_SOURCE_RESULTS conditions. Defaults to "id" if not set (for backward compatibility).

    typestringOptional
    keystringOptional
    valuestringOptional
    Other propertiesanyOptional

    Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.

    excludebooleanOptional
    fninteger · enumOptional
    source_query_idstringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Required in that case.

    source_tag_keystringOptional

    Only used when fn is "IN_FROM_QUERY_SOURCE_RESULTS". Optional in that case. Used for remapping the tag key from the source query to the key in the "tag" field.

    child_expressionsobject[]Optional
    ⤷Circular reference to object[]
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    operatorinteger · enumOptional

    Boolean operator for combining conditions in the expression.

    Example: 0Possible values:
    notbooleanOptional
    fninteger · enumOptional
    valuestringOptional
    value_asinteger · enumOptional
    result_value_typeinteger · enumOptional
    saved_query_id_for_grantee_idsstringOptional
    max_grantee_countinteger · int32Optional
    resource_types_to_displaystring[]Optional
    max_resource_countinteger · int32Optional
    no_extra_statsbooleanOptional

    When result_type=DEFAULT, setting no_extra_stats to true will also skip these queries:

    • saved_query_id_for_grantee_ids will be ignored
    • response will only contain old_accessible_resource_count and new_accessible_resource_count for input resource_type.
    raw_permissionsstring[]Optional
    node_typestringOptional
    node_idstringOptional
    result_orderinteger · enumOptional

    result_order is by default minimal access count, but can be set to LEAST_PRIVILEGED and enable new features including resource_permissions and faster response

    direct_grantee_to_resource_onlybooleanOptional
    Responses
    chevron-right
    200

    OK

    application/json
    role_idstringOptionalDeprecated
    resource_typestringOptionalDeprecated
    new_accessible_resource_countinteger · int32OptionalDeprecated
    node_typestringOptional
    idstringOptional
    namestringOptional
    resource_typestringOptional
    old_accessible_resource_countinteger · int32Optional
    new_accessible_resource_countinteger · int32Optional
    old_raw_permissionsstring[]Optional
    new_raw_permissionsstring[]Optional
    old_effective_permissionsstring[]Optional
    new_effective_permissionsstring[]Optional
    is_identity_highly_connectedbooleanOptional
    result_timestring · date-timeOptional
    identity_already_has_all_accessbooleanOptional
    chevron-right
    default

    Default error response

    application/json

    The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

    codeinteger · int32Optional

    The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

    messagestringOptional

    A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

    @typestringOptional

    The type of the serialized message.

    Other propertiesanyOptional
    post
    /api/private/assessments/access_relationship
    {
      "ordered_node_access_changes": [
        {
          "node_type": "text",
          "id": "text",
          "name": "text",
          "resource_access_changes": [
            {
              "resource_type": "text",
              "old_accessible_resource_count": 1,
              "new_accessible_resource_count": 1,
              "old_raw_permissions": [
                "text"
              ],
              "new_raw_permissions": [
                "text"
              ],
              "old_effective_permissions": [
                "text"
              ],
              "new_effective_permissions": [
                "text"
              ]
            }
          ]
        }
      ],
      "is_identity_highly_connected": true,
      "result_time": "2026-03-27T18:55:57.121Z",
      "identity_already_has_all_access": true
    }
    POST /api/private/assessments/access_relationship HTTP/1.1
    Host: your-tenant.vezacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 3995
    
    {
      "identity_id": "text",
      "identity_type": "text",
      "resource_id": "text",
      "resource_type": "text",
      "raw_permissions": {
        "values": [
          "text"
        ],
        "operator": 1
      },
      "effective_permissions": {
        "values": [
          1
        ],
        "operator": 1
      },
      "grantee_type": "text",
      "grantee_filter": {
        "query_type": 1,
        "source_node_types": {
          "nodes": [
            {
              "node_type": "text",
              "condition_expression": {
                "specs": [
                  {
                    "fn": 0,
                    "property": "email",
                    "value": null,
                    "not": false,
                    "value_property_name": "text",
                    "value_property_from_other_node": true,
                    "source_property": "text"
                  }
                ],
                "tag_specs": [
                  {
                    "tag": {
                      "type": "text",
                      "key": "text",
                      "value": "text",
                      "properties": {
                        "ANY_ADDITIONAL_PROPERTY": null
                      }
                    },
                    "exclude": true,
                    "fn": 1,
                    "source_query_id": "text",
                    "source_tag_key": "text"
                  }
                ],
                "child_expressions": "[Circular Reference]",
                "operator": 0,
                "not": true
              },
              "node_id": "text",
              "count_condition_expression": "[Circular Reference]",
              "direct_relationship_only": true,
              "node_type_grouping_constraint": {
                "node_types": [
                  "text"
                ],
                "constraint_type": 1
              },
              "properties_to_get": [
                "text"
              ],
              "tags_to_get": [
                {
                  "type": 1,
                  "key": "text"
                }
              ],
              "integration_types": [
                "text"
              ]
            }
          ],
          "nodes_operator": 0
        },
        "customized_variables": [
          {
            "key": "text",
            "value": "text"
          }
        ],
        "access_filter": {
          "engagement_score": {
            "op": 1,
            "value": 1
          },
          "over_provisioned_score": {
            "op": 1,
            "value": 1
          },
          "include_secondary_grantee": true,
          "include_indirect_resource": true,
          "exclude_indirect_grantee": true,
          "anomaly_detection_history_days": "text",
          "last_used": {
            "op": 1,
            "value": "2026-03-27T18:55:57.121Z",
            "target": 1,
            "relative_timevar_value": "text",
            "not": true
          }
        },
        "node_relationship_type": 1,
        "relates_to_exp": {
          "specs": [
            {
              "node_types": "[Circular Reference]",
              "required_intermediate_node_types": "[Circular Reference]",
              "avoided_intermediate_node_types": "[Circular Reference]",
              "raw_permissions": {
                "values": [
                  "text"
                ],
                "operator": 1
              },
              "effective_permissions": {
                "values": [
                  1
                ],
                "operator": 1
              },
              "unsupported_condition_mode": 1,
              "no_relation": true,
              "direction": 1,
              "path_type": 1
            }
          ],
          "child_expressions": [
            {
              "specs": "[Circular Reference]",
              "child_expressions": "[Circular Reference]",
              "operator": 1,
              "not": true,
              "and_op_type": 1
            }
          ],
          "operator": 1,
          "not": true,
          "and_op_type": 1
        },
        "path_summary_node_types": {
          "nodes": [
            {
              "node_type": "text",
              "condition_expression": {
                "specs": [
                  {
                    "fn": 0,
                    "property": "email",
                    "value": null,
                    "not": false,
                    "value_property_name": "text",
                    "value_property_from_other_node": true,
                    "source_property": "text"
                  }
                ],
                "tag_specs": [
                  {
                    "tag": {
                      "type": "text",
                      "key": "text",
                      "value": "text",
                      "properties": {
                        "ANY_ADDITIONAL_PROPERTY": null
                      }
                    },
                    "exclude": true,
                    "fn": 1,
                    "source_query_id": "text",
                    "source_tag_key": "text"
                  }
                ],
                "child_expressions": "[Circular Reference]",
                "operator": 0,
                "not": true
              },
              "node_id": "text",
              "count_condition_expression": "[Circular Reference]",
              "direct_relationship_only": true,
              "node_type_grouping_constraint": {
                "node_types": [
                  "text"
                ],
                "constraint_type": 1
              },
              "properties_to_get": [
                "text"
              ],
              "tags_to_get": [
                {
                  "type": 1,
                  "key": "text"
                }
              ],
              "integration_types": [
                "text"
              ]
            }
          ],
          "nodes_operator": 0
        },
        "all_entity_condition": {
          "specs": [
            {
              "fn": 0,
              "property": "email",
              "value": null,
              "not": false,
              "value_property_name": "text",
              "value_property_from_other_node": true,
              "source_property": "text"
            }
          ],
          "tag_specs": [
            {
              "tag": {
                "type": "text",
                "key": "text",
                "value": "text",
                "properties": {
                  "ANY_ADDITIONAL_PROPERTY": null
                }
              },
              "exclude": true,
              "fn": 1,
              "source_query_id": "text",
              "source_tag_key": "text"
            }
          ],
          "child_expressions": [
            {
              "specs": [
                {
                  "fn": 0,
                  "property": "email",
                  "value": null,
                  "not": false,
                  "value_property_name": "text",
                  "value_property_from_other_node": true,
                  "source_property": "text"
                }
              ],
              "tag_specs": [
                {
                  "tag": {
                    "type": "text",
                    "key": "text",
                    "value": "text",
                    "properties": {
                      "ANY_ADDITIONAL_PROPERTY": null
                    }
                  },
                  "exclude": true,
                  "fn": 1,
                  "source_query_id": "text",
                  "source_tag_key": "text"
                }
              ],
              "child_expressions": [
                "[Circular Reference]"
              ],
              "operator": 0,
              "not": true
            }
          ],
          "operator": 0,
          "not": true
        },
        "path_summary_count_conditions": {
          "conditions": [
            {
              "fn": 1,
              "value": "text",
              "value_as": 1
            }
          ]
        },
        "result_value_type": 1
      },
      "saved_query_id_for_grantee_ids": "text",
      "max_grantee_count": 1,
      "resource_types_to_display": [
        "text"
      ],
      "max_resource_count": 1,
      "no_extra_stats": true,
      "resource_permissions": [
        {
          "raw_permissions": [
            "text"
          ],
          "node_type": "text",
          "node_id": "text"
        }
      ],
      "result_order": 1,
      "direct_grantee_to_resource_only": true
    }