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

# Account & Generic

> Account info, generic entity tools for any supported type, and documentation search.

## get\_account\_info

Returns information about the current network account and the authenticated user. Call this first in any session to confirm the default currency and timezone before running reports.

**Parameters:** None.

**Response fields:**

| Field                                     | Type     | Description                        |
| ----------------------------------------- | -------- | ---------------------------------- |
| `network.network_id`                      | number   | Numeric network ID                 |
| `network.name`                            | string   | Network name                       |
| `network.account_status`                  | string   | Account status                     |
| `network.currency`                        | string   | Default currency code              |
| `network.support_email`                   | string   | Network support email              |
| `network.time_created`                    | datetime | Account creation date              |
| `network.timezone`                        | string   | Default timezone (IANA)            |
| `current_user.employee_id`                | number   | Authenticated employee ID          |
| `current_user.name`                       | string   | Full name                          |
| `current_user.title`                      | string   | Job title                          |
| `current_user.is_admin`                   | boolean  | Admin access                       |
| `current_user.is_affiliate_manager`       | boolean  | Has affiliate management scope     |
| `current_user.is_limited_affiliate_scope` | boolean  | Scoped to specific affiliates only |
| `current_user.is_advertiser_manager`      | boolean  | Has advertiser management scope    |
| `current_user.timezone`                   | string   | User's timezone (IANA)             |
| `current_user.currency`                   | string   | User's default currency            |
| `tracking.primary_domain`                 | string   | Primary tracking domain URL        |

***

## get\_entity\_schema

Returns the available filters, include options, and field descriptions for any entity type. Call it with no arguments to list every supported type — the full catalog is also documented in [Supported entity types](#supported-entity-types) below.

**Parameters:**

| Parameter | Type   | Required | Description                                                          |
| --------- | ------ | -------- | -------------------------------------------------------------------- |
| `type`    | string | No       | Entity type. Leave empty to list all supported types. — max 64 chars |

***

## get\_entity

Retrieves a single entity by its primary ID.

**Parameters:**

| Parameter    | Type   | Required | Description                                                                     |
| ------------ | ------ | -------- | ------------------------------------------------------------------------------- |
| `type`       | string | Yes      | Entity type (from `get_entity_schema`) — max 64 chars                           |
| `id`         | string | Yes      | Primary ID of the entity — max 64 chars                                         |
| `include`    | string | No       | Comma-separated relationship names (from `get_entity_schema`) — max 1,024 chars |
| `parameters` | string | No       | JSON object of additional query parameters — max 4,096 chars                    |

Most types return the entity's own fields. The `click`, `conversion`, and `transaction` response shapes are documented on [Events & Attribution](events).

<Note>
  Passing an unrecognized `type` returns `INVALID_ARGUMENT: Unknown entity type '…'`. Call `get_entity_schema` with no arguments to see every supported type.
</Note>

***

## list\_entities

Lists entities of a given type with filters and pagination.

**Parameters:**

| Parameter   | Type   | Required | Description                                                                                                                                                     |
| ----------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`      | string | Yes      | Entity type (from `get_entity_schema`) — max 64 chars                                                                                                           |
| `filters`   | string | No       | JSON object of filter key-value pairs — e.g. `{"affiliate_id": "142", "status": "active"}` (use `get_entity_schema` to see available filters) — max 4,096 chars |
| `page_size` | number | No       | Rows per page (1–200, default 25)                                                                                                                               |
| `cursor`    | string | No       | Pagination cursor from a prior response — max 1,024 chars                                                                                                       |

<Note>
  The `filters` parameter here is a **JSON object** — this differs from `run_performance_report`, which uses comma-separated `type:value` strings.
</Note>

**Response envelope:**

| Field            | Type    | Description                                |
| ---------------- | ------- | ------------------------------------------ |
| `has_more`       | boolean | `true` if additional pages exist           |
| `next_cursor`    | string  | Pass as `cursor` to retrieve the next page |
| `rows_returned`  | number  | Number of records in this page             |
| `total_matching` | number  | Total records matching the query           |
| `page_size`      | number  | Rows-per-page applied to this response     |

***

## count\_entities

Returns **only the match count** for a type + filter set — no records, no pagination. Use it for "how many" questions instead of paging through `list_offers` / `list_affiliates` / `list_entities` and tallying.

For a breakdown like "how many offers per category", first fetch the group values (e.g. `list_entities` with `type=category`), then call `count_entities` once per value: `count_entities(type="offer", filters={"category":"Finance"})`, then `{"category":"Insurance"}`, and so on. This avoids paging entirely — counting by walking pages is wasteful and fails if a cursor is reused across a changed filter set.

<Note>
  **"Pending partner applications" vs "pending offer applications" — different counts.** A *partner application* is a new partner (affiliate) whose **account** is awaiting network approval: `count_entities(type="affiliate", filters={"status":"pending"})`. An *offer application* is a partner requesting to run a **specific offer**: `count_entities(type="application", filters={"status":"pending"})`. Pick the type that matches the question.
</Note>

<Note>
  Status values must be exact and lowercase (e.g. `affiliate` → `active`, `inactive`, `pending`, `suspended`). An unrecognized status is rejected with a suggested value — it does **not** silently return `0`. Call `get_entity_schema` for a type's valid status values.
</Note>

<Note>
  Date filters `created_after` / `created_before` (`YYYY-MM-DD`, network-timezone day boundaries) are **both inclusive** of the named day. So "created before Jul 10" (strictly before) is `created_before=Jul 09`, not Jul 10. For an open-ended "since / after DATE" window, also pass `created_before=today` so a future-dated record can't fall outside the window you report. Because both bounds are inclusive, a record created on the boundary day matches **both** `created_after=DAY` and `created_before=DAY`; when splitting a range into adjacent periods, offset the shared boundary by one day to avoid double-counting it.
</Note>

**Parameters:**

| Parameter | Type   | Required | Description                                                                                                                                                |
| --------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`    | string | Yes      | Entity type (same values as `list_entities`) — max 64 chars                                                                                                |
| `filters` | string | No       | JSON object of filter key-value pairs to count within — e.g. `{"category":"Finance","status":"active"}`. Omit to count all of that type. — max 4,096 chars |

**Response fields:**

| Field     | Type   | Description                                   |
| --------- | ------ | --------------------------------------------- |
| `type`    | string | The entity type counted                       |
| `filters` | object | The filter set applied                        |
| `count`   | number | Number of records matching the type + filters |

***

## Supported entity types

The generic tools cover 31 entity types. Three have richer documentation elsewhere: `offer` and `affiliate` have [dedicated tools](offers-affiliates) with more parameters — prefer those — and the event types are detailed on [Events & Attribution](events).

### Core entities

| Type        | Description          | Filters | Notes                                                                                                            |
| ----------- | -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| `offer`     | Campaign / promotion | —       | Prefer [get\_offer](offers-affiliates#get_offer) / [list\_offers](offers-affiliates#list_offers)                 |
| `affiliate` | Partner / publisher  | —       | Prefer [get\_affiliate](offers-affiliates#get_affiliate) / [list\_affiliates](offers-affiliates#list_affiliates) |

### Events & attribution

| Type          | Description                                        | Filters                                                                                                                                                                                                | Notes                                                                                                                                                                                                                                                                                 |
| ------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `click`       | Click event                                        | `from`/`to` (required, 14-day max), `transaction_id`, `offer_id`, `affiliate_id`, `advertiser_id`, `error_code`, `country`, `source_id`, `sub1`–`sub10`                                                | `id` is the 32-char transaction ID — see [Events & Attribution](events#click)                                                                                                                                                                                                         |
| `conversion`  | Conversion event                                   | `from`/`to` (required unless `transaction_id` given), `transaction_id`, `conversion_id`, `status`, `offer_id`, `affiliate_id`, `advertiser_id`, `country`, `source_id`, `sub1`–`sub10`, `adv1`–`adv10` | `id` is the conversion ID. Filter by `transaction_id` for a flat, paginated list of all conversions on a transaction — see [Events & Attribution](events#conversion)                                                                                                                  |
| `transaction` | Full attribution chain for a transaction           | None — fetch by ID                                                                                                                                                                                     | `id` is the 32-char transaction ID — see [Events & Attribution](events#transaction)                                                                                                                                                                                                   |
| `order`       | E-commerce order ingested from a store integration | `order_id`; or `integration_id` + `from`/`to` (list a store's Shopify orders in a window, max 3 months)                                                                                                | `id` is the store's order id (the long Shopify order id, **not** the 32-char transaction ID). Returns the store the order came from — for Shopify the `.myshopify.com` URL (`shopify_store_url`) and `integration_id` — plus the `transaction_id` linking it to the attribution chain |

### People & access

| Type              | Description                                                                                              | Filters                                                                                                        | Notes                                                                                                                                                                          |
| ----------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `advertiser`      | Advertiser (brand / product owner)                                                                       | `search`, `status`, `manager_id`, `sales_manager_id`, `label`, `created_after`, `created_before`               | `created_after`/`created_before` are `YYYY-MM-DD`, network-timezone day boundaries, both inclusive of the named day (e.g. advertisers added in the last 30 days)               |
| `advertiser_user` | Contact on an advertiser account                                                                         | `search`, `status`, `advertiser_id`                                                                            |                                                                                                                                                                                |
| `affiliate_user`  | Contact on an affiliate account                                                                          | `search`, `status`, `affiliate_id`                                                                             |                                                                                                                                                                                |
| `employee`        | Internal team member (account manager, admin)                                                            | `search`, `status`, `is_admin`, `is_affiliate_manager`, `is_advertiser_manager`, `role_id`, `business_unit_id` |                                                                                                                                                                                |
| `application`     | A partner's request to join a specific **offer** (an "offer application") — **not** a new-partner signup | `affiliate_id`, `offer_id`, `status`, `search`                                                                 | Status: `pending`, `approved`, `rejected`. For pending **partner applications** (new-partner signups awaiting network approval), use `affiliate` with `status=pending` instead |

### Offer structure

| Type                    | Description                                      | Filters                                                                                       | Notes                                                                                                                                                                                                                                                                                                                            |
| ----------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `offer_group`           | Logical grouping of related offers               | `search`, `status`, `advertiser_id`                                                           |                                                                                                                                                                                                                                                                                                                                  |
| `campaign`              | Smart Link                                       | `search`, `offer_id`                                                                          | `campaign` is the API name for what the platform calls "Smart Link". `get_entity(type="campaign", id=<id>, include="offers")` returns the offers the smart link routes to, each with its `routing_value` (distribution weight), `name`, and `status` — capped, with `total`/`has_more` for the full count                        |
| `offer_url`             | Tracking / destination URL on an offer           | **`offer_id` (required)**, `affiliate_id`, `search`, `status`                                 | Always requires the parent offer                                                                                                                                                                                                                                                                                                 |
| `creative`              | Ad creative (banner, text link, email)           | `offer_id`, `creative_type`, `search`, `status`                                               | `list_entities` returns lean metadata only; `get_entity` by id returns the full record including the `html_code` markup                                                                                                                                                                                                          |
| `custom_creative`       | Custom creative variant                          | `affiliate_id`, `offer_id`, `search`, `status`                                                |                                                                                                                                                                                                                                                                                                                                  |
| `custom_payout_revenue` | Custom payout / revenue rule                     | `affiliate_id`, `offer_id`, `search`, `status`                                                | Filtering by `affiliate_id` returns rules that **affect** that affiliate — both rules targeting it directly and rules applying to all affiliates. Each row carries `matched_by` (`targeted` vs `all_affiliates`) and the response a `filter_note`, so you can keep only `matched_by="targeted"` for affiliate-specific overrides |
| `pixel`                 | Conversion tracking pixel                        | `affiliate_search`, `offer_search`, `status`, `delivery_method`                               |                                                                                                                                                                                                                                                                                                                                  |
| `coupon_code`           | Coupon code assigned to an affiliate             | **At least one required** (`coupon_code`, `affiliate_id`, `offer_id`), plus optional `status` | `coupon_code` matches code text exactly (case-insensitive). All three accept pipe-separated values for a batch — `affiliate_id: "1\|2\|5"` or `coupon_code: "SAVE10\|SAVE20"` — up to 100 per filter.                                                                                                                            |
| `advertiser_event`      | Conversion event / goal defined by an advertiser | **`advertiser_id` or `offer_id` (one required)**, `search`, `status`                          | `offer_id` alone resolves the advertiser and returns only that offer's mapped events                                                                                                                                                                                                                                             |

### Classification & tagging

| Type             | Description                                     | Filters                                                                                                     | Notes                                                   |
| ---------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| `category`       | Offer classification tag                        | `search`, `status`                                                                                          |                                                         |
| `channel`        | Marketing channel (e.g. email, social, search)  | `search`, `status`, `offer_id`                                                                              |                                                         |
| `label`          | Cross-resource tag                              | `search`, `advertiser_id`, `affiliate_id`, `affiliate_tier_id`, `campaign_id`, `offer_group_id`, `offer_id` | String-based — pass label text as `id` for `get_entity` |
| `affiliate_tier` | Grouping tier for affiliates with payout margin | `search`, `status`, `affiliate_id`, `offer_id`                                                              |                                                         |

### Infrastructure & reporting

| Type                    | Description                                                                                                                                                                                                                                                                                                               | Filters                                                              | Notes                                                                                                              |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `tracking_domain`       | Network tracking domain — the **identity & config** record (ID lookup, primary/assignable flags, redirect settings, SSL-enabled flag); available on every network. For operational health (uptime, SSL expiry, hosting IP, blocklist reputation) use the [Traffic Health tools](/ai-automation/mcp/tools/traffic-health). | `search`, `status`                                                   | Network-level domains, **not** per-affiliate "custom" tracking domains (the affiliate variant is not exposed here) |
| `invoice`               | Affiliate payment invoice                                                                                                                                                                                                                                                                                                 | `affiliate_id`, `status`, `search`, `min_start_time`, `max_end_time` |                                                                                                                    |
| `click_error_code`      | Static lookup — click error code definitions                                                                                                                                                                                                                                                                              | `category`                                                           | Use numeric error code as `id`                                                                                     |
| `conversion_error_code` | Static lookup — conversion error code definitions                                                                                                                                                                                                                                                                         | None                                                                 | Use numeric error code as `id`                                                                                     |

<Note>
  Code `0` ("no error" / accepted) has **no** lookup row — `get_entity(type="click_error_code", id=0)` returns `INVALID_ARGUMENT: No click error code found for code 0`. Only non-zero error codes are defined in these tables; a `0` returned on a click/conversion record simply means "accepted, no error".
</Note>

### Geo reference (meta)

| Type      | Description                            | Filters                              | Notes                                                                                       |
| --------- | -------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------- |
| `country` | Country reference data (global)        | `search`                             | Resolve to `country_id` (scopes a region lookup) / ISO code for the report `country` filter |
| `region`  | Region / state reference data (global) | `search`, `country_id`               | Resolve a name to `region_id` for the report `region` filter                                |
| `city`    | City reference data (global)           | **`region_id` (required)**, `search` | Resolve a name to `city_id` for the report `city` filter                                    |

<Note>
  Two entity types have non-obvious identifiers: **`campaign`** is the API name for **Smart Links** (not campaigns in the general sense); and **`label`** uses the label's text value as its `id` — not a numeric ID. For example: `get_entity(type="label", id="top_affiliate")`.
</Note>

***

## search\_documentation

Searches Everflow's help center and API documentation. Use this to look up feature details, setup instructions, or API endpoint specifics.

**Parameters:**

| Parameter | Type   | Required | Description                                                  |
| --------- | ------ | -------- | ------------------------------------------------------------ |
| `query`   | string | Yes      | Search query — max 512 chars                                 |
| `source`  | string | No       | `all` (default), `help_center`, or `api_docs` — max 64 chars |

**Response:** Returns an array of matching documentation entries, each with the document title, a relevant excerpt, and a link to the full source. Use `source=help_center` for operational how-to content and `source=api_docs` for endpoint and parameter references.
