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

# API Filters

> How to filter results on Everflow API endpoints — via query parameters on GET endpoints and via request body filters on POST endpoints.

The Everflow API supports two distinct filtering mechanisms depending on the endpoint type: **query parameter filters** on GET list endpoints, and **request body filters** on POST search and reporting endpoints.

## POST body filters

POST-based search and reporting endpoints accept an optional `query.filters` array in the request body. Each entry targets a specific dimension and value to narrow the result set.

```json theme={null}
{
  "from": "2026-03-01",
  "to": "2026-03-08",
  "timezone_id": 90,
  "currency_id": "USD",
  "columns": [{"column": "offer"}],
  "query": {
    "filters": [
      {"resource_type": "affiliate", "filter_id_value": "142"},
      {"resource_type": "country",   "filter_id_value": "United States"}
    ]
  }
}
```

### Filter object fields

| Field             | Type   | Description                                                           |
| ----------------- | ------ | --------------------------------------------------------------------- |
| `resource_type`   | string | The dimension to filter on. See common values below.                  |
| `filter_id_value` | string | The value to match. Numeric IDs can be passed as strings or integers. |

### Common `resource_type` values

| `resource_type`  | Filters by                                           |
| ---------------- | ---------------------------------------------------- |
| `offer`          | Offer ID                                             |
| `affiliate`      | Affiliate ID                                         |
| `advertiser`     | Advertiser ID                                        |
| `country`        | Country name (e.g., `"United States"`)               |
| `status`         | Conversion status (e.g., `"approved"`, `"rejected"`) |
| `transaction_id` | Click transaction ID hash                            |
| `sub1` – `sub10` | Sub-parameter values                                 |

Multiple filters in the array are combined with AND logic — each additional filter further narrows the result set.

<Note>
  POST body filters (`query.filters`) are a separate mechanism from query-parameter filters (`?filter=...`). POST endpoints do not accept the `?filter=` query parameter, and GET endpoints do not accept a request body.
</Note>

***

## Query-parameter filters (GET endpoints)

## Syntax

```
?filter=<field><operator><value>
```

| Part       | Description                                  |
| ---------- | -------------------------------------------- |
| `field`    | The field to filter on (varies by endpoint). |
| `operator` | The comparison operator.                     |
| `value`    | The value to compare against.                |

## Operators

Since operators are not URL-safe, use the encoded values unless your HTTP client handles URL encoding automatically.

| Operator     | Symbol | URL-encoded |
| ------------ | ------ | ----------- |
| Equals       | `=`    | `%3D`       |
| Greater than | `>`    | `%3E`       |
| Less than    | `<`    | `%3C`       |

## Example

Filter affiliates to only return those with an active account status:

```bash theme={null}
curl -H "X-Eflow-API-Key: <your-api-key>" \
  "https://api.eflow.team/v1/networks/affiliates?filter=account_status%3Dactive"
```

Multiple filters can be combined by repeating the `filter` parameter.
