# Filtering

You can filter results returned from the API by passing them as query parameters using a standard URI format.

```
                  host          resource
          ┌────────┴───────┐    ┌──┴──┐
  https://api.complycube.com/v1/clients?type=company&email=example%40example.com
  └─┬─┘                     └┬┘        └───────────────────┬───────────────────┘
  scheme                 API version                     query           
```

### Supported attributes

Each endpoint provides a list of filter attributes.

{% hint style="info" %}
When multiple filters are requested, they are all applied using an **AND** operator.
{% endhint %}

Passing an incorrectly formatted filter or using an unsupported operator will return a `200` response with no results.

### Supported characters

As filters are passed as URL query string parameters, we must ensure all filters are URL safe and are strict about the characters that can be used in a filter.

<table><thead><tr><th width="356.19921875">Characters</th><th>Can it be used in the filter?</th></tr></thead><tbody><tr><td><code>A-Z</code> (upper &#x26; lower case)</td><td>Yes</td></tr><tr><td><code>0-9</code></td><td>Yes</td></tr><tr><td><code>$</code> <code>-</code> <code>_</code> <code>*</code> <code>.</code></td><td>Yes</td></tr><tr><td>(space)</td><td>Yes</td></tr><tr><td><code>+</code></td><td>Only when URL encoded (<code>%2B</code>)</td></tr></tbody></table>

### URL encoding filters

Some characters cannot be part of a URL (for example, space), and some other characters have a special meaning in a URL.

We recommend [URL encoding](https://en.wikipedia.org/wiki/Percent-encoding) filters to escape special characters. For example, you can encode the full filter so that `email=john.doe@example.com`would become `email=john.doe%40example.com`.

It is also recommended that you use URL building libraries to automatically encode your URLs to ensure the URLs are properly escaped before sending them to ComplyCube.

For more detail on filtering, see the **Filtering** section under each endpoint.


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.complycube.com/documentation/api-reference/filtering.md?ask=<question>
```

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

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