> ## 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.

# Limits & Constraints

> Result caps, rate limits, and per-parameter length constraints for the Everflow MCP Server.

## Throughput and result limits

| Constraint                                                                           | Value                                                                                                                                      |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| Concurrent sessions per network                                                      | 500 — shared across all users and API keys on the network                                                                                  |
| Session idle timeout                                                                 | 10 minutes — idle sessions are closed server-side; Streamable HTTP clients renegotiate automatically on the next request                   |
| `search_activity` (`type="click"`) — max records returned                            | 1,000 (not paginated)                                                                                                                      |
| `search_activity` (`type="conversion"`) — max records per page                       | 100 (default 50) — paginated via `page_size` + `cursor`, no overall cap                                                                    |
| `search_activity` (`type="click"`) — max date window                                 | 14 days                                                                                                                                    |
| `search_activity` (`type="conversion"`) — minimum window                             | One full day in the **network timezone** (`YYYY-MM-DD 00:00:00` → `YYYY-MM-DD 23:59:59`) — shorter windows may return an error             |
| `run_performance_report` — max rows per page                                         | 100                                                                                                                                        |
| `run_performance_report` — max total rows (all pages combined)                       | 500 — `result_capped: true` (with `row_limit`) is set when this ceiling drops rows                                                         |
| `list_offers`, `list_affiliates`, `list_entities` — max rows per page                | 200                                                                                                                                        |
| `list_traffic_health` (`uptime_incidents`, `domain_reputations`) — max rows per page | 200 (default 100)                                                                                                                          |
| Rate limit                                                                           | 10 req/s **per network** — dedicated MCP bucket, shared across all users and API keys on the network. Independent from the REST API quota. |

## Parameter length limits

All string parameters are validated server-side before any backend call. A request that exceeds a limit is rejected immediately with an `INVALID_ARGUMENT` error — no partial processing occurs.

<AccordionGroup>
  <Accordion title="Sub-parameters (sub1–sub10, adv1–adv10, source_id)">
    `sub1`–`sub10`, `adv1`–`adv10`, and `source_id` are affiliate-controlled tracking values written directly to database columns. Their limits match the underlying column constraint.

    | Parameter                                                                       | Max       |
    | ------------------------------------------------------------------------------- | --------- |
    | `sub1`, `sub2`, `sub3`, `sub4`, `sub5`, `sub6`, `sub7`, `sub8`, `sub9`, `sub10` | 600 chars |
    | `adv1`, `adv2`, `adv3`, `adv4`, `adv5`, `adv6`, `adv7`, `adv8`, `adv9`, `adv10` | 600 chars |
    | `source_id`                                                                     | 600 chars |
  </Accordion>

  <Accordion title="Common parameters (cursor, timezone, currency)">
    These limits apply across every tool where the parameter appears.

    | Parameter                                       | Max         |
    | ----------------------------------------------- | ----------- |
    | `cursor` (pagination token)                     | 1,024 chars |
    | `timezone` (IANA name, e.g. `America/New_York`) | 64 chars    |
    | `currency` (ISO code, e.g. `USD`)               | 8 chars     |
  </Accordion>

  <Accordion title="Reporting tools">
    | Parameter                                                               | Tool                     | Max               |
    | ----------------------------------------------------------------------- | ------------------------ | ----------------- |
    | `dimensions`                                                            | `run_performance_report` | 256 chars         |
    | `filters` (comma-separated `type:value` string)                         | `run_performance_report` | 4,096 chars total |
    | `metric_filters` (comma-separated conditions)                           | `run_performance_report` | 512 chars         |
    | `sort_by`                                                               | `run_performance_report` | 128 chars         |
    | `sort_direction`                                                        | `run_performance_report` | 8 chars           |
    | `include`                                                               | `run_network_summary`    | 256 chars         |
    | Individual non-sub filter values (e.g. `country`, `status`, `offer_id`) | `search_activity`        | 64 chars each     |
  </Accordion>

  <Accordion title="Offer and affiliate tools">
    | Parameter                                                    | Tool                             | Max            |
    | ------------------------------------------------------------ | -------------------------------- | -------------- |
    | `include`                                                    | `get_offer`, `get_affiliate`     | 256 chars      |
    | `affiliate_ids`, `offer_ids`                                 | `get_offer`, `get_affiliate`     | 1,024 chars    |
    | `can_run`                                                    | `get_affiliate`                  | 8 chars        |
    | Individual filter values (`search`, `status`, `label`, etc.) | `list_offers`, `list_affiliates` | 256 chars each |
  </Accordion>

  <Accordion title="Generic entity tools">
    | Parameter                  | Tool                                               | Max         |
    | -------------------------- | -------------------------------------------------- | ----------- |
    | `type`                     | `get_entity`, `get_entity_schema`, `list_entities` | 64 chars    |
    | `id`                       | `get_entity`                                       | 64 chars    |
    | `include`                  | `get_entity`                                       | 1,024 chars |
    | `filters` (JSON object)    | `list_entities`                                    | 4,096 chars |
    | `parameters` (JSON object) | `get_entity`                                       | 4,096 chars |
  </Accordion>

  <Accordion title="Documentation search">
    | Parameter | Max       |
    | --------- | --------- |
    | `query`   | 512 chars |
    | `source`  | 64 chars  |
  </Accordion>
</AccordionGroup>

## Error response

When a parameter limit is exceeded, the server returns a structured error before any backend call is made:

```json theme={null}
{
  "code": "INVALID_ARGUMENT",
  "message": "Parameter 'sub1' exceeds the maximum length of 600 characters (got 847)."
}
```

The message always names the offending parameter, the allowed maximum, and the actual length received.
