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

# Listing filter JSON

When querying a list through the Volteras Connect API, you can use filters to refine your search.
These filters are similar to SQL queries and include `field`, `operator`, and `value`.

For instance, `make != 'TESLA'` uses "make" as the field, "!=" as the operator, and "TESLA" as the value.

To use a filter in your request, include it like this:

```json theme={null}
{
  "maxPageSize": ...,
  "pageToken": ...,
  "filter": {
    "field": "make",
    "operator": "==",
    "value": "TESLA"
  }
}

```

Access nested objects using a dot (`.`).
Example:

```json theme={null}
{
  "maxPageSize": ...,
  "pageToken": ...,
  "filter": {
    "field": "metadata.accountId",
    "operator": "==",
    "value": "12345-abcdef-12345-abcdef-12345"
  }
}

```

For multiple filters, use an array (`[]`).
Filters can include boolean functions (`or`, `and`, `not`):

```json theme={null}
{
  "maxPageSize": ...,
  "pageToken": ...,
  "filter": [
    {
      "or": [
        {
          "and": [
            {
              "field": "make",
              "operator": "==",
              "value": "TESLA",
            },
            {
              "field": "metadata.lastSeenAt",
              "operator": ">=",
              "value": "2024-01-01T12:00:00"
            }
          ],
          "not": [{
            "field": "vin",
            "operator": "!=",
            "value": "AAAAA1234567AAAAAAA"
          }]
        }
      ]
    }
  ]
}
```

Note: Use at least one element for `or` and `and`, and exactly one for `not`.

## Filter object specification

| Property | Type                                | Description                                                                       |
| -------- | ----------------------------------- | --------------------------------------------------------------------------------- |
| field    | string                              | Field to apply the filter.                                                        |
| operator | string                              | Operator used in the filter.                                                      |
| value    | string/boolean/int/float/datetime\* | Value for the filter. (\*) Datetime should be represented as string in ISO format |

## Boolean functions

| Function |
| -------- |
| `and`    |
| `or`     |
| `not`    |

## Supported operators

| Operator    |
| ----------- |
| `isNull`    |
| `isNotNull` |
| `==`        |
| `!=`        |
| `>`         |
| `<`         |
| `>=`        |
| `<=`        |
| `like`      |
| `ilike`     |
| `notIlike`  |
