Skip to main content
Glama

Server Details

Traffic OS for media buyers: track, automate, manage campaigns, analyze ROI, and scale.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

Score is being calculated.

Available Tools

130 tools
ack_meta_commandAcknowledge Meta command
Idempotent
Inspect

Report the outcome of one claimed Facebook command: ok=true marks it done and updates the local campaign / adset / ad mirror; ok=false with final=true (Graph refused it) marks it failed and alerts the profile owner, final=false (transport failure) puts it back for another attempt.

NameRequiredDescriptionDefault
idYesCommand id from claim_meta_commands
okYes
errorNoWhat went wrong (ok=false)
finalNook=false only: true = Facebook refused (no retry), false = transport failure (retry on a later claim). Default true.
resultNoGraph's answer (ok=true), kept for the audit
apply_flow_schemeApply flow scheme
DestructiveIdempotent
Inspect

Apply a flow scheme to a campaign: REPLACES the campaign's whole routing tree with a copy of the scheme's flows and adopts its rotation settings. Later scheme edits don't propagate. Use list_flow_schemes to find the scheme id.

NameRequiredDescriptionDefault
idYesCampaign id
flow_scheme_idYes
attach_auto_ruleAttach auto rule
Idempotent
Inspect

Attach an auto rule to a campaign (idempotent). The rule starts evaluating that campaign on its next sweep.

NameRequiredDescriptionDefault
idYesAuto-rule id
campaign_idYes
block_campaign_placementsBlock campaign placements
DestructiveIdempotent
Inspect

Block placements (source ids) on an API-type campaign — mirrored to the ad network best-effort. The blacklist is created automatically on first use. Up to 100 sites per call.

NameRequiredDescriptionDefault
idYesCampaign id
sitesYesPlacement / source ids to block
claim_meta_commandsClaim Meta commandsInspect

Lease the Facebook writes Torvex queued for the tokenless (browser-extension) Meta profile of a logged-in FB user — pause / resume and daily-budget changes decided by the campaign list, an Auto Rule or a rollback, comment moderation (hide / delete / reply) and the raw Graph requests of an autolaunch (graph_call / graph_upload with a signed media_url, handed out once) for cabinets with no Graph token. What the Torvex browser extension polls every minute; each command must be performed in the Ads Manager session and acknowledged with ack_meta_command. A claimed command is leased for 10 minutes, then handed out again (3 attempts); unclaimed commands expire after 24 h and alert the profile owner.

NameRequiredDescriptionDefault
limitNoMax commands per claim (1–100)
fb_userYes
clone_campaignClone campaignInspect

Duplicate a campaign with its whole routing tree, pixels, postbacks, tags and backup domains. The copy is a plain manual campaign with a fresh alias and starts PAUSED unless status=active is given. Blocked (422 domain_problem) while the source domain is flagged by monitoring.

NameRequiredDescriptionDefault
idYesSource campaign id
nameNoName for the copy (default "<source> (copy)")
statusNoDefault paused
create_aff_networkCreate affiliate networkInspect

Create an affiliate network. Only name is required; click_id_param (the query parameter the network expects the click id in) defaults to click_id.

NameRequiredDescriptionDefault
nameYes
tagsNo
notesNo
group_idNo
postback_urlNoPostback URL template to configure at the network
click_id_paramNoQuery parameter the network expects the click id in (default click_id)
extra_url_paramsNoExtra query string appended to offer URLs
postback_ips_whitelistNoComma-separated IPs allowed to send postbacks (empty = any)
create_auto_ruleCreate auto ruleInspect

Create an auto rule: conditions over campaign metrics for a time window, checked every run_every_minutes, firing an action. Campaign-level actions: pause_traffic, resume_traffic, increase_bid, decrease_bid, notify. Placement-level actions (evaluated per source_id): block_zone, whitelist_zone, unblock_zone, increase_zone_bid, decrease_zone_bid. Bid actions need action_params.bid_step and an API (or DSP) campaign. campaign_ids attaches it right away — a rule only runs on attached campaigns.

NameRequiredDescriptionDefault
nameYes
tagsNo
actionYes
statusNo
rankingNoPlacement actions only: act on just the worst / best N placements that pass the conditions, e.g. {"metric":"cpa","direction":"worst","limit":5,"min_clicks":100} = the 5 worst-CPA placements with at least 100 clicks. For cpa/cpc/cpm/cost lower is better (a placement that spent without converting is the worst CPA); for the rest higher is better. null = every matching placement.
group_idNo
scheduleNoWhen the scheduler may run the rule, in the workspace timezone: days = ISO weekdays 1 (Mon)…7 (Sun), empty = every day; windows = [{from:"HH:MM", to:"HH:MM"}], empty = whole day; a window with to <= from runs over midnight. null = always.
conditionsYesAll conditions must hold (AND)
campaign_idsNoCampaigns to attach on create
action_paramsNoParameters the action needs. Bid actions (increase_bid / decrease_bid / increase_zone_bid / decrease_zone_bid): bid_step (>0, required), bid_step_unit (amount|percent), bid_limit (ceiling for an increase, floor for a decrease). Placement list actions (block_zone / whitelist_zone / unblock_zone): site_list_id — the list to write into, default the campaign's own. switch_rotation: flow_scheme_id (required) — the flow scheme copied over the campaign's flows, applied once per scheme. Keys the action does not use are dropped.
time_intervalYesMetrics window
run_every_minutesYes
on_success_pause_ruleNoPause the rule after it fires
on_success_pause_campaignNoPause the campaign after it fires
create_campaignCreate campaignInspect

Create a manual tracker campaign. Only name is required — domain defaults to the workspace default, cost model to none, rotation to by_position. Give offer_id (and optionally landing_id) to build the default flow with that single destination, or send a full flows tree (flows → rules → destinations; see get_campaign include=flows for the shape). Returns the campaign with its click_url.

NameRequiredDescriptionDefault
nameYes
tagsNoTag ids (see list_tags)
aliasNoShort code used in the click URL /c/{alias}; generated when omitted. Globally unique.
flowsNoRouting tree, evaluated in order. Exactly one flow should be is_default (catch-all, no rules). On update the list is complete: rows match by id, omitted rows are deleted.
notesNo
pixelsNoAttached conversion pixels (complete list on update)
group_idNo
offer_idNoCreate shortcut: route the default flow to this offer (ignored when flows is sent)
cost_typeNoHow click cost is booked (auto = from the {cost} macro)
domain_idNoTracking domain (see list_domains; defaults to the workspace default on create)
postbacksNoCampaign-level outgoing postbacks (complete list on update)
cost_valueNoCost per click / per 1000 (cpc / cpm) or per conversion (cpa); % for revshare
landing_idNoCreate shortcut: show this landing before the offer (needs offer_id)
auto_metricNo
sticky_flowNoCookie-pin a returning visitor to the flow and destination they got first (priority flows still win)
site_list_idNoSite list attached to the campaign
traffic_lossNo0–100 % traffic-loss compensation; null = inherit the traffic source
cost_currencyNoDefault USD
flow_rotationNoauto = EPC/CR bandit split of each flow's destinations
network_linksNoIds of campaigns already running on the campaign's API traffic source, exactly as the network shows them — network actions (start/stop, stats, bids, lists) then act on them. Complete list: replaces the manual links, [] clears them, omit to leave them as they are. A link turns a manual campaign into an api one; removing the last turns it back. Ignored for sources without an API connection.
remember_offerNoKeep a returning visitor on the offer they first got
auto_min_clicksNoauto rotation: clicks before exploiting (default 100)
back_button_urlNoBack button target http(s) URL, macros allowed (target = url)
uniqueness_modeNo
uniqueness_scopeNo
backup_domain_idsNoOrdered failover pool for automatic domain switching (max 20)
traffic_source_idNo
uniqueness_periodNoHours (1–8760, default 24)
back_button_targetNoBack button: where a visitor pressing Back on a served landing / PWA install page is sent; null = off
auto_explore_percentNoauto rotation: exploration share 0–50 (default 10)
back_button_offer_idNoBack button target offer (target = offer)
back_button_campaign_idNoBack button target campaign (target = campaign; not the campaign itself)
sticky_flow_keep_click_idNoSticky flow: a return visit resumes the original click id instead of minting a new click
sticky_flow_skip_inactiveNoSticky flow: route afresh when the sticky flow is paused (default true); false keeps serving it
create_campaign_from_metaCreate campaign from MetaInspect

One click from an Ads Manager row: create a tracker campaign named after the Facebook campaign (manual type, the workspace's Meta traffic source, the healthy default domain, a default flow with no destination yet) and link the FB campaign to it under the tokenless profile of the logged-in FB user. Returns the campaign, its click URL (put it in the ad) and the editor URL; needs the campaigns.create permission and counts against the plan's campaign cap.

NameRequiredDescriptionDefault
fb_userYes
ad_account_idYes
fb_campaign_idYes
fb_campaign_nameNoBecomes the tracker campaign name
create_creativeCreate creativeInspect

Save a creative into the Creatives Library — the one-click 'Save to Torvex' of the browser extension (Facebook Ad Library, the FB / Instagram feed, TikTok Creative Center, Ads Manager) and the API twin of the library's upload form. Media arrive as public URLs (media_urls, fetched server-side — images and MP4 / MOV / WebM video, 100 MB each, up to 10) and the ad copy as title / body / description / cta; source, source_url, advertiser and external_id (the site's own ad id, e.g. the Ad Library ID) record where it came from — a second save with the same external_id returns the existing creative (duplicate=true). Needs the creatives manage permission.

NameRequiredDescriptionDefault
ctaNoFacebook call-to-action, as the site spells it or as a code
bodyNoFacebook: Primary text
nameNoDefaults to "<advertiser> — <source> <date>"
titleNoFacebook: Headline
formatNoDefault facebook
sourceNo
statusNo
languageNo
folder_idNo
advertiserNoPage / brand name
media_urlsNoPublic image / video URLs to download
source_urlNoThe page the creative was clipped from
descriptionNo
external_idNoThe site's own id of the ad (Ad Library ID) — dedupe key
create_domainCreate domainInspect

Add a tracking domain. type=system (default) assigns a free random subdomain that works immediately. type=custom connects a domain the user owns: a DNS zone is created and the response's ns_servers must be set at the registrar before the domain verifies. Buying a domain is panel-only.

NameRequiredDescriptionDefault
nameNoThe domain name (custom only), e.g. trk.example.com
typeNoDefault system
dns_provider_idNoOptional DNS provider to record for a custom domain
create_flow_schemeCreate flow schemeInspect

Create a reusable flow scheme (a routing tree that can be applied to campaigns). Send flows as for a campaign: [{name, is_default, match: all|any, rules: [{field, operator, value}], destinations: [{type, offer_id|landing_id|…, weight}]}].

NameRequiredDescriptionDefault
nameYes
tagsNo
flowsNoRouting tree, evaluated in order. Exactly one flow should be is_default (catch-all, no rules). On update the list is complete: rows match by id, omitted rows are deleted.
statusNo
group_idNo
auto_metricNo
descriptionNo
flow_rotationNo
auto_min_clicksNo
auto_explore_percentNo
create_groupCreate groupInspect

Create an entity group (groups are per entity type: campaigns, offers, landings, flow_schemes, pixels, auto_rules, traffic_sources, aff_networks, …). Name must be unique within the type.

NameRequiredDescriptionDefault
nameYes
typeYes
create_landingCreate landingInspect

Create a landing: a URL-type landing (an external page; {offer_url} and other macros are substituted in links — name and url required) or, with type game, a game landing rendered from a game pack (name and game_pack_id required; game_settings keys come from list_game_packs). Uploaded landings need a zip and are panel-only.

NameRequiredDescriptionDefault
urlNohttps:// page URL (URL-type landings)
nameYes
tagsNo
typeNoCreate only: url (default) or game
notesNo
statusNo
group_idNo
languageNoLocale code, e.g. en
pwa_nameNoGame landings: install (add-to-home-screen) title
collect_pushNoInject the push-subscription collector
game_pack_idNoGame landings: pack id from list_game_packs
game_settingsNoGame landings: {key: text} limited to the pack settings keys (+ soundEnabled / soundSpin / soundWin when the pack has sounds); unknown keys are dropped
heatmap_enabledNo
protect_enabledNoURL-type landings: token protection — only visitors sent by the campaign reach the offer (and, with the PHP script from the panel installed, the page); everyone else gets the campaign whitepage
push_activationNo
game_localizationsNoGame landings: [{locale, settings}] per-language overrides picked by the visitor's browser language; empty values inherit the default texts
protect_ttl_minutesNoToken lifetime, 5–1440 minutes (default 30)
create_offerCreate offerInspect

Create an offer. Only name is required — payout_type defaults to Auto (the payout comes with the postback, no planned amount), status to active. Use {click_id} and other {macros} in the URL. payout is in payout_currency (default USD); incoming postbacks without a currency parameter are converted from it. A local offer (dest_kind local) is a page the tracker hosts: pass its ZIP (with index.html at the root) as zip_base64.

NameRequiredDescriptionDefault
urlNoOffer URL; {click_id} and other {macros} are substituted per click
nameYes
tagsNo
notesNo
payoutNoExpected payout in payout_currency
statusNo
group_idNo
cap_limitNo
countriesNoISO alpha-2 codes
dest_kindNoredirect (default) sends the click to url; action performs a server-side action; telegram attributes a Telegram channel; local serves an uploaded ZIP page hosted by the tracker (send zip_base64)
languagesNo
cap_periodNo
zip_base64NoLocal offers: the page ZIP (index.html at the root), base64-encoded, up to 10 MB
cap_enabledNoEnable conversion caps (needs cap_period + cap_limit)
payout_typeNoAuto (payout from the postback, default), CPA, CPL, RevShare, CPC or Fixed
cap_priorityNo
collect_pushNoLocal offers: collect web-push subscriptions on the page
redirect_typeNoRedirect mechanism for dest_kind redirect (default http)
aff_network_idNo
heatmap_enabledNoLocal offers: collect click / scroll heatmap data on the page
payout_currencyNoISO code the network pays this offer in (default USD); postbacks without a currency parameter are converted from it
push_activationNoLocal offers: when the push prompt shows
cap_alt_offer_idNoFallback offer when capped
create_pixelCreate pixelInspect

Create a conversion pixel (facebook_capi, tiktok_events, google_ga4, google_ads, moloco, reddit_capi, twitter_capi, snapchat_capi, pinterest_capi, bigo_events, kwai_events). config holds the platform settings: facebook_capi {pixel_id, access_token}, tiktok_events {pixel_id, access_token}, google_ga4 {measurement_id, api_secret}, google_ads {customer_id, conversion_action_id, login_customer_id?, client_id, client_secret, refresh_token, consent?} (offline click conversions via the Data Manager API), moloco {platform_id, api_key}, reddit_capi {account_id, access_token}, twitter_capi {pixel_id, consumer_key, consumer_secret, access_token, access_token_secret, event_id?} (event mapping values are X event ids), snapchat_capi {pixel_id, access_token}, pinterest_capi {ad_account_id, access_token}, bigo_events {pixel_id}, kwai_events {pixel_id, access_token}. Secrets are write-only.

NameRequiredDescriptionDefault
nameYes
tagsNo
configNoPlatform settings (pixel_id / access_token / measurement_id / api_secret / customer_id / conversion_action_id / client_id / client_secret / refresh_token / platform_id / api_key / account_id / ad_account_id / consumer_key / consumer_secret / access_token_secret / event_id); secrets write-only
statusNo
currencyNoValue currency (default USD)
group_idNo
platformYes
send_valueNoSend the payout as the event value
payout_percentNo0–500, share of the payout sent as value
create_tagCreate tagInspect

Create a workspace tag (one shared pool across entity types). Colour is picked from the fixed palette at random when omitted.

NameRequiredDescriptionDefault
nameYes
colorNoHex colour from the fixed palette
create_traffic_sourceCreate traffic sourceInspect

Create a traffic source. Only name is required. template_id copies the provider, API capabilities and default parameter mapping from a platform template (list_traffic_source_templates); mapping fields given explicitly override it. For API-backed templates the api_key is verified live (422 invalid_api_key). Without a template the source is custom (no network API).

NameRequiredDescriptionDefault
costNoIncoming query parameter name that carries cost (parameter mapping)
nameYes
sub1NoIncoming query parameter name that carries sub1
sub2NoIncoming query parameter name that carries sub2
sub3NoIncoming query parameter name that carries sub3
sub4NoIncoming query parameter name that carries sub4
sub5NoIncoming query parameter name that carries sub5
sub6NoIncoming query parameter name that carries sub6
sub7NoIncoming query parameter name that carries sub7
sub8NoIncoming query parameter name that carries sub8
sub9NoIncoming query parameter name that carries sub9
tagsNo
sub10NoIncoming query parameter name that carries sub10
sub11NoIncoming query parameter name that carries sub11
sub12NoIncoming query parameter name that carries sub12
sub13NoIncoming query parameter name that carries sub13
sub14NoIncoming query parameter name that carries sub14
sub15NoIncoming query parameter name that carries sub15
formatNoIncoming query parameter name that carries format (parameter mapping)
api_keyNoNetwork API key (API-backed templates only); write-only, verified live
zone_idNoIncoming query parameter name that carries zone_id (parameter mapping)
group_idNo
proxy_idNoTech → Proxies id (list_proxies) the network API calls of this source leave through; null = direct
postbacksNoSource postback URLs (complete list on update)
source_idNoIncoming query parameter name that carries source_id (parameter mapping)
campaign_idNoIncoming query parameter name that carries campaign_id (parameter mapping)
creative_idNoIncoming query parameter name that carries creative_id (parameter mapping)
external_idNoIncoming query parameter name that carries external_id (parameter mapping)
template_idNo
traffic_lossNo0–100 % traffic-loss compensation applied to click cost
user_activityNoIncoming query parameter name that carries user_activity (parameter mapping)
payout_percentNo0–500 share of the payout reported
postback_percentNo0–100 share of conversions forwarded to the source
delete_creative_mediaDelete creative media
Destructive
Inspect

Permanently remove one media file from a creative (by media id from get_creative). Future auto-launches will no longer include it; ads already created on the network are untouched.

NameRequiredDescriptionDefault
idYesCreative id
media_idYesMedia id (from get_creative)
detach_auto_ruleDetach auto rule
DestructiveIdempotent
Inspect

Detach an auto rule from a campaign.

NameRequiredDescriptionDefault
idYesAuto-rule id
campaign_idYes
get_aff_networkGet affiliate network
Read-onlyIdempotent
Inspect

One affiliate network: click-id parameter, extra URL params, postback URL template, postback IP whitelist, notes, group and tags.

NameRequiredDescriptionDefault
idYesAffiliate network id
get_auto_ruleGet auto rule
Read-onlyIdempotent
Inspect

One auto-rule with its conditions, action, schedule and attached campaigns (incl. each pair's last run result).

NameRequiredDescriptionDefault
idYesAuto-rule id
get_balanceGet balance
Read-onlyIdempotent
Inspect

The token owner's wallet + referral balance (USD).

NameRequiredDescriptionDefault

No parameters

get_campaignGet campaign
Read-onlyIdempotent
Inspect

One campaign by numeric id. Set include to pull the routing tree (flows with rules and destinations), attached pixels, postbacks and creatives.

NameRequiredDescriptionDefault
idYesCampaign id
includeNoComma-separated: flows,pixels,postbacks,creatives
get_campaign_blacklistGet campaign blacklist
Read-onlyIdempotent
Inspect

Current placement (source id) blacklist of an API-type campaign.

NameRequiredDescriptionDefault
idYesCampaign id
get_campaign_preflightCheck campaign before launch
Read-onlyIdempotent
Inspect

Pre-launch check of one campaign: is it ready for real traffic? Checks status, tracking domain health, routing completeness, paused offers/landings in routing, click id reaching offer URLs, postbacks received (30 days), pixel/postback back to the traffic source, cost model and a test click (30 days). ready=false when any check has status fail; warn is advisory.

NameRequiredDescriptionDefault
idYesCampaign id
get_clickGet click details
Read-onlyIdempotent
Inspect

One click's full story: the scored hit row with decoded fingerprint flags, plus every conversion registered on it.

NameRequiredDescriptionDefault
click_idYesClick UUID
get_cohortsGet cohorts and LTV
Read-onlyIdempotent
Inspect

Cohort & LTV analytics. A cohort is everything that entered on the same day (or week): subject=clicks follows a traffic day — cumulative LTV/ROI per click, repeat conversions and how much of the payoff had landed by day N, with revenue attributed back to the day of the CLICK (standard reports attribute it to the day the conversion arrived); subject=registration follows sign-ups (Lead) to their deposits; subject=ftd follows first deposits (Sale) to their redeposits (Upsell) — the deposit / repeat-purchase vocabulary: summary.arpu = LTV per FTD, returns_per_entity = redeposits per FTD, active_rate = FTD→redeposit rate, summary.ladder = LTV earned inside D0 / D1-7 / D8-30 / D31-90, life_days = redeposits by day of life; subject=push follows a subscriber base; subject=pwa follows PWA installs. split_by returns a second table whose rows are one dimension value instead of a day (each row carries its own ladder, active_rate and returns_per_entity — the channel comparison). Cells a cohort has not reached yet are null.

NameRequiredDescriptionDefault
osNo
ispNo
pwaNoPWA id
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
horizonNoDays/weeks after the cohort day to return (default 30 / 12, max 90 / 26)
landingNoLanding id
subjectNoWhat a cohort is made of (default clicks)
campaignNoCampaign ALIAS (the short code, not the numeric id)
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
split_byNoAlso return a matrix whose rows are this dimension
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
granularityNoCohort granularity (default day)
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
get_creativeGet creative
Read-onlyIdempotent
Inspect

One creative with its ordered media list. Each media row carries a 1-based position — Meta auto-launch ad #N uses the media at position N (as of launch time).

NameRequiredDescriptionDefault
idYesCreative id
get_domainGet domain
Read-onlyIdempotent
Inspect

One tracking domain with health / monitoring state, nameservers (custom domains), crawler policy and default-page settings.

NameRequiredDescriptionDefault
idYesDomain id
get_flow_schemeGet flow scheme
Read-onlyIdempotent
Inspect

One flow scheme with its full flows JSON tree (rules, destinations, rotation).

NameRequiredDescriptionDefault
idYesFlow scheme id
get_landingGet landing
Read-onlyIdempotent
Inspect

One landing with its URL, push-collection and heatmap settings, notes, group and tags.

NameRequiredDescriptionDefault
idYesLanding id
get_meGet account and workspace
Read-onlyIdempotent
Inspect

Who this token belongs to: user, resolved workspace, all addressable workspaces (for the X-Workspace-Id header) and the token abilities.

NameRequiredDescriptionDefault

No parameters

get_meta_overlayGet Meta overlayInspect

Tracker metrics keyed by FACEBOOK ids — the 'Torvex columns' the browser extension draws under every Ads Manager row: clicks, uniques, leads, approvals, hold, revenue, cost, profit, ROI, EPC, CR per FB campaign / ad set / ad id (the conversions an ad blocker hides from the Pixel). Grouped by the dimension the Meta source template fills ({{campaign.id}} → ad_campaign, {{adset.id}} → sub2, {{ad.id}} → creative), restricted to the given ids; catalog lists the cabinet's mirrored names at that level for name → id matching.

NameRequiredDescriptionDefault
idsNoFacebook ids at that level (digits)
levelYes
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
date_toNoYYYY-MM-DD (with period=custom)
date_fromNoYYYY-MM-DD (with period=custom)
with_seriesNoAlso return `series`: per-id daily clicks / conversions / revenue / profit for the last 7 days (the row sparkline)
ad_account_idNoFB ad account id — returns its mirrored names for the level in `catalog`
get_offerGet offer
Read-onlyIdempotent
Inspect

Full offer detail: destination settings (redirect/action), conversion cap with its current usage (cap_used), languages, notes.

NameRequiredDescriptionDefault
idYesOffer id
get_pixelGet pixel
Read-onlyIdempotent
Inspect

One pixel with its platform config (secret keys such as access tokens come back as an empty string when set), value settings, group and tags.

NameRequiredDescriptionDefault
idYesPixel id
get_push_analyticsGet push analytics
Read-onlyIdempotent
Inspect

Web-push post-click attribution: conversions (regs = Lead, ftds = Sale, redeps = Upsell) attributed to push clicks (anchor=click, default) or push shows (anchor=show) that preceded them by at most window hours (1–720, default 24; last-touch — the latest anchor of the same subscriber wins). Returns the period summary with rates (reg_rate / ftd_rate per anchor, ctr, epc = revenue per anchor), % changes vs the previous period, a daily series, one row per mailing and the cumulative conversion-lag curve (share of attributed conversions that landed within N hours). A conversion is linked to a subscriber either through a tracker link the notification opened (/c/… — the click carries the push marker) or through the click the subscription was collected on.

NameRequiredDescriptionDefault
anchorNoWhat starts the window: the push click (default) or the push show
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
windowNoAttribution window in hours (default 24)
date_toNoYYYY-MM-DD (with period=custom)
mailingNoOnly this push mailing id
date_fromNoYYYY-MM-DD (with period=custom)
get_push_overviewGet push overview
Read-onlyIdempotent
Inspect

Web-push subscription counters: total, active, new / unsubscribed in the last 7 days.

NameRequiredDescriptionDefault

No parameters

get_pwa_retentionGet PWA retention
Read-onlyIdempotent
Inspect

PWA install cohorts & retention: per-cohort day-N (or week-N) retention matrix, aggregate retention/LTV curve, DAU/WAU/MAU, open rate, CPI/ARPU/ARPPU. Cohorts = PWA installs in the period; opens are followed up to today. Cells for days a cohort has not reached yet are null.

NameRequiredDescriptionDefault
osNo
ispNo
pwaNoPWA id
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
horizonNoDays/weeks after install to return (default 30 / 12, max 90 / 26)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
granularityNoCohort granularity (default day)
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
get_reportGet report
Read-onlyIdempotent
Inspect

Drill-down report: group by one or more dimensions; rows come back for the dimension at level (0-based), path carries the parent row keys when drilling deeper. Every row has key, label and the full metric set. compare=true adds the previous period (same length right before; the previous calendar month for this_month/last_month): each row gets prev (its metrics then, null = no traffic then) — date/week/month rows are matched to the same position in the previous window (22 Sep vs 15 Sep for 7days), drill-down paths are translated the same way — plus prev_totals and prev_range. The basis for "what changed / what dropped vs last week" questions.

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
pathNoParent row keys for levels above `level`
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
levelNoWhich group_by level to return rows for (default 0)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
compareNoAlso return the previous period per row (`prev`) and in total (prev_totals)
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
creativeNoCreative id from the click URL
group_byYesDimension per drill-down level (`user` = the workspace member owning the campaign; needs the "See statistics per team member" permission)
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
date_modeNoDate attribution: 'conversion' (default) counts each conversion on the day its postback arrived; 'click' books it on the date of the click it belongs to
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
get_site_listGet site list
Read-onlyIdempotent
Inspect

One site list with its full sites / zones / IPs values.

NameRequiredDescriptionDefault
idYesList id
get_statisticsGet statistics
Read-onlyIdempotent
Inspect

Aggregated analytics for a period: clicks, unique clicks, conversions, cost, revenue, profit, ROI and derived metrics. Optionally grouped by one dimension.

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
creativeNoCreative id from the click URL
group_byNo
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
date_modeNoDate attribution: 'conversion' (default) counts each conversion on the day its postback arrived; 'click' books it on the date of the click it belongs to
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
get_subscriptionGet subscription
Read-onlyIdempotent
Inspect

The organization's plan, seats, billing period and expiry.

NameRequiredDescriptionDefault

No parameters

get_traffic_sourceGet traffic source
Read-onlyIdempotent
Inspect

One traffic source with its parameter mapping (which incoming query params carry source_id, zone_id, cost, sub1…), postback settings and postback URLs. The API key is never returned (has_api_key says whether one is stored).

NameRequiredDescriptionDefault
idYesTraffic source id
import_conversionsImport conversionsInspect

Import up to 100 conversions by click_id, exactly as if the affiliate network had postbacked them. transaction_id is the idempotency key per click + type (the same one again reports 'duplicate', a new one is a distinct conversion even for a one-per-click type). Repeats without it follow the type's duplicate policy (Tracker → Conversion types): book again, update the existing conversion, or book as another type (a second sale as upsell — the result then carries reclassified_from). Per-item results: created / updated / duplicate / blocked / not_found / error.

NameRequiredDescriptionDefault
conversionsYes
fire_pixelsNoAlso fire pixel events (default true; off for backfills)
fire_postbacksNoAlso fire outgoing postbacks (default true; off for backfills)
import_google_costsImport Google costs
Destructive
Inspect

Book Google Ads daily spend into click costs — the rows the Torvex Google Ads Script reads inside the advertiser's own account (one row per day × Google campaign × ad group). Google campaigns are matched to tracker campaigns by the {campaignid} ValueTrack parameter carried on the clicks themselves (a Google campaign feeding several tracker campaigns is split by click share), with the '(TID: N)' campaign-name marker as fallback; unmatched ones are reported back. Non-USD accounts are converted at the current rate; a request must carry every row of a Google campaign for the days it covers (a day is set, not incremented).

NameRequiredDescriptionDefault
rowsYes
currencyNoAccount billing currency; converted to USD at the current rate (code bad_currency when the rate is unknown)
timezoneNoIANA timezone of the Google Ads account (its report days are in it); missing → workspace timezone
customer_idNoGoogle Ads customer id (dashes optional) — for the audit log only
import_meta_costsImport Meta costs
Destructive
Inspect

Book Facebook (Meta) daily spend into click costs WITHOUT a Graph token — the rows the Torvex browser extension reads from a logged-in Ads Manager session (one row per day × FB campaign × ad set). FB campaigns are matched to tracker campaigns via launches, manual links or the '(TID: N)' name marker; unmatched ones are reported back. USD cabinets only; a request must carry every row of a FB campaign for the days it covers (a day is set, not incremented).

NameRequiredDescriptionDefault
rowsYes
currencyNoCabinet currency; anything but USD is rejected (code bad_currency)
timezoneNoIANA timezone of the ad account (FB report days are in it); missing → workspace timezone
ad_account_idNoFB ad account id (with or without the act_ prefix) — for the audit log only
list_aff_networksList affiliate networks
Read-onlyIdempotent
Inspect

List affiliate networks (id, name, offer count).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_audit_logList audit log
Read-onlyIdempotent
Inspect

Workspace audit log: who changed what.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
userNoActing user id
actionNoe.g. offer.created
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
resource_typeNo
list_auto_rule_runsList auto rule runs
Read-onlyIdempotent
Inspect

Auto-rule firing log, newest first: every run that changed something (status applied / rolled_back) or had a network write refused (failed) — the condition verdicts behind it, the placements / bids / status it touched and whether it can still be rolled back (rollback itself is panel-only). "Conditions not met" runs are not logged; the rule keeps each attached campaign's last result (last_result) instead.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
statusNo
rule_idNoOnly this auto rule
per_pageNoRows per page (default 50, max 100)
campaign_idNoOnly this campaign (numeric id)
list_auto_rulesList auto rules
Read-onlyIdempotent
Inspect

The auto-rule library (scheduled campaign-optimization rules).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_campaignsList campaigns
Read-onlyIdempotent
Inspect

List tracker campaigns (paginated, newest first). Each row has id, name, alias, type, status, traffic source, domain and click URL.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoMatch name or alias
statusNo
per_pageNoRows per page (default 50, max 100)
list_campaign_setupsList campaign setups
Read-onlyIdempotent
Inspect

Saved network-upload presets (campaign setups).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_clicksList clicks
Read-onlyIdempotent
Inspect

Raw click rows, newest first, cursor-paginated: each response carries next_cursor for the following page (null on the last page). Bots included unless exclude_bots.

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
limitNoDefault 100
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
cursorNonext_cursor from the previous page
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
click_idNoFetch one click exactly
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
lp_clickedNoOnly landing-page exit clicks
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
list_conversionsList conversions
Read-onlyIdempotent
Inspect

Raw conversion rows (leads, sales, rejects, upsells), newest first, cursor-paginated (next_cursor, null on the last page).

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
eventNo
limitNo
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
cursorNo
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
statusNo
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
click_idNo
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
list_countriesList countries
Read-onlyIdempotent
Inspect

Country ISO codes and names (for offer targeting).

NameRequiredDescriptionDefault

No parameters

list_creativesList creatives
Read-onlyIdempotent
Inspect

Creatives Library entries (paginated). Rows include format, folder, media count.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
folderNoFolder id
formatNo
searchNoFilter by name
statusNo
per_pageNoRows per page (default 50, max 100)
list_currenciesList currencies
Read-onlyIdempotent
Inspect

Active currencies with their USD rates. All stored amounts are USD.

NameRequiredDescriptionDefault

No parameters

list_dns_providersList DNS providers
Read-onlyIdempotent
Inspect

DNS providers (names only; API keys are never returned).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_domain_providersList domain providers
Read-onlyIdempotent
Inspect

Domain registrars (names only; API keys are never returned).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_domainsList domains
Read-onlyIdempotent
Inspect

List tracking domains with health state (problem: gsb_blocked / no_dns / unreachable / ssl_error / null).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNo
searchNoFilter by name
healthyNoOnly domains safe to run traffic on
per_pageNoRows per page (default 50, max 100)
list_dsp_requestsList DSP requests
Read-onlyIdempotent
Inspect

Inbound DSP bid request log.

NameRequiredDescriptionDefault
limitNoRows per page (default 100, max 500)
dsp_idNo
offsetNo
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
statusNo
countryNo
date_toNoYYYY-MM-DD (with period=custom)
date_fromNoYYYY-MM-DD (with period=custom)
list_dspsList dsps
Read-onlyIdempotent
Inspect

DSP configuration (inbound API keys are never returned).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_flow_schemesList flow schemes
Read-onlyIdempotent
Inspect

Flow schemes (reusable routing trees).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_game_packsList game packs
Read-onlyIdempotent
Inspect

Game packs (playable wheel / slot / crash templates) available to the workspace: id, slug, name, collection, game_type, whether it is the workspace's own upload, the editable settings schema (key, label, default, group, type, options) and the preview image. A pack id is what create_landing with type game takes.

NameRequiredDescriptionDefault
searchNoFilter by name
game_typeNo
collectionNoExact collection name
list_groupsList groups
Read-onlyIdempotent
Inspect

Entity groups (per entity type).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNoEntity type key, e.g. campaigns, offers, landings
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_landingsList landings
Read-onlyIdempotent
Inspect

List landings (paginated). Rows include type (url / uploaded / AI-generated with its generation status / game) and language.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNo
searchNoFilter by name
statusNo
per_pageNoRows per page (default 50, max 100)
list_lead_typesList lead types
Read-onlyIdempotent
Inspect

Per-network pixel lead-type values (e.g. facebook Purchase, kwai EVENT_CHECKOUT).

NameRequiredDescriptionDefault
networkNoe.g. facebook, tiktok, kwai
list_meta_accountsList Meta accounts
Read-onlyIdempotent
Inspect

Meta (Facebook) accounts with health state and mirrored ad accounts (balances, spend). Tokens are never returned.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_meta_agenciesList Meta agencies
Read-onlyIdempotent
Inspect

The workspace's Meta agencies — id, name, commission percent, active flag — the picker behind register_meta_cabinet's agency_id (what the Torvex browser extension shows in its settings after the workspace). Inactive agencies are flagged, not hidden, so a saved pick keeps resolving.

NameRequiredDescriptionDefault

No parameters

list_meta_commentsList Meta comments
Read-onlyIdempotent
Inspect

Mirrored comments on active Meta ads.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoSearch in comment text
accountNoMeta account id
per_pageNoRows per page (default 50, max 100)
platformNo
hidden_onlyNo
list_meta_launchesList Meta launches
Read-onlyIdempotent
Inspect

Meta campaign launch history with status, result and errors.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
statusNo
accountNoMeta account id
per_pageNoRows per page (default 50, max 100)
list_meta_rulesList Meta rules
Read-onlyIdempotent
Inspect

Facebook auto-rules (conditions, actions, schedule).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_notificationsList notifications
Read-onlyIdempotent
Inspect

Bell notifications (domain alerts, offer caps, Meta account health, billing). meta.unread carries the badge count.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
unread_onlyNo
list_offersList offers
Read-onlyIdempotent
Inspect

List offers (paginated). Rows include affiliate network, URL, payout, countries and the conversion cap: cap_enabled, cap_period (day/week/month/total, counted in the workspace timezone), cap_limit, cap_used (conversions already counted this period; null without a cap) and cap_alt_offer_id (the fallback offer once the cap is hit).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
statusNo
countryNoISO alpha-2 code
networkNoAffiliate network id
per_pageNoRows per page (default 50, max 100)
list_outgoing_postbacksList outgoing postbacks
Read-onlyIdempotent
Inspect

Outgoing postback attempts to traffic-source / campaign postback URLs (HTTP code, attempt number, error).

NameRequiredDescriptionDefault
limitNoRows per page (default 100, max 500)
offsetNo
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
statusNo
date_toNoYYYY-MM-DD (with period=custom)
campaignNoCampaign alias
click_idNo
date_fromNoYYYY-MM-DD (with period=custom)
list_pixel_eventsList pixel events
Read-onlyIdempotent
Inspect

Pixel fire attempts (Facebook CAPI, TikTok, GA4, …).

NameRequiredDescriptionDefault
limitNoRows per page (default 100, max 500)
offsetNo
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
statusNo
date_toNoYYYY-MM-DD (with period=custom)
campaignNoCampaign alias
click_idNo
platformNo
date_fromNoYYYY-MM-DD (with period=custom)
list_pixelsList pixels
Read-onlyIdempotent
Inspect

Pixel catalog (id, name, platform). Pixel credentials are never returned.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_postbacksList postbacks
Read-onlyIdempotent
Inspect

Incoming postback log: what the affiliate network actually sent (success / error / duplicate), with the booked USD payout, the original amount + currency, any error, and the full request URL as called (url: domain, path, parameters).

NameRequiredDescriptionDefault
limitNoRows per page (default 100, max 500)
offsetNo
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
statusNo
date_toNoYYYY-MM-DD (with period=custom)
campaignNoCampaign alias
click_idNo
date_fromNoYYYY-MM-DD (with period=custom)
list_proxiesList proxies
Read-onlyIdempotent
Inspect

Proxies (passwords are never returned).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_push_mailingsList push mailings
Read-onlyIdempotent
Inspect

Push mailings with delivery counters (targets, sent, shown, clicked, revenue).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNo
searchNoFilter by name
statusNo
per_pageNoRows per page (default 50, max 100)
list_pwaList PWA
Read-onlyIdempotent
Inspect

PWA app landings.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_root_filesList root files
Read-onlyIdempotent
Inspect

Root files served on tracking domains.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_site_listsList site lists
Read-onlyIdempotent
Inspect

Site lists (placement black/white lists).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_ssp_auctionsList SSP auctions
Read-onlyIdempotent
Inspect

SSP auctions with their ordered feeds.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_ssp_bidsList SSP bids
Read-onlyIdempotent
Inspect

SSP auction bid log — one row per feed response (win / lose / below_min_price / no_bid / timeout / error).

NameRequiredDescriptionDefault
limitNoRows per page (default 100, max 500)
offsetNo
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
statusNo
countryNo
date_toNoYYYY-MM-DD (with period=custom)
feed_idNo
date_fromNoYYYY-MM-DD (with period=custom)
auction_idNo
list_ssp_feedsList SSP feeds
Read-onlyIdempotent
Inspect

SSP feeds with targeting and economics (discreps, min prices).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_tagsList tags
Read-onlyIdempotent
Inspect

The workspace-wide tag pool.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_traffic_sourcesList traffic sources
Read-onlyIdempotent
Inspect

List traffic sources (id, name, provider).

NameRequiredDescriptionDefault
pageNoPage number (default 1)
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_traffic_source_templatesList traffic source templates
Read-onlyIdempotent
Inspect

Platform templates for creating a traffic source (Push.House, PropellerAds, Meta, TikTok, …): id, provider, whether it has an API integration and the default parameter mapping. Pass a template id as template_id to create_traffic_source.

NameRequiredDescriptionDefault
searchNoFilter by name
list_transactionsList transactions
Read-onlyIdempotent
Inspect

Wallet transaction history.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNoTransaction type filter
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_whitepagesList whitepages
Read-onlyIdempotent
Inspect

Whitepages, incl. AI generation status.

NameRequiredDescriptionDefault
pageNoPage number (default 1)
typeNo
searchNoFilter by name
per_pageNoRows per page (default 50, max 100)
list_workspace_invitationsList workspace invitations
Read-onlyIdempotent
Inspect

Workspace invitations with pending / accepted state.

NameRequiredDescriptionDefault

No parameters

list_workspace_membersList workspace members
Read-onlyIdempotent
Inspect

Current workspace members with their role.

NameRequiredDescriptionDefault

No parameters

list_workspace_rolesList workspace roles
Read-onlyIdempotent
Inspect

Workspace roles with their permission lists and per-section resource access (level full/read/own/none + allow/deny entity ids).

NameRequiredDescriptionDefault

No parameters

preview_auto_rulePreview auto rule
Read-onlyIdempotent
Inspect

Dry run of an auto rule against one campaign, right now: the current metric values for the rule's window, each condition's pass/fail, the placements a zone action would touch and what the action WOULD do. Changes nothing; shows whether a rule would fire before it is attached and why it did / didn't fire.

NameRequiredDescriptionDefault
idYesAuto-rule id
campaign_idYes
preview_segment_costsPreview segment costs
Read-onlyIdempotent
Inspect

Preview a segment cost update WITHOUT changing anything: how many clicks would carry the cost, how many days they span and what the segment currently books. The segment = period + any analytics filters (campaign alias(es) comma-separated, offer, site/zone, source_id, creative, subs, geo, groups, tags, …). The dry run of a segment cost update.

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS(es), comma-separated for several
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoOnly unique clicks carry cost; repeat visits in the segment are zeroed by a set
utm_contentNoExact utm_content value from the click URL
include_botsNoLet bot clicks carry cost too (default false — networks never bill crawlers)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
reconcile_conversionsReconcile conversions
DestructiveIdempotent
Inspect

Edit already-registered conversions: approve/reject and adjust payout after reconciling with the affiliate network. Addressed by click_id + event; applied asynchronously (queued). Up to 100 per call.

NameRequiredDescriptionDefault
updatesYes
register_meta_cabinetRegister Meta cabinetInspect

Register (or refresh) a Facebook ad account's campaign catalog WITHOUT a Graph token — id, name, status, objective, daily / lifetime budget — what the Torvex browser extension reads from a logged-in Ads Manager session before posting costs. Lands under a tokenless Meta profile keyed by the FB user id (created on first call), so the campaign editor's Facebook picker can link these FB campaigns to tracker campaigns and import_meta_costs then matches them. The campaign list is the cabinet's complete list: campaigns missing from it are dropped from the mirror unless partial is set. Adsets of the same cabinet go through report_meta_adsets, ads through report_meta_ads.

NameRequiredDescriptionDefault
pagesNoThe FB user's pages (/me/accounts) — the launch wizard's page picker for this profile
pixelsNoThe cabinet's pixels (/act_X/adspixels) — complete list, the wizard's pixel picker
fb_userYes
partialNotrue on every chunk but the last when one cabinet is split over several requests (no pruning)
agency_idNoMeta agency (list_meta_agencies) whose commission the profile's cabinets pay — set on the profile before the costs of the same run, so the first sync books spend with the markup; omit / null to keep what Meta → Accounts set
campaignsYes
ad_accountYes
report_meta_accessReport Meta accessInspect

Report the access picture of every Business Manager a logged-in FB user belongs to WITHOUT a Graph token — the BM's people (role, two-factor status, pending invites) and every ad account / page / pixel's assigned users and partner businesses (what the Torvex browser extension sends once a day). Lands under the same tokenless Meta profile as register_meta_cabinet; Torvex derives the findings (admin without 2FA, stale invite, partner access, access outside the BM, broad rights) and raises a meta_access_risk alert on a NEW high-risk finding of a profile audited before. The payload is the whole picture — grants missing from it are removed.

NameRequiredDescriptionDefault
fb_userNo
warningsNoEdges the session could not read
businessesNo
report_meta_adsReport Meta adsInspect

Mirror one Facebook ad account's ads WITHOUT a Graph token — id, status, effective status, Meta's review feedback (why an ad was rejected), creative thumbnail — what the Torvex browser extension reads from a logged-in Ads Manager session on its health timer. Lands under the same tokenless Meta profile as register_meta_cabinet; an ad already mirrored that flips into DISAPPROVED / WITH_ISSUES raises an 'ad rejected' notice to the profile owner. The list is the cabinet's complete live-ad list: ads missing from a non-partial report are dropped from the mirror.

NameRequiredDescriptionDefault
adsYes
fb_userYes
partialNotrue on every chunk but the last when one cabinet is split over several requests (no pruning)
ad_account_idYesFB ad account id (with or without act_)
report_meta_adsetsReport Meta adsetsInspect

Mirror one Facebook ad account's adsets WITHOUT a Graph token — id, campaign id, name, status, effective status, daily / lifetime budget — what the Torvex browser extension reads from a logged-in Ads Manager session on every cost sync. Lands under the same tokenless Meta profile as register_meta_cabinet, completing the campaign → adset → ad tree on the Meta pages for cabinets without any token. The list is the cabinet's complete adset list: adsets missing from a non-partial report are dropped from the mirror.

NameRequiredDescriptionDefault
adsetsYes
fb_userYes
partialNotrue on every chunk but the last when one cabinet is split over several requests (no pruning)
ad_account_idYesFB ad account id (with or without act_)
report_meta_ad_statsReport Meta ad statsInspect

Report one Facebook ad account's AD-level daily delivery WITHOUT a Graph token — impressions, link clicks, spend and reach per ad and day, what the Torvex browser extension reads from a logged-in Ads Manager session on every cost sync. Rows land in the same per-ad store the Graph cost sync fills (ad_daily_stats), so the Creatives library stats and the Meta → Ads burnout check work for cabinets without a token (frequency derived from reach). A (ad, day) is set to the latest report; spend in the cabinet currency.

NameRequiredDescriptionDefault
rowsYes
fb_userYes
ad_account_idYesFB ad account id (with or without act_)
report_meta_cabinet_healthReport Meta cabinet healthInspect

Report the health of every Facebook ad account a logged-in FB user can see WITHOUT a Graph token — status, disable reason, spend cap and amount spent, billing threshold, unsettled balance, daily spend limit, prepay/postpay, country, currency, timezone, payment method and Business Manager (what the Torvex browser extension sends on its health timer). Lands in the same tokenless Meta profile as register_meta_cabinet; a block, billing failure, spend cap crossing 90 %, recovery or payment-method change on a cabinet already known raises a cabinet alert to the profile owner. Money in the cabinet's currency, whole units; cabinets missing from the payload are left untouched.

NameRequiredDescriptionDefault
fb_userYes
profileNoThe FB user's own advertising restriction read off the Account Quality page (not per cabinet)
ad_accountsYes
report_meta_commentsReport Meta commentsInspect

Report the comments on the posts behind one Facebook ad account's ACTIVE ads WITHOUT a Graph token — FB dark-post comments and Instagram media comments of the last 7 days, what the Torvex browser extension reads from a logged-in Ads Manager session on its comments timer. Rows land in the Meta → Comments feed under the tokenless profile of register_meta_cabinet; the workspace's auto-moderation rules (stop words, links, phones — hide / delete / reply) run on the new ones and, the profile having no token, their actions are queued for the extension (claim_meta_commands). pages = the FB user's own pages, so the brand's own comments are never moderated.

NameRequiredDescriptionDefault
pagesNoThe FB user's pages (/me/accounts) — own-author exclusion
fb_userYes
commentsYes
ad_account_idYesFB ad account id (with or without act_)
report_meta_statsReport Meta statsInspect

Report one Facebook ad account's campaign-level daily metrics WITHOUT a Graph token — impressions, reach, clicks, link clicks, spend and the raw actions list per FB campaign and day, what the Torvex browser extension reads from a logged-in Ads Manager session on every cost sync. Lands under the same tokenless Meta profile as register_meta_cabinet; the campaign list's network cells (clicks, leads, impressions, reach, CTR, CPM, frequency, results) read them for tracker campaigns linked to those FB campaigns. A (campaign, day) is set to the latest report; spend here is informational — click costs come from import_meta_costs.

NameRequiredDescriptionDefault
rowsYes
fb_userYes
currencyNoCabinet billing currency of the spend values (informational)
ad_account_idYesFB ad account id (with or without act_)
set_campaign_costsSet campaign costs
Destructive
Inspect

Set (or add to) a campaign's total traffic cost per day — for sources without an API integration. The day total is spread across that day's clicks so ROI/CPC/profit become real. Applied asynchronously (result 'queued'). Up to 31 days per call, 90-day editable window.

NameRequiredDescriptionDefault
modeNo'set' replaces the day total (default), 'add' increments it
itemsYes
campaign_idYes
set_campaigns_status_bulkSet status of several campaigns
DestructiveIdempotent
Inspect

Start or pause up to 100 campaigns at once. Per-id results: an id from another workspace reports not_found without failing the rest.

NameRequiredDescriptionDefault
idsYes
statusYes
set_campaign_statusSet campaign status
DestructiveIdempotent
Inspect

Start or pause a campaign. API-type campaigns are also mirrored to the ad network (best-effort; network issues come back in warnings while the local change stands).

NameRequiredDescriptionDefault
idYesCampaign id
statusYes
set_segment_costsSet segment costs
Destructive
Inspect

Book a known spend onto a traffic SEGMENT — period + any analytics filters, across campaigns ("I spent $500 on offer 3 / zone 1234 last week, lay it out"). 'set' makes the segment's total cost exactly amount (other clicks in the segment zeroed), 'add' puts it on top. 'even' spreads per click; 'proportional' scales each click's current cost so an ad-network sync's shape survives and only the total moves. Bots never carry cost unless include_bots; unique_only restricts carriers to unique clicks; landing-exit clicks never carry cost. Applied asynchronously (result 'queued'), 90-day editable window. Works like per-campaign cost booking, for arbitrary segments.

NameRequiredDescriptionDefault
osNo
ispNo
cityNo
modeNo'set' (default) makes the segment total exactly `amount`; 'add' increments it
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
amountYesUSD
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
landingNoLanding id
campaignNoCampaign ALIAS(es), comma-separated for several
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoOnly unique clicks carry cost; repeat visits in the segment are zeroed by a set
utm_contentNoExact utm_content value from the click URL
distributionNo'even' (default) per click; 'proportional' to each click's current cost
include_botsNoLet bot clicks carry cost too (default false — networks never bill crawlers)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id
unblock_campaign_placementUnblock campaign placement
DestructiveIdempotent
Inspect

Remove one placement from an API-type campaign's blacklist (mirrored to the ad network best-effort).

NameRequiredDescriptionDefault
idYesCampaign id
siteYesPlacement / source id to unblock
update_aff_networkUpdate affiliate network
DestructiveIdempotent
Inspect

Edit an affiliate network (partial).

NameRequiredDescriptionDefault
idYesAffiliate network id
nameNo
tagsNo
notesNo
group_idNo
postback_urlNoPostback URL template to configure at the network
click_id_paramNoQuery parameter the network expects the click id in (default click_id)
extra_url_paramsNoExtra query string appended to offer URLs
postback_ips_whitelistNoComma-separated IPs allowed to send postbacks (empty = any)
update_auto_ruleUpdate auto rule
DestructiveIdempotent
Inspect

Edit an auto rule (partial). A sent conditions list replaces the stored one.

NameRequiredDescriptionDefault
idYesAuto-rule id
nameNo
tagsNo
actionNo
statusNo
rankingNoPlacement actions only: act on just the worst / best N placements that pass the conditions, e.g. {"metric":"cpa","direction":"worst","limit":5,"min_clicks":100} = the 5 worst-CPA placements with at least 100 clicks. For cpa/cpc/cpm/cost lower is better (a placement that spent without converting is the worst CPA); for the rest higher is better. null = every matching placement.
group_idNo
scheduleNoWhen the scheduler may run the rule, in the workspace timezone: days = ISO weekdays 1 (Mon)…7 (Sun), empty = every day; windows = [{from:"HH:MM", to:"HH:MM"}], empty = whole day; a window with to <= from runs over midnight. null = always.
conditionsNoAll conditions must hold (AND)
action_paramsNoParameters the action needs. Bid actions (increase_bid / decrease_bid / increase_zone_bid / decrease_zone_bid): bid_step (>0, required), bid_step_unit (amount|percent), bid_limit (ceiling for an increase, floor for a decrease). Placement list actions (block_zone / whitelist_zone / unblock_zone): site_list_id — the list to write into, default the campaign's own. switch_rotation: flow_scheme_id (required) — the flow scheme copied over the campaign's flows, applied once per scheme. Keys the action does not use are dropped.
time_intervalNoMetrics window
run_every_minutesNo
on_success_pause_ruleNoPause the rule after it fires
on_success_pause_campaignNoPause the campaign after it fires
update_campaignUpdate campaign
DestructiveIdempotent
Inspect

Edit a campaign. Partial: only the sent fields change. flows / pixels / postbacks, when sent, REPLACE the stored lists entirely (rows match by id, omitted rows are deleted) — fetch the current tree with get_campaign include=flows first and send it back whole with your changes. Status is changed via set_campaign_status.

NameRequiredDescriptionDefault
idYesCampaign id
nameNo
tagsNoTag ids (see list_tags)
aliasNoShort code used in the click URL /c/{alias}; generated when omitted. Globally unique.
flowsNoRouting tree, evaluated in order. Exactly one flow should be is_default (catch-all, no rules). On update the list is complete: rows match by id, omitted rows are deleted.
notesNo
pixelsNoAttached conversion pixels (complete list on update)
group_idNo
owner_idNoHand the campaign to another workspace member (user id from list_workspace_members). Needs edit rights on the campaign; a non-admin may only pick members of their own team. Click history keeps the owner at click time unless rewrite_history is true.
cost_typeNoHow click cost is booked (auto = from the {cost} macro)
domain_idNoTracking domain (see list_domains; defaults to the workspace default on create)
postbacksNoCampaign-level outgoing postbacks (complete list on update)
cost_valueNoCost per click / per 1000 (cpc / cpm) or per conversion (cpa); % for revshare
auto_metricNo
sticky_flowNoCookie-pin a returning visitor to the flow and destination they got first (priority flows still win)
site_list_idNoSite list attached to the campaign
traffic_lossNo0–100 % traffic-loss compensation; null = inherit the traffic source
cost_currencyNoDefault USD
flow_rotationNoauto = EPC/CR bandit split of each flow's destinations
network_linksNoIds of campaigns already running on the campaign's API traffic source, exactly as the network shows them — network actions (start/stop, stats, bids, lists) then act on them. Complete list: replaces the manual links, [] clears them, omit to leave them as they are. A link turns a manual campaign into an api one; removing the last turns it back. Ignored for sources without an API connection.
remember_offerNoKeep a returning visitor on the offer they first got
auto_min_clicksNoauto rotation: clicks before exploiting (default 100)
back_button_urlNoBack button target http(s) URL, macros allowed (target = url)
rewrite_historyNoWith owner_id: also re-stamp the clicks and conversions already booked onto the new owner (asynchronous; lands within minutes). Default false.
uniqueness_modeNo
uniqueness_scopeNo
backup_domain_idsNoOrdered failover pool for automatic domain switching (max 20)
traffic_source_idNo
uniqueness_periodNoHours (1–8760, default 24)
back_button_targetNoBack button: where a visitor pressing Back on a served landing / PWA install page is sent; null = off
auto_explore_percentNoauto rotation: exploration share 0–50 (default 10)
back_button_offer_idNoBack button target offer (target = offer)
back_button_campaign_idNoBack button target campaign (target = campaign; not the campaign itself)
sticky_flow_keep_click_idNoSticky flow: a return visit resumes the original click id instead of minting a new click
sticky_flow_skip_inactiveNoSticky flow: route afresh when the sticky flow is paused (default true); false keeps serving it
update_creativeUpdate creative
DestructiveIdempotent
Inspect

Edit creative metadata — partial update (name, title, body, description, cta, ad_macros, status, language, countries, folder). On a facebook creative title/body/description/cta are the ad copy (Headline / Primary text / Description / Call to action) a Meta launch uses in preference to the bundle texts. Media files are managed in the panel; use delete_creative_media to remove one.

NameRequiredDescriptionDefault
idYesCreative id
ctaNoFacebook call-to-action button
bodyNoFacebook: Primary text
nameNo
titleNoFacebook: Headline
statusNo
languageNo
ad_macrosNoAppended to the Meta / TikTok ad link as ad_macros=<value> on launch; offer URLs read it as {ad_macros}. Empty clears it
countriesNoISO alpha-2 codes
folder_idNo
pwa_authorNo
descriptionNoFacebook ad Description
update_domainUpdate domain
DestructiveIdempotent
Inspect

Edit a domain's crawler policy and default page (what it serves at the root / non-tracking paths): default_type action (with default_action 404/200/500), campaign, landing or whitepage with the matching id; null clears it.

NameRequiredDescriptionDefault
idYesDomain id
crawlersNorobots policy for search crawlers
default_typeNo
default_actionNo
default_landing_idNo
default_campaign_idNo
default_whitepage_idNo
update_flow_schemeUpdate flow scheme
DestructiveIdempotent
Inspect

Edit a flow scheme (partial). A sent flows tree replaces the stored one entirely. Campaigns that already applied the scheme keep their own copy.

NameRequiredDescriptionDefault
idYesFlow scheme id
nameNo
tagsNo
flowsNoRouting tree, evaluated in order. Exactly one flow should be is_default (catch-all, no rules). On update the list is complete: rows match by id, omitted rows are deleted.
statusNo
group_idNo
auto_metricNo
descriptionNo
flow_rotationNo
auto_min_clicksNo
auto_explore_percentNo
update_groupUpdate group
DestructiveIdempotent
Inspect

Rename a group.

NameRequiredDescriptionDefault
idYesGroup id
nameYes
update_landingUpdate landing
DestructiveIdempotent
Inspect

Edit a landing (partial). url can be changed on URL-type landings only; game_pack_id / game_settings / game_localizations / pwa_name on game landings only (settings are re-validated against the pack); the type never changes.

NameRequiredDescriptionDefault
idYesLanding id
urlNohttps:// page URL (URL-type landings)
nameNo
tagsNo
typeNoCreate only: url (default) or game
notesNo
statusNo
group_idNo
languageNoLocale code, e.g. en
pwa_nameNoGame landings: install (add-to-home-screen) title
collect_pushNoInject the push-subscription collector
game_pack_idNoGame landings: pack id from list_game_packs
game_settingsNoGame landings: {key: text} limited to the pack settings keys (+ soundEnabled / soundSpin / soundWin when the pack has sounds); unknown keys are dropped
heatmap_enabledNo
protect_enabledNoURL-type landings: token protection — only visitors sent by the campaign reach the offer (and, with the PHP script from the panel installed, the page); everyone else gets the campaign whitepage
push_activationNo
game_localizationsNoGame landings: [{locale, settings}] per-language overrides picked by the visitor's browser language; empty values inherit the default texts
protect_ttl_minutesNoToken lifetime, 5–1440 minutes (default 30)
update_offerUpdate offer
DestructiveIdempotent
Inspect

Edit an offer — partial update, only the fields you send change.

NameRequiredDescriptionDefault
idYesOffer id
urlNoOffer URL; {click_id} and other {macros} are substituted per click
nameNo
tagsNo
notesNo
payoutNoExpected payout in payout_currency
statusNo
group_idNo
cap_limitNo
countriesNoISO alpha-2 codes
dest_kindNoredirect (default) sends the click to url; action performs a server-side action; telegram attributes a Telegram channel; local serves an uploaded ZIP page hosted by the tracker (send zip_base64)
languagesNo
cap_periodNo
zip_base64NoLocal offers: the page ZIP (index.html at the root), base64-encoded, up to 10 MB
cap_enabledNoEnable conversion caps (needs cap_period + cap_limit)
payout_typeNoAuto (payout from the postback, default), CPA, CPL, RevShare, CPC or Fixed
cap_priorityNo
collect_pushNoLocal offers: collect web-push subscriptions on the page
redirect_typeNoRedirect mechanism for dest_kind redirect (default http)
aff_network_idNo
heatmap_enabledNoLocal offers: collect click / scroll heatmap data on the page
payout_currencyNoISO code the network pays this offer in (default USD); postbacks without a currency parameter are converted from it
push_activationNoLocal offers: when the push prompt shows
cap_alt_offer_idNoFallback offer when capped
update_pixelUpdate pixel
DestructiveIdempotent
Inspect

Edit a pixel (partial). A sent config replaces the stored one, except that blank secret keys keep the stored secret.

NameRequiredDescriptionDefault
idYesPixel id
nameNo
tagsNo
configNoPlatform settings (pixel_id / access_token / measurement_id / api_secret / customer_id / conversion_action_id / client_id / client_secret / refresh_token / platform_id / api_key / account_id / ad_account_id / consumer_key / consumer_secret / access_token_secret / event_id); secrets write-only
statusNo
currencyNoValue currency (default USD)
group_idNo
platformNo
send_valueNoSend the payout as the event value
payout_percentNo0–500, share of the payout sent as value
update_tagUpdate tag
DestructiveIdempotent
Inspect

Rename or recolour a tag (partial).

NameRequiredDescriptionDefault
idYesTag id
nameNo
colorNo
update_traffic_sourceUpdate traffic source
DestructiveIdempotent
Inspect

Edit a traffic source (partial). A sent postbacks list replaces the stored one; a blank api_key keeps the stored key, a new one is verified live for API-backed sources. Changing proxy_id re-verifies the key through the new proxy.

NameRequiredDescriptionDefault
idYesTraffic source id
costNoIncoming query parameter name that carries cost (parameter mapping)
nameNo
sub1NoIncoming query parameter name that carries sub1
sub2NoIncoming query parameter name that carries sub2
sub3NoIncoming query parameter name that carries sub3
sub4NoIncoming query parameter name that carries sub4
sub5NoIncoming query parameter name that carries sub5
sub6NoIncoming query parameter name that carries sub6
sub7NoIncoming query parameter name that carries sub7
sub8NoIncoming query parameter name that carries sub8
sub9NoIncoming query parameter name that carries sub9
tagsNo
sub10NoIncoming query parameter name that carries sub10
sub11NoIncoming query parameter name that carries sub11
sub12NoIncoming query parameter name that carries sub12
sub13NoIncoming query parameter name that carries sub13
sub14NoIncoming query parameter name that carries sub14
sub15NoIncoming query parameter name that carries sub15
formatNoIncoming query parameter name that carries format (parameter mapping)
api_keyNoNetwork API key (API-backed templates only); write-only, verified live
zone_idNoIncoming query parameter name that carries zone_id (parameter mapping)
group_idNo
proxy_idNoTech → Proxies id (list_proxies) the network API calls of this source leave through; null = direct
postbacksNoSource postback URLs (complete list on update)
source_idNoIncoming query parameter name that carries source_id (parameter mapping)
campaign_idNoIncoming query parameter name that carries campaign_id (parameter mapping)
creative_idNoIncoming query parameter name that carries creative_id (parameter mapping)
external_idNoIncoming query parameter name that carries external_id (parameter mapping)
traffic_lossNo0–100 % traffic-loss compensation applied to click cost
user_activityNoIncoming query parameter name that carries user_activity (parameter mapping)
payout_percentNo0–500 share of the payout reported
postback_percentNo0–100 share of conversions forwarded to the source
upload_offer_archiveUpload offer archive
DestructiveIdempotent
Inspect

Replace the page of a local offer (dest_kind local) with a new ZIP archive — index.html at the root, assets beside it; {click_id} and other {macros} in the HTML are filled per click. zip_base64 takes up to 10 MB; larger archives go to the REST endpoint as multipart zip_file.

NameRequiredDescriptionDefault
idYesOffer id
zip_base64YesThe ZIP archive, base64-encoded

Publisher details

Operator
Torvex · Publisher source
Operator website
https://torvex.io
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a Torvex account. Sign-in is OAuth 2.1 (dynamic client registration); the user picks one workspace and the permissions, and tools are limited to what their role in that workspace allows.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Manage ad campaigns across Meta, Google, and TikTok, create campaigns, analyze performance, spy on competitors, and generate AI creatives.
    19
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables media buyers to manage affset campaigns, zones, stats, payouts, targeting, and team via natural language, pulling stats and cutting underperforming zones without the dashboard.
    29
    73 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Cross-source attribution across 37+ business tools. True ROAS in 14 seconds. Not a dashboard. A decision.
    28
    -
  • A
    license
    A
    quality
    B
    maintenance
    Cross-platform ad management MCP server for Google Ads and Meta Ads. Campaign analytics, A/B testing with z-test, anomaly detection, and budget reallocation. 15 tools, 60 tests.
    17
    96 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources