# AdButler (remote · mcp.adbutler.com)

Manage AdButler campaigns, zones, ad items, VAST, and reports from Claude, ChatGPT, and Cursor.

- Trust score: 67/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.adbutler.com`: 67/100 (this document), [markdown](https://verifymcp.io/servers/com-adbutler-mcp-server/mcp.md), [page](https://verifymcp.io/servers/com-adbutler-mcp-server/mcp)
- remote · `mcp.adbutler.com`: 36/100, [markdown](https://verifymcp.io/servers/com-adbutler-mcp-server/mcp-2.md), [page](https://verifymcp.io/servers/com-adbutler-mcp-server/mcp-2)
- npm · `@adbutler/mcp-server`: 71/100, [markdown](https://verifymcp.io/servers/com-adbutler-mcp-server/adbutler-mcp-server.md), [page](https://verifymcp.io/servers/com-adbutler-mcp-server/adbutler-mcp-server)

## Channel facts

- Endpoint: `https://mcp.adbutler.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.4.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 622 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 78/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 35087 tokens (~56/item across 622 items; 622 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-adbutler-mcp-server https://mcp.adbutler.com/mcp
```

### Codex

```toml
[mcp_servers.com-adbutler-mcp-server]
url = "https://mcp.adbutler.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-adbutler-mcp-server": {
      "type": "remote",
      "url": "https://mcp.adbutler.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-adbutler-mcp-server --url https://mcp.adbutler.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-adbutler-mcp-server:
    url: "https://mcp.adbutler.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-adbutler-mcp-server": {
      "type": "http",
      "url": "https://mcp.adbutler.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 64, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 64)

First indexed and scored.

## MCP tools (622)

### `list_advertisers` (~48 tokens)

List all advertisers in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_advertiser` (~29 tokens)

Get details of a specific advertiser by ID

Input parameters:

- `id` (number, required): Advertiser ID

### `create_advertiser` (~101 tokens)

Create a new advertiser

Input parameters:

- `can_add_ad_items` (boolean): Whether advertiser can submit advertisements for scheduling
- `can_change_password` (boolean): Whether advertiser can change password
- `email` (string): Contact email
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Advertiser name
- `password` (string): Password for advertiser portal (min 8 chars, must include upper, lower, number)

### `update_advertiser` (~111 tokens)

Update an existing advertiser

Input parameters:

- `can_add_ad_items` (boolean): Whether advertiser can submit advertisements for scheduling
- `can_change_password` (boolean): Whether advertiser can change password
- `email` (string): Contact email
- `id` (number, required): Advertiser ID
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Advertiser name
- `password` (string): Password for advertiser portal (min 8 chars, must include upper, lower, number)

### `delete_advertiser` (~24 tokens)

Delete an advertiser

Input parameters:

- `id` (number, required): Advertiser ID

### `archive_advertiser` (~32 tokens)

Archive an advertiser (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Advertiser ID

### `list_archived_advertisers` (~45 tokens)

List all archived advertisers

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_advertiser` (~30 tokens)

Get details of a specific archived advertiser

Input parameters:

- `id` (number, required): Archived advertiser ID

### `unarchive_advertiser` (~30 tokens)

Restore an archived advertiser back to active status

Input parameters:

- `id` (number, required): Archived advertiser ID

### `list_all_campaigns` (~45 tokens)

List all campaigns across all types

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_campaigns` (~42 tokens)

List all standard campaigns

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_campaign` (~25 tokens)

Get details of a specific standard campaign

Input parameters:

- `id` (number, required): Campaign ID

### `create_campaign` (~144 tokens)

Create a new standard campaign

Input parameters:

- `advertiser` (number): Advertiser ID
- `budget` (object): Budget limits (daily/weekly/monthly/lifetime)
- `contract` (number): Contract ID (requires Contract Management add-on)
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Campaign name
- `roadblock_tags` (string): Tag to link campaign to a roadblock
- `scheduling_source` (string): Whether scheduling is set at campaign or ad item level
- `targeting_source` (string): Whether targeting is set at campaign or ad item level
- `trusted_redirect_domains` (array): Array of trusted redirect domains

### `update_campaign` (~117 tokens)

Update an existing standard campaign

Input parameters:

- `advertiser` (number): Advertiser ID
- `budget` (object): Budget limits
- `contract` (number): Contract ID
- `id` (number, required): Campaign ID
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Campaign name
- `roadblock_tags` (string): Roadblock tag
- `scheduling_source` (string): Scheduling level
- `targeting_source` (string): Targeting level
- `trusted_redirect_domains` (array): Trusted redirect domains

### `delete_campaign` (~22 tokens)

Delete a standard campaign

Input parameters:

- `id` (number, required): Campaign ID

### `archive_campaign` (~30 tokens)

Archive a standard campaign (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Campaign ID

### `list_archived_campaigns` (~45 tokens)

List all archived standard campaigns

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_campaign` (~29 tokens)

Get details of a specific archived standard campaign

Input parameters:

- `id` (number, required): Archived campaign ID

### `delete_archived_campaign` (~28 tokens)

Permanently delete an archived standard campaign

Input parameters:

- `id` (number, required): Archived campaign ID

### `unarchive_campaign` (~29 tokens)

Restore an archived standard campaign back to active status

Input parameters:

- `id` (number, required): Archived campaign ID

### `get_campaign_conversion_tag` (~26 tokens)

Get conversion tag for a campaign

Input parameters:

- `id` (number, required): Campaign ID

### `get_campaign_eligible_zones` (~28 tokens)

Get eligible zones for a campaign

Input parameters:

- `id` (number, required): Campaign ID

### `campaign_bulk_create_catalog_ad_items` (~46 tokens)

Bulk create catalog ad items in a campaign

Input parameters:

- `campaign_id` (number, required): Campaign ID
- `items` (array, required): Array of catalog ad item objects to create

### `campaign_bulk_delete_catalog_ad_items` (~46 tokens)

Bulk delete catalog ad items from a campaign

Input parameters:

- `campaign_id` (number, required): Campaign ID
- `items` (array, required): Array of catalog ad item IDs to delete

### `list_campaign_assignments` (~49 tokens)

List all campaign assignments (ad items assigned to campaigns)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_campaign_assignment` (~27 tokens)

Get details of a specific campaign assignment

Input parameters:

- `id` (number, required): Campaign assignment ID

### `create_campaign_assignment` (~179 tokens)

Create a new campaign assignment (assign an ad item to a campaign)

Input parameters:

- `active` (boolean): Whether assignment is active (defaults to true)
- `advertisement` (object, required): Advertisement object with id and type
- `campaign` (object, required): Campaign object with id and type
- `data_key_target` (number): Data Key Target ID
- `geo_target` (number): Geo Target ID (only if campaign targeting_source is "AD_ITEM")
- `keywords` (string): Comma-separated keywords for targeting
- `keywords_match_method` (string): Keyword matching method
- `list_target` (number): List Target ID
- `platform_target` (number): Platform Target ID
- `schedule` (number): Schedule ID (only if campaign scheduling_source is "AD_ITEM")
- `weight` (number): Relative delivery weight (defaults to 1)

### `update_campaign_assignment` (~124 tokens)

Update an existing campaign assignment

Input parameters:

- `active` (boolean): Whether assignment is active
- `data_key_target` (number): Data Key Target ID
- `geo_target` (number): Geo Target ID
- `id` (number, required): Campaign assignment ID
- `keywords` (string): Comma-separated keywords
- `keywords_match_method` (string): Keyword matching method
- `list_target` (number): List Target ID
- `platform_target` (number): Platform Target ID
- `schedule` (number): Schedule ID
- `weight` (number): Relative delivery weight

### `delete_campaign_assignment` (~24 tokens)

Delete a campaign assignment

Input parameters:

- `id` (number, required): Campaign assignment ID

### `list_channels` (~40 tokens)

List all channels

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_channel` (~24 tokens)

Get details of a specific channel

Input parameters:

- `id` (number, required): Channel ID

### `create_channel` (~59 tokens)

Create a new channel

Input parameters:

- `name` (string, required): Channel name
- `priority` (string): Serving priority (default: standard)
- `use_share_of_voice` (boolean): Whether to use share of voice as serving strategy (false = use weight)

### `update_channel` (~40 tokens)

Update an existing channel

Input parameters:

- `id` (number, required): Channel ID
- `name` (string): Channel name
- `priority` (string): Serving priority

### `delete_channel` (~21 tokens)

Delete a channel

Input parameters:

- `id` (number, required): Channel ID

### `archive_channel` (~29 tokens)

Archive a channel (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Channel ID

### `list_archived_channels` (~43 tokens)

List all archived channels

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_channel` (~28 tokens)

Get details of a specific archived channel

Input parameters:

- `id` (number, required): Archived channel ID

### `delete_archived_channel` (~27 tokens)

Permanently delete an archived channel

Input parameters:

- `id` (number, required): Archived channel ID

### `unarchive_channel` (~28 tokens)

Restore an archived channel back to active status

Input parameters:

- `id` (number, required): Archived channel ID

### `list_channel_zone_assignments` (~45 tokens)

List all channel zone assignments

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_channel_zone_assignment` (~30 tokens)

Get details of a specific channel zone assignment

Input parameters:

- `id` (number, required): Channel zone assignment ID

### `create_channel_zone_assignment` (~39 tokens)

Assign a zone to a channel

Input parameters:

- `channel` (number, required): Channel ID
- `zone` (object, required): Zone object with id and type

### `delete_channel_zone_assignment` (~28 tokens)

Remove a zone from a channel

Input parameters:

- `id` (number, required): Channel zone assignment ID

### `list_all_zones` (~51 tokens)

List all zones across all types (standard, email, catalog)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_zones` (~42 tokens)

List all standard zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_zone` (~25 tokens)

Get details of a specific standard zone

Input parameters:

- `id` (number, required): Zone ID

### `create_zone` (~455 tokens)

Create a new standard zone. Set dimensions to "dynamic" for a dynamic zone (width/height must be 0), or "fixed" (default) for a fixed-size zone.

Input parameters:

- `ad_size_filter` (object): Ad size filter (dynamic zones only)
- `allow_demand_sources` (boolean): Allow requests to demand endpoints
- `allowed_root_native_templates` (array): Allowed root native template IDs
- `api_frameworks` (array): Supported API frameworks for OpenRTB
- `auction_tie_break` (string): Tie-breaking method for auctions
- `bid_floor` (number): Default bid floor for programmatic
- `burn_in_hours` (number): Hours before eCPM confidence
- `burn_in_impressions` (number): Impressions before eCPM confidence
- `dimensions` (string): Zone dimensions type: "fixed" (default) or "dynamic"
- `ecpm_testing_allowance` (number): Percentage for eCPM recalculation testing
- `height` (number): Zone height in pixels (must be 0 if dimensions is "dynamic")
- `iab_categories` (array): IAB category descriptors
- `metadata` (object): Custom metadata key-value pairs
- `min_payout` (number): Minimum payout per impression (CPM)
- `name` (string, required): Zone name
- `optimization_strategy` (string): Zone optimization strategy
- `pmp_deals` (array): Allowed PMP Deal IDs
- `private_auction` (boolean): Whether auction ignores non-deal bids
- `publisher` (number): Publisher ID
- `refresh_frequency` (number): Interval in seconds for serving new ads
- `refresh_limit` (number): Total times zone will refresh
- `responsive` (string): Size behavior
- `rtb_placement_id` (string): OpenRTB tagid identifier
- `serve_priority_order` (string): Priority order: "weight" or "auction"
- `unique_delivery` (boolean): Serve unique ads on each zone
- `use_share_of_voice` (boolean): Use "share of voice" as serving strategy
- `width` (number): Zone width in pixels (must be 0 if dimensions is "dynamic")

### `update_zone` (~366 tokens)

Update an existing standard zone

Input parameters:

- `ad_size_filter` (object): Ad size filter (dynamic zones only)
- `allow_demand_sources` (boolean): Allow requests to demand endpoints
- `allowed_root_native_templates` (array): Allowed root native template IDs
- `api_frameworks` (array): Supported API frameworks
- `auction_tie_break` (string): Tie-breaking method
- `bid_floor` (number): Default bid floor
- `burn_in_hours` (number): Hours before eCPM confidence
- `burn_in_impressions` (number): Impressions before eCPM confidence
- `dimensions` (string): Zone dimensions type
- `ecpm_testing_allowance` (number): Percentage for eCPM recalculation
- `height` (number): Zone height in pixels
- `iab_categories` (array): IAB category descriptors
- `id` (number, required): Zone ID
- `metadata` (object): Custom metadata key-value pairs
- `min_payout` (number): Minimum payout per impression (CPM)
- `name` (string): Zone name
- `optimization_strategy` (string): Zone optimization strategy
- `pmp_deals` (array): Allowed PMP Deal IDs
- `private_auction` (boolean): Ignore non-deal bids in auction
- `publisher` (number): Publisher ID
- `refresh_frequency` (number): Interval in seconds for serving new ads
- `refresh_limit` (number): Total times zone will refresh
- `responsive` (string): Size behavior
- `rtb_placement_id` (string): OpenRTB tagid identifier
- `serve_priority_order` (string): Priority order
- `unique_delivery` (boolean): Serve unique ads on each zone
- `width` (number): Zone width in pixels

### `delete_zone` (~22 tokens)

Delete a standard zone

Input parameters:

- `id` (number, required): Zone ID

### `get_zone_tag` (~31 tokens)

Get the ad serving tag (embed code) for a zone

Input parameters:

- `id` (number, required): Zone ID

### `get_zone_conversion_tag` (~29 tokens)

Get the conversion tracking tag for a standard zone

Input parameters:

- `id` (number, required): Zone ID

### `generate_bulk_zone_tags` (~36 tokens)

Generate ad serving tags for multiple zones at once

Input parameters:

- `zone_ids` (array, required): Array of zone IDs to generate tags for

### `archive_zone` (~30 tokens)

Archive a standard zone (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Zone ID

### `list_archived_zones` (~45 tokens)

List all archived standard zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_zone` (~29 tokens)

Get details of a specific archived standard zone

Input parameters:

- `id` (number, required): Archived zone ID

### `unarchive_zone` (~29 tokens)

Restore an archived standard zone back to active status

Input parameters:

- `id` (number, required): Archived zone ID

### `list_email_zones` (~43 tokens)

List all email zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_email_zone` (~27 tokens)

Get details of a specific email zone

Input parameters:

- `id` (number, required): Email zone ID

### `create_email_zone` (~117 tokens)

Create a new email zone for serving ads in email newsletters

Input parameters:

- `auction_tie_break` (string): Tie-breaking method for auctions
- `height` (number, required): Zone height in pixels
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Zone name
- `publisher` (number): Publisher ID
- `rotate_timer` (object): Period after which user sees a new ad
- `uid_rotate` (boolean): Serve different ads per user
- `width` (number, required): Zone width in pixels

### `update_email_zone` (~119 tokens)

Update an existing email zone

Input parameters:

- `auction_tie_break` (string): Tie-breaking method
- `height` (number): Zone height in pixels
- `id` (number, required): Email zone ID
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Zone name
- `publisher` (number): Publisher ID
- `rotate_timer` (object): Period after which user sees a new ad
- `uid_rotate` (boolean): Serve different ads per user
- `width` (number): Zone width in pixels

### `delete_email_zone` (~24 tokens)

Delete an email zone

Input parameters:

- `id` (number, required): Email zone ID

### `get_email_zone_tag` (~30 tokens)

Get the ad serving tag for an email zone

Input parameters:

- `id` (number, required): Email zone ID

### `get_email_zone_conversion_tag` (~31 tokens)

Get the conversion tracking tag for an email zone

Input parameters:

- `id` (number, required): Email zone ID

### `archive_email_zone` (~24 tokens)

Archive an email zone

Input parameters:

- `id` (number, required): Email zone ID

### `list_archived_email_zones` (~46 tokens)

List all archived email zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_email_zone` (~31 tokens)

Get details of a specific archived email zone

Input parameters:

- `id` (number, required): Archived email zone ID

### `unarchive_email_zone` (~31 tokens)

Restore an archived email zone back to active status

Input parameters:

- `id` (number, required): Archived email zone ID

### `list_catalog_zones` (~51 tokens)

List all catalog zones (for product/retail ad serving)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_catalog_zone` (~27 tokens)

Get details of a specific catalog zone

Input parameters:

- `id` (number, required): Catalog zone ID

### `create_catalog_zone` (~152 tokens)

Create a new catalog zone for product/retail ad serving

Input parameters:

- `advertiser_cost_type` (string): Billing model
- `auction_type` (string): Auction type
- `bid_floor` (number): Default bid floor
- `bid_floor_cpc` (number): CPC bid floor
- `bid_floor_cpm` (number): CPM bid floor
- `catalog_id` (number, required): Catalog ID
- `click_cooldown_period` (number): Click cooldown period in seconds (1-86400)
- `conversion_lookback_period` (number): Conversion lookback period in seconds (1-7776000)
- `name` (string, required): Zone name
- `publisher` (number): Publisher ID

### `update_catalog_zone` (~114 tokens)

Update an existing catalog zone

Input parameters:

- `advertiser_cost_type` (string): Billing model
- `auction_type` (string): Auction type
- `bid_floor_cpc` (number): CPC bid floor
- `bid_floor_cpm` (number): CPM bid floor
- `click_cooldown_period` (number): Click cooldown period in seconds
- `conversion_lookback_period` (number): Conversion lookback period in seconds
- `id` (number, required): Catalog zone ID
- `name` (string): Zone name

### `delete_catalog_zone` (~24 tokens)

Delete a catalog zone

Input parameters:

- `id` (number, required): Catalog zone ID

### `get_catalog_zone_tag` (~30 tokens)

Get the ad serving tag for a catalog zone

Input parameters:

- `id` (number, required): Catalog zone ID

### `list_publishers` (~47 tokens)

List all publishers in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_publisher` (~25 tokens)

Get details of a specific publisher

Input parameters:

- `id` (number, required): Publisher ID

### `create_publisher` (~169 tokens)

Create a new publisher

Input parameters:

- `can_admin_account` (boolean): Grant administrator privileges
- `can_approve_ads` (boolean): Allow publisher to approve/deny ad items
- `can_change_password` (boolean): Whether publisher can change password
- `can_view_wordpress_key` (boolean): Allow publisher to view WordPress key
- `default_payout` (object): Default payout configuration
- `domain` (string): Publisher domain (top-level domains only)
- `email` (string): Contact email (allows publisher to log in)
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Publisher name
- `seller_type` (string): Seller type for ads.txt
- `timezone` (string): Timezone (e.g., "America/New_York")

### `update_publisher` (~155 tokens)

Update an existing publisher

Input parameters:

- `can_admin_account` (boolean): Grant administrator privileges
- `can_approve_ads` (boolean): Allow publisher to approve/deny ad items
- `can_change_password` (boolean): Whether publisher can change password
- `can_view_wordpress_key` (boolean): Allow publisher to view WordPress key
- `default_payout` (object): Default payout configuration
- `domain` (string): Publisher domain
- `email` (string): Contact email
- `id` (number, required): Publisher ID
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Publisher name
- `seller_type` (string): Seller type
- `timezone` (string): Timezone

### `delete_publisher` (~22 tokens)

Delete a publisher

Input parameters:

- `id` (number, required): Publisher ID

### `archive_publisher` (~30 tokens)

Archive a publisher (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Publisher ID

### `list_archived_publishers` (~44 tokens)

List all archived publishers

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_publisher` (~29 tokens)

Get details of a specific archived publisher

Input parameters:

- `id` (number, required): Archived publisher ID

### `unarchive_publisher` (~29 tokens)

Restore an archived publisher back to active status

Input parameters:

- `id` (number, required): Archived publisher ID

### `list_ad_items` (~61 tokens)

List all ad items (banners) across all types (image, custom HTML, rich media, native, catalog)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_image_ad_items` (~44 tokens)

List all image ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_image_ad_item` (~29 tokens)

Get details of a specific image ad item

Input parameters:

- `id` (number, required): Ad item ID

### `create_image_ad_item` (~212 tokens)

Create a new image ad item (banner)

Input parameters:

- `creative` (number): Image creative ID (mutually exclusive with creative_url)
- `creative_url` (string): URL to image file — PNG, JPEG, or GIF (mutually exclusive with creative)
- `height` (number): Ad height in pixels (defaults to 0)
- `html_alt_text` (string): Alt text for the image
- `html_content_below` (string): HTML content below the ad item
- `html_target` (string): Window/frame for destination URL (e.g. "_blank")
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `width` (number): Ad width in pixels (defaults to 0)

### `update_image_ad_item` (~184 tokens)

Update an existing image ad item

Input parameters:

- `creative` (number): Image creative ID
- `creative_url` (string): URL to image file
- `height` (number): Ad height in pixels
- `html_alt_text` (string): Alt text for the image
- `html_content_below` (string): HTML content below the ad item
- `html_target` (string): Window/frame for destination URL
- `id` (number, required): Ad item ID
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `width` (number): Ad width in pixels

### `delete_image_ad_item` (~26 tokens)

Delete an image ad item

Input parameters:

- `id` (number, required): Ad item ID

### `get_image_ad_item_conversion_tag` (~32 tokens)

Get conversion tracking tag for an image ad item

Input parameters:

- `id` (number, required): Ad item ID

### `list_custom_html_ad_items` (~46 tokens)

List all custom HTML ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_custom_html_ad_item` (~31 tokens)

Get details of a specific custom HTML ad item

Input parameters:

- `id` (number, required): Ad item ID

### `create_custom_html_ad_item` (~174 tokens)

Create a new custom HTML ad item

Input parameters:

- `custom_html` (string, required): The HTML content of the ad item
- `expand_horizontal_direction` (string): Horizontal expand direction
- `expand_vertical_direction` (string): Vertical expand direction
- `height` (number): Ad height in pixels (0 for flexible)
- `html_content_below` (string): HTML content below the ad item
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `width` (number): Ad width in pixels (0 for flexible)

### `update_custom_html_ad_item` (~172 tokens)

Update an existing custom HTML ad item

Input parameters:

- `custom_html` (string): The HTML content
- `expand_horizontal_direction` (string): Horizontal expand direction
- `expand_vertical_direction` (string): Vertical expand direction
- `height` (number): Ad height in pixels
- `html_content_below` (string): HTML content below the ad item
- `id` (number, required): Ad item ID
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `width` (number): Ad width in pixels

### `delete_custom_html_ad_item` (~28 tokens)

Delete a custom HTML ad item

Input parameters:

- `id` (number, required): Ad item ID

### `get_custom_html_ad_item_conversion_tag` (~34 tokens)

Get conversion tracking tag for a custom HTML ad item

Input parameters:

- `id` (number, required): Ad item ID

### `list_rich_media_ad_items` (~47 tokens)

List all rich media ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_rich_media_ad_item` (~32 tokens)

Get details of a specific rich media ad item

Input parameters:

- `id` (number, required): Ad item ID

### `create_rich_media_ad_item` (~163 tokens)

Create a new rich media ad item

Input parameters:

- `creative` (number, required): Rich media creative ID
- `expand_horizontal_direction` (string): Horizontal expand direction
- `expand_vertical_direction` (string): Vertical expand direction
- `height` (number): Ad height in pixels
- `html_content_below` (string): HTML content below the ad item
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `width` (number): Ad width in pixels

### `update_rich_media_ad_item` (~151 tokens)

Update an existing rich media ad item

Input parameters:

- `creative` (number): Rich media creative ID
- `expand_horizontal_direction` (string): Horizontal expand direction
- `expand_vertical_direction` (string): Vertical expand direction
- `html_content_below` (string): HTML content below the ad item
- `id` (number, required): Ad item ID
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains

### `delete_rich_media_ad_item` (~29 tokens)

Delete a rich media ad item

Input parameters:

- `id` (number, required): Ad item ID

### `get_rich_media_ad_item_conversion_tag` (~35 tokens)

Get conversion tracking tag for a rich media ad item

Input parameters:

- `id` (number, required): Ad item ID

### `list_native_ad_items` (~44 tokens)

List all native ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_native_ad_item` (~29 tokens)

Get details of a specific native ad item

Input parameters:

- `id` (number, required): Ad item ID

### `create_native_ad_item` (~142 tokens)

Create a new native ad item using a native template

Input parameters:

- `height` (number): Ad height in pixels
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Ad item name
- `template` (number, required): Native template ID
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `variables` (object, required): Template variables as key-value pairs (keys should be integer strings)
- `width` (number): Ad width in pixels

### `update_native_ad_item` (~120 tokens)

Update an existing native ad item

Input parameters:

- `id` (number, required): Ad item ID
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Ad item name
- `template` (number): Native template ID
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs
- `trusted_redirect_domains` (array): Trusted redirect domains
- `variables` (object): Template variables as key-value pairs

### `delete_native_ad_item` (~26 tokens)

Delete a native ad item

Input parameters:

- `id` (number, required): Ad item ID

### `get_native_ad_item_conversion_tag` (~32 tokens)

Get conversion tracking tag for a native ad item

Input parameters:

- `id` (number, required): Ad item ID

### `list_catalog_ad_items` (~44 tokens)

List all catalog ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_catalog_ad_item` (~29 tokens)

Get details of a specific catalog ad item

Input parameters:

- `id` (number, required): Ad item ID

### `create_catalog_ad_item` (~100 tokens)

Create a new catalog ad item

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `catalog_item_identifier` (string, required): Unique identifier for the catalog item
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs

### `update_catalog_ad_item` (~100 tokens)

Update an existing catalog ad item

Input parameters:

- `catalog_item_identifier` (string): Unique identifier for the catalog item
- `id` (number, required): Ad item ID
- `location` (string): Click-through URL
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Ad item name
- `tracking_pixel` (string): Third-party tracking pixel URL
- `tracking_pixels` (array): Array of tracking pixel URLs

### `delete_catalog_ad_item` (~26 tokens)

Delete a catalog ad item

Input parameters:

- `id` (number, required): Ad item ID

### `convert_native_to_image` (~32 tokens)

Convert a native ad item to an image ad item

Input parameters:

- `id` (number, required): Native ad item ID

### `list_all_creatives` (~54 tokens)

List all creatives across all types (image, rich media, video, audio)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_creatives` (~42 tokens)

List all image creatives

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_creative` (~26 tokens)

Get details of a specific image creative

Input parameters:

- `id` (number, required): Creative ID

### `create_creative` (~59 tokens)

Create a new image creative. The API uses multipart file upload — pass the media group ID and file attributes.

Input parameters:

- `description` (string): Creative description
- `group` (number, required): Media group ID
- `name` (string): Creative name

### `update_creative` (~42 tokens)

Update an existing image creative

Input parameters:

- `description` (string): Creative description
- `id` (number, required): Creative ID
- `name` (string): Creative name

### `delete_creative` (~23 tokens)

Delete an image creative

Input parameters:

- `id` (number, required): Creative ID

### `list_rich_media_creatives` (~46 tokens)

List all rich media creatives

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_rich_media_creative` (~30 tokens)

Get details of a specific rich media creative

Input parameters:

- `id` (number, required): Creative ID

### `create_rich_media_creative` (~80 tokens)

Create a new rich media creative. The API uses multipart file upload (ZIP for HTML5).

Input parameters:

- `description` (string): Creative description
- `group` (number, required): Media group ID
- `index_file_path` (string): Path to index HTML file inside ZIP archive (for HTML5)
- `name` (string): Creative name

### `update_rich_media_creative` (~46 tokens)

Update an existing rich media creative

Input parameters:

- `description` (string): Creative description
- `id` (number, required): Creative ID
- `name` (string): Creative name

### `delete_rich_media_creative` (~27 tokens)

Delete a rich media creative

Input parameters:

- `id` (number, required): Creative ID

### `list_video_creatives` (~43 tokens)

List all video creatives

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_video_creative` (~27 tokens)

Get details of a specific video creative

Input parameters:

- `id` (number, required): Creative ID

### `create_video_creative` (~51 tokens)

Create a new video creative. The API uses multipart file upload.

Input parameters:

- `description` (string): Creative description
- `group` (number, required): Media group ID
- `name` (string): Creative name

### `update_video_creative` (~43 tokens)

Update an existing video creative

Input parameters:

- `description` (string): Creative description
- `id` (number, required): Creative ID
- `name` (string): Creative name

### `delete_video_creative` (~24 tokens)

Delete a video creative

Input parameters:

- `id` (number, required): Creative ID

### `list_audio_creatives` (~43 tokens)

List all audio creatives

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_audio_creative` (~27 tokens)

Get details of a specific audio creative

Input parameters:

- `id` (number, required): Creative ID

### `create_audio_creative` (~51 tokens)

Create a new audio creative. The API uses multipart file upload.

Input parameters:

- `description` (string): Creative description
- `group` (number, required): Media group ID
- `name` (string): Creative name

### `update_audio_creative` (~43 tokens)

Update an existing audio creative

Input parameters:

- `description` (string): Creative description
- `id` (number, required): Creative ID
- `name` (string): Creative name

### `delete_audio_creative` (~24 tokens)

Delete an audio creative

Input parameters:

- `id` (number, required): Creative ID

### `replace_image_creative_file` (~28 tokens)

Replace the file on an image creative

Input parameters:

- `id` (number, required): Creative ID

### `replace_rich_media_creative_file` (~31 tokens)

Replace the file on a rich media creative

Input parameters:

- `id` (number, required): Creative ID

### `replace_video_creative_file` (~28 tokens)

Replace the file on a video creative

Input parameters:

- `id` (number, required): Creative ID

### `replace_audio_creative_file` (~28 tokens)

Replace the file on an audio creative

Input parameters:

- `id` (number, required): Creative ID

### `list_placements` (~49 tokens)

List all placements (assignments of ad items to zones)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_placement` (~25 tokens)

Get details of a specific placement

Input parameters:

- `id` (number, required): Placement ID

### `create_placement` (~283 tokens)

Create a new placement (assign an ad item or campaign to a zone or channel)

Input parameters:

- `active` (boolean): Whether placement is active (defaults to true)
- `advertisement` (object, required): Advertisement object with id and type
- `channel` (number): Channel ID (required if zone not set; mutually exclusive with zone)
- `contextual_segments` (array): Array of contextual segment IDs
- `cost` (object): Pricing model: fixed_cost OR cpm/cpc/cpa
- `data_key_target_id` (number): Data Key Target ID (Enterprise only)
- `geo_target` (number): Geotarget ID
- `keywords` (string): Comma-separated keywords for targeting
- `keywords_match_method` (string): Keyword matching method
- `list_target` (number): List Target ID
- `payout` (object): Publisher payout configuration
- `platform_target` (number): Platform target ID
- `priority` (string): Serving priority level (defaults to "standard")
- `schedule` (number, required): Schedule ID
- `serve_method` (string): Serving system: weight-based or auction-based
- `share_of_voice` (number): Share of voice percentage (required when zone uses share_of_voice)
- `weight` (number): Relative delivery weight
- `zone` (object): Zone object (required if channel not set; mutually exclusive with channel)

### `update_placement` (~232 tokens)

Update an existing placement

Input parameters:

- `active` (boolean): Whether placement is active
- `advertisement` (object): Advertisement object with id and type
- `channel` (number): Channel ID (mutually exclusive with zone)
- `contextual_segments` (array): Array of contextual segment IDs
- `cost` (object): Pricing model
- `data_key_target_id` (number): Data Key Target ID
- `geo_target` (number): Geotarget ID
- `id` (number, required): Placement ID
- `keywords` (string): Comma-separated keywords
- `keywords_match_method` (string): Keyword matching method
- `list_target` (number): List Target ID
- `payout` (object): Publisher payout configuration
- `platform_target` (number): Platform target ID
- `priority` (string): Serving priority level
- `schedule` (number): Schedule ID
- `serve_method` (string): Serving system
- `share_of_voice` (number): Share of voice percentage
- `weight` (number): Relative delivery weight
- `zone` (object): Zone object (mutually exclusive with channel)

### `delete_placement` (~30 tokens)

Delete a placement (remove an ad item from a zone)

Input parameters:

- `id` (number, required): Placement ID

### `get_placement_conversion_tag` (~28 tokens)

Get conversion tracking tag for a placement

Input parameters:

- `id` (number, required): Placement ID

### `list_native_templates` (~43 tokens)

List all native ad templates

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_native_template` (~27 tokens)

Get details of a specific native template

Input parameters:

- `id` (number, required): Native template ID

### `create_native_template` (~63 tokens)

Create a new native ad template with HTML and variable placeholders

Input parameters:

- `name` (string, required): Template name
- `raw_html` (string, required): HTML template content with variable placeholders (e.g. "[%title%]")
- `variables` (array, required): Array of template variables

### `update_native_template` (~67 tokens)

Update an existing native template. Variables uses add/remove format for updates.

Input parameters:

- `id` (number, required): Native template ID
- `name` (string): Template name
- `raw_html` (string): HTML template content with variable placeholders
- `variables` (object): Variables to add/remove

### `delete_native_template` (~24 tokens)

Delete a native template

Input parameters:

- `id` (number, required): Native template ID

### `list_schedules` (~49 tokens)

List all schedules (time-based delivery rules for ad items)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_schedule` (~24 tokens)

Get details of a specific schedule

Input parameters:

- `id` (number, required): Schedule ID

### `create_schedule` (~324 tokens)

Create a new schedule for time-based ad delivery. Schedules are automatically linked to ad items via placements.

Input parameters:

- `day_cap_limit` (number): Daily cap limit (number of views or clicks per day)
- `day_cap_type` (string): Daily cap type
- `day_parting_id` (number): Day parting ID for time-of-day targeting
- `delivery_method` (string): Delivery pacing: "default" (ASAP) or "smooth" (evenly distributed)
- `end_at` (string): End date/time in ISO-8601 format, null for indefinite
- `end_at_timezone` (string): IANA timezone for end_at
- `end_date` (string): End date (YYYY-MM-DD HH:MM:SS), null for indefinite — deprecated, use end_at
- `per_user_view_limit` (number): Per-user view frequency cap
- `per_user_view_period` (number): Days before per-user view counter resets
- `quota_lifetime` (number): Total quota amount (views or clicks, not per thousand)
- `quota_type` (string): Quota measurement type
- `start_at` (string): Start date/time in ISO-8601 format
- `start_at_timezone` (string): IANA timezone for start_at (e.g. "America/New_York")
- `start_date` (string): Start date (YYYY-MM-DD HH:MM:SS) — deprecated, use start_at
- `under_delivery_behaviour` (string): Whether to keep serving until quota met or stop on end date

### `update_schedule` (~293 tokens)

Update an existing schedule

Input parameters:

- `day_cap_limit` (number): Daily cap limit
- `day_cap_type` (string): Daily cap type
- `day_parting_id` (number): Day parting ID for time-of-day targeting
- `delivery_method` (string): Delivery pacing: "default" (ASAP) or "smooth" (evenly distributed)
- `end_at` (string): End date/time in ISO-8601 format
- `end_at_timezone` (string): IANA timezone for end_at
- `end_date` (string): End date (YYYY-MM-DD HH:MM:SS) — deprecated, use end_at
- `id` (number, required): Schedule ID
- `per_user_view_limit` (number): Per-user view frequency cap
- `per_user_view_period` (number): Days before per-user view counter resets
- `quota_lifetime` (number): Total quota amount (views or clicks, not per thousand)
- `quota_type` (string): Quota measurement type
- `start_at` (string): Start date/time in ISO-8601 format
- `start_at_timezone` (string): IANA timezone for start_at
- `start_date` (string): Start date (YYYY-MM-DD HH:MM:SS) — deprecated, use start_at
- `under_delivery_behaviour` (string): Whether to keep serving until quota met or stop on end date

### `delete_schedule` (~21 tokens)

Delete a schedule

Input parameters:

- `id` (number, required): Schedule ID

### `list_media_groups` (~46 tokens)

List all media groups (collections of creatives)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_media_group` (~27 tokens)

Get details of a specific media group

Input parameters:

- `id` (number, required): Media group ID

### `create_media_group` (~25 tokens)

Create a new media group

Input parameters:

- `name` (string, required): Media group name

### `update_media_group` (~35 tokens)

Update an existing media group

Input parameters:

- `id` (number, required): Media group ID
- `name` (string): Media group name

### `delete_media_group` (~24 tokens)

Delete a media group

Input parameters:

- `id` (number, required): Media group ID

### `list_data_keys` (~48 tokens)

List all data keys (custom key-value targeting variables)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_data_key` (~27 tokens)

Get details of a specific data key

Input parameters:

- `id` (number, required): Data key ID

### `create_data_key` (~48 tokens)

Create a new data key for custom targeting

Input parameters:

- `name` (string, required): Data key name (max 32 chars, must be unique)
- `type` (string, required): Data key value type

### `update_data_key` (~46 tokens)

Update an existing data key

Input parameters:

- `id` (number, required): Data key ID
- `name` (string): Data key name
- `type` (string): Data key value type

### `delete_data_key` (~24 tokens)

Delete a data key

Input parameters:

- `id` (number, required): Data key ID

### `list_data_key_targets` (~52 tokens)

List all data key targets (targeting rules using data key values)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_data_key_target` (~30 tokens)

Get details of a specific data key target

Input parameters:

- `id` (number, required): Data key target ID

### `create_data_key_target` (~71 tokens)

Create a new data key target (targeting rule)

Input parameters:

- `name` (string, required): Data key target name
- `target` (string, required): JSON formatted target logic, e.g. ["OR", {"my_number": {"=": "5"}}, {"my_string": {"=": "test"}}]

### `update_data_key_target` (~50 tokens)

Update an existing data key target

Input parameters:

- `id` (number, required): Data key target ID
- `name` (string): Data key target name
- `target` (string): JSON formatted target logic

### `delete_data_key_target` (~27 tokens)

Delete a data key target

Input parameters:

- `id` (number, required): Data key target ID

### `list_day_partings` (~50 tokens)

List all day parting rules (time-of-day targeting)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_day_parting` (~31 tokens)

Get details of a specific day parting rule

Input parameters:

- `id` (number, required): Day parting ID

### `create_day_parting` (~146 tokens)

Create a new day parting rule for time-of-day targeting. Ranges is an object with day names as keys and arrays of time range strings (e.g. "09:00:00-17:00:00") as values.

Input parameters:

- `is_template` (boolean): If true, shown in UI when creating/editing schedules
- `name` (string): Day parting name
- `ranges` (object): Object mapping day names (monday-sunday) to arrays of time ranges like "09:00:00-17:00:00"
- `use_member_timezone` (boolean): If true, use account timezone; if false, use viewer timezone

### `update_day_parting` (~103 tokens)

Update an existing day parting rule

Input parameters:

- `id` (number, required): Day parting ID
- `is_template` (boolean): If true, shown in UI when creating/editing schedules
- `name` (string): Day parting name
- `ranges` (object): Object mapping day names (monday-sunday) to arrays of time ranges
- `use_member_timezone` (boolean): If true, use account timezone; if false, use viewer timezone

### `delete_day_parting` (~28 tokens)

Delete a day parting rule

Input parameters:

- `id` (number, required): Day parting ID

### `list_geo_targets` (~47 tokens)

List all geo targets (geographic targeting rules)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_geo_target` (~27 tokens)

Get details of a specific geo target

Input parameters:

- `id` (number, required): Geo target ID

### `create_geo_target` (~115 tokens)

Create a new geo target for geographic targeting. Areas is an array of objects with continent, country (2-letter code), region, city fields.

Input parameters:

- `areas` (array, required): Array of geographic areas to target
- `inclusive` (boolean): If true, target users IN these areas; if false, EXCLUDE these areas
- `name` (string, required): Geo target name
- `range` (number): Radius range for geo-fencing (only applies when targeting a city)
- `unit` (string): Distance unit for range

### `update_geo_target` (~85 tokens)

Update an existing geo target

Input parameters:

- `areas` (array): Array of geographic areas
- `id` (number, required): Geo target ID
- `inclusive` (boolean): If true, target users IN these areas; if false, EXCLUDE
- `name` (string): Geo target name
- `range` (number): Radius range
- `unit` (string): Distance unit

### `delete_geo_target` (~24 tokens)

Delete a geo target

Input parameters:

- `id` (number, required): Geo target ID

### `list_postal_code_targets` (~45 tokens)

List all postal code targets

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_postal_code_target` (~31 tokens)

Get details of a specific postal code target

Input parameters:

- `id` (number, required): Postal code target ID

### `create_postal_code_target` (~60 tokens)

Create a new postal code target

Input parameters:

- `inclusive` (boolean): If true, inclusion target; if false, exclusion target
- `label` (string, required): Postal code target name
- `locations` (array, required): Array of locations grouped by country

### `update_postal_code_target` (~71 tokens)

Update an existing postal code target

Input parameters:

- `id` (number, required): Postal code target ID
- `inclusive` (boolean): If true, inclusion target; if false, exclusion target
- `label` (string): Postal code target name
- `locations` (array): Array of locations grouped by country

### `delete_postal_code_target` (~28 tokens)

Delete a postal code target

Input parameters:

- `id` (number, required): Postal code target ID

### `list_list_targets` (~48 tokens)

List all list targets (allowlist/blocklist targeting)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_list_target` (~27 tokens)

Get details of a specific list target

Input parameters:

- `id` (number, required): List target ID

### `create_list_target` (~68 tokens)

Create a new list target (inclusion/exclusion using a data list)

Input parameters:

- `data_list` (number): Data list ID containing the values to target
- `inclusive` (boolean): If true, inclusion target; if false, exclusion target
- `label` (string, required): List target name

### `update_list_target` (~62 tokens)

Update an existing list target

Input parameters:

- `data_list` (number): Data list ID
- `id` (number, required): List target ID
- `inclusive` (boolean): If true, inclusion; if false, exclusion
- `label` (string): List target name

### `delete_list_target` (~24 tokens)

Delete a list target

Input parameters:

- `id` (number, required): List target ID

### `list_platform_targets` (~48 tokens)

List all platform targets (device/OS/browser targeting)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_platform_target` (~27 tokens)

Get details of a specific platform target

Input parameters:

- `id` (number, required): Platform target ID

### `create_platform_target` (~72 tokens)

Create a new platform target for device/OS/browser targeting

Input parameters:

- `device_targets` (array): List of device patterns to target (e.g. "Apple*", "Samsung Galaxy S5")
- `name` (string, required): Platform target name
- `platform` (string): Preset platform target (default: any)

### `update_platform_target` (~60 tokens)

Update an existing platform target

Input parameters:

- `device_targets` (array): List of device patterns to target
- `id` (number, required): Platform target ID
- `name` (string): Platform target name
- `platform` (string): Preset platform target

### `delete_platform_target` (~24 tokens)

Delete a platform target

Input parameters:

- `id` (number, required): Platform target ID

### `list_data_targets` (~42 tokens)

List all data targets

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `remove_list_target_usages` (~29 tokens)

Remove all usages of a list target

Input parameters:

- `id` (number, required): List target ID

### `get_display_report` (~321 tokens)

Get display advertising report with impressions, clicks, and CTR

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `breakdown` (boolean): Include breakdown data
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `details` (boolean): Include detailed breakdown
- `exclude_campaign_ad_items` (boolean): Exclude ad items in campaigns
- `exclude_channel_stats` (boolean): Exclude stats from channel-served ads
- `exclude_publisher_ad_items` (boolean): Exclude ad items directly in zones
- `financials` (boolean): Include financial data
- `period` (string, required): Data grouping period: day, week, month, year
- `preset` (string): Date preset: today, last-24-hours, yesterday, this-week, last-week, this-month, last-month, year-to-date, last-year, last-7-days, last-14-days, last-30-days, last-3-months, last-6-months, last-12-mon…
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `require_channel_stats` (boolean): Only include stats from channel-served ads
- `summary` (boolean): Include summary data
- `timezone` (string): Timezone for preset (e.g. "America/New_York")
- `type` (string, required): Report type: overview, advertiser, publisher, zone, campaign, channel, geo-target, ad-item
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_vast_report` (~180 tokens)

Get VAST video advertising report

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `breakdown` (boolean): Include breakdown data
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `details` (boolean): Include detailed breakdown
- `financials` (boolean): Include financial data
- `period` (string, required): Data grouping period: day, week, month, year
- `preset` (string): Date preset (same options as display report)
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `summary` (boolean): Include summary data
- `timezone` (string): Timezone for preset
- `type` (string, required): Report type: overview, advertiser, publisher, zone, campaign, ad-item
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_event_logs` (~57 tokens)

Get event logs for account activity (changes, logins, etc.)

Input parameters:

- `from` (string): Start date filter
- `log_type` (string, required): Type of event log to retrieve
- `to` (string): End date filter

### `get_click_details_report` (~89 tokens)

Get click details report

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `preset` (string): Date preset
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `timezone` (string): Timezone
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_conversion_details_report` (~89 tokens)

Get conversion details report

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `preset` (string): Date preset
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `timezone` (string): Timezone
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_demand_source_report` (~35 tokens)

Get demand source statistics report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_display_platform_estimate` (~35 tokens)

Get display platform estimate statistics

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_vast_platform_estimate` (~37 tokens)

Get VAST platform estimate statistics

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_geo_summary_report` (~89 tokens)

Get geographic summary report

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `preset` (string): Date preset
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `timezone` (string): Timezone
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_auction_placements_report` (~36 tokens)

Get auction placement statistics report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_placement_forecast` (~34 tokens)

Get placement forecast report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_display_forecast` (~33 tokens)

Get display forecast report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_display_channel_forecast` (~35 tokens)

Get display channel forecast report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_vast_forecast` (~35 tokens)

Get VAST forecast report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_vast_channel_forecast` (~37 tokens)

Get VAST channel forecast report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_vast_auction_placements_report` (~39 tokens)

Get VAST auction placements report

Input parameters:

- `preset` (string): Date preset
- `timezone` (string): Timezone

### `get_vast_geo_summary_report` (~93 tokens)

Get VAST geographic summary report

Input parameters:

- `advertisers` (string): Filter by advertiser IDs (comma-separated)
- `campaigns` (string): Filter by campaign IDs (comma-separated)
- `preset` (string): Date preset
- `publishers` (string): Filter by publisher IDs (comma-separated)
- `timezone` (string): Timezone
- `zones` (string): Filter by zone IDs (comma-separated)

### `get_live_website_preview` (~40 tokens)

Get live website preview URL

Input parameters:

- `url` (string): Website URL to preview
- `zone_id` (number): Zone ID to preview

### `get_manual_tracking_links` (~41 tokens)

Generate manual tracking links for an ad item

Input parameters:

- `ad_item_id` (number): Ad item ID
- `type` (string): Ad item type

### `list_custom_reports` (~43 tokens)

List all saved report configurations

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_custom_report` (~27 tokens)

Get details of a specific report configuration

Input parameters:

- `id` (number, required): Report configuration ID

### `create_custom_report` (~207 tokens)

Create a new report configuration

Input parameters:

- `columns` (array): Columns to include: impressions, eligible, viewable, clicks, conversions, ctr, cvr, e_cpm, e_cpc, e_cpa, cost, payout, revenue
- `date` (object, required): Date configuration (either preset or start+end required)
- `exclude_campaign_ad_items` (boolean): Exclude ad items in campaigns
- `exclude_channel_stats` (boolean): Exclude stats from channel-served ads
- `exclude_publisher_ad_items` (boolean): Exclude ad items directly in zones
- `filters` (object): Filter criteria: { publishers: [...], advertisers: [...], zones: [...], campaigns: [...], ad_items: [...], channels: [...] }
- `name` (string, required): Report name
- `period` (string, required): Data grouping period
- `require_channel_stats` (boolean): Only include stats from channel-served ads
- `type` (string, required): Report type

### `update_custom_report` (~149 tokens)

Update an existing report configuration

Input parameters:

- `columns` (array): Columns to include
- `date` (object): Date configuration
- `exclude_campaign_ad_items` (boolean): Exclude ad items in campaigns
- `exclude_channel_stats` (boolean): Exclude stats from channel-served ads
- `exclude_publisher_ad_items` (boolean): Exclude ad items directly in zones
- `filters` (object): Filter criteria
- `id` (number, required): Report configuration ID
- `name` (string): Report name
- `period` (string): Data grouping period
- `require_channel_stats` (boolean): Only include stats from channel-served ads
- `type` (string): Report type

### `delete_custom_report` (~24 tokens)

Delete a report configuration

Input parameters:

- `id` (number, required): Report configuration ID

### `list_vast_custom_reports` (~46 tokens)

List all VAST report data

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_vast_custom_report` (~29 tokens)

Get a specific VAST report

Input parameters:

- `id` (number, required): VAST report ID

### `create_vast_custom_report` (~28 tokens)

Create a new VAST report configuration

Input parameters:

- `name` (string, required): Report name

### `list_all_generated_reports` (~46 tokens)

List all generated reports across all configurations

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_all_report_schedules` (~47 tokens)

List all report schedules across all configurations

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `list_report_generated` (~58 tokens)

List generated reports for a specific report configuration

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `report_config_id` (number, required): Report configuration ID

### `get_report_generated` (~38 tokens)

Get a specific generated report

Input parameters:

- `generated_id` (number, required): Generated report ID
- `report_config_id` (number, required): Report configuration ID

### `list_report_schedules` (~58 tokens)

List schedules for a specific report configuration

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `report_config_id` (number, required): Report configuration ID

### `get_report_schedule` (~37 tokens)

Get a specific report schedule

Input parameters:

- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `create_report_schedule` (~47 tokens)

Create a new report schedule

Input parameters:

- `frequency` (string): Schedule frequency
- `recipients` (array): Array of recipient objects
- `report_config_id` (number, required): Report configuration ID

### `update_report_schedule` (~56 tokens)

Update a report schedule

Input parameters:

- `frequency` (string): Schedule frequency
- `recipients` (array): Array of recipient objects
- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `delete_report_schedule` (~36 tokens)

Delete a report schedule

Input parameters:

- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `list_report_schedule_generated` (~68 tokens)

List generated reports for a specific schedule

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `get_report_schedule_generated` (~52 tokens)

Get a specific generated report from a schedule

Input parameters:

- `generated_id` (number, required): Generated report ID
- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `revoke_report_schedule_historical_access` (~43 tokens)

Revoke historical access for a report schedule

Input parameters:

- `report_config_id` (number, required): Report configuration ID
- `schedule_id` (number, required): Schedule ID

### `serve_ad` (~308 tokens)

Request ad delivery for a zone. Returns the ad(s) that would be served, useful for verifying ad setup. Uses POST /adserve.

Input parameters:

- `ID` (number, required): Your AdButler account ID
- `_abdk_json` (object): Data key key-value pairs for data key targeting
- `defer_signing` (boolean): Defer beacon signing hash generation
- `ip` (string): IPv4 address for geographic targeting (required for server-side requests)
- `kw` (array): Keywords for keyword targeting
- `pid` (number): Page ID for unique delivery/roadblocks (random number, same for all zones on page)
- `place` (number): Place counter for unique delivery (0, 1, 2, etc.)
- `referrer` (string): Page URL for URL targeting (required for server-side requests)
- `rf` (number): Pass 1 to include is_redirectable field in response
- `setID` (number, required): Zone ID to serve an ad from
- `sh` (number): Screen height for platform targeting
- `size` (string): Expected ad size (e.g. "300x250")
- `spr` (number): Screen pixel ratio for platform targeting
- `sw` (number): Screen width for platform targeting
- `type` (string, required): Response type: "json" for most eligible ad, "jsonr" for all eligible ads ranked
- `ua` (string): User agent string for platform targeting

### `get_ad` (~298 tokens)

Retrieve an ad via GET request. Same parameters as serve_ad but uses GET instead of POST.

Input parameters:

- `ID` (number, required): Your AdButler account ID
- `_abdk_json` (object): Data key key-value pairs for data key targeting
- `defer_signing` (boolean): Defer beacon signing hash generation
- `ip` (string): IPv4 address for geographic targeting (required for server-side requests)
- `kw` (array): Keywords for keyword targeting
- `pid` (number): Page ID for unique delivery/roadblocks (random number, same for all zones on page)
- `place` (number): Place counter for unique delivery (0, 1, 2, etc.)
- `referrer` (string): Page URL for URL targeting (required for server-side requests)
- `rf` (number): Pass 1 to include is_redirectable field in response
- `setID` (number, required): Zone ID to serve an ad from
- `sh` (number): Screen height for platform targeting
- `size` (string): Expected ad size (e.g. "300x250")
- `spr` (number): Screen pixel ratio for platform targeting
- `sw` (number): Screen width for platform targeting
- `type` (string, required): Response type: "json" for most eligible ad, "jsonr" for all eligible ads ranked
- `ua` (string): User agent string for platform targeting

### `vast_list_ad_items` (~45 tokens)

List all VAST ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_ad_item` (~32 tokens)

Get details of a specific VAST ad item

Input parameters:

- `id` (number, required): VAST ad item ID

### `vast_create_ad_item` (~54 tokens)

Create a new VAST ad item

Input parameters:

- `active` (boolean): Whether ad item is active
- `location` (string, required): VAST tag URL or media location
- `name` (string, required): Ad item name

### `vast_update_ad_item` (~66 tokens)

Update an existing VAST ad item

Input parameters:

- `active` (boolean): Whether ad item is active
- `id` (number, required): VAST ad item ID
- `location` (string): VAST tag URL or media location
- `name` (string): Ad item name

### `vast_delete_ad_item` (~29 tokens)

Delete a VAST ad item

Input parameters:

- `id` (number, required): VAST ad item ID

### `vast_list_campaigns` (~44 tokens)

List all VAST campaigns

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_campaign` (~29 tokens)

Get details of a specific VAST campaign

Input parameters:

- `id` (number, required): VAST campaign ID

### `vast_create_campaign` (~50 tokens)

Create a new VAST campaign

Input parameters:

- `advertiser` (number, required): Advertiser ID
- `contract` (number): Contract ID (requires Contract Management add-on)
- `name` (string, required): Campaign name

### `vast_update_campaign` (~61 tokens)

Update an existing VAST campaign

Input parameters:

- `advertiser` (number): Advertiser ID
- `contract` (number): Contract ID (requires Contract Management add-on)
- `id` (number, required): VAST campaign ID
- `name` (string): Campaign name

### `vast_delete_campaign` (~26 tokens)

Delete a VAST campaign

Input parameters:

- `id` (number, required): VAST campaign ID

### `vast_archive_campaign` (~34 tokens)

Archive a VAST campaign (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): VAST campaign ID

### `vast_list_archived_campaigns` (~47 tokens)

List all archived VAST campaigns

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_archived_campaign` (~33 tokens)

Get details of a specific archived VAST campaign

Input parameters:

- `id` (number, required): Archived VAST campaign ID

### `vast_delete_archived_campaign` (~32 tokens)

Permanently delete an archived VAST campaign

Input parameters:

- `id` (number, required): Archived VAST campaign ID

### `vast_unarchive_campaign` (~33 tokens)

Restore an archived VAST campaign back to active status

Input parameters:

- `id` (number, required): Archived VAST campaign ID

### `vast_list_channels` (~43 tokens)

List all VAST channels

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_channel` (~29 tokens)

Get details of a specific VAST channel

Input parameters:

- `id` (number, required): VAST channel ID

### `vast_create_channel` (~34 tokens)

Create a new VAST channel

Input parameters:

- `description` (string): Channel description
- `name` (string, required): Channel name

### `vast_update_channel` (~45 tokens)

Update an existing VAST channel

Input parameters:

- `description` (string): Channel description
- `id` (number, required): VAST channel ID
- `name` (string): Channel name

### `vast_delete_channel` (~26 tokens)

Delete a VAST channel

Input parameters:

- `id` (number, required): VAST channel ID

### `vast_archive_channel` (~34 tokens)

Archive a VAST channel (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): VAST channel ID

### `vast_list_archived_channels` (~46 tokens)

List all archived VAST channels

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_archived_channel` (~33 tokens)

Get details of a specific archived VAST channel

Input parameters:

- `id` (number, required): Archived VAST channel ID

### `vast_delete_archived_channel` (~32 tokens)

Permanently delete an archived VAST channel

Input parameters:

- `id` (number, required): Archived VAST channel ID

### `vast_unarchive_channel` (~33 tokens)

Restore an archived VAST channel back to active status

Input parameters:

- `id` (number, required): Archived VAST channel ID

### `vast_list_channel_zone_assignments` (~48 tokens)

List all VAST channel zone assignments

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_channel_zone_assignment` (~35 tokens)

Get details of a specific VAST channel zone assignment

Input parameters:

- `id` (number, required): VAST channel zone assignment ID

### `vast_create_channel_zone_assignment` (~44 tokens)

Assign a VAST zone to a VAST channel

Input parameters:

- `channel` (number, required): VAST channel ID
- `zone` (number, required): VAST zone ID

### `vast_update_channel_zone_assignment` (~54 tokens)

Update a VAST channel zone assignment

Input parameters:

- `channel` (number): VAST channel ID
- `id` (number, required): VAST channel zone assignment ID
- `zone` (number): VAST zone ID

### `vast_delete_channel_zone_assignment` (~35 tokens)

Remove a VAST zone from a VAST channel

Input parameters:

- `id` (number, required): VAST channel zone assignment ID

### `vast_list_zones` (~44 tokens)

List all VAST zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_zone` (~29 tokens)

Get details of a specific VAST zone

Input parameters:

- `id` (number, required): VAST zone ID

### `vast_create_zone` (~117 tokens)

Create a new VAST zone

Input parameters:

- `default_vast_ad_item` (number): Default VAST ad item ID (mutually exclusive with default_vast_campaign)
- `default_vast_campaign` (number): Default VAST campaign ID (mutually exclusive with default_vast_ad_item)
- `metadata` (object): Custom metadata key-value pairs
- `name` (string, required): Zone name
- `publisher` (number, required): Publisher ID
- `serve_priority_order` (string): Priority order for serving: "weight" or "auction"

### `vast_update_zone` (~128 tokens)

Update an existing VAST zone

Input parameters:

- `default_vast_ad_item` (number): Default VAST ad item ID (mutually exclusive with default_vast_campaign)
- `default_vast_campaign` (number): Default VAST campaign ID (mutually exclusive with default_vast_ad_item)
- `id` (number, required): VAST zone ID
- `metadata` (object): Custom metadata key-value pairs
- `name` (string): Zone name
- `publisher` (number): Publisher ID
- `serve_priority_order` (string): Priority order for serving: "weight" or "auction"

### `vast_delete_zone` (~26 tokens)

Delete a VAST zone

Input parameters:

- `id` (number, required): VAST zone ID

### `vast_archive_zone` (~34 tokens)

Archive a VAST zone (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): VAST zone ID

### `vast_list_archived_zones` (~47 tokens)

List all archived VAST zones

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_archived_zone` (~33 tokens)

Get details of a specific archived VAST zone

Input parameters:

- `id` (number, required): Archived VAST zone ID

### `vast_delete_archived_zone` (~32 tokens)

Permanently delete an archived VAST zone

Input parameters:

- `id` (number, required): Archived VAST zone ID

### `vast_unarchive_zone` (~33 tokens)

Restore an archived VAST zone back to active status

Input parameters:

- `id` (number, required): Archived VAST zone ID

### `vast_list_placements` (~56 tokens)

List all VAST placements (assignments of VAST ad items to VAST zones)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_placement` (~30 tokens)

Get details of a specific VAST placement

Input parameters:

- `id` (number, required): VAST placement ID

### `vast_create_placement` (~241 tokens)

Create a new VAST placement (assign a VAST ad item or campaign to a VAST zone or channel)

Input parameters:

- `active` (boolean): Whether placement is active (defaults to true)
- `advertisement` (object, required): Advertisement object with id and type
- `channel` (number): VAST channel ID (required if zone not set; mutually exclusive with zone)
- `cost` (object): Pricing model: fixed_cost OR cpm/cpc/cpa
- `data_key_target_id` (number): Data Key Target ID (Enterprise only)
- `max_frequency` (number): Frequency cap limit
- `max_frequency_period` (number): Days before frequency counter resets
- `max_frequency_type` (string): Event type to count for frequency capping
- `payout` (object): Publisher payout configuration
- `priority` (number): Priority level (sponsorship, standard, network, bulk, house)
- `schedule` (number, required): VAST schedule ID
- `serve_method` (string): Serving system: weight-based or auction-based
- `zone` (number): VAST zone ID (required if channel not set; mutually exclusive with channel)

### `vast_update_placement` (~208 tokens)

Update an existing VAST placement

Input parameters:

- `active` (boolean): Whether placement is active
- `advertisement` (object): Advertisement object with id and type
- `channel` (number): VAST channel ID (mutually exclusive with zone)
- `cost` (object): Pricing model: fixed_cost OR cpm/cpc/cpa
- `data_key_target_id` (number): Data Key Target ID (Enterprise only)
- `id` (number, required): VAST placement ID
- `max_frequency` (number): Frequency cap limit
- `max_frequency_period` (number): Days before frequency counter resets
- `max_frequency_type` (string): Event type for frequency capping
- `payout` (object): Publisher payout configuration
- `priority` (number): Priority level
- `schedule` (number): VAST schedule ID
- `serve_method` (string): Serving system: weight-based or auction-based
- `zone` (number): VAST zone ID (mutually exclusive with channel)

### `vast_delete_placement` (~27 tokens)

Delete a VAST placement

Input parameters:

- `id` (number, required): VAST placement ID

### `vast_list_campaign_assignments` (~46 tokens)

List all VAST campaign assignments

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_campaign_assignment` (~32 tokens)

Get details of a specific VAST campaign assignment

Input parameters:

- `id` (number, required): VAST campaign assignment ID

### `vast_create_campaign_assignment` (~65 tokens)

Create a VAST campaign assignment (assign an ad item to a campaign)

Input parameters:

- `active` (boolean): Whether to actively serve ads (defaults to true)
- `ad_item` (number, required): VAST ad item ID
- `campaign` (number, required): VAST campaign ID

### `vast_update_campaign_assignment` (~65 tokens)

Update a VAST campaign assignment

Input parameters:

- `active` (boolean): Whether to actively serve ads
- `ad_item` (number): VAST ad item ID
- `campaign` (number): VAST campaign ID
- `id` (number, required): VAST campaign assignment ID

### `vast_delete_campaign_assignment` (~29 tokens)

Delete a VAST campaign assignment

Input parameters:

- `id` (number, required): VAST campaign assignment ID

### `vast_list_schedules` (~44 tokens)

List all VAST schedules

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_schedule` (~29 tokens)

Get details of a specific VAST schedule

Input parameters:

- `id` (number, required): VAST schedule ID

### `vast_create_schedule` (~157 tokens)

Create a new VAST schedule for time-based ad delivery

Input parameters:

- `day_parting_id` (number): Day parting ID for time-of-day targeting
- `delivery_method` (string): Delivery pacing: "default" (ASAP) or "smooth" (evenly distributed)
- `end_date` (string): End date (YYYY-MM-DD HH:MM:SS), null for indefinite
- `geo_target` (number): Geotarget ID (0 = no targeting)
- `quota_lifetime` (number): Total quota amount (views or clicks, not per thousand)
- `quota_type` (string): Quota measurement type
- `start_date` (string): Start date (YYYY-MM-DD HH:MM:SS)

### `vast_update_schedule` (~163 tokens)

Update an existing VAST schedule

Input parameters:

- `day_parting_id` (number): Day parting ID for time-of-day targeting
- `delivery_method` (string): Delivery pacing: "default" (ASAP) or "smooth" (evenly distributed)
- `end_date` (string): End date (YYYY-MM-DD HH:MM:SS), null for indefinite
- `geo_target` (number): Geotarget ID (0 = no targeting)
- `id` (number, required): VAST schedule ID
- `quota_lifetime` (number): Total quota amount (views or clicks, not per thousand)
- `quota_type` (string): Quota measurement type
- `start_date` (string): Start date (YYYY-MM-DD HH:MM:SS)

### `vast_delete_schedule` (~26 tokens)

Delete a VAST schedule

Input parameters:

- `id` (number, required): VAST schedule ID

### `vast_list_companions` (~45 tokens)

List all VAST companions

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_companion` (~30 tokens)

Get details of a specific VAST companion

Input parameters:

- `id` (number, required): VAST companion ID

### `vast_create_companion` (~48 tokens)

Create a new VAST companion

Input parameters:

- `height` (number): Companion height in pixels
- `name` (string, required): Companion name
- `width` (number): Companion width in pixels

### `vast_update_companion` (~59 tokens)

Update an existing VAST companion

Input parameters:

- `height` (number): Companion height in pixels
- `id` (number, required): VAST companion ID
- `name` (string): Companion name
- `width` (number): Companion width in pixels

### `vast_delete_companion` (~27 tokens)

Delete a VAST companion

Input parameters:

- `id` (number, required): VAST companion ID

### `vast_list_media` (~48 tokens)

List all VAST media (linear and non-linear)

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_list_linear_media` (~45 tokens)

List all VAST linear media

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_linear_media` (~32 tokens)

Get details of a specific VAST linear media

Input parameters:

- `id` (number, required): VAST linear media ID

### `vast_create_linear_media` (~67 tokens)

Create a new VAST linear media

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `duration` (number): Duration in seconds
- `mime_type` (string): MIME type (e.g. video/mp4)
- `name` (string, required): Linear media name

### `vast_update_linear_media` (~79 tokens)

Update an existing VAST linear media

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `duration` (number): Duration in seconds
- `id` (number, required): VAST linear media ID
- `mime_type` (string): MIME type (e.g. video/mp4)
- `name` (string): Linear media name

### `vast_delete_linear_media` (~29 tokens)

Delete a VAST linear media

Input parameters:

- `id` (number, required): VAST linear media ID

### `vast_list_non_linear_media` (~47 tokens)

List all VAST non-linear media

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_non_linear_media` (~35 tokens)

Get details of a specific VAST non-linear media

Input parameters:

- `id` (number, required): VAST non-linear media ID

### `vast_create_non_linear_media` (~61 tokens)

Create a new VAST non-linear media

Input parameters:

- `height` (number): Height in pixels
- `mime_type` (string): MIME type
- `name` (string, required): Non-linear media name
- `width` (number): Width in pixels

### `vast_update_non_linear_media` (~74 tokens)

Update an existing VAST non-linear media

Input parameters:

- `height` (number): Height in pixels
- `id` (number, required): VAST non-linear media ID
- `mime_type` (string): MIME type
- `name` (string): Non-linear media name
- `width` (number): Width in pixels

### `vast_delete_non_linear_media` (~32 tokens)

Delete a VAST non-linear media

Input parameters:

- `id` (number, required): VAST non-linear media ID

### `vast_list_tracking` (~44 tokens)

List all VAST tracking entries

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast_get_tracking` (~30 tokens)

Get details of a specific VAST tracking entry

Input parameters:

- `id` (number, required): VAST tracking ID

### `vast_create_tracking` (~62 tokens)

Create a new VAST tracking entry

Input parameters:

- `event` (string): Tracking event type (e.g. start, firstQuartile, midpoint, thirdQuartile, complete)
- `name` (string, required): Tracking name
- `url` (string): Tracking URL

### `vast_update_tracking` (~56 tokens)

Update an existing VAST tracking entry

Input parameters:

- `event` (string): Tracking event type
- `id` (number, required): VAST tracking ID
- `name` (string): Tracking name
- `url` (string): Tracking URL

### `vast_delete_tracking` (~27 tokens)

Delete a VAST tracking entry

Input parameters:

- `id` (number, required): VAST tracking ID

### `get_vast_zone_tags` (~29 tokens)

Get VAST zone serving tags

Input parameters:

- `id` (number, required): VAST zone ID

### `get_vast_zone_conversion_tag` (~31 tokens)

Get VAST zone conversion tracking tag

Input parameters:

- `id` (number, required): VAST zone ID

### `get_vast_ad_item_conversion_tag` (~36 tokens)

Get conversion tracking tag for a VAST ad item

Input parameters:

- `id` (number, required): VAST ad item ID

### `get_vast_campaign_conversion_tag` (~33 tokens)

Get conversion tracking tag for a VAST campaign

Input parameters:

- `id` (number, required): VAST campaign ID

### `get_vast_placement_conversion_tag` (~34 tokens)

Get conversion tracking tag for a VAST placement

Input parameters:

- `id` (number, required): VAST placement ID

### `list_contracts` (~41 tokens)

List all contracts

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_contract` (~24 tokens)

Get details of a specific contract

Input parameters:

- `id` (number, required): Contract ID

### `create_contract` (~109 tokens)

Create a new contract

Input parameters:

- `advertiser` (number, required): Advertiser ID
- `description` (string): Contract description
- `end_at` (string): Contract end date (YYYY-MM-DD)
- `name` (string, required): Contract name
- `payment_due_date` (string): Payment due date (YYYY-MM-DD)
- `rate` (number): Contract rate (in account currency)
- `start_at` (string): Contract start date (YYYY-MM-DD)
- `status` (string): Contract status

### `update_contract` (~114 tokens)

Update an existing contract

Input parameters:

- `advertiser` (number): Advertiser ID
- `description` (string): Contract description
- `end_at` (string): Contract end date (YYYY-MM-DD)
- `id` (number, required): Contract ID
- `name` (string): Contract name
- `payment_due_date` (string): Payment due date (YYYY-MM-DD)
- `rate` (number): Contract rate
- `start_at` (string): Contract start date (YYYY-MM-DD)
- `status` (string): Contract status

### `delete_contract` (~21 tokens)

Delete a contract

Input parameters:

- `id` (number, required): Contract ID

### `list_archived_contracts` (~44 tokens)

List all archived contracts

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_archived_contract` (~28 tokens)

Get details of a specific archived contract

Input parameters:

- `id` (number, required): Archived contract ID

### `delete_archived_contract` (~27 tokens)

Permanently delete an archived contract

Input parameters:

- `id` (number, required): Archived contract ID

### `list_contract_templates` (~42 tokens)

List all contract templates

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_contract_template` (~27 tokens)

Get details of a specific contract template

Input parameters:

- `id` (number, required): Contract template ID

### `create_contract_template` (~120 tokens)

Create a new contract template. Requires name, file, attributes (JSON string), email_subject, and email_body.

Input parameters:

- `attributes` (string, required): JSON-encoded object containing name, email_subject, email_body, and optionally signing_service, basic_inputs, contract_column_inputs, signers
- `email_body` (string, required): Email body text when sending for signature
- `email_subject` (string, required): Email subject line when sending for signature
- `file` (string, required): URL or path to the contract template file
- `name` (string, required): Template name

### `update_contract_template` (~34 tokens)

Update an existing contract template

Input parameters:

- `id` (number, required): Contract template ID
- `name` (string): Template name

### `delete_contract_template` (~24 tokens)

Delete a contract template

Input parameters:

- `id` (number, required): Contract template ID

### `list_contract_documents` (~54 tokens)

List all documents for a contract

Input parameters:

- `contract_id` (number, required): Contract ID
- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_contract_document` (~36 tokens)

Get details of a specific contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Document ID

### `create_contract_document` (~51 tokens)

Create a new document for a contract

Input parameters:

- `attributes` (string): JSON-encoded object with name, admin_executed, vendor_executed fields
- `contract_id` (number, required): Contract ID

### `update_contract_document` (~43 tokens)

Update an existing contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Document ID
- `name` (string): Document name

### `delete_contract_document` (~33 tokens)

Delete a contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Document ID

### `list_contract_payments` (~55 tokens)

List all payments for a contract

Input parameters:

- `contract_id` (number, required): Contract ID
- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_contract_payment` (~36 tokens)

Get details of a specific contract payment

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Payment ID

### `create_contract_payment` (~53 tokens)

Create a new payment for a contract

Input parameters:

- `amount` (number, required): Amount paid (can be negative for refunds)
- `contract_id` (number, required): Contract ID
- `note` (string): Payment note or description

### `delete_contract_payment` (~33 tokens)

Delete a contract payment

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Payment ID

### `list_signature_requests` (~55 tokens)

List all signature requests for a contract

Input parameters:

- `contract_id` (number, required): Contract ID
- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_signature_request` (~37 tokens)

Get details of a specific signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Signature request ID

### `create_signature_request` (~28 tokens)

Create a new signature request for a contract

Input parameters:

- `contract_id` (number, required): Contract ID

### `update_signature_request` (~35 tokens)

Update an existing signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Signature request ID

### `delete_signature_request` (~34 tokens)

Delete a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `id` (number, required): Signature request ID

### `archive_contract` (~29 tokens)

Archive a contract (soft-delete, can be restored later)

Input parameters:

- `id` (number, required): Contract ID

### `unarchive_contract` (~28 tokens)

Unarchive a contract (restore from archive)

Input parameters:

- `id` (number, required): Archived contract ID

### `get_contract_assigned_campaigns` (~28 tokens)

Get campaigns assigned to a contract

Input parameters:

- `id` (number, required): Contract ID

### `get_contract_active_signature_request` (~29 tokens)

Get the active signature request for a contract

Input parameters:

- `id` (number, required): Contract ID

### `create_contract_document_from_template` (~39 tokens)

Create a contract document from a template

Input parameters:

- `contract_id` (number, required): Contract ID
- `template_id` (number): Template ID

### `replace_contract_document_file` (~38 tokens)

Replace the file on a contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `document_id` (number, required): Document ID

### `replace_contract_document_file_from_template` (~41 tokens)

Replace a contract document file from a template

Input parameters:

- `contract_id` (number, required): Contract ID
- `document_id` (number, required): Document ID

### `list_contract_document_file_revisions` (~40 tokens)

List file revisions for a contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `document_id` (number, required): Document ID

### `get_contract_document_file_revision` (~52 tokens)

Get a specific file revision for a contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `document_id` (number, required): Document ID
- `revision_id` (number, required): File revision ID

### `download_contract_document_file_revision` (~51 tokens)

Download a file revision for a contract document

Input parameters:

- `contract_id` (number, required): Contract ID
- `document_id` (number, required): Document ID
- `revision_id` (number, required): File revision ID

### `list_signature_request_recipients` (~41 tokens)

List all recipients for a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `request_id` (number, required): Signature request ID

### `get_signature_request_recipient` (~51 tokens)

Get a specific recipient for a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `recipient_id` (number, required): Recipient ID
- `request_id` (number, required): Signature request ID

### `update_signature_request_recipient` (~68 tokens)

Update a recipient for a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `email` (string): Recipient email
- `name` (string): Recipient name
- `recipient_id` (number, required): Recipient ID
- `request_id` (number, required): Signature request ID

### `delete_signature_request_recipient` (~50 tokens)

Delete a recipient from a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `recipient_id` (number, required): Recipient ID
- `request_id` (number, required): Signature request ID

### `cancel_signature_request` (~35 tokens)

Cancel a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `request_id` (number, required): Signature request ID

### `resend_signature_request` (~36 tokens)

Resend a signature request

Input parameters:

- `contract_id` (number, required): Contract ID
- `request_id` (number, required): Signature request ID

### `list_managers` (~47 tokens)

List all managers in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_manager` (~26 tokens)

Get details of a specific manager by ID

Input parameters:

- `id` (number, required): Manager ID

### `create_manager` (~361 tokens)

Create a new manager

Input parameters:

- `can_assign_campaigns_directly` (boolean): Can assign campaigns directly to zones
- `can_manage_admin_api_access` (boolean): Can manage API keys
- `can_manage_bidders` (boolean): Can manage bidders
- `can_manage_billing` (boolean): Can view invoices and billing
- `can_manage_contracts` (boolean): Can manage contracts and templates
- `can_manage_data_keys` (boolean): Can manage data keys
- `can_manage_links` (boolean): Can create/edit/delete active tracking links
- `can_manage_media` (boolean): Can manage creatives and media groups
- `can_manage_native_ad_templates` (boolean): Can manage native templates
- `can_manage_product_db` (boolean): Can manage product catalogs
- `can_manage_programmatic` (boolean): Can manage demand sources and PMP deals
- `can_manage_self_serve` (boolean): Can manage Self-Serve portals
- `can_manage_targets` (boolean): Can assign/remove targets from placements
- `can_manage_tickets` (boolean): Can create/view support tickets
- `can_manage_users` (boolean): Can manage user accounts and permissions
- `email` (string, required): Manager email address
- `is_enabled` (boolean): Whether the manager account is enabled
- `name` (string, required): Manager name
- `notes` (string): Notes about the manager
- `password` (string): Login password (min 8 chars with upper, lower, number). Random if blank.
- `position` (string): Manager position in organization
- `publisher_access` (string): Publisher access level
- `publisher_access_list` (array): Publisher IDs accessible when publisher_access is "specific"
- `statistics_access` (string): Statistics access level

### `update_manager` (~328 tokens)

Update an existing manager

Input parameters:

- `can_assign_campaigns_directly` (boolean): Can assign campaigns directly
- `can_manage_admin_api_access` (boolean): Can manage API keys
- `can_manage_bidders` (boolean): Can manage bidders
- `can_manage_billing` (boolean): Can manage billing
- `can_manage_contracts` (boolean): Can manage contracts
- `can_manage_data_keys` (boolean): Can manage data keys
- `can_manage_links` (boolean): Can manage tracking links
- `can_manage_media` (boolean): Can manage creatives and media groups
- `can_manage_native_ad_templates` (boolean): Can manage native templates
- `can_manage_product_db` (boolean): Can manage product catalogs
- `can_manage_programmatic` (boolean): Can manage programmatic
- `can_manage_self_serve` (boolean): Can manage Self-Serve
- `can_manage_targets` (boolean): Can manage targets
- `can_manage_tickets` (boolean): Can manage tickets
- `can_manage_users` (boolean): Can manage users
- `email` (string): Manager email address
- `id` (number, required): Manager ID
- `is_enabled` (boolean): Whether the manager account is enabled
- `name` (string): Manager name
- `notes` (string): Notes about the manager
- `password` (string): Login password
- `position` (string): Manager position
- `publisher_access` (string): Publisher access level
- `publisher_access_list` (array): Publisher IDs for specific access
- `statistics_access` (string): Statistics access level

### `delete_manager` (~21 tokens)

Delete a manager

Input parameters:

- `id` (number, required): Manager ID

### `list_roles` (~46 tokens)

List all roles in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_role` (~26 tokens)

Get details of a specific role by ID

Input parameters:

- `id` (number, required): Role ID

### `create_role` (~286 tokens)

Create a new role with permission settings

Input parameters:

- `can_assign_campaigns_directly` (boolean): Can assign campaigns directly
- `can_manage_admin_api_access` (boolean): Can manage API keys
- `can_manage_bidders` (boolean): Can manage bidders
- `can_manage_billing` (boolean): Can manage billing
- `can_manage_contracts` (boolean): Can manage contracts
- `can_manage_data_keys` (boolean): Can manage data keys
- `can_manage_links` (boolean): Can manage tracking links
- `can_manage_media` (boolean): Can manage creatives and media groups
- `can_manage_native_ad_templates` (boolean): Can manage native templates
- `can_manage_product_db` (boolean): Can manage product catalogs
- `can_manage_programmatic` (boolean): Can manage programmatic
- `can_manage_self_serve` (boolean): Can manage Self-Serve
- `can_manage_targets` (boolean): Can manage targets
- `can_manage_tickets` (boolean): Can manage tickets
- `can_manage_users` (boolean): Can manage users
- `is_default_role` (boolean): Auto-assign this role to new users
- `name` (string, required): Role name
- `publisher_access` (string): Publisher access level
- `publisher_access_list` (array): Publisher IDs for specific access
- `statistics_access` (string): Statistics access level

### `update_role` (~287 tokens)

Update an existing role

Input parameters:

- `can_assign_campaigns_directly` (boolean): Can assign campaigns directly
- `can_manage_admin_api_access` (boolean): Can manage API keys
- `can_manage_bidders` (boolean): Can manage bidders
- `can_manage_billing` (boolean): Can manage billing
- `can_manage_contracts` (boolean): Can manage contracts
- `can_manage_data_keys` (boolean): Can manage data keys
- `can_manage_links` (boolean): Can manage tracking links
- `can_manage_media` (boolean): Can manage creatives
- `can_manage_native_ad_templates` (boolean): Can manage native templates
- `can_manage_product_db` (boolean): Can manage product catalogs
- `can_manage_programmatic` (boolean): Can manage programmatic
- `can_manage_self_serve` (boolean): Can manage Self-Serve
- `can_manage_targets` (boolean): Can manage targets
- `can_manage_tickets` (boolean): Can manage tickets
- `can_manage_users` (boolean): Can manage users
- `id` (number, required): Role ID
- `is_default_role` (boolean): Auto-assign to new users
- `name` (string): Role name
- `publisher_access` (string): Publisher access level
- `publisher_access_list` (array): Publisher IDs for specific access
- `statistics_access` (string): Statistics access level

### `delete_role` (~21 tokens)

Delete a role

Input parameters:

- `id` (number, required): Role ID

### `list_contacts` (~46 tokens)

List all contacts in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_contact` (~26 tokens)

Get details of a specific contact by ID

Input parameters:

- `id` (number, required): Contact ID

### `create_contact` (~52 tokens)

Create a new contact

Input parameters:

- `email` (string, required): Contact email address (must be unique)
- `name` (string, required): Contact name (full name recommended)
- `notes` (string): Additional notes about the contact

### `update_contact` (~50 tokens)

Update an existing contact

Input parameters:

- `email` (string): Contact email address
- `id` (number, required): Contact ID
- `name` (string): Contact name
- `notes` (string): Additional notes

### `delete_contact` (~21 tokens)

Delete a contact

Input parameters:

- `id` (number, required): Contact ID

### `get_contact_report_schedules` (~27 tokens)

List report schedules for a contact

Input parameters:

- `id` (number, required): Contact ID

### `list_demand_sources` (~49 tokens)

List all demand sources in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_demand_source` (~30 tokens)

Get details of a specific demand source by ID

Input parameters:

- `id` (number, required): Demand source ID

### `create_demand_source` (~181 tokens)

Create a new demand source

Input parameters:

- `name` (string, required): Demand source name
- `network` (string, required): Network type: 'adview', 'aerserv', 'inmobi', 'inneractive', 'loopme', 'mobilefuse', 'onebyaol', 'pubmatic', 'pubnative', 'smaato', 'startapp', 'tappx', 'consumable', 'bidphysics', or 'openrtb'
- `spend_limit` (number): Spend limit amount
- `spend_limit_end` (string): Spend limit end date (ISO-8601)
- `spend_limit_period` (string): Spend limit reset interval
- `spend_limit_start` (string): Spend limit start date (ISO-8601)
- `status` (string): Whether to send bid requests (default: active)

### `update_demand_source` (~108 tokens)

Update an existing demand source

Input parameters:

- `id` (number, required): Demand source ID
- `name` (string): Demand source name
- `spend_limit` (number): Spend limit amount
- `spend_limit_end` (string): Spend limit end date (ISO-8601)
- `spend_limit_period` (string): Spend limit reset interval
- `spend_limit_start` (string): Spend limit start date (ISO-8601)
- `status` (string): Whether to send bid requests

### `delete_demand_source` (~25 tokens)

Delete a demand source

Input parameters:

- `id` (number, required): Demand source ID

### `list_demand_endpoints` (~50 tokens)

List all demand endpoints in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_demand_endpoint` (~30 tokens)

Get details of a specific demand endpoint by ID

Input parameters:

- `id` (number, required): Demand endpoint ID

### `create_demand_endpoint` (~250 tokens)

Create a new demand endpoint

Input parameters:

- `allowed_sizes` (array): Allowed zone sizes (e.g. ["300x250", "728x90"])
- `bid_floor` (number): Default CPM bid floor
- `default_parameters` (object, required): Default parameters for the endpoint (e.g. { url: "https://..." })
- `demand_source` (number, required): Demand Source ID this endpoint belongs to
- `filter_type` (string): Zone filtering type
- `filtered_vast_zones` (array): VAST zone IDs for the filter list
- `filtered_zones` (array): Zone IDs for the filter list
- `geo_target` (number): Geo target ID for geographic targeting
- `markup_percent` (number): Markup percent applied to zone bid floor
- `name` (string, required): Demand endpoint name
- `native_json_encoded` (boolean): Whether native JSON should be encoded
- `priority` (string): Serving priority
- `revenue_share` (number): Revenue share percentage paid to publisher
- `status` (string): Whether to send bid requests (default: active)
- `supported_formats` (array, required): Supported ad formats: "display", "native", "video"

### `update_demand_endpoint` (~203 tokens)

Update an existing demand endpoint

Input parameters:

- `allowed_sizes` (array): Allowed zone sizes
- `bid_floor` (number): Default CPM bid floor
- `default_parameters` (object): Default parameters
- `demand_source` (number): Demand Source ID
- `filter_type` (string): Zone filtering type
- `filtered_vast_zones` (array): VAST zone IDs for filter list
- `filtered_zones` (array): Zone IDs for filter list
- `geo_target` (number): Geo target ID
- `id` (number, required): Demand endpoint ID
- `markup_percent` (number): Markup percent
- `name` (string): Demand endpoint name
- `native_json_encoded` (boolean): Whether native JSON should be encoded
- `priority` (string): Serving priority
- `revenue_share` (number): Revenue share percentage
- `status` (string): Whether to send bid requests
- `supported_formats` (array): Supported ad formats

### `delete_demand_endpoint` (~25 tokens)

Delete a demand endpoint

Input parameters:

- `id` (number, required): Demand endpoint ID

### `list_pmp_deals` (~50 tokens)

List all PMP deals in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_pmp_deal` (~31 tokens)

Get details of a specific PMP deal by ID

Input parameters:

- `id` (number, required): PMP deal ID

### `create_pmp_deal` (~88 tokens)

Create a new PMP deal

Input parameters:

- `audience_target` (number): Audience target ID (null = no targeting)
- `bid_floor` (number): Bid floor for this deal
- `geo_target` (number): Geo target ID (0 = no targeting)
- `name` (string): PMP deal name
- `whitelist_seats` (array): Seat IDs with access to this deal

### `update_pmp_deal` (~82 tokens)

Update an existing PMP deal

Input parameters:

- `audience_target` (number): Audience target ID
- `bid_floor` (number): Bid floor
- `geo_target` (number): Geo target ID
- `id` (number, required): PMP deal ID
- `name` (string): PMP deal name
- `whitelist_seats` (array): Seat IDs with access

### `delete_pmp_deal` (~26 tokens)

Delete a PMP deal

Input parameters:

- `id` (number, required): PMP deal ID

### `list_ortb_native_templates` (~54 tokens)

List all OpenRTB native templates in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_ortb_native_template` (~37 tokens)

Get details of a specific OpenRTB native template by ID

Input parameters:

- `id` (number, required): ORTB native template ID

### `create_ortb_native_template` (~58 tokens)

Create a new OpenRTB native template

Input parameters:

- `html_template` (string): HTML template for rendering the native ad (e.g. "<div>{{title}}</div>")
- `name` (string): ORTB native template name

### `update_ortb_native_template` (~60 tokens)

Update an existing OpenRTB native template

Input parameters:

- `html_template` (string): HTML template for rendering the native ad
- `id` (number, required): ORTB native template ID
- `name` (string): ORTB native template name

### `delete_ortb_native_template` (~32 tokens)

Delete an OpenRTB native template

Input parameters:

- `id` (number, required): ORTB native template ID

### `list_user_dbs` (~49 tokens)

List all user databases in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_user_db` (~29 tokens)

Get details of a specific user database by ID

Input parameters:

- `id` (number, required): User database ID

### `create_user_db` (~44 tokens)

Create a new user database

Input parameters:

- `id_field_name` (string): Name of the field to use as primary user identifier
- `name` (string): User database name

### `list_user_attributes` (~58 tokens)

List all user attributes in a user database

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `user_db_id` (number, required): User database ID

### `get_user_attribute` (~43 tokens)

Get details of a specific user attribute in a user database

Input parameters:

- `id` (number, required): User attribute ID
- `user_db_id` (number, required): User database ID

### `create_user_attribute` (~76 tokens)

Create a new user attribute in a user database

Input parameters:

- `id` (string): Field name in the user data (e.g. "signup_datetime")
- `label` (string): Descriptive label for the field
- `type` (string): Data type of the field
- `user_db_id` (number, required): User database ID

### `update_user_attribute` (~66 tokens)

Update an existing user attribute in a user database

Input parameters:

- `id` (number, required): User attribute ID
- `label` (string): Descriptive label for the field
- `type` (string): Data type of the field
- `user_db_id` (number, required): User database ID

### `delete_user_attribute` (~40 tokens)

Delete a user attribute from a user database

Input parameters:

- `id` (number, required): User attribute ID
- `user_db_id` (number, required): User database ID

### `list_audiences` (~58 tokens)

List all audiences in a user database

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `user_db_id` (number, required): User database ID

### `get_audience` (~41 tokens)

Get details of a specific audience in a user database

Input parameters:

- `id` (number, required): Audience ID
- `user_db_id` (number, required): User database ID

### `create_audience` (~72 tokens)

Create a new audience in a user database

Input parameters:

- `attributes` (object): Attribute targets defining the audience (e.g. { "gender": { "operator": "=", "operand": "male" } })
- `name` (string): Audience name
- `user_db_id` (number, required): User database ID

### `update_audience` (~60 tokens)

Update an existing audience in a user database

Input parameters:

- `attributes` (object): Attribute targets defining the audience
- `id` (number, required): Audience ID
- `name` (string): Audience name
- `user_db_id` (number, required): User database ID

### `delete_audience` (~38 tokens)

Delete an audience from a user database

Input parameters:

- `id` (number, required): Audience ID
- `user_db_id` (number, required): User database ID

### `get_user` (~39 tokens)

Get a single user from a user database

Input parameters:

- `user_db_id` (number, required): User database ID
- `user_id` (string, required): User ID

### `create_user` (~49 tokens)

Create a new user in a user database

Input parameters:

- `attributes` (object): User attribute values
- `user_db_id` (number, required): User database ID
- `user_id` (string): User ID

### `bulk_upload_replace_user_db` (~33 tokens)

Bulk upload to replace all user data in a user database

Input parameters:

- `id` (number, required): User database ID

### `add_user_list_attribute_values` (~65 tokens)

Add values to a list attribute for a user

Input parameters:

- `list_attribute_name` (string, required): List attribute name
- `user_db_id` (number, required): User database ID
- `user_id` (string, required): User ID
- `values` (array): Values to add

### `remove_user_list_attribute_values` (~65 tokens)

Remove values from a list attribute for a user

Input parameters:

- `list_attribute_name` (string, required): List attribute name
- `user_db_id` (number, required): User database ID
- `user_id` (string, required): User ID
- `values` (array): Values to remove

### `list_data_lists` (~48 tokens)

List all data lists in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_data_list` (~29 tokens)

Get details of a specific data list by ID

Input parameters:

- `id` (number, required): Data list ID

### `create_data_list` (~26 tokens)

Create a new data list

Input parameters:

- `label` (string, required): Data list label/name

### `update_data_list` (~36 tokens)

Update an existing data list

Input parameters:

- `id` (number, required): Data list ID
- `label` (string): Data list label/name

### `delete_data_list` (~24 tokens)

Delete a data list

Input parameters:

- `id` (number, required): Data list ID

### `bulk_upload_add_data_list` (~40 tokens)

Bulk add entries to a data list

Input parameters:

- `data` (string): CSV data to add
- `id` (number, required): Data list ID

### `bulk_upload_remove_data_list` (~40 tokens)

Bulk remove entries from a data list

Input parameters:

- `data` (string): CSV data to remove
- `id` (number, required): Data list ID

### `bulk_upload_replace_data_list` (~43 tokens)

Bulk replace all entries in a data list

Input parameters:

- `data` (string): CSV data to replace list with
- `id` (number, required): Data list ID

### `list_beacon_signing_keys` (~52 tokens)

List all beacon signing keys in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_beacon_signing_key` (~34 tokens)

Get details of a specific beacon signing key by ID

Input parameters:

- `id` (number, required): Beacon signing key ID

### `create_beacon_signing_key` (~31 tokens)

Create a new beacon signing key

Input parameters:

- `key_name` (string, required): Beacon signing key name

### `update_beacon_signing_key` (~42 tokens)

Update an existing beacon signing key

Input parameters:

- `id` (number, required): Beacon signing key ID
- `key_name` (string): Beacon signing key name

### `delete_beacon_signing_key` (~29 tokens)

Delete a beacon signing key

Input parameters:

- `id` (number, required): Beacon signing key ID

### `list_trusted_redirect_domains` (~51 tokens)

List all trusted redirect domains in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_trusted_redirect_domain` (~33 tokens)

Get details of a specific trusted redirect domain by ID

Input parameters:

- `id` (number, required): Trusted redirect domain ID

### `create_trusted_redirect_domain` (~34 tokens)

Create a new trusted redirect domain

Input parameters:

- `domain` (string, required): Trusted redirect domain (e.g. example.com)

### `update_trusted_redirect_domain` (~45 tokens)

Update an existing trusted redirect domain

Input parameters:

- `domain` (string): Trusted redirect domain (e.g. example.com)
- `id` (number, required): Trusted redirect domain ID

### `delete_trusted_redirect_domain` (~28 tokens)

Delete a trusted redirect domain

Input parameters:

- `id` (number, required): Trusted redirect domain ID

### `validate_beacon_signing_key` (~30 tokens)

Validate a beacon signing key

Input parameters:

- `key` (string): Beacon signing key to validate

### `draft_list_campaigns` (~44 tokens)

List all draft standard campaigns

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_campaign` (~28 tokens)

Get details of a specific draft standard campaign

Input parameters:

- `id` (number, required): Draft campaign ID

### `draft_create_campaign` (~44 tokens)

Create a new draft standard campaign. Fields go inside a "draft" object wrapper.

Input parameters:

- `draft` (object, required): Object containing standard campaign fields (name, advertiser, etc.)

### `draft_update_campaign` (~40 tokens)

Update an existing draft standard campaign

Input parameters:

- `draft` (object): Object containing standard campaign fields to update
- `id` (number, required): Draft campaign ID

### `draft_delete_campaign` (~25 tokens)

Delete a draft standard campaign

Input parameters:

- `id` (number, required): Draft campaign ID

### `draft_list_ad_items` (~47 tokens)

List all draft ad items across all types

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_ad_item` (~32 tokens)

Get a draft ad item of any type by ID

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_image_ad_items` (~46 tokens)

List all draft image ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_image_ad_item` (~32 tokens)

Get details of a specific draft image ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_create_image_ad_item` (~53 tokens)

Create a new draft image ad item

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this ad item belongs to
- `draft` (object, required): Object containing image ad item fields (name required)

### `draft_update_image_ad_item` (~45 tokens)

Update an existing draft image ad item

Input parameters:

- `draft` (object): Object containing image ad item fields to update
- `id` (number, required): Draft ad item ID

### `draft_delete_image_ad_item` (~29 tokens)

Delete a draft image ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_rich_media_ad_items` (~49 tokens)

List all draft rich media ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_rich_media_ad_item` (~35 tokens)

Get details of a specific draft rich media ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_create_rich_media_ad_item` (~57 tokens)

Create a new draft rich media ad item

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this ad item belongs to
- `draft` (object, required): Object containing rich media ad item fields (name required)

### `draft_update_rich_media_ad_item` (~49 tokens)

Update an existing draft rich media ad item

Input parameters:

- `draft` (object): Object containing rich media ad item fields to update
- `id` (number, required): Draft ad item ID

### `draft_delete_rich_media_ad_item` (~32 tokens)

Delete a draft rich media ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_custom_html_ad_items` (~48 tokens)

List all draft custom HTML ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_custom_html_ad_item` (~34 tokens)

Get details of a specific draft custom HTML ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_create_custom_html_ad_item` (~59 tokens)

Create a new draft custom HTML ad item

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this ad item belongs to
- `draft` (object, required): Object containing custom HTML ad item fields (name, custom_html required)

### `draft_update_custom_html_ad_item` (~48 tokens)

Update an existing draft custom HTML ad item

Input parameters:

- `draft` (object): Object containing custom HTML ad item fields to update
- `id` (number, required): Draft ad item ID

### `draft_delete_custom_html_ad_item` (~31 tokens)

Delete a draft custom HTML ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_native_ad_items` (~46 tokens)

List all draft native ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_native_ad_item` (~32 tokens)

Get details of a specific draft native ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_create_native_ad_item` (~60 tokens)

Create a new draft native ad item

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this ad item belongs to
- `draft` (object, required): Object containing native ad item fields (name required, plus template, variables, etc.)

### `draft_update_native_ad_item` (~45 tokens)

Update an existing draft native ad item

Input parameters:

- `draft` (object): Object containing native ad item fields to update
- `id` (number, required): Draft ad item ID

### `draft_delete_native_ad_item` (~29 tokens)

Delete a draft native ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_catalog_ad_items` (~46 tokens)

List all draft catalog ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_catalog_ad_item` (~32 tokens)

Get details of a specific draft catalog ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_create_catalog_ad_item` (~53 tokens)

Create a new draft catalog ad item

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this ad item belongs to
- `draft` (object, required): Object containing catalog ad item fields (name required)

### `draft_update_catalog_ad_item` (~45 tokens)

Update an existing draft catalog ad item

Input parameters:

- `draft` (object): Object containing catalog ad item fields to update
- `id` (number, required): Draft ad item ID

### `draft_delete_catalog_ad_item` (~29 tokens)

Delete a draft catalog ad item

Input parameters:

- `id` (number, required): Draft ad item ID

### `draft_list_campaign_assignments` (~45 tokens)

List all draft campaign assignments

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_campaign_assignment` (~30 tokens)

Get details of a specific draft campaign assignment

Input parameters:

- `id` (number, required): Draft campaign assignment ID

### `draft_create_campaign_assignment` (~71 tokens)

Create a new draft campaign assignment

Input parameters:

- `ad_item_draft_id` (number, required): Draft ad item ID this assignment references
- `campaign_draft_id` (number, required): Draft campaign ID this assignment belongs to
- `draft` (object): Object containing campaign assignment fields (campaign and advertisement auto-resolved)

### `draft_update_campaign_assignment` (~42 tokens)

Update an existing draft campaign assignment

Input parameters:

- `draft` (object): Object containing campaign assignment fields to update
- `id` (number, required): Draft campaign assignment ID

### `draft_delete_campaign_assignment` (~27 tokens)

Delete a draft campaign assignment

Input parameters:

- `id` (number, required): Draft campaign assignment ID

### `draft_list_placements` (~43 tokens)

List all draft placements

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_placement` (~28 tokens)

Get details of a specific draft placement

Input parameters:

- `id` (number, required): Draft placement ID

### `draft_create_placement` (~50 tokens)

Create a new draft placement

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this placement belongs to
- `draft` (object, required): Object containing placement fields (zone, advertisement, etc.)

### `draft_update_placement` (~39 tokens)

Update an existing draft placement

Input parameters:

- `draft` (object): Object containing placement fields to update
- `id` (number, required): Draft placement ID

### `draft_delete_placement` (~25 tokens)

Delete a draft placement

Input parameters:

- `id` (number, required): Draft placement ID

### `draft_list_schedules` (~43 tokens)

List all draft schedules

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `draft_get_schedule` (~27 tokens)

Get details of a specific draft schedule

Input parameters:

- `id` (number, required): Draft schedule ID

### `draft_create_schedule` (~43 tokens)

Create a new draft schedule

Input parameters:

- `campaign_draft_id` (number, required): Draft campaign ID this schedule belongs to
- `draft` (object, required): Object containing schedule fields

### `draft_update_schedule` (~38 tokens)

Update an existing draft schedule

Input parameters:

- `draft` (object): Object containing schedule fields to update
- `id` (number, required): Draft schedule ID

### `draft_delete_schedule` (~24 tokens)

Delete a draft schedule

Input parameters:

- `id` (number, required): Draft schedule ID

### `draft_save_campaign` (~33 tokens)

Save/publish a draft campaign (converts draft to live campaign)

Input parameters:

- `id` (number, required): Draft campaign ID

### `list_product_catalogs` (~56 tokens)

List all product catalogs for a publisher

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `publisher_id` (number, required): Publisher ID

### `get_product_catalog` (~37 tokens)

Get details of a specific product catalog

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `publisher_id` (number, required): Publisher ID

### `create_product_catalog` (~37 tokens)

Create a new product catalog for a publisher

Input parameters:

- `name` (string): Catalog name
- `publisher_id` (number, required): Publisher ID

### `update_product_catalog` (~44 tokens)

Update an existing product catalog

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `name` (string): Catalog name
- `publisher_id` (number, required): Publisher ID

### `search_product_catalog_items` (~48 tokens)

Search for items in a product catalog

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `publisher_id` (number, required): Publisher ID
- `query` (string): Search query string

### `get_product_catalog_item` (~52 tokens)

Get details of a specific product catalog item

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `identifier` (string, required): Unique identifier for the catalog item
- `publisher_id` (number, required): Publisher ID

### `create_product_catalog_item` (~108 tokens)

Create a new item in a product catalog

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `category` (string): Item category
- `description` (string): Item description
- `identifier` (string): Unique identifier for the catalog item
- `image_url` (string): Item image URL
- `name` (string): Item name
- `price` (string): Item price
- `publisher_id` (number, required): Publisher ID
- `url` (string): Item URL

### `update_product_catalog_item` (~106 tokens)

Update an existing product catalog item

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `category` (string): Item category
- `description` (string): Item description
- `identifier` (string, required): Unique identifier for the catalog item
- `image_url` (string): Item image URL
- `name` (string): Item name
- `price` (string): Item price
- `publisher_id` (number, required): Publisher ID
- `url` (string): Item URL

### `bulk_upload_product_catalog` (~38 tokens)

Bulk upload items to a product catalog

Input parameters:

- `catalog_id` (number, required): Catalog ID
- `publisher_id` (number, required): Publisher ID

### `list_product_sources` (~55 tokens)

List all product sources for a publisher

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `publisher_id` (number, required): Publisher ID

### `get_product_source` (~37 tokens)

Get details of a specific product source

Input parameters:

- `publisher_id` (number, required): Publisher ID
- `source_id` (number, required): Source ID

### `create_product_source` (~55 tokens)

Create a new product source for a publisher

Input parameters:

- `name` (string): Source name
- `publisher_id` (number, required): Publisher ID
- `type` (string): Source type
- `url` (string): Source URL

### `update_product_source` (~62 tokens)

Update an existing product source

Input parameters:

- `name` (string): Source name
- `publisher_id` (number, required): Publisher ID
- `source_id` (number, required): Source ID
- `type` (string): Source type
- `url` (string): Source URL

### `delete_product_source` (~34 tokens)

Delete a product source

Input parameters:

- `publisher_id` (number, required): Publisher ID
- `source_id` (number, required): Source ID

### `bulk_create_product_sources` (~41 tokens)

Bulk create product sources for a publisher

Input parameters:

- `publisher_id` (number, required): Publisher ID
- `sources` (array): Array of source objects to create

### `list_product_source_targets` (~57 tokens)

List all product source targets for a publisher

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `publisher_id` (number, required): Publisher ID

### `get_product_source_target` (~41 tokens)

Get details of a specific product source target

Input parameters:

- `publisher_id` (number, required): Publisher ID
- `source_target_id` (number, required): Source target ID

### `create_product_source_target` (~52 tokens)

Create a new product source target for a publisher

Input parameters:

- `name` (string): Source target name
- `publisher_id` (number, required): Publisher ID
- `source_id` (number): Source ID to target

### `update_product_source_target` (~61 tokens)

Update an existing product source target

Input parameters:

- `name` (string): Source target name
- `publisher_id` (number, required): Publisher ID
- `source_id` (number): Source ID to target
- `source_target_id` (number, required): Source target ID

### `delete_product_source_target` (~38 tokens)

Delete a product source target

Input parameters:

- `publisher_id` (number, required): Publisher ID
- `source_target_id` (number, required): Source target ID

### `list_bidders` (~47 tokens)

List all bidders in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_bidder` (~28 tokens)

Get details of a specific bidder by ID

Input parameters:

- `id` (number, required): Bidder ID

### `create_bidder` (~45 tokens)

Create a new bidder

Input parameters:

- `bid_url` (string): Bid endpoint URL
- `name` (string, required): Bidder name
- `status` (string): Bidder status

### `update_bidder` (~55 tokens)

Update an existing bidder

Input parameters:

- `bid_url` (string): Bid endpoint URL
- `id` (number, required): Bidder ID
- `name` (string): Bidder name
- `status` (string): Bidder status

### `delete_bidder` (~23 tokens)

Delete a bidder

Input parameters:

- `id` (number, required): Bidder ID

### `list_sftp_connections` (~50 tokens)

List all SFTP connections in your AdButler account

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_sftp_connection` (~32 tokens)

Get details of a specific SFTP connection by ID

Input parameters:

- `id` (number, required): SFTP connection ID

### `create_sftp_connection` (~75 tokens)

Create a new SFTP connection

Input parameters:

- `host` (string): SFTP host
- `name` (string): Connection name
- `password` (string): SFTP password
- `path` (string): Remote path
- `port` (number): SFTP port
- `username` (string): SFTP username

### `update_sftp_connection` (~86 tokens)

Update an existing SFTP connection

Input parameters:

- `host` (string): SFTP host
- `id` (number, required): SFTP connection ID
- `name` (string): Connection name
- `password` (string): SFTP password
- `path` (string): Remote path
- `port` (number): SFTP port
- `username` (string): SFTP username

### `delete_sftp_connection` (~27 tokens)

Delete an SFTP connection

Input parameters:

- `id` (number, required): SFTP connection ID

### `test_sftp_connection` (~69 tokens)

Test an SFTP connection with the provided credentials

Input parameters:

- `host` (string): SFTP host
- `password` (string): SFTP password
- `path` (string): Remote path
- `port` (number): SFTP port
- `username` (string): SFTP username

### `list_event_log_upload_configs` (~46 tokens)

List all event log upload configurations

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_event_log_upload_config` (~31 tokens)

Get details of a specific event log upload configuration

Input parameters:

- `id` (number, required): Upload configuration ID

### `create_event_log_upload_config` (~86 tokens)

Create a new event log upload configuration

Input parameters:

- `connection_id` (number): SFTP connection ID to use for upload
- `enabled` (boolean): Whether the upload configuration is enabled
- `format` (string): Log file format
- `frequency` (string): Upload frequency (e.g. "daily", "hourly")
- `name` (string): Configuration name

### `update_event_log_upload_config` (~96 tokens)

Update an existing event log upload configuration

Input parameters:

- `connection_id` (number): SFTP connection ID to use for upload
- `enabled` (boolean): Whether the upload configuration is enabled
- `format` (string): Log file format
- `frequency` (string): Upload frequency (e.g. "daily", "hourly")
- `id` (number, required): Upload configuration ID
- `name` (string): Configuration name

### `delete_event_log_upload_config` (~28 tokens)

Delete an event log upload configuration

Input parameters:

- `id` (number, required): Upload configuration ID

### `list_event_log_upload_logs` (~46 tokens)

List all event log upload logs

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `get_event_log_upload_log` (~32 tokens)

Get details of a specific event log upload log entry

Input parameters:

- `id` (number, required): Upload log ID

### `vast42_list_ads` (~49 tokens)

List all VAST 4.2 ad items

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_ad` (~38 tokens)

Get a single VAST 4.2 ad item

Input parameters:

- `id` (number, required): VAST 4.2 ad item ID

### `vast42_create_ad` (~57 tokens)

Create a VAST 4.2 ad item

Input parameters:

- `active` (boolean): Whether ad item is active
- `location` (string): VAST tag URL or media location
- `name` (string, required): Ad item name

### `vast42_update_ad` (~73 tokens)

Update a VAST 4.2 ad item

Input parameters:

- `active` (boolean): Whether ad item is active
- `id` (number, required): VAST 4.2 ad item ID
- `location` (string): VAST tag URL or media location
- `name` (string): Ad item name

### `vast42_delete_ad` (~37 tokens)

Delete a VAST 4.2 ad item

Input parameters:

- `id` (number, required): VAST 4.2 ad item ID

### `vast42_list_creatives` (~49 tokens)

List all VAST 4.2 creatives

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_creative` (~37 tokens)

Get a single VAST 4.2 creative

Input parameters:

- `id` (number, required): VAST 4.2 creative ID

### `vast42_create_creative` (~39 tokens)

Create a VAST 4.2 creative

Input parameters:

- `description` (string): Creative description
- `name` (string): Creative name

### `vast42_update_creative` (~54 tokens)

Update a VAST 4.2 creative

Input parameters:

- `description` (string): Creative description
- `id` (number, required): VAST 4.2 creative ID
- `name` (string): Creative name

### `vast42_delete_creative` (~36 tokens)

Delete a VAST 4.2 creative

Input parameters:

- `id` (number, required): VAST 4.2 creative ID

### `vast42_list_linears` (~50 tokens)

List all VAST 4.2 linear media

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_linear` (~38 tokens)

Get a single VAST 4.2 linear media

Input parameters:

- `id` (number, required): VAST 4.2 linear media ID

### `vast42_create_linear` (~70 tokens)

Create a VAST 4.2 linear media

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `duration` (number): Duration in seconds
- `mime_type` (string): MIME type (e.g. video/mp4)
- `name` (string, required): Linear media name

### `vast42_update_linear` (~86 tokens)

Update a VAST 4.2 linear media

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `duration` (number): Duration in seconds
- `id` (number, required): VAST 4.2 linear media ID
- `mime_type` (string): MIME type (e.g. video/mp4)
- `name` (string): Linear media name

### `vast42_delete_linear` (~37 tokens)

Delete a VAST 4.2 linear media

Input parameters:

- `id` (number, required): VAST 4.2 linear media ID

### `vast42_list_non_linears` (~52 tokens)

List all VAST 4.2 non-linear media

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_non_linear` (~41 tokens)

Get a single VAST 4.2 non-linear media

Input parameters:

- `id` (number, required): VAST 4.2 non-linear media ID

### `vast42_create_non_linear` (~64 tokens)

Create a VAST 4.2 non-linear media

Input parameters:

- `height` (number): Height in pixels
- `mime_type` (string): MIME type
- `name` (string, required): Non-linear media name
- `width` (number): Width in pixels

### `vast42_update_non_linear` (~81 tokens)

Update a VAST 4.2 non-linear media

Input parameters:

- `height` (number): Height in pixels
- `id` (number, required): VAST 4.2 non-linear media ID
- `mime_type` (string): MIME type
- `name` (string): Non-linear media name
- `width` (number): Width in pixels

### `vast42_delete_non_linear` (~40 tokens)

Delete a VAST 4.2 non-linear media

Input parameters:

- `id` (number, required): VAST 4.2 non-linear media ID

### `vast42_list_companions` (~50 tokens)

List all VAST 4.2 companions

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_companion` (~37 tokens)

Get a single VAST 4.2 companion

Input parameters:

- `id` (number, required): VAST 4.2 companion ID

### `vast42_create_companion` (~52 tokens)

Create a VAST 4.2 companion

Input parameters:

- `height` (number): Companion height in pixels
- `name` (string, required): Companion name
- `width` (number): Companion width in pixels

### `vast42_update_companion` (~67 tokens)

Update a VAST 4.2 companion

Input parameters:

- `height` (number): Companion height in pixels
- `id` (number, required): VAST 4.2 companion ID
- `name` (string): Companion name
- `width` (number): Companion width in pixels

### `vast42_delete_companion` (~36 tokens)

Delete a VAST 4.2 companion

Input parameters:

- `id` (number, required): VAST 4.2 companion ID

### `vast42_list_media_files` (~50 tokens)

List all VAST 4.2 media files

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_media_file` (~39 tokens)

Get a single VAST 4.2 media file

Input parameters:

- `id` (number, required): VAST 4.2 media file ID

### `vast42_create_media_file` (~74 tokens)

Create a VAST 4.2 media file

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `height` (number): Height in pixels
- `mime_type` (string): MIME type
- `name` (string): Media file name
- `width` (number): Width in pixels

### `vast42_update_media_file` (~90 tokens)

Update a VAST 4.2 media file

Input parameters:

- `bitrate` (number): Bitrate in kbps
- `height` (number): Height in pixels
- `id` (number, required): VAST 4.2 media file ID
- `mime_type` (string): MIME type
- `name` (string): Media file name
- `width` (number): Width in pixels

### `vast42_delete_media_file` (~38 tokens)

Delete a VAST 4.2 media file

Input parameters:

- `id` (number, required): VAST 4.2 media file ID

### `vast42_list_mezzanines` (~53 tokens)

List all VAST 4.2 mezzanines

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_mezzanine` (~40 tokens)

Get a single VAST 4.2 mezzanine

Input parameters:

- `id` (number, required): VAST 4.2 mezzanine ID

### `vast42_create_mezzanine` (~44 tokens)

Create a VAST 4.2 mezzanine

Input parameters:

- `mime_type` (string): MIME type
- `name` (string): Mezzanine name

### `vast42_update_mezzanine` (~60 tokens)

Update a VAST 4.2 mezzanine

Input parameters:

- `id` (number, required): VAST 4.2 mezzanine ID
- `mime_type` (string): MIME type
- `name` (string): Mezzanine name

### `vast42_delete_mezzanine` (~39 tokens)

Delete a VAST 4.2 mezzanine

Input parameters:

- `id` (number, required): VAST 4.2 mezzanine ID

### `vast42_list_resources` (~48 tokens)

List all VAST 4.2 resources

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_resource` (~36 tokens)

Get a single VAST 4.2 resource

Input parameters:

- `id` (number, required): VAST 4.2 resource ID

### `vast42_create_resource` (~38 tokens)

Create a VAST 4.2 resource

Input parameters:

- `name` (string): Resource name
- `type` (string): Resource type

### `vast42_update_resource` (~53 tokens)

Update a VAST 4.2 resource

Input parameters:

- `id` (number, required): VAST 4.2 resource ID
- `name` (string): Resource name
- `type` (string): Resource type

### `vast42_delete_resource` (~35 tokens)

Delete a VAST 4.2 resource

Input parameters:

- `id` (number, required): VAST 4.2 resource ID

### `vast42_list_icons` (~48 tokens)

List all VAST 4.2 icons

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_icon` (~36 tokens)

Get a single VAST 4.2 icon

Input parameters:

- `id` (number, required): VAST 4.2 icon ID

### `vast42_create_icon` (~51 tokens)

Create a VAST 4.2 icon

Input parameters:

- `height` (number): Icon height in pixels
- `name` (string): Icon name
- `width` (number): Icon width in pixels

### `vast42_update_icon` (~66 tokens)

Update a VAST 4.2 icon

Input parameters:

- `height` (number): Icon height in pixels
- `id` (number, required): VAST 4.2 icon ID
- `name` (string): Icon name
- `width` (number): Icon width in pixels

### `vast42_delete_icon` (~35 tokens)

Delete a VAST 4.2 icon

Input parameters:

- `id` (number, required): VAST 4.2 icon ID

### `vast42_list_icon_click_fallback_images` (~55 tokens)

List all VAST 4.2 icon click fallback images

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_icon_click_fallback_image` (~46 tokens)

Get a single VAST 4.2 icon click fallback image

Input parameters:

- `id` (number, required): VAST 4.2 icon click fallback image ID

### `vast42_create_icon_click_fallback_image` (~59 tokens)

Create a VAST 4.2 icon click fallback image

Input parameters:

- `height` (number): Height in pixels
- `name` (string): Icon click fallback image name
- `width` (number): Width in pixels

### `vast42_update_icon_click_fallback_image` (~77 tokens)

Update a VAST 4.2 icon click fallback image

Input parameters:

- `height` (number): Height in pixels
- `id` (number, required): VAST 4.2 icon click fallback image ID
- `name` (string): Icon click fallback image name
- `width` (number): Width in pixels

### `vast42_delete_icon_click_fallback_image` (~45 tokens)

Delete a VAST 4.2 icon click fallback image

Input parameters:

- `id` (number, required): VAST 4.2 icon click fallback image ID

### `vast42_list_closed_caption_files` (~52 tokens)

List all VAST 4.2 closed caption files

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_closed_caption_file` (~42 tokens)

Get a single VAST 4.2 closed caption file

Input parameters:

- `id` (number, required): VAST 4.2 closed caption file ID

### `vast42_create_closed_caption_file` (~44 tokens)

Create a VAST 4.2 closed caption file

Input parameters:

- `language` (string): Language code
- `name` (string): Closed caption file name

### `vast42_update_closed_caption_file` (~61 tokens)

Update a VAST 4.2 closed caption file

Input parameters:

- `id` (number, required): VAST 4.2 closed caption file ID
- `language` (string): Language code
- `name` (string): Closed caption file name

### `vast42_delete_closed_caption_file` (~41 tokens)

Delete a VAST 4.2 closed caption file

Input parameters:

- `id` (number, required): VAST 4.2 closed caption file ID

### `vast42_list_interactive_creative_files` (~54 tokens)

List all VAST 4.2 interactive creative files

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_interactive_creative_file` (~44 tokens)

Get a single VAST 4.2 interactive creative file

Input parameters:

- `id` (number, required): VAST 4.2 interactive creative file ID

### `vast42_create_interactive_creative_file` (~47 tokens)

Create a VAST 4.2 interactive creative file

Input parameters:

- `mime_type` (string): MIME type
- `name` (string): Interactive creative file name

### `vast42_update_interactive_creative_file` (~64 tokens)

Update a VAST 4.2 interactive creative file

Input parameters:

- `id` (number, required): VAST 4.2 interactive creative file ID
- `mime_type` (string): MIME type
- `name` (string): Interactive creative file name

### `vast42_delete_interactive_creative_file` (~43 tokens)

Delete a VAST 4.2 interactive creative file

Input parameters:

- `id` (number, required): VAST 4.2 interactive creative file ID

### `vast42_list_universal_ad_ids` (~53 tokens)

List all VAST 4.2 universal ad IDs

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_universal_ad_id` (~42 tokens)

Get a single VAST 4.2 universal ad ID

Input parameters:

- `id` (number, required): VAST 4.2 universal ad ID

### `vast42_create_universal_ad_id` (~56 tokens)

Create a VAST 4.2 universal ad ID

Input parameters:

- `id_registry` (string): ID registry
- `id_value` (string): ID value
- `name` (string): Universal ad ID name

### `vast42_update_universal_ad_id` (~72 tokens)

Update a VAST 4.2 universal ad ID

Input parameters:

- `id` (number, required): VAST 4.2 universal ad ID
- `id_registry` (string): ID registry
- `id_value` (string): ID value
- `name` (string): Universal ad ID name

### `vast42_delete_universal_ad_id` (~41 tokens)

Delete a VAST 4.2 universal ad ID

Input parameters:

- `id` (number, required): VAST 4.2 universal ad ID

### `vast42_list_placements` (~49 tokens)

List all VAST 4.2 placements

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_placement` (~37 tokens)

Get a single VAST 4.2 placement

Input parameters:

- `id` (number, required): VAST 4.2 placement ID

### `vast42_create_placement` (~85 tokens)

Create a VAST 4.2 placement

Input parameters:

- `active` (boolean): Whether placement is active
- `advertisement` (object, required): Advertisement object with id and type
- `channel` (number): VAST channel ID
- `priority` (number): Priority level
- `schedule` (number): Schedule ID
- `zone` (number): VAST zone ID

### `vast42_update_placement` (~100 tokens)

Update a VAST 4.2 placement

Input parameters:

- `active` (boolean): Whether placement is active
- `advertisement` (object): Advertisement object with id and type
- `channel` (number): VAST channel ID
- `id` (number, required): VAST 4.2 placement ID
- `priority` (number): Priority level
- `schedule` (number): Schedule ID
- `zone` (number): VAST zone ID

### `vast42_delete_placement` (~36 tokens)

Delete a VAST 4.2 placement

Input parameters:

- `id` (number, required): VAST 4.2 placement ID

### `vast42_list_campaign_assignments` (~51 tokens)

List all VAST 4.2 campaign assignments

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset

### `vast42_get_campaign_assignment` (~39 tokens)

Get a single VAST 4.2 campaign assignment

Input parameters:

- `id` (number, required): VAST 4.2 campaign assignment ID

### `vast42_create_campaign_assignment` (~57 tokens)

Create a VAST 4.2 campaign assignment

Input parameters:

- `active` (boolean): Whether assignment is active
- `ad_item` (number): VAST ad item ID
- `campaign` (number): VAST campaign ID

### `vast42_update_campaign_assignment` (~73 tokens)

Update a VAST 4.2 campaign assignment

Input parameters:

- `active` (boolean): Whether assignment is active
- `ad_item` (number): VAST ad item ID
- `campaign` (number): VAST campaign ID
- `id` (number, required): VAST 4.2 campaign assignment ID

### `vast42_delete_campaign_assignment` (~38 tokens)

Delete a VAST 4.2 campaign assignment

Input parameters:

- `id` (number, required): VAST 4.2 campaign assignment ID

### `list_ortb_native_data_assets` (~65 tokens)

List all data assets for an ORTB native template

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `template_id` (number, required): ORTB native template ID

### `get_ortb_native_data_asset` (~50 tokens)

Get details of a specific data asset for an ORTB native template

Input parameters:

- `id` (number, required): Data asset ID
- `template_id` (number, required): ORTB native template ID

### `create_ortb_native_data_asset` (~57 tokens)

Create a new data asset for an ORTB native template

Input parameters:

- `len` (number): Max length
- `template_id` (number, required): ORTB native template ID
- `type` (number): Data asset type

### `update_ortb_native_data_asset` (~67 tokens)

Update an existing data asset for an ORTB native template

Input parameters:

- `id` (number, required): Data asset ID
- `len` (number): Max length
- `template_id` (number, required): ORTB native template ID
- `type` (number): Data asset type

### `delete_ortb_native_data_asset` (~47 tokens)

Delete a data asset from an ORTB native template

Input parameters:

- `id` (number, required): Data asset ID
- `template_id` (number, required): ORTB native template ID

### `list_ortb_native_image_assets` (~65 tokens)

List all image assets for an ORTB native template

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `template_id` (number, required): ORTB native template ID

### `get_ortb_native_image_asset` (~50 tokens)

Get details of a specific image asset for an ORTB native template

Input parameters:

- `id` (number, required): Image asset ID
- `template_id` (number, required): ORTB native template ID

### `create_ortb_native_image_asset` (~84 tokens)

Create a new image asset for an ORTB native template

Input parameters:

- `h` (number): Height
- `hmin` (number): Min height
- `template_id` (number, required): ORTB native template ID
- `type` (number): Image asset type
- `w` (number): Width
- `wmin` (number): Min width

### `update_ortb_native_image_asset` (~94 tokens)

Update an existing image asset for an ORTB native template

Input parameters:

- `h` (number): Height
- `hmin` (number): Min height
- `id` (number, required): Image asset ID
- `template_id` (number, required): ORTB native template ID
- `type` (number): Image asset type
- `w` (number): Width
- `wmin` (number): Min width

### `delete_ortb_native_image_asset` (~47 tokens)

Delete an image asset from an ORTB native template

Input parameters:

- `id` (number, required): Image asset ID
- `template_id` (number, required): ORTB native template ID

### `list_ortb_native_title_assets` (~65 tokens)

List all title assets for an ORTB native template

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `template_id` (number, required): ORTB native template ID

### `get_ortb_native_title_asset` (~50 tokens)

Get details of a specific title asset for an ORTB native template

Input parameters:

- `id` (number, required): Title asset ID
- `template_id` (number, required): ORTB native template ID

### `create_ortb_native_title_asset` (~49 tokens)

Create a new title asset for an ORTB native template

Input parameters:

- `len` (number): Max length of title
- `template_id` (number, required): ORTB native template ID

### `update_ortb_native_title_asset` (~59 tokens)

Update an existing title asset for an ORTB native template

Input parameters:

- `id` (number, required): Title asset ID
- `len` (number): Max length of title
- `template_id` (number, required): ORTB native template ID

### `delete_ortb_native_title_asset` (~47 tokens)

Delete a title asset from an ORTB native template

Input parameters:

- `id` (number, required): Title asset ID
- `template_id` (number, required): ORTB native template ID

### `list_zone_ortb_native_ads` (~63 tokens)

List all ORTB native ads for a standard zone

Input parameters:

- `limit` (number): Max results to return (default 100, max 100)
- `offset` (number): Pagination offset
- `zone_id` (number, required): Standard zone ID

### `get_zone_ortb_native_ad` (~50 tokens)

Get details of a specific ORTB native ad for a standard zone

Input parameters:

- `id` (number, required): ORTB native ad ID
- `zone_id` (number, required): Standard zone ID

### `create_zone_ortb_native_ad` (~61 tokens)

Create a new ORTB native ad for a standard zone

Input parameters:

- `name` (string): ORTB native ad name
- `template_id` (number): ORTB native template ID
- `zone_id` (number, required): Standard zone ID

### `update_zone_ortb_native_ad` (~73 tokens)

Update an existing ORTB native ad for a standard zone

Input parameters:

- `id` (number, required): ORTB native ad ID
- `name` (string): ORTB native ad name
- `template_id` (number): ORTB native template ID
- `zone_id` (number, required): Standard zone ID

### `delete_zone_ortb_native_ad` (~47 tokens)

Delete an ORTB native ad from a standard zone

Input parameters:

- `id` (number, required): ORTB native ad ID
- `zone_id` (number, required): Standard zone ID

### `search_adbutler_api` (~155 tokens)

Find AdButler API endpoints by keyword when no specific tool matches what you need. Returns matching endpoints with their HTTP method, path, and a brief summary. Use this when the user asks about a concept that is a *field* rather than a resource — e.g. 'priority', 'pacing', 'frequency cap', 'metadata', 'tracking pixel' — and you can't find a tool that handles it. Then call describe_adbutler_api on the most promising hit, then call_adbutler_api to invoke it.

Input parameters:

- `limit` (integer): Max results to return (default 10, max 50).
- `query` (string, required): Keyword(s) to search for. Single word works best.

### `describe_adbutler_api` (~114 tokens)

Get the full schema (parameters, request body shape, response shape) for one AdButler API endpoint. Use after search_adbutler_api to understand exactly what to send when you call it.

Input parameters:

- `method` (string, required): HTTP method, e.g. "GET", "POST", "PUT", "DELETE".
- `path` (string, required): Endpoint path with `{placeholder}` syntax for path params, e.g. "/campaigns/{id}". Must match the path returned by search_adbutler_api exactly.

### `call_adbutler_api` (~203 tokens)

Call any AdButler API endpoint directly. Use this only when no specific tool wraps the endpoint you need. The session's configured API key is used automatically — do NOT pass an api_key argument. Substitute path placeholders via path_params: e.g. path="/campaigns/{id}", path_params={ "id": 123 } → /campaigns/123.

Input parameters:

- `body` (object): JSON request body (for POST/PUT/PATCH).
- `method` (string, required): HTTP method, e.g. "GET", "POST", "PUT", "DELETE".
- `path` (string, required): Endpoint path with `{placeholder}` syntax for path params, exactly as returned by search_adbutler_api (e.g. "/campaigns/{id}").
- `path_params` (object): Map of path placeholder names to values, e.g. { "id": 123 }.
- `query_params` (object): Query string parameters appended to the URL.

### `setup_api_key` (~115 tokens)

Configure AdButler with an existing API key. Use this if the user already has an AdButler account and API key. Note: this configures the key for the current session only. For a persistent connection, the user should instead put the key in their MCP connection settings (an "Authorization: Bearer" header, or "?api_key=" appended to the server URL) — prefer suggesting that before asking the user to share their key in chat.

Input parameters:

- `api_key` (string, required): The AdButler API key

### `create_trial_account` (~118 tokens)

Create a free AdButler trial account. Use this when the user does NOT have an AdButler account yet. Collects their info and creates the account. After calling this, the user must check their email for a verification code, then call verify_trial_email to complete setup.

Input parameters:

- `company` (string, required): Company or organization name
- `email` (string, required): User email address
- `name` (string, required): Full name
- `phone` (string): Phone number (optional)
- `website` (string): Website URL (optional)

### `verify_trial_email` (~80 tokens)

Verify a trial account email with the verification code sent to the user. Call this after create_trial_account. The user must provide the code from their email. On success, the API key is automatically configured.

Input parameters:

- `email` (string, required): The email address used to create the trial account
- `verification_code` (string, required): The verification code from the email

### `resend_verification_code` (~51 tokens)

Resend the email verification code for a trial account. Use this if the user did not receive the code or it expired.

Input parameters:

- `email` (string, required): The email address used to create the trial account

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-adbutler-mcp-server/mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 67
- 2026-08-01: 66
- 2026-07-31: 66
- 2026-07-30: 66
- 2026-07-29: 66
- 2026-07-28: 65
- 2026-07-27: 64
- 2026-07-26: 64

## Links

- Remote endpoint: https://mcp.adbutler.com/mcp
- Repository: https://github.com/adbutler/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/com-adbutler-mcp-server/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-adbutler-mcp-server/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-adbutler-mcp-server/mcp
