Back to tracker
Plugin tracker
Tools
Explore what tracked Claude Connectors and ChatGPT Plugins can actually do. Search by tool, Plugin, Brand, category, verb, or access requirement.
Latest snapshot2026-09-12USmethodology registry-public-v1
Searchable tools
113,018
Authless tools
7,424
Auth required
100,766
Described tools
61,167
113,018 tools
- Get operation schemaget · Returns the request and/or response JSON Schema (draft 2020-12, with nested definitions inlined under `$defs`) for an operation, sourced from the Voluum OpenAPI spec. Call this before building a request body to learn its exact shape — especially for operations whose description says "Schema available". Pass that operation's tool name as `operation`.VoluumVoluum
PluginrequiredMarketing - Get reporting guideget · Returns the Voluum reporting & analysis guide: the three rules for every analysis (trace every number to a query, verify names before using them, say so when the data does not support the analysis), how to scope reports by id vs name with the drilldown filters, why custom-variable analyses are campaign-scoped, workspace-blending pitfalls, conversion-time mode in comparisons, and how to handle ambiguous root causes and optimization recommendations. Call this before running a report, breaking data down along a dimension, or drawing conclusions from numbers.VoluumVoluum
PluginrequiredMarketing - Get session contextget · Session-start context bundle (workspaces, custom conversions, custom columns, user, conversion-time mode default, tracker setup).
Session context for the current user, already projected by the MCP server: the large
upstream `/startup` envelope is reduced to the fields an agent actually needs. Call once per
session and cache it for the session's lifetime — this state changes rarely.
## Response shape
```
{
"workspaces": [ { "id", "name" } ],
"customConversions": { "<index>": "<name>" },
"conversionRegistrationTime": "VISIT" | "CONVERSION",
"setup": {
"urls": { clickUrl, multiOfferClickUrl, postbackUrl, securePostbackUrl,
trackingPixelUrl, trackingScriptUrl },
"domains": { redirectDomain, defaultRedirectDomain,
dedicatedDomains[], internalDomains[], customDomains[] },
"rootRedirect": { ... }
},
"customColumns": [ { "name", "label", "format", "expression" } ],
"user": { "timezone", "defaultClientId" },
"unavailable": { "<section>": <HTTP status> }
}
```
**There is no `responses` wrapper and no per-section `status`/`body`.** Those belong to the
upstream envelope and are consumed by the projection. Every key above is optional: a section
whose upstream sub-response failed is omitted and recorded in `unavailable` (section -> HTTP
status), so check `unavailable` before concluding a section is genuinely empty. `rootRedirect`
appears only when root redirect is enabled.
## What each field is for
| Field | Use |
|---|---|
| `workspaces[]` | `id` values accepted by the `workspaces` parameter on report queries |
| `customConversions` | Slot index -> name, active slots only (removed ones are dropped). Index N maps to the `customConversions<N>` and `customRevenue<N>` report columns |
| `customColumns[]` | User-defined derived metrics; pass `name` as a report `column` value. `format` (`DECIMAL`/`PERCENT`/`INTEGER`) drives rendering, `expression` is the formula tree. Referencing an unknown name returns an error |
| `conversionRegistrationTime` | Account default for the `conversionTimeMode` report parameter |
| `setup.urls` | Canonical tracker URL templates — compare against a URL reported as broken |
| `setup.domains` | `redirectDomain` (active) and `defaultRedirectDomain` (fallback), plus `dedicatedDomains[]` / `internalDomains[]` / `customDomains[]`. Each entry carries `address`, `mainDomain`, `sslStatus` and `workspaceIds` — the field that answers "why does this domain work for workspace A but not B" |
| `user` | `timezone` and `defaultClientId` only |
## Not included here
Fetch separately:
- **Traffic sources catalog** — `list_traffic_sources`. Each entry's `customVariables[]` carries
the per-slot labels and URL parameter names needed to interpret `customVariable1`..`10`
report columns.
- **Affiliate networks catalog** — `list_affiliate_networks`.
- **Current usage counts** — no aggregate endpoint, and the entity `list_*` operations do not
return a total either: they page by cursor, so counting means following `nextId` until a page
comes back without one. Do not report a count you have not paged to the end of.
The tracker's lander-URL signing secret is deliberately never included in this response. Examples available — call get_examples("get_session_context") for sample request + response.VoluumVoluum
PluginrequiredMarketing - Get shared reportget · Get shared report
Returns a shared report's definition, including its public 'url'. To read the report's data or export it as CSV, call /shared-report/report/{id} with the share token from that 'url' — those operations do not accept the UUID used here.VoluumVoluum
PluginrequiredMarketing - Get shared report dataget · Show shared report
Returns the report's data. This operation is unauthenticated and keyed by the share token from the report's public 'url' — not by the 'id' UUID that `list_shared_reports` returns. The report definition (including the columns and time range the token was shared with) comes from `get_shared_report`VoluumVoluum
PluginrequiredMarketing - Get shared traffic source for campaignsget · Retrieves a traffic source if all campaigns use the same one.
Takes a list of campaign ids and returns their traffic source, but only when every campaign in the list uses the same one. Responds 200 with an empty body when they do not — and also when the request body omits the 'ids' key, so an empty response can mean a malformed body rather than a genuine mismatch. Send exactly {"ids": ["<campaign uuid>", ...]}; other key names are ignored rather than rejected. This tool takes a request body: you MUST call get_schema("get_common_traffic_source") and build the body to match it before calling — do not guess fields. Examples available — call get_examples("get_common_traffic_source") for sample request + response.VoluumVoluum
PluginrequiredMarketing - Get subscription planget · Returns current subscription plan details.VoluumVoluum
PluginrequiredMarketing - Get time-to-install defaultsget · Returns default time to install thresholds.VoluumVoluum
PluginrequiredMarketing - Get tracker setupget · Retrieves client setup.VoluumVoluum
PluginrequiredMarketing - Get tracking setup guideget · Returns the Voluum tracking-setup playbook: a scenario→action guide for helping a user set up or troubleshoot conversion, visit, and impression tracking — tracking scripts, S2S postbacks, tracking pixels, click URLs, GTM, and the steps per conversion-tracking method. Call this when the user is configuring or debugging tracking on a campaign, offer, lander, affiliate network, or traffic source, then read their actual entity state (get_campaign / get_offer / get_lander / get_affiliate_network / list_traffic_source_templates) to tailor the steps. The scripts and postback/click URLs a user copies are personalized per entity — always point them at the value shown in their own setup.VoluumVoluum
PluginrequiredMarketing - Get traffic log statusget · Returns the status of a Traffic Log request. Poll this endpoint until the status is READY, at which point the response contains the download link to the generated report.VoluumVoluum
PluginrequiredMarketing - Get traffic sourceget · Retrieves a traffic source.VoluumVoluum
PluginrequiredMarketing - Get unread inbox countget · Get the count of unread inbox items. Used for badge/indicator display without loading full itemsVoluumVoluum
PluginrequiredMarketing - Get unseen inbox countget · Get the count of unseen inbox items. Used for badge/indicator display without loading full itemsVoluumVoluum
PluginrequiredMarketing - Get user preferencesget · Retrieves user's preferences.VoluumVoluum
PluginrequiredMarketing - Get user profileget · Returns user's detailsVoluumVoluum
PluginrequiredMarketing - Get write guideget · Returns the Voluum write guide: how to build create/update payloads safely — call get_schema/get_examples first and never guess body fields (unknown fields are silently dropped), computed read-only names (set namePostfix, not name), that update_* tools are PUT and replace rather than merge (omitted fields reset), and the 418 demo-account read-only behavior. Call this before creating or updating any Voluum entity.VoluumVoluum
PluginrequiredMarketing - Ignore integration mappingignore · Ignore a specific manual mapping between a traffic source campaign and a Voluum campaign, hiding it from the active mappings list This tool takes a request body: you MUST call get_schema("ignore_integration_mapping") and build the body to match it before calling — do not guess fields.VoluumVoluum
PluginrequiredMarketing - List ISPslist · Retrieves ISPs.VoluumVoluum
PluginrequiredMarketing - List affiliate network templateslist · Retrieves affiliate network templates, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing - List affiliate networkslist · Retrieves affiliate networks, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing - List auto ruleslist · List all auto rules configured for the accountVoluumVoluum
PluginrequiredMarketing - List browserslist · Retrieves browsers.VoluumVoluum
PluginrequiredMarketing - List campaignslist · Returns campaigns, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing - List citieslist · Retrieves cities.VoluumVoluum
PluginrequiredMarketing - List conversionslist · Returns individual conversion events (not aggregated).
Returns individual conversion events as separate rows — one row per conversion.
This is fundamentally different from `run_report` which returns aggregated data
grouped by dimensions.
## Key differences from `run_report`
- **No groupBy parameter** — each row is a single conversion event.
- **No conversionTimeMode parameter** — not applicable to individual events.
- **No include parameter** — not applicable.
- **Default sort**: postbackTimestamp (most recent conversions first).
- **Column parameter is required** — you must specify which fields to return.
## Common columns for conversion reports
Each row can include: postbackTimestamp, visitTimestamp, campaignId, campaignName, offerId,
offerName, trafficSourceId, trafficSourceName, countryCode, countryName, device, revenue,
payout, customVariable1 through customVariable10, customConversions1-20, customRevenue1-20.
## When to use this endpoint
Use this endpoint when you need to inspect individual conversion events,
verify postback firing, diagnose tracking issues, or analyze conversion-level
detail. For aggregated performance metrics, use `run_report` instead.
## Drilldown filters
Use filter1=campaignId&filter1Value=<id> to see conversions for a specific campaign.
Examples available — call get_examples("list_conversions") for sample request + response.VoluumVoluum
PluginrequiredMarketing - List countrieslist · Retrieves countries.VoluumVoluum
PluginrequiredMarketing - List currencieslist · Lists available currency codes with the total available.
Returns the currency codes supported by the reporting API (e.g. USD, EUR, GBP) in an
object carrying *totalCount*, so a caller can page with *limit* and *offset*.
Use a value from *currencies* in the 'currency' parameter of report endpoints.
GET /currencies returns the same codes as a plain array and takes no parameters.VoluumVoluum
PluginrequiredMarketing - List custom columnslist · Returns user-defined custom column (derived metric) definitions.
Returns the list of custom columns configured for this account. Custom columns are
user-defined derived metrics with formulas (e.g. calculated EPC variants, margin
formulas, blended scores).
## Relationship to reports
Each custom column has a name that can be passed directly as a column value in
report API calls, alongside built-in metrics like visits or roi.
## Usage
Call this endpoint at startup and append all custom column names to your default
report column set. Accounts with active custom columns will produce incomplete
analysis if these are excluded — they may represent the primary metrics the user
cares about.VoluumVoluum
PluginrequiredMarketing - List custom conversionslist · Returns custom conversion type definitions for the account.
Returns the list of custom conversion types configured for this account.
Each entry has an index (1-20) and a name (e.g. "Leads", "FTD", "Upsells").
## Relationship to reports
The index maps directly to report columns:
- customConversions{index} — count of that conversion type
- customRevenue{index} — revenue attributed to that conversion type
For example, if this endpoint returns an entry with index=3 and name="FTD",
then in report requests you would include column=customConversions3 and
column=customRevenue3 to get FTD counts and revenue.
## Usage
Call this endpoint at startup and include all active custom conversion columns
in your default report column set. Without this, reports will be missing conversion
types that may be the primary KPIs the user cares about.VoluumVoluum
PluginrequiredMarketing - List device brandslist · Retrieves brands.VoluumVoluum
PluginrequiredMarketing - List dimension listslist · List all dimension lists configured for the accountVoluumVoluum
PluginrequiredMarketing - List domainslist · List domainsVoluumVoluum
PluginrequiredMarketing - List enabled featureslist · Returns enabled features.VoluumVoluum
PluginrequiredMarketing - List errorslist · Returns errors report.
Returns error events that occurred during visit/click/conversion processing.
Useful for diagnosing tracking issues, broken redirects, postback failures, and offer-side
errors.
Date range uses the same half-open [from, to) semantics as `run_report`
Examples available — call get_examples("list_errors") for sample request + response.VoluumVoluum
PluginrequiredMarketing - List errors by categorylist · Returns errors grouped by error category.
Returns error events aggregated by error category, providing a high-level view of which types
of errors are most frequent.
Examples available — call get_examples("list_errors_by_category") for sample request + response.VoluumVoluum
PluginrequiredMarketing - List event log entrieslist · Retrieves event log entries. Event log enables you to browse changes that were made in your account.VoluumVoluum
PluginrequiredMarketing - List flowslist · Retrieves flows, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing - List inbox notificationslist · List notification inbox items with pagination. Returns notifications about campaign events, billing alerts, and integration status changesVoluumVoluum
PluginrequiredMarketing - List integration campaign mappingslist · List all campaign/cost mappings (auto and manual, with manual taking priority) for an integration, including available unmapped source and destination itemsVoluumVoluum
PluginrequiredMarketing - List integration conversionslist · Get a paginated audit trail of conversions processed through an integration, showing status, payout, and tracking detailsVoluumVoluum
PluginrequiredMarketing - List integration featureslist · List supported features and capabilities (cost sync, status sync, campaign sync, bid dimensions, rule actions) for each traffic source integration typeVoluumVoluum
PluginrequiredMarketing - List landerslist · Retrieves landers, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing - List languageslist · Retrieves languages.VoluumVoluum
PluginrequiredMarketing - List live clickslist · Returns real-time click events for a campaign.
Returns the most recent click events for the specified campaign in real time.
Only applicable to campaigns with a lander — direct-linking campaigns never record clicks.VoluumVoluum
PluginrequiredMarketing - List live visitslist · Returns real-time visit events for a campaign.
Returns the most recent visit events for the specified campaign in real time.
Useful for verifying that a campaign is receiving traffic and for live monitoring.VoluumVoluum
PluginrequiredMarketing - List mobile carrierslist · Retrieves mobile carriers.VoluumVoluum
PluginrequiredMarketing - List notification deviceslist · List all push notification devices registered for the current userVoluumVoluum
PluginrequiredMarketing - List notification preferenceslist · List all notification preferences (categories and channels) with their current values and display detailsVoluumVoluum
PluginrequiredMarketing - List offerslist · Retrieves offers, optionally filtered and paged.
Filter and page **server-side** rather than fetching the whole collection and filtering locally.
Filters combine with AND, and each filter parameter's own description states whether it matches
exactly or as a case-insensitive substring. Filters are applied before paging, so a page contains
only entities matching the filters.
Send *limit* to page; without it this endpoint returns the whole matching collection - but the MCP
list_ tools default *limit* to 100, so through them a bare call is one page, not the complete
collection.
Paging is by cursor, not by position: a response that has more to give carries *nextId*, and you get
the following page by sending it back as the *nextId* parameter with the **same filters**. When
*nextId* is absent the collection is exhausted - there is no need for a further request to discover
that, and no total count to compare against. Do not construct a cursor yourself; ids are opaque here.
Freshness (*If-Modified-Since*) is judged over every entity of this type, not over the filtered page:
a change that moves an entity out of your filter, or onto a page you are not reading, still answers 200.
So the header combines with both filtering and paging, at the cost of the occasional 200 for a view that
did not itself change.VoluumVoluum
PluginrequiredMarketing
What is Tool Explorer?
Tool Explorer indexes the callable tool names and descriptions attached to public registry profiles. It is useful for seeing what agents can actually invoke, not just which profile exists.
How do category and verb filters work?
Category filters use the live registry category rollup. Verb filters use the public tool insights rollup, so the page stays backed by the same read models as the tracker charts.
Why do auth requirements matter?
Auth requirements show whether a tool is likely usable without account connection, requires authentication, is private, or is unknown in the current snapshot.