> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.omni.co/feedback

```json
{
  "path": "/modeling/topics/parameters/access-filters",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# access_filters

> Limits access to rows in a dataset based on user attributes.

When enabled, users will be limited to rows in the topic that match their user attribute value. Refer to the [Controlling data access guide](/modeling/develop/data-access-control) for more information.

<Warning>
  Omni expects every user to have a non-null value for any assigned access filter. Errors will arise if the user attribute value is null.
</Warning>

## Syntax

```yaml theme={null}
access_filters:
  - field: "<view_name>.<field_name>"
    user_attribute: "<user_attribute_reference>"
    values_for_unfiltered: ["<value>", ...]
    enable_sql_like_wildcards: true/false
```

The `enable_sql_like_wildcard` parameter switches the access\_filter comparison operator from `=` to `LIKE` but does not automatically add wildcards to your attribute value. To achieve pattern matching, you must manually include the % wildcard characters within the user attribute value itself (e.g., setting the attribute to %@example.com%). This allows for granular control, enabling exact matches for some users and partial matches for others using the same filter configuration.

## Properties

<ParamField path="access_filters" type="object[]" required>
  An array of access filter configurations that limit row access based on user attributes.

  <Expandable title="access_filters properties" defaultOpen="true">
    <ParamField path="field" type="string" required>
      The field to use as a filter, specified in the format `view_name.field_name`.
    </ParamField>

    <ParamField path="user_attribute" type="string" required>
      The reference of the user attribute to filter on.
    </ParamField>

    <ParamField path="values_for_unfiltered" type="string[]">
      User attribute values that allow unrestricted access. Users with these values will not have the access filter applied.
    </ParamField>

    <ParamField path="enable_sql_like_wildcards" type="boolean" default="false">
      Determines if exact match or `%` wildcard syntax should be applied.
    </ParamField>
  </Expandable>
</ParamField>

## Examples

```yaml title="Filter by brand_name" theme={null}
access_filters:
  - field: products.brand
    user_attribute: brand_name
    values_for_unfiltered: [all_brands]
    enable_sql_like_wildcards: true
```
