
AdButler
- Updated July 15, 2026
- adbutler/mcp-server
mcp:com.
About
mcp:com.adbutler/mcp-server skill documents The mcp:com.adbutler/mcp-server skill.
- Workflow guidance for mcp:com.adbutler/mcp-server.
- Platform-specific setup patterns for mcp:com.adbutler/mcp-server.
- Evidence-backed steps from upstream SKILL.md.
- When-to-use criteria for mcp:com.adbutler/mcp-server versus alternatives.
AdButler by the numbers
- Exposes 500 verified tools (MCP introspection)
- Data as of Jul 16, 2026 (Skillselion catalog sync)
claude mcp add --env ADBUTLER_API_KEY=YOUR_ADBUTLER_API_KEY mcp-server -- npx -y @adbutler/mcp-serverAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| Package | @adbutler/mcp-server |
|---|---|
| Transport | STDIO, HTTP, SSE |
| Auth | Required |
| Tools | 500 |
| Last updated | July 15, 2026 |
| Repository | adbutler/mcp-server ↗ |
How do I use mcp:com.adbutler/mcp-server correctly?
Apply mcp:com.adbutler/mcp-server workflows from SKILL.md guidance.
Who is it for?
Teams implementing mcp:com.adbutler/mcp-server workflows from the catalog.
Skip if: Skip when requirements clearly match a different specialized stack.
What you get
Working mcp:com.adbutler/mcp-server setup with validated configuration and next steps.
- Agent-callable AdButler campaign and zone changes
- VAST and ad-item updates aligned with your inventory
- Report summaries pulled into agent workflows
By the numbers
- Server version 2.4.2
- Two hosted remotes: streamable-http and SSE
- npm package identifier @adbutler/mcp-server with stdio transport
AdButler capabilities & compatibility
- Capabilities
- mcp:com.adbutler/mcp server quick start · mcp:com.adbutler/mcp server when to use guidance · mcp:com.adbutler/mcp server integration patterns
- Use cases
- orchestration
Tools 500
Public tool metadata - what this server can do for an agent.
list_advertisers2 paramsList all advertisers in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_advertiser1 paramGet details of a specific advertiser by ID
idnumberrequiredAdvertiser ID
create_advertiser6 paramsCreate a new advertiser
namestringrequiredAdvertiser nameemailstringContact emailcan_change_passwordbooleanWhether advertiser can change passwordcan_add_ad_itemsbooleanWhether advertiser can submit advertisements for schedulingmetadataobjectCustom metadata key-value pairspasswordstringPassword for advertiser portal (min 8 chars, must include upper, lower, number)
update_advertiser7 paramsUpdate an existing advertiser
idnumberrequiredAdvertiser IDnamestringAdvertiser nameemailstringContact emailcan_change_passwordbooleanWhether advertiser can change passwordcan_add_ad_itemsbooleanWhether advertiser can submit advertisements for schedulingmetadataobjectCustom metadata key-value pairspasswordstringPassword for advertiser portal (min 8 chars, must include upper, lower, number)
delete_advertiser1 paramDelete an advertiser
idnumberrequiredAdvertiser ID
archive_advertiser1 paramArchive an advertiser (soft-delete, can be restored later)
idnumberrequiredAdvertiser ID
list_archived_advertisers2 paramsList all archived advertisers
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_advertiser1 paramGet details of a specific archived advertiser
idnumberrequiredArchived advertiser ID
unarchive_advertiser1 paramRestore an archived advertiser back to active status
idnumberrequiredArchived advertiser ID
list_all_campaigns2 paramsList all campaigns across all types
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_campaigns2 paramsList all standard campaigns
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_campaign1 paramGet details of a specific standard campaign
idnumberrequiredCampaign ID
create_campaign9 paramsCreate a new standard campaign
namestringrequiredCampaign nameadvertisernumberAdvertiser IDcontractnumberContract ID (requires Contract Management add-on)roadblock_tagsstringTag to link campaign to a roadblocktargeting_sourcestringWhether targeting is set at campaign or ad item levelscheduling_sourcestringWhether scheduling is set at campaign or ad item levelmetadataobjectCustom metadata key-value pairsbudgetobjectBudget limits (daily/weekly/monthly/lifetime)trusted_redirect_domainsarrayArray of trusted redirect domains
update_campaign10 paramsUpdate an existing standard campaign
idnumberrequiredCampaign IDnamestringCampaign nameadvertisernumberAdvertiser IDcontractnumberContract IDroadblock_tagsstringRoadblock tagtargeting_sourcestringTargeting levelscheduling_sourcestringScheduling levelmetadataobjectCustom metadata key-value pairsbudgetobjectBudget limitstrusted_redirect_domainsarrayTrusted redirect domains
delete_campaign1 paramDelete a standard campaign
idnumberrequiredCampaign ID
archive_campaign1 paramArchive a standard campaign (soft-delete, can be restored later)
idnumberrequiredCampaign ID
list_archived_campaigns2 paramsList all archived standard campaigns
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_campaign1 paramGet details of a specific archived standard campaign
idnumberrequiredArchived campaign ID
delete_archived_campaign1 paramPermanently delete an archived standard campaign
idnumberrequiredArchived campaign ID
unarchive_campaign1 paramRestore an archived standard campaign back to active status
idnumberrequiredArchived campaign ID
get_campaign_conversion_tag1 paramGet conversion tag for a campaign
idnumberrequiredCampaign ID
get_campaign_eligible_zones1 paramGet eligible zones for a campaign
idnumberrequiredCampaign ID
campaign_bulk_create_catalog_ad_items2 paramsBulk create catalog ad items in a campaign
campaign_idnumberrequiredCampaign IDitemsarrayrequiredArray of catalog ad item objects to create
campaign_bulk_delete_catalog_ad_items2 paramsBulk delete catalog ad items from a campaign
campaign_idnumberrequiredCampaign IDitemsarrayrequiredArray of catalog ad item IDs to delete
list_campaign_assignments2 paramsList all campaign assignments (ad items assigned to campaigns)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_campaign_assignment1 paramGet details of a specific campaign assignment
idnumberrequiredCampaign assignment ID
create_campaign_assignment11 paramsCreate a new campaign assignment (assign an ad item to a campaign)
advertisementobjectrequiredAdvertisement object with id and typecampaignobjectrequiredCampaign object with id and typeactivebooleanWhether assignment is active (defaults to true)weightnumberRelative delivery weight (defaults to 1)schedulenumberSchedule ID (only if campaign scheduling_source is "AD_ITEM")geo_targetnumberGeo Target ID (only if campaign targeting_source is "AD_ITEM")platform_targetnumberPlatform Target IDkeywordsstringComma-separated keywords for targetingkeywords_match_methodstringKeyword matching methoddata_key_targetnumberData Key Target IDlist_targetnumberList Target ID
update_campaign_assignment10 paramsUpdate an existing campaign assignment
idnumberrequiredCampaign assignment IDactivebooleanWhether assignment is activeweightnumberRelative delivery weightschedulenumberSchedule IDgeo_targetnumberGeo Target IDplatform_targetnumberPlatform Target IDkeywordsstringComma-separated keywordskeywords_match_methodstringKeyword matching methoddata_key_targetnumberData Key Target IDlist_targetnumberList Target ID
delete_campaign_assignment1 paramDelete a campaign assignment
idnumberrequiredCampaign assignment ID
list_channels2 paramsList all channels
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_channel1 paramGet details of a specific channel
idnumberrequiredChannel ID
create_channel3 paramsCreate a new channel
namestringrequiredChannel nameprioritystringServing priority (default: standard)use_share_of_voicebooleanWhether to use share of voice as serving strategy (false = use weight)
update_channel3 paramsUpdate an existing channel
idnumberrequiredChannel IDnamestringChannel nameprioritystringServing priority
delete_channel1 paramDelete a channel
idnumberrequiredChannel ID
archive_channel1 paramArchive a channel (soft-delete, can be restored later)
idnumberrequiredChannel ID
list_archived_channels2 paramsList all archived channels
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_channel1 paramGet details of a specific archived channel
idnumberrequiredArchived channel ID
delete_archived_channel1 paramPermanently delete an archived channel
idnumberrequiredArchived channel ID
unarchive_channel1 paramRestore an archived channel back to active status
idnumberrequiredArchived channel ID
list_channel_zone_assignments2 paramsList all channel zone assignments
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_channel_zone_assignment1 paramGet details of a specific channel zone assignment
idnumberrequiredChannel zone assignment ID
create_channel_zone_assignment2 paramsAssign a zone to a channel
channelnumberrequiredChannel IDzoneobjectrequiredZone object with id and type
delete_channel_zone_assignment1 paramRemove a zone from a channel
idnumberrequiredChannel zone assignment ID
list_all_zones2 paramsList all zones across all types (standard, email, catalog)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_zones2 paramsList all standard zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_zone1 paramGet details of a specific standard zone
idnumberrequiredZone ID
create_zone27 paramsCreate 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.
namestringrequiredZone namepublishernumberPublisher IDwidthnumberZone width in pixels (must be 0 if dimensions is "dynamic")heightnumberZone height in pixels (must be 0 if dimensions is "dynamic")dimensionsstringZone dimensions type: "fixed" (default) or "dynamic"use_share_of_voicebooleanUse "share of voice" as serving strategyrefresh_frequencynumberInterval in seconds for serving new adsrefresh_limitnumberTotal times zone will refreshresponsivestringSize behaviorunique_deliverybooleanServe unique ads on each zoneiab_categoriesarrayIAB category descriptorsallow_demand_sourcesbooleanAllow requests to demand endpointsbid_floornumberDefault bid floor for programmaticmin_payoutnumberMinimum payout per impression (CPM)serve_priority_orderstringPriority order: "weight" or "auction"pmp_dealsarrayAllowed PMP Deal IDsprivate_auctionbooleanWhether auction ignores non-deal bidsoptimization_strategystringZone optimization strategyburn_in_impressionsnumberImpressions before eCPM confidenceburn_in_hoursnumberHours before eCPM confidenceecpm_testing_allowancenumberPercentage for eCPM recalculation testingmetadataobjectCustom metadata key-value pairsrtb_placement_idstringOpenRTB tagid identifierapi_frameworksarraySupported API frameworks for OpenRTBauction_tie_breakstringTie-breaking method for auctionsallowed_root_native_templatesarrayAllowed root native template IDsad_size_filterobjectAd size filter (dynamic zones only)
update_zone27 paramsUpdate an existing standard zone
idnumberrequiredZone IDnamestringZone namepublishernumberPublisher IDwidthnumberZone width in pixelsheightnumberZone height in pixelsdimensionsstringZone dimensions typerefresh_frequencynumberInterval in seconds for serving new adsrefresh_limitnumberTotal times zone will refreshresponsivestringSize behaviorunique_deliverybooleanServe unique ads on each zoneiab_categoriesarrayIAB category descriptorsallow_demand_sourcesbooleanAllow requests to demand endpointsbid_floornumberDefault bid floormin_payoutnumberMinimum payout per impression (CPM)serve_priority_orderstringPriority orderpmp_dealsarrayAllowed PMP Deal IDsprivate_auctionbooleanIgnore non-deal bids in auctionoptimization_strategystringZone optimization strategyburn_in_impressionsnumberImpressions before eCPM confidenceburn_in_hoursnumberHours before eCPM confidenceecpm_testing_allowancenumberPercentage for eCPM recalculationmetadataobjectCustom metadata key-value pairsrtb_placement_idstringOpenRTB tagid identifierapi_frameworksarraySupported API frameworksauction_tie_breakstringTie-breaking methodallowed_root_native_templatesarrayAllowed root native template IDsad_size_filterobjectAd size filter (dynamic zones only)
delete_zone1 paramDelete a standard zone
idnumberrequiredZone ID
get_zone_tag1 paramGet the ad serving tag (embed code) for a zone
idnumberrequiredZone ID
get_zone_conversion_tag1 paramGet the conversion tracking tag for a standard zone
idnumberrequiredZone ID
generate_bulk_zone_tags1 paramGenerate ad serving tags for multiple zones at once
zone_idsarrayrequiredArray of zone IDs to generate tags for
archive_zone1 paramArchive a standard zone (soft-delete, can be restored later)
idnumberrequiredZone ID
list_archived_zones2 paramsList all archived standard zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_zone1 paramGet details of a specific archived standard zone
idnumberrequiredArchived zone ID
unarchive_zone1 paramRestore an archived standard zone back to active status
idnumberrequiredArchived zone ID
list_email_zones2 paramsList all email zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_email_zone1 paramGet details of a specific email zone
idnumberrequiredEmail zone ID
create_email_zone8 paramsCreate a new email zone for serving ads in email newsletters
namestringrequiredZone namewidthnumberrequiredZone width in pixelsheightnumberrequiredZone height in pixelspublishernumberPublisher IDmetadataobjectCustom metadata key-value pairsuid_rotatebooleanServe different ads per userrotate_timerobjectPeriod after which user sees a new adauction_tie_breakstringTie-breaking method for auctions
update_email_zone9 paramsUpdate an existing email zone
idnumberrequiredEmail zone IDnamestringZone namewidthnumberZone width in pixelsheightnumberZone height in pixelspublishernumberPublisher IDmetadataobjectCustom metadata key-value pairsuid_rotatebooleanServe different ads per userrotate_timerobjectPeriod after which user sees a new adauction_tie_breakstringTie-breaking method
delete_email_zone1 paramDelete an email zone
idnumberrequiredEmail zone ID
get_email_zone_tag1 paramGet the ad serving tag for an email zone
idnumberrequiredEmail zone ID
get_email_zone_conversion_tag1 paramGet the conversion tracking tag for an email zone
idnumberrequiredEmail zone ID
archive_email_zone1 paramArchive an email zone
idnumberrequiredEmail zone ID
list_archived_email_zones2 paramsList all archived email zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_email_zone1 paramGet details of a specific archived email zone
idnumberrequiredArchived email zone ID
unarchive_email_zone1 paramRestore an archived email zone back to active status
idnumberrequiredArchived email zone ID
list_catalog_zones2 paramsList all catalog zones (for product/retail ad serving)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_catalog_zone1 paramGet details of a specific catalog zone
idnumberrequiredCatalog zone ID
create_catalog_zone10 paramsCreate a new catalog zone for product/retail ad serving
namestringrequiredZone namecatalog_idnumberrequiredCatalog IDpublishernumberPublisher IDbid_floornumberDefault bid floorbid_floor_cpmnumberCPM bid floorbid_floor_cpcnumberCPC bid flooradvertiser_cost_typestringBilling modelauction_typestringAuction typeclick_cooldown_periodnumberClick cooldown period in seconds (1-86400)conversion_lookback_periodnumberConversion lookback period in seconds (1-7776000)
update_catalog_zone8 paramsUpdate an existing catalog zone
idnumberrequiredCatalog zone IDnamestringZone namebid_floor_cpmnumberCPM bid floorbid_floor_cpcnumberCPC bid flooradvertiser_cost_typestringBilling modelauction_typestringAuction typeclick_cooldown_periodnumberClick cooldown period in secondsconversion_lookback_periodnumberConversion lookback period in seconds
delete_catalog_zone1 paramDelete a catalog zone
idnumberrequiredCatalog zone ID
get_catalog_zone_tag1 paramGet the ad serving tag for a catalog zone
idnumberrequiredCatalog zone ID
list_publishers2 paramsList all publishers in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_publisher1 paramGet details of a specific publisher
idnumberrequiredPublisher ID
create_publisher11 paramsCreate a new publisher
namestringrequiredPublisher nametimezonestringTimezone (e.g., "America/New_York")emailstringContact email (allows publisher to log in)can_change_passwordbooleanWhether publisher can change passwordcan_admin_accountbooleanGrant administrator privilegescan_approve_adsbooleanAllow publisher to approve/deny ad itemscan_view_wordpress_keybooleanAllow publisher to view WordPress keydomainstringPublisher domain (top-level domains only)seller_typestringSeller type for ads.txtdefault_payoutobjectDefault payout configurationmetadataobjectCustom metadata key-value pairs
update_publisher12 paramsUpdate an existing publisher
idnumberrequiredPublisher IDnamestringPublisher nametimezonestringTimezoneemailstringContact emailcan_change_passwordbooleanWhether publisher can change passwordcan_admin_accountbooleanGrant administrator privilegescan_approve_adsbooleanAllow publisher to approve/deny ad itemscan_view_wordpress_keybooleanAllow publisher to view WordPress keydomainstringPublisher domainseller_typestringSeller typedefault_payoutobjectDefault payout configurationmetadataobjectCustom metadata key-value pairs
delete_publisher1 paramDelete a publisher
idnumberrequiredPublisher ID
archive_publisher1 paramArchive a publisher (soft-delete, can be restored later)
idnumberrequiredPublisher ID
list_archived_publishers2 paramsList all archived publishers
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_publisher1 paramGet details of a specific archived publisher
idnumberrequiredArchived publisher ID
unarchive_publisher1 paramRestore an archived publisher back to active status
idnumberrequiredArchived publisher ID
list_ad_items2 paramsList all ad items (banners) across all types (image, custom HTML, rich media, native, catalog)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_image_ad_items2 paramsList all image ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_image_ad_item1 paramGet details of a specific image ad item
idnumberrequiredAd item ID
create_image_ad_item13 paramsCreate a new image ad item (banner)
namestringrequiredAd item namecreativenumberImage creative ID (mutually exclusive with creative_url)creative_urlstringURL to image file — PNG, JPEG, or GIF (mutually exclusive with creative)locationstringClick-through URLwidthnumberAd width in pixels (defaults to 0)heightnumberAd height in pixels (defaults to 0)html_alt_textstringAlt text for the imagehtml_targetstringWindow/frame for destination URL (e.g. "_blank")html_content_belowstringHTML content below the ad itemtracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
update_image_ad_item14 paramsUpdate an existing image ad item
idnumberrequiredAd item IDnamestringAd item namecreativenumberImage creative IDcreative_urlstringURL to image filelocationstringClick-through URLwidthnumberAd width in pixelsheightnumberAd height in pixelshtml_alt_textstringAlt text for the imagehtml_targetstringWindow/frame for destination URLhtml_content_belowstringHTML content below the ad itemtracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
delete_image_ad_item1 paramDelete an image ad item
idnumberrequiredAd item ID
get_image_ad_item_conversion_tag1 paramGet conversion tracking tag for an image ad item
idnumberrequiredAd item ID
list_custom_html_ad_items2 paramsList all custom HTML ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_custom_html_ad_item1 paramGet details of a specific custom HTML ad item
idnumberrequiredAd item ID
create_custom_html_ad_item12 paramsCreate a new custom HTML ad item
namestringrequiredAd item namecustom_htmlstringrequiredThe HTML content of the ad itemlocationstringClick-through URLwidthnumberAd width in pixels (0 for flexible)heightnumberAd height in pixels (0 for flexible)html_content_belowstringHTML content below the ad itemexpand_horizontal_directionstringHorizontal expand directionexpand_vertical_directionstringVertical expand directiontracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
update_custom_html_ad_item13 paramsUpdate an existing custom HTML ad item
idnumberrequiredAd item IDnamestringAd item namecustom_htmlstringThe HTML contentlocationstringClick-through URLwidthnumberAd width in pixelsheightnumberAd height in pixelshtml_content_belowstringHTML content below the ad itemexpand_horizontal_directionstringHorizontal expand directionexpand_vertical_directionstringVertical expand directiontracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
delete_custom_html_ad_item1 paramDelete a custom HTML ad item
idnumberrequiredAd item ID
get_custom_html_ad_item_conversion_tag1 paramGet conversion tracking tag for a custom HTML ad item
idnumberrequiredAd item ID
list_rich_media_ad_items2 paramsList all rich media ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_rich_media_ad_item1 paramGet details of a specific rich media ad item
idnumberrequiredAd item ID
create_rich_media_ad_item12 paramsCreate a new rich media ad item
namestringrequiredAd item namecreativenumberrequiredRich media creative IDlocationstringClick-through URLwidthnumberAd width in pixelsheightnumberAd height in pixelshtml_content_belowstringHTML content below the ad itemexpand_horizontal_directionstringHorizontal expand directionexpand_vertical_directionstringVertical expand directiontracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
update_rich_media_ad_item11 paramsUpdate an existing rich media ad item
idnumberrequiredAd item IDnamestringAd item namecreativenumberRich media creative IDlocationstringClick-through URLhtml_content_belowstringHTML content below the ad itemexpand_horizontal_directionstringHorizontal expand directionexpand_vertical_directionstringVertical expand directiontracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
delete_rich_media_ad_item1 paramDelete a rich media ad item
idnumberrequiredAd item ID
get_rich_media_ad_item_conversion_tag1 paramGet conversion tracking tag for a rich media ad item
idnumberrequiredAd item ID
list_native_ad_items2 paramsList all native ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_native_ad_item1 paramGet details of a specific native ad item
idnumberrequiredAd item ID
create_native_ad_item10 paramsCreate a new native ad item using a native template
namestringrequiredAd item nametemplatenumberrequiredNative template IDvariablesobjectrequiredTemplate variables as key-value pairs (keys should be integer strings)locationstringClick-through URLwidthnumberAd width in pixelsheightnumberAd height in pixelstracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
update_native_ad_item9 paramsUpdate an existing native ad item
idnumberrequiredAd item IDnamestringAd item nametemplatenumberNative template IDvariablesobjectTemplate variables as key-value pairslocationstringClick-through URLtracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairstrusted_redirect_domainsarrayTrusted redirect domains
delete_native_ad_item1 paramDelete a native ad item
idnumberrequiredAd item ID
get_native_ad_item_conversion_tag1 paramGet conversion tracking tag for a native ad item
idnumberrequiredAd item ID
list_catalog_ad_items2 paramsList all catalog ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_catalog_ad_item1 paramGet details of a specific catalog ad item
idnumberrequiredAd item ID
create_catalog_ad_item7 paramsCreate a new catalog ad item
namestringrequiredAd item namecatalog_idnumberrequiredCatalog IDcatalog_item_identifierstringrequiredUnique identifier for the catalog itemlocationstringClick-through URLtracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairs
update_catalog_ad_item7 paramsUpdate an existing catalog ad item
idnumberrequiredAd item IDnamestringAd item namecatalog_item_identifierstringUnique identifier for the catalog itemlocationstringClick-through URLtracking_pixelstringThird-party tracking pixel URLtracking_pixelsarrayArray of tracking pixel URLsmetadataobjectCustom metadata key-value pairs
delete_catalog_ad_item1 paramDelete a catalog ad item
idnumberrequiredAd item ID
convert_native_to_image1 paramConvert a native ad item to an image ad item
idnumberrequiredNative ad item ID
list_all_creatives2 paramsList all creatives across all types (image, rich media, video, audio)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_creatives2 paramsList all image creatives
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_creative1 paramGet details of a specific image creative
idnumberrequiredCreative ID
create_creative3 paramsCreate a new image creative. The API uses multipart file upload — pass the media group ID and file attributes.
groupnumberrequiredMedia group IDnamestringCreative namedescriptionstringCreative description
update_creative3 paramsUpdate an existing image creative
idnumberrequiredCreative IDnamestringCreative namedescriptionstringCreative description
delete_creative1 paramDelete an image creative
idnumberrequiredCreative ID
list_rich_media_creatives2 paramsList all rich media creatives
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_rich_media_creative1 paramGet details of a specific rich media creative
idnumberrequiredCreative ID
create_rich_media_creative4 paramsCreate a new rich media creative. The API uses multipart file upload (ZIP for HTML5).
groupnumberrequiredMedia group IDnamestringCreative namedescriptionstringCreative descriptionindex_file_pathstringPath to index HTML file inside ZIP archive (for HTML5)
update_rich_media_creative3 paramsUpdate an existing rich media creative
idnumberrequiredCreative IDnamestringCreative namedescriptionstringCreative description
delete_rich_media_creative1 paramDelete a rich media creative
idnumberrequiredCreative ID
list_video_creatives2 paramsList all video creatives
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_video_creative1 paramGet details of a specific video creative
idnumberrequiredCreative ID
create_video_creative3 paramsCreate a new video creative. The API uses multipart file upload.
groupnumberrequiredMedia group IDnamestringCreative namedescriptionstringCreative description
update_video_creative3 paramsUpdate an existing video creative
idnumberrequiredCreative IDnamestringCreative namedescriptionstringCreative description
delete_video_creative1 paramDelete a video creative
idnumberrequiredCreative ID
list_audio_creatives2 paramsList all audio creatives
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_audio_creative1 paramGet details of a specific audio creative
idnumberrequiredCreative ID
create_audio_creative3 paramsCreate a new audio creative. The API uses multipart file upload.
groupnumberrequiredMedia group IDnamestringCreative namedescriptionstringCreative description
update_audio_creative3 paramsUpdate an existing audio creative
idnumberrequiredCreative IDnamestringCreative namedescriptionstringCreative description
delete_audio_creative1 paramDelete an audio creative
idnumberrequiredCreative ID
replace_image_creative_file1 paramReplace the file on an image creative
idnumberrequiredCreative ID
replace_rich_media_creative_file1 paramReplace the file on a rich media creative
idnumberrequiredCreative ID
replace_video_creative_file1 paramReplace the file on a video creative
idnumberrequiredCreative ID
replace_audio_creative_file1 paramReplace the file on an audio creative
idnumberrequiredCreative ID
list_placements2 paramsList all placements (assignments of ad items to zones)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_placement1 paramGet details of a specific placement
idnumberrequiredPlacement ID
create_placement18 paramsCreate a new placement (assign an ad item or campaign to a zone or channel)
advertisementobjectrequiredAdvertisement object with id and typezoneobjectZone object (required if channel not set; mutually exclusive with channel)channelnumberChannel ID (required if zone not set; mutually exclusive with zone)schedulenumberrequiredSchedule IDactivebooleanWhether placement is active (defaults to true)weightnumberRelative delivery weightshare_of_voicenumberShare of voice percentage (required when zone uses share_of_voice)costobjectPricing model: fixed_cost OR cpm/cpc/cpapayoutobjectPublisher payout configurationprioritystringServing priority level (defaults to "standard")serve_methodstringServing system: weight-based or auction-basedgeo_targetnumberGeotarget IDplatform_targetnumberPlatform target IDkeywordsstringComma-separated keywords for targetingkeywords_match_methodstringKeyword matching methoddata_key_target_idnumberData Key Target ID (Enterprise only)list_targetnumberList Target IDcontextual_segmentsarrayArray of contextual segment IDs
update_placement19 paramsUpdate an existing placement
idnumberrequiredPlacement IDadvertisementobjectAdvertisement object with id and typezoneobjectZone object (mutually exclusive with channel)channelnumberChannel ID (mutually exclusive with zone)schedulenumberSchedule IDactivebooleanWhether placement is activeweightnumberRelative delivery weightshare_of_voicenumberShare of voice percentagecostobjectPricing modelpayoutobjectPublisher payout configurationprioritystringServing priority levelserve_methodstringServing systemgeo_targetnumberGeotarget IDplatform_targetnumberPlatform target IDkeywordsstringComma-separated keywordskeywords_match_methodstringKeyword matching methoddata_key_target_idnumberData Key Target IDlist_targetnumberList Target IDcontextual_segmentsarrayArray of contextual segment IDs
delete_placement1 paramDelete a placement (remove an ad item from a zone)
idnumberrequiredPlacement ID
get_placement_conversion_tag1 paramGet conversion tracking tag for a placement
idnumberrequiredPlacement ID
list_native_templates2 paramsList all native ad templates
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_native_template1 paramGet details of a specific native template
idnumberrequiredNative template ID
create_native_template3 paramsCreate a new native ad template with HTML and variable placeholders
namestringrequiredTemplate nameraw_htmlstringrequiredHTML template content with variable placeholders (e.g. "[%title%]")variablesarrayrequiredArray of template variables
update_native_template4 paramsUpdate an existing native template. Variables uses add/remove format for updates.
idnumberrequiredNative template IDnamestringTemplate nameraw_htmlstringHTML template content with variable placeholdersvariablesobjectVariables to add/remove
delete_native_template1 paramDelete a native template
idnumberrequiredNative template ID
list_schedules2 paramsList all schedules (time-based delivery rules for ad items)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_schedule1 paramGet details of a specific schedule
idnumberrequiredSchedule ID
create_schedule15 paramsCreate a new schedule for time-based ad delivery. Schedules are automatically linked to ad items via placements.
start_datestringStart date (YYYY-MM-DD HH:MM:SS) — deprecated, use start_atend_datestringEnd date (YYYY-MM-DD HH:MM:SS), null for indefinite — deprecated, use end_atstart_atstringStart date/time in ISO-8601 formatstart_at_timezonestringIANA timezone for start_at (e.g. "America/New_York")end_atstringEnd date/time in ISO-8601 format, null for indefiniteend_at_timezonestringIANA timezone for end_atdelivery_methodstringDelivery pacing: "default" (ASAP) or "smooth" (evenly distributed)quota_lifetimenumberTotal quota amount (views or clicks, not per thousand)quota_typestringQuota measurement typeday_cap_limitnumberDaily cap limit (number of views or clicks per day)day_cap_typestringDaily cap typeper_user_view_limitnumberPer-user view frequency capper_user_view_periodnumberDays before per-user view counter resetsunder_delivery_behaviourstringWhether to keep serving until quota met or stop on end dateday_parting_idnumberDay parting ID for time-of-day targeting
update_schedule16 paramsUpdate an existing schedule
idnumberrequiredSchedule IDstart_datestringStart date (YYYY-MM-DD HH:MM:SS) — deprecated, use start_atend_datestringEnd date (YYYY-MM-DD HH:MM:SS) — deprecated, use end_atstart_atstringStart date/time in ISO-8601 formatstart_at_timezonestringIANA timezone for start_atend_atstringEnd date/time in ISO-8601 formatend_at_timezonestringIANA timezone for end_atdelivery_methodstringDelivery pacing: "default" (ASAP) or "smooth" (evenly distributed)quota_lifetimenumberTotal quota amount (views or clicks, not per thousand)quota_typestringQuota measurement typeday_cap_limitnumberDaily cap limitday_cap_typestringDaily cap typeper_user_view_limitnumberPer-user view frequency capper_user_view_periodnumberDays before per-user view counter resetsunder_delivery_behaviourstringWhether to keep serving until quota met or stop on end dateday_parting_idnumberDay parting ID for time-of-day targeting
delete_schedule1 paramDelete a schedule
idnumberrequiredSchedule ID
list_media_groups2 paramsList all media groups (collections of creatives)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_media_group1 paramGet details of a specific media group
idnumberrequiredMedia group ID
create_media_group1 paramCreate a new media group
namestringrequiredMedia group name
update_media_group2 paramsUpdate an existing media group
idnumberrequiredMedia group IDnamestringMedia group name
delete_media_group1 paramDelete a media group
idnumberrequiredMedia group ID
list_data_keys2 paramsList all data keys (custom key-value targeting variables)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_data_key1 paramGet details of a specific data key
idnumberrequiredData key ID
create_data_key2 paramsCreate a new data key for custom targeting
namestringrequiredData key name (max 32 chars, must be unique)typestringrequiredData key value type
update_data_key3 paramsUpdate an existing data key
idnumberrequiredData key IDnamestringData key nametypestringData key value type
delete_data_key1 paramDelete a data key
idnumberrequiredData key ID
list_data_key_targets2 paramsList all data key targets (targeting rules using data key values)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_data_key_target1 paramGet details of a specific data key target
idnumberrequiredData key target ID
create_data_key_target2 paramsCreate a new data key target (targeting rule)
namestringrequiredData key target nametargetstringrequiredJSON formatted target logic, e.g. ["OR", {"my_number": {"=": "5"}}, {"my_string": {"=": "test"}}]
update_data_key_target3 paramsUpdate an existing data key target
idnumberrequiredData key target IDnamestringData key target nametargetstringJSON formatted target logic
delete_data_key_target1 paramDelete a data key target
idnumberrequiredData key target ID
list_day_partings2 paramsList all day parting rules (time-of-day targeting)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_day_parting1 paramGet details of a specific day parting rule
idnumberrequiredDay parting ID
create_day_parting4 paramsCreate 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.
namestringDay parting nameuse_member_timezonebooleanIf true, use account timezone; if false, use viewer timezoneis_templatebooleanIf true, shown in UI when creating/editing schedulesrangesobjectObject mapping day names (monday-sunday) to arrays of time ranges like "09:00:00-17:00:00"
update_day_parting5 paramsUpdate an existing day parting rule
idnumberrequiredDay parting IDnamestringDay parting nameuse_member_timezonebooleanIf true, use account timezone; if false, use viewer timezoneis_templatebooleanIf true, shown in UI when creating/editing schedulesrangesobjectObject mapping day names (monday-sunday) to arrays of time ranges
delete_day_parting1 paramDelete a day parting rule
idnumberrequiredDay parting ID
list_geo_targets2 paramsList all geo targets (geographic targeting rules)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_geo_target1 paramGet details of a specific geo target
idnumberrequiredGeo target ID
create_geo_target5 paramsCreate a new geo target for geographic targeting. Areas is an array of objects with continent, country (2-letter code), region, city fields.
namestringrequiredGeo target nameinclusivebooleanIf true, target users IN these areas; if false, EXCLUDE these areasareasarrayrequiredArray of geographic areas to targetrangenumberRadius range for geo-fencing (only applies when targeting a city)unitstringDistance unit for range
update_geo_target6 paramsUpdate an existing geo target
idnumberrequiredGeo target IDnamestringGeo target nameinclusivebooleanIf true, target users IN these areas; if false, EXCLUDEareasarrayArray of geographic areasrangenumberRadius rangeunitstringDistance unit
delete_geo_target1 paramDelete a geo target
idnumberrequiredGeo target ID
list_postal_code_targets2 paramsList all postal code targets
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_postal_code_target1 paramGet details of a specific postal code target
idnumberrequiredPostal code target ID
create_postal_code_target3 paramsCreate a new postal code target
labelstringrequiredPostal code target nameinclusivebooleanIf true, inclusion target; if false, exclusion targetlocationsarrayrequiredArray of locations grouped by country
update_postal_code_target4 paramsUpdate an existing postal code target
idnumberrequiredPostal code target IDlabelstringPostal code target nameinclusivebooleanIf true, inclusion target; if false, exclusion targetlocationsarrayArray of locations grouped by country
delete_postal_code_target1 paramDelete a postal code target
idnumberrequiredPostal code target ID
list_list_targets2 paramsList all list targets (allowlist/blocklist targeting)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_list_target1 paramGet details of a specific list target
idnumberrequiredList target ID
create_list_target3 paramsCreate a new list target (inclusion/exclusion using a data list)
labelstringrequiredList target nameinclusivebooleanIf true, inclusion target; if false, exclusion targetdata_listnumberData list ID containing the values to target
update_list_target4 paramsUpdate an existing list target
idnumberrequiredList target IDlabelstringList target nameinclusivebooleanIf true, inclusion; if false, exclusiondata_listnumberData list ID
delete_list_target1 paramDelete a list target
idnumberrequiredList target ID
list_platform_targets2 paramsList all platform targets (device/OS/browser targeting)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_platform_target1 paramGet details of a specific platform target
idnumberrequiredPlatform target ID
create_platform_target3 paramsCreate a new platform target for device/OS/browser targeting
namestringrequiredPlatform target nameplatformstringPreset platform target (default: any)device_targetsarrayList of device patterns to target (e.g. "Apple*", "Samsung Galaxy S5")
update_platform_target4 paramsUpdate an existing platform target
idnumberrequiredPlatform target IDnamestringPlatform target nameplatformstringPreset platform targetdevice_targetsarrayList of device patterns to target
delete_platform_target1 paramDelete a platform target
idnumberrequiredPlatform target ID
list_data_targets2 paramsList all data targets
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
remove_list_target_usages1 paramRemove all usages of a list target
idnumberrequiredList target ID
get_display_report16 paramsGet display advertising report with impressions, clicks, and CTR
typestringrequiredReport type: overview, advertiser, publisher, zone, campaign, channel, geo-target, ad-itemperiodstringrequiredData grouping period: day, week, month, yearpresetstringDate 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-monthstimezonestringTimezone for preset (e.g. "America/New_York")summarybooleanInclude summary datadetailsbooleanInclude detailed breakdownbreakdownbooleanInclude breakdown datafinancialsbooleanInclude financial datapublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)exclude_publisher_ad_itemsbooleanExclude ad items directly in zonesexclude_campaign_ad_itemsbooleanExclude ad items in campaignsexclude_channel_statsbooleanExclude stats from channel-served adsrequire_channel_statsbooleanOnly include stats from channel-served ads
get_vast_report12 paramsGet VAST video advertising report
typestringrequiredReport type: overview, advertiser, publisher, zone, campaign, ad-itemperiodstringrequiredData grouping period: day, week, month, yearpresetstringDate preset (same options as display report)timezonestringTimezone for presetsummarybooleanInclude summary datadetailsbooleanInclude detailed breakdownbreakdownbooleanInclude breakdown datafinancialsbooleanInclude financial datapublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)
get_event_logs3 paramsGet event logs for account activity (changes, logins, etc.)
log_typestringrequiredType of event log to retrievefromstringStart date filtertostringEnd date filter
get_click_details_report6 paramsGet click details report
presetstringDate presettimezonestringTimezonepublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)
get_conversion_details_report6 paramsGet conversion details report
presetstringDate presettimezonestringTimezonepublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)
get_demand_source_report2 paramsGet demand source statistics report
presetstringDate presettimezonestringTimezone
get_display_platform_estimate2 paramsGet display platform estimate statistics
presetstringDate presettimezonestringTimezone
get_vast_platform_estimate2 paramsGet VAST platform estimate statistics
presetstringDate presettimezonestringTimezone
get_geo_summary_report6 paramsGet geographic summary report
presetstringDate presettimezonestringTimezonepublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)
get_auction_placements_report2 paramsGet auction placement statistics report
presetstringDate presettimezonestringTimezone
get_placement_forecast2 paramsGet placement forecast report
presetstringDate presettimezonestringTimezone
get_display_forecast2 paramsGet display forecast report
presetstringDate presettimezonestringTimezone
get_display_channel_forecast2 paramsGet display channel forecast report
presetstringDate presettimezonestringTimezone
get_vast_forecast2 paramsGet VAST forecast report
presetstringDate presettimezonestringTimezone
get_vast_channel_forecast2 paramsGet VAST channel forecast report
presetstringDate presettimezonestringTimezone
get_vast_auction_placements_report2 paramsGet VAST auction placements report
presetstringDate presettimezonestringTimezone
get_vast_geo_summary_report6 paramsGet VAST geographic summary report
presetstringDate presettimezonestringTimezonepublishersstringFilter by publisher IDs (comma-separated)zonesstringFilter by zone IDs (comma-separated)advertisersstringFilter by advertiser IDs (comma-separated)campaignsstringFilter by campaign IDs (comma-separated)
get_live_website_preview2 paramsGet live website preview URL
zone_idnumberZone ID to previewurlstringWebsite URL to preview
get_manual_tracking_links2 paramsGenerate manual tracking links for an ad item
ad_item_idnumberAd item IDtypestringAd item type
list_custom_reports2 paramsList all saved report configurations
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_custom_report1 paramGet details of a specific report configuration
idnumberrequiredReport configuration ID
create_custom_report10 paramsCreate a new report configuration
namestringrequiredReport nametypestringrequiredReport typeperiodstringrequiredData grouping perioddateobjectrequiredDate configuration (either preset or start+end required)filtersobjectFilter criteria: { publishers: [...], advertisers: [...], zones: [...], campaigns: [...], ad_items: [...], channels: [...] }columnsarrayColumns to include: impressions, eligible, viewable, clicks, conversions, ctr, cvr, e_cpm, e_cpc, e_cpa, cost, payout, revenueexclude_publisher_ad_itemsbooleanExclude ad items directly in zonesexclude_campaign_ad_itemsbooleanExclude ad items in campaignsexclude_channel_statsbooleanExclude stats from channel-served adsrequire_channel_statsbooleanOnly include stats from channel-served ads
update_custom_report11 paramsUpdate an existing report configuration
idnumberrequiredReport configuration IDnamestringReport nametypestringReport typeperiodstringData grouping perioddateobjectDate configurationfiltersobjectFilter criteriacolumnsarrayColumns to includeexclude_publisher_ad_itemsbooleanExclude ad items directly in zonesexclude_campaign_ad_itemsbooleanExclude ad items in campaignsexclude_channel_statsbooleanExclude stats from channel-served adsrequire_channel_statsbooleanOnly include stats from channel-served ads
delete_custom_report1 paramDelete a report configuration
idnumberrequiredReport configuration ID
list_vast_custom_reports2 paramsList all VAST report data
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_vast_custom_report1 paramGet a specific VAST report
idnumberrequiredVAST report ID
create_vast_custom_report1 paramCreate a new VAST report configuration
namestringrequiredReport name
list_all_generated_reports2 paramsList all generated reports across all configurations
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_all_report_schedules2 paramsList all report schedules across all configurations
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
list_report_generated3 paramsList generated reports for a specific report configuration
report_config_idnumberrequiredReport configuration IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_report_generated2 paramsGet a specific generated report
report_config_idnumberrequiredReport configuration IDgenerated_idnumberrequiredGenerated report ID
list_report_schedules3 paramsList schedules for a specific report configuration
report_config_idnumberrequiredReport configuration IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_report_schedule2 paramsGet a specific report schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule ID
create_report_schedule3 paramsCreate a new report schedule
report_config_idnumberrequiredReport configuration IDfrequencystringSchedule frequencyrecipientsarrayArray of recipient objects
update_report_schedule4 paramsUpdate a report schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule IDfrequencystringSchedule frequencyrecipientsarrayArray of recipient objects
delete_report_schedule2 paramsDelete a report schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule ID
list_report_schedule_generated4 paramsList generated reports for a specific schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_report_schedule_generated3 paramsGet a specific generated report from a schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule IDgenerated_idnumberrequiredGenerated report ID
revoke_report_schedule_historical_access2 paramsRevoke historical access for a report schedule
report_config_idnumberrequiredReport configuration IDschedule_idnumberrequiredSchedule ID
serve_ad16 paramsRequest ad delivery for a zone. Returns the ad(s) that would be served, useful for verifying ad setup. Uses POST /adserve.
IDnumberrequiredYour AdButler account IDsetIDnumberrequiredZone ID to serve an ad fromtypestringrequiredResponse type: "json" for most eligible ad, "jsonr" for all eligible ads rankedsizestringExpected ad size (e.g. "300x250")kwarrayKeywords for keyword targetingreferrerstringPage URL for URL targeting (required for server-side requests)ipstringIPv4 address for geographic targeting (required for server-side requests)uastringUser agent string for platform targetingswnumberScreen width for platform targetingshnumberScreen height for platform targetingsprnumberScreen pixel ratio for platform targetingpidnumberPage ID for unique delivery/roadblocks (random number, same for all zones on page)placenumberPlace counter for unique delivery (0, 1, 2, etc.)_abdk_jsonobjectData key key-value pairs for data key targetingrfnumberPass 1 to include is_redirectable field in responsedefer_signingbooleanDefer beacon signing hash generation
get_ad16 paramsRetrieve an ad via GET request. Same parameters as serve_ad but uses GET instead of POST.
IDnumberrequiredYour AdButler account IDsetIDnumberrequiredZone ID to serve an ad fromtypestringrequiredResponse type: "json" for most eligible ad, "jsonr" for all eligible ads rankedsizestringExpected ad size (e.g. "300x250")kwarrayKeywords for keyword targetingreferrerstringPage URL for URL targeting (required for server-side requests)ipstringIPv4 address for geographic targeting (required for server-side requests)uastringUser agent string for platform targetingswnumberScreen width for platform targetingshnumberScreen height for platform targetingsprnumberScreen pixel ratio for platform targetingpidnumberPage ID for unique delivery/roadblocks (random number, same for all zones on page)placenumberPlace counter for unique delivery (0, 1, 2, etc.)_abdk_jsonobjectData key key-value pairs for data key targetingrfnumberPass 1 to include is_redirectable field in responsedefer_signingbooleanDefer beacon signing hash generation
vast_list_ad_items2 paramsList all VAST ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_ad_item1 paramGet details of a specific VAST ad item
idnumberrequiredVAST ad item ID
vast_create_ad_item3 paramsCreate a new VAST ad item
namestringrequiredAd item namelocationstringrequiredVAST tag URL or media locationactivebooleanWhether ad item is active
vast_update_ad_item4 paramsUpdate an existing VAST ad item
idnumberrequiredVAST ad item IDnamestringAd item namelocationstringVAST tag URL or media locationactivebooleanWhether ad item is active
vast_delete_ad_item1 paramDelete a VAST ad item
idnumberrequiredVAST ad item ID
vast_list_campaigns2 paramsList all VAST campaigns
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_campaign1 paramGet details of a specific VAST campaign
idnumberrequiredVAST campaign ID
vast_create_campaign3 paramsCreate a new VAST campaign
namestringrequiredCampaign nameadvertisernumberrequiredAdvertiser IDcontractnumberContract ID (requires Contract Management add-on)
vast_update_campaign4 paramsUpdate an existing VAST campaign
idnumberrequiredVAST campaign IDnamestringCampaign nameadvertisernumberAdvertiser IDcontractnumberContract ID (requires Contract Management add-on)
vast_delete_campaign1 paramDelete a VAST campaign
idnumberrequiredVAST campaign ID
vast_archive_campaign1 paramArchive a VAST campaign (soft-delete, can be restored later)
idnumberrequiredVAST campaign ID
vast_list_archived_campaigns2 paramsList all archived VAST campaigns
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_archived_campaign1 paramGet details of a specific archived VAST campaign
idnumberrequiredArchived VAST campaign ID
vast_delete_archived_campaign1 paramPermanently delete an archived VAST campaign
idnumberrequiredArchived VAST campaign ID
vast_unarchive_campaign1 paramRestore an archived VAST campaign back to active status
idnumberrequiredArchived VAST campaign ID
vast_list_channels2 paramsList all VAST channels
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_channel1 paramGet details of a specific VAST channel
idnumberrequiredVAST channel ID
vast_create_channel2 paramsCreate a new VAST channel
namestringrequiredChannel namedescriptionstringChannel description
vast_update_channel3 paramsUpdate an existing VAST channel
idnumberrequiredVAST channel IDnamestringChannel namedescriptionstringChannel description
vast_delete_channel1 paramDelete a VAST channel
idnumberrequiredVAST channel ID
vast_archive_channel1 paramArchive a VAST channel (soft-delete, can be restored later)
idnumberrequiredVAST channel ID
vast_list_archived_channels2 paramsList all archived VAST channels
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_archived_channel1 paramGet details of a specific archived VAST channel
idnumberrequiredArchived VAST channel ID
vast_delete_archived_channel1 paramPermanently delete an archived VAST channel
idnumberrequiredArchived VAST channel ID
vast_unarchive_channel1 paramRestore an archived VAST channel back to active status
idnumberrequiredArchived VAST channel ID
vast_list_channel_zone_assignments2 paramsList all VAST channel zone assignments
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_channel_zone_assignment1 paramGet details of a specific VAST channel zone assignment
idnumberrequiredVAST channel zone assignment ID
vast_create_channel_zone_assignment2 paramsAssign a VAST zone to a VAST channel
channelnumberrequiredVAST channel IDzonenumberrequiredVAST zone ID
vast_update_channel_zone_assignment3 paramsUpdate a VAST channel zone assignment
idnumberrequiredVAST channel zone assignment IDchannelnumberVAST channel IDzonenumberVAST zone ID
vast_delete_channel_zone_assignment1 paramRemove a VAST zone from a VAST channel
idnumberrequiredVAST channel zone assignment ID
vast_list_zones2 paramsList all VAST zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_zone1 paramGet details of a specific VAST zone
idnumberrequiredVAST zone ID
vast_create_zone6 paramsCreate a new VAST zone
namestringrequiredZone namepublishernumberrequiredPublisher IDdefault_vast_ad_itemnumberDefault VAST ad item ID (mutually exclusive with default_vast_campaign)default_vast_campaignnumberDefault VAST campaign ID (mutually exclusive with default_vast_ad_item)serve_priority_orderstringPriority order for serving: "weight" or "auction"metadataobjectCustom metadata key-value pairs
vast_update_zone7 paramsUpdate an existing VAST zone
idnumberrequiredVAST zone IDnamestringZone namepublishernumberPublisher IDdefault_vast_ad_itemnumberDefault VAST ad item ID (mutually exclusive with default_vast_campaign)default_vast_campaignnumberDefault VAST campaign ID (mutually exclusive with default_vast_ad_item)serve_priority_orderstringPriority order for serving: "weight" or "auction"metadataobjectCustom metadata key-value pairs
vast_delete_zone1 paramDelete a VAST zone
idnumberrequiredVAST zone ID
vast_archive_zone1 paramArchive a VAST zone (soft-delete, can be restored later)
idnumberrequiredVAST zone ID
vast_list_archived_zones2 paramsList all archived VAST zones
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_archived_zone1 paramGet details of a specific archived VAST zone
idnumberrequiredArchived VAST zone ID
vast_delete_archived_zone1 paramPermanently delete an archived VAST zone
idnumberrequiredArchived VAST zone ID
vast_unarchive_zone1 paramRestore an archived VAST zone back to active status
idnumberrequiredArchived VAST zone ID
vast_list_placements2 paramsList all VAST placements (assignments of VAST ad items to VAST zones)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_placement1 paramGet details of a specific VAST placement
idnumberrequiredVAST placement ID
vast_create_placement13 paramsCreate a new VAST placement (assign a VAST ad item or campaign to a VAST zone or channel)
advertisementobjectrequiredAdvertisement object with id and typezonenumberVAST zone ID (required if channel not set; mutually exclusive with channel)channelnumberVAST channel ID (required if zone not set; mutually exclusive with zone)schedulenumberrequiredVAST schedule IDactivebooleanWhether placement is active (defaults to true)costobjectPricing model: fixed_cost OR cpm/cpc/cpapayoutobjectPublisher payout configurationprioritynumberPriority level (sponsorship, standard, network, bulk, house)max_frequencynumberFrequency cap limitmax_frequency_periodnumberDays before frequency counter resetsmax_frequency_typestringEvent type to count for frequency cappingserve_methodstringServing system: weight-based or auction-baseddata_key_target_idnumberData Key Target ID (Enterprise only)
vast_update_placement14 paramsUpdate an existing VAST placement
idnumberrequiredVAST placement IDadvertisementobjectAdvertisement object with id and typezonenumberVAST zone ID (mutually exclusive with channel)channelnumberVAST channel ID (mutually exclusive with zone)schedulenumberVAST schedule IDactivebooleanWhether placement is activecostobjectPricing model: fixed_cost OR cpm/cpc/cpapayoutobjectPublisher payout configurationprioritynumberPriority levelmax_frequencynumberFrequency cap limitmax_frequency_periodnumberDays before frequency counter resetsmax_frequency_typestringEvent type for frequency cappingserve_methodstringServing system: weight-based or auction-baseddata_key_target_idnumberData Key Target ID (Enterprise only)
vast_delete_placement1 paramDelete a VAST placement
idnumberrequiredVAST placement ID
vast_list_campaign_assignments2 paramsList all VAST campaign assignments
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_campaign_assignment1 paramGet details of a specific VAST campaign assignment
idnumberrequiredVAST campaign assignment ID
vast_create_campaign_assignment3 paramsCreate a VAST campaign assignment (assign an ad item to a campaign)
ad_itemnumberrequiredVAST ad item IDcampaignnumberrequiredVAST campaign IDactivebooleanWhether to actively serve ads (defaults to true)
vast_update_campaign_assignment4 paramsUpdate a VAST campaign assignment
idnumberrequiredVAST campaign assignment IDad_itemnumberVAST ad item IDcampaignnumberVAST campaign IDactivebooleanWhether to actively serve ads
vast_delete_campaign_assignment1 paramDelete a VAST campaign assignment
idnumberrequiredVAST campaign assignment ID
vast_list_schedules2 paramsList all VAST schedules
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_schedule1 paramGet details of a specific VAST schedule
idnumberrequiredVAST schedule ID
vast_create_schedule7 paramsCreate a new VAST schedule for time-based ad delivery
start_datestringStart date (YYYY-MM-DD HH:MM:SS)end_datestringEnd date (YYYY-MM-DD HH:MM:SS), null for indefinitedelivery_methodstringDelivery pacing: "default" (ASAP) or "smooth" (evenly distributed)quota_lifetimenumberTotal quota amount (views or clicks, not per thousand)quota_typestringQuota measurement typegeo_targetnumberGeotarget ID (0 = no targeting)day_parting_idnumberDay parting ID for time-of-day targeting
vast_update_schedule8 paramsUpdate an existing VAST schedule
idnumberrequiredVAST schedule IDstart_datestringStart date (YYYY-MM-DD HH:MM:SS)end_datestringEnd date (YYYY-MM-DD HH:MM:SS), null for indefinitedelivery_methodstringDelivery pacing: "default" (ASAP) or "smooth" (evenly distributed)quota_lifetimenumberTotal quota amount (views or clicks, not per thousand)quota_typestringQuota measurement typegeo_targetnumberGeotarget ID (0 = no targeting)day_parting_idnumberDay parting ID for time-of-day targeting
vast_delete_schedule1 paramDelete a VAST schedule
idnumberrequiredVAST schedule ID
vast_list_companions2 paramsList all VAST companions
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_companion1 paramGet details of a specific VAST companion
idnumberrequiredVAST companion ID
vast_create_companion3 paramsCreate a new VAST companion
namestringrequiredCompanion namewidthnumberCompanion width in pixelsheightnumberCompanion height in pixels
vast_update_companion4 paramsUpdate an existing VAST companion
idnumberrequiredVAST companion IDnamestringCompanion namewidthnumberCompanion width in pixelsheightnumberCompanion height in pixels
vast_delete_companion1 paramDelete a VAST companion
idnumberrequiredVAST companion ID
vast_list_media2 paramsList all VAST media (linear and non-linear)
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_list_linear_media2 paramsList all VAST linear media
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_linear_media1 paramGet details of a specific VAST linear media
idnumberrequiredVAST linear media ID
vast_create_linear_media4 paramsCreate a new VAST linear media
namestringrequiredLinear media namedurationnumberDuration in secondsbitratenumberBitrate in kbpsmime_typestringMIME type (e.g. video/mp4)
vast_update_linear_media5 paramsUpdate an existing VAST linear media
idnumberrequiredVAST linear media IDnamestringLinear media namedurationnumberDuration in secondsbitratenumberBitrate in kbpsmime_typestringMIME type (e.g. video/mp4)
vast_delete_linear_media1 paramDelete a VAST linear media
idnumberrequiredVAST linear media ID
vast_list_non_linear_media2 paramsList all VAST non-linear media
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_non_linear_media1 paramGet details of a specific VAST non-linear media
idnumberrequiredVAST non-linear media ID
vast_create_non_linear_media4 paramsCreate a new VAST non-linear media
namestringrequiredNon-linear media namewidthnumberWidth in pixelsheightnumberHeight in pixelsmime_typestringMIME type
vast_update_non_linear_media5 paramsUpdate an existing VAST non-linear media
idnumberrequiredVAST non-linear media IDnamestringNon-linear media namewidthnumberWidth in pixelsheightnumberHeight in pixelsmime_typestringMIME type
vast_delete_non_linear_media1 paramDelete a VAST non-linear media
idnumberrequiredVAST non-linear media ID
vast_list_tracking2 paramsList all VAST tracking entries
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
vast_get_tracking1 paramGet details of a specific VAST tracking entry
idnumberrequiredVAST tracking ID
vast_create_tracking3 paramsCreate a new VAST tracking entry
namestringrequiredTracking nameeventstringTracking event type (e.g. start, firstQuartile, midpoint, thirdQuartile, complete)urlstringTracking URL
vast_update_tracking4 paramsUpdate an existing VAST tracking entry
idnumberrequiredVAST tracking IDnamestringTracking nameeventstringTracking event typeurlstringTracking URL
vast_delete_tracking1 paramDelete a VAST tracking entry
idnumberrequiredVAST tracking ID
get_vast_zone_tags1 paramGet VAST zone serving tags
idnumberrequiredVAST zone ID
get_vast_zone_conversion_tag1 paramGet VAST zone conversion tracking tag
idnumberrequiredVAST zone ID
get_vast_ad_item_conversion_tag1 paramGet conversion tracking tag for a VAST ad item
idnumberrequiredVAST ad item ID
get_vast_campaign_conversion_tag1 paramGet conversion tracking tag for a VAST campaign
idnumberrequiredVAST campaign ID
get_vast_placement_conversion_tag1 paramGet conversion tracking tag for a VAST placement
idnumberrequiredVAST placement ID
list_contracts2 paramsList all contracts
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_contract1 paramGet details of a specific contract
idnumberrequiredContract ID
create_contract8 paramsCreate a new contract
namestringrequiredContract nameadvertisernumberrequiredAdvertiser IDdescriptionstringContract descriptionratenumberContract rate (in account currency)payment_due_datestringPayment due date (YYYY-MM-DD)start_atstringContract start date (YYYY-MM-DD)end_atstringContract end date (YYYY-MM-DD)statusstringContract status
update_contract9 paramsUpdate an existing contract
idnumberrequiredContract IDnamestringContract nameadvertisernumberAdvertiser IDdescriptionstringContract descriptionratenumberContract ratepayment_due_datestringPayment due date (YYYY-MM-DD)start_atstringContract start date (YYYY-MM-DD)end_atstringContract end date (YYYY-MM-DD)statusstringContract status
delete_contract1 paramDelete a contract
idnumberrequiredContract ID
list_archived_contracts2 paramsList all archived contracts
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_archived_contract1 paramGet details of a specific archived contract
idnumberrequiredArchived contract ID
delete_archived_contract1 paramPermanently delete an archived contract
idnumberrequiredArchived contract ID
list_contract_templates2 paramsList all contract templates
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_contract_template1 paramGet details of a specific contract template
idnumberrequiredContract template ID
create_contract_template5 paramsCreate a new contract template. Requires name, file, attributes (JSON string), email_subject, and email_body.
namestringrequiredTemplate namefilestringrequiredURL or path to the contract template fileattributesstringrequiredJSON-encoded object containing name, email_subject, email_body, and optionally signing_service, basic_inputs, contract_column_inputs, signersemail_subjectstringrequiredEmail subject line when sending for signatureemail_bodystringrequiredEmail body text when sending for signature
update_contract_template2 paramsUpdate an existing contract template
idnumberrequiredContract template IDnamestringTemplate name
delete_contract_template1 paramDelete a contract template
idnumberrequiredContract template ID
list_contract_documents3 paramsList all documents for a contract
contract_idnumberrequiredContract IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_contract_document2 paramsGet details of a specific contract document
contract_idnumberrequiredContract IDidnumberrequiredDocument ID
create_contract_document2 paramsCreate a new document for a contract
contract_idnumberrequiredContract IDattributesstringJSON-encoded object with name, admin_executed, vendor_executed fields
update_contract_document3 paramsUpdate an existing contract document
contract_idnumberrequiredContract IDidnumberrequiredDocument IDnamestringDocument name
delete_contract_document2 paramsDelete a contract document
contract_idnumberrequiredContract IDidnumberrequiredDocument ID
list_contract_payments3 paramsList all payments for a contract
contract_idnumberrequiredContract IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_contract_payment2 paramsGet details of a specific contract payment
contract_idnumberrequiredContract IDidnumberrequiredPayment ID
create_contract_payment3 paramsCreate a new payment for a contract
contract_idnumberrequiredContract IDamountnumberrequiredAmount paid (can be negative for refunds)notestringPayment note or description
delete_contract_payment2 paramsDelete a contract payment
contract_idnumberrequiredContract IDidnumberrequiredPayment ID
list_signature_requests3 paramsList all signature requests for a contract
contract_idnumberrequiredContract IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_signature_request2 paramsGet details of a specific signature request
contract_idnumberrequiredContract IDidnumberrequiredSignature request ID
create_signature_request1 paramCreate a new signature request for a contract
contract_idnumberrequiredContract ID
update_signature_request2 paramsUpdate an existing signature request
contract_idnumberrequiredContract IDidnumberrequiredSignature request ID
delete_signature_request2 paramsDelete a signature request
contract_idnumberrequiredContract IDidnumberrequiredSignature request ID
archive_contract1 paramArchive a contract (soft-delete, can be restored later)
idnumberrequiredContract ID
unarchive_contract1 paramUnarchive a contract (restore from archive)
idnumberrequiredArchived contract ID
get_contract_assigned_campaigns1 paramGet campaigns assigned to a contract
idnumberrequiredContract ID
get_contract_active_signature_request1 paramGet the active signature request for a contract
idnumberrequiredContract ID
create_contract_document_from_template2 paramsCreate a contract document from a template
contract_idnumberrequiredContract IDtemplate_idnumberTemplate ID
replace_contract_document_file2 paramsReplace the file on a contract document
contract_idnumberrequiredContract IDdocument_idnumberrequiredDocument ID
replace_contract_document_file_from_template2 paramsReplace a contract document file from a template
contract_idnumberrequiredContract IDdocument_idnumberrequiredDocument ID
list_contract_document_file_revisions2 paramsList file revisions for a contract document
contract_idnumberrequiredContract IDdocument_idnumberrequiredDocument ID
get_contract_document_file_revision3 paramsGet a specific file revision for a contract document
contract_idnumberrequiredContract IDdocument_idnumberrequiredDocument IDrevision_idnumberrequiredFile revision ID
download_contract_document_file_revision3 paramsDownload a file revision for a contract document
contract_idnumberrequiredContract IDdocument_idnumberrequiredDocument IDrevision_idnumberrequiredFile revision ID
list_signature_request_recipients2 paramsList all recipients for a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request ID
get_signature_request_recipient3 paramsGet a specific recipient for a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request IDrecipient_idnumberrequiredRecipient ID
update_signature_request_recipient5 paramsUpdate a recipient for a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request IDrecipient_idnumberrequiredRecipient IDnamestringRecipient nameemailstringRecipient email
delete_signature_request_recipient3 paramsDelete a recipient from a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request IDrecipient_idnumberrequiredRecipient ID
cancel_signature_request2 paramsCancel a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request ID
resend_signature_request2 paramsResend a signature request
contract_idnumberrequiredContract IDrequest_idnumberrequiredSignature request ID
list_managers2 paramsList all managers in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_manager1 paramGet details of a specific manager by ID
idnumberrequiredManager ID
create_manager24 paramsCreate a new manager
namestringrequiredManager nameemailstringrequiredManager email addresspasswordstringLogin password (min 8 chars with upper, lower, number). Random if blank.notesstringNotes about the managerpositionstringManager position in organizationis_enabledbooleanWhether the manager account is enabledcan_manage_linksbooleanCan create/edit/delete active tracking linkscan_manage_mediabooleanCan manage creatives and media groupscan_manage_targetsbooleanCan assign/remove targets from placementscan_manage_usersbooleanCan manage user accounts and permissionscan_manage_biddersbooleanCan manage bidderscan_manage_programmaticbooleanCan manage demand sources and PMP dealscan_manage_contractsbooleanCan manage contracts and templatescan_manage_self_servebooleanCan manage Self-Serve portalscan_assign_campaigns_directlybooleanCan assign campaigns directly to zonescan_manage_ticketsbooleanCan create/view support ticketscan_manage_admin_api_accessbooleanCan manage API keyscan_manage_billingbooleanCan view invoices and billingcan_manage_data_keysbooleanCan manage data keyscan_manage_product_dbbooleanCan manage product catalogscan_manage_native_ad_templatesbooleanCan manage native templatespublisher_accessstringPublisher access levelpublisher_access_listarrayPublisher IDs accessible when publisher_access is "specific"statistics_accessstringStatistics access level
update_manager25 paramsUpdate an existing manager
idnumberrequiredManager IDnamestringManager nameemailstringManager email addresspasswordstringLogin passwordnotesstringNotes about the managerpositionstringManager positionis_enabledbooleanWhether the manager account is enabledcan_manage_linksbooleanCan manage tracking linkscan_manage_mediabooleanCan manage creatives and media groupscan_manage_targetsbooleanCan manage targetscan_manage_usersbooleanCan manage userscan_manage_biddersbooleanCan manage bidderscan_manage_programmaticbooleanCan manage programmaticcan_manage_contractsbooleanCan manage contractscan_manage_self_servebooleanCan manage Self-Servecan_assign_campaigns_directlybooleanCan assign campaigns directlycan_manage_ticketsbooleanCan manage ticketscan_manage_admin_api_accessbooleanCan manage API keyscan_manage_billingbooleanCan manage billingcan_manage_data_keysbooleanCan manage data keyscan_manage_product_dbbooleanCan manage product catalogscan_manage_native_ad_templatesbooleanCan manage native templatespublisher_accessstringPublisher access levelpublisher_access_listarrayPublisher IDs for specific accessstatistics_accessstringStatistics access level
delete_manager1 paramDelete a manager
idnumberrequiredManager ID
list_roles2 paramsList all roles in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_role1 paramGet details of a specific role by ID
idnumberrequiredRole ID
create_role20 paramsCreate a new role with permission settings
namestringrequiredRole nameis_default_rolebooleanAuto-assign this role to new userscan_manage_linksbooleanCan manage tracking linkscan_manage_mediabooleanCan manage creatives and media groupscan_manage_targetsbooleanCan manage targetscan_manage_usersbooleanCan manage userscan_manage_biddersbooleanCan manage bidderscan_manage_programmaticbooleanCan manage programmaticcan_manage_contractsbooleanCan manage contractscan_manage_self_servebooleanCan manage Self-Servecan_assign_campaigns_directlybooleanCan assign campaigns directlycan_manage_ticketsbooleanCan manage ticketscan_manage_admin_api_accessbooleanCan manage API keyscan_manage_billingbooleanCan manage billingcan_manage_data_keysbooleanCan manage data keyscan_manage_product_dbbooleanCan manage product catalogscan_manage_native_ad_templatesbooleanCan manage native templatespublisher_accessstringPublisher access levelpublisher_access_listarrayPublisher IDs for specific accessstatistics_accessstringStatistics access level
update_role21 paramsUpdate an existing role
idnumberrequiredRole IDnamestringRole nameis_default_rolebooleanAuto-assign to new userscan_manage_linksbooleanCan manage tracking linkscan_manage_mediabooleanCan manage creativescan_manage_targetsbooleanCan manage targetscan_manage_usersbooleanCan manage userscan_manage_biddersbooleanCan manage bidderscan_manage_programmaticbooleanCan manage programmaticcan_manage_contractsbooleanCan manage contractscan_manage_self_servebooleanCan manage Self-Servecan_assign_campaigns_directlybooleanCan assign campaigns directlycan_manage_ticketsbooleanCan manage ticketscan_manage_admin_api_accessbooleanCan manage API keyscan_manage_billingbooleanCan manage billingcan_manage_data_keysbooleanCan manage data keyscan_manage_product_dbbooleanCan manage product catalogscan_manage_native_ad_templatesbooleanCan manage native templatespublisher_accessstringPublisher access levelpublisher_access_listarrayPublisher IDs for specific accessstatistics_accessstringStatistics access level
delete_role1 paramDelete a role
idnumberrequiredRole ID
list_contacts2 paramsList all contacts in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_contact1 paramGet details of a specific contact by ID
idnumberrequiredContact ID
create_contact3 paramsCreate a new contact
namestringrequiredContact name (full name recommended)emailstringrequiredContact email address (must be unique)notesstringAdditional notes about the contact
update_contact4 paramsUpdate an existing contact
idnumberrequiredContact IDnamestringContact nameemailstringContact email addressnotesstringAdditional notes
delete_contact1 paramDelete a contact
idnumberrequiredContact ID
get_contact_report_schedules1 paramList report schedules for a contact
idnumberrequiredContact ID
list_demand_sources2 paramsList all demand sources in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_demand_source1 paramGet details of a specific demand source by ID
idnumberrequiredDemand source ID
create_demand_source7 paramsCreate a new demand source
namestringrequiredDemand source namenetworkstringrequiredNetwork type: 'adview', 'aerserv', 'inmobi', 'inneractive', 'loopme', 'mobilefuse', 'onebyaol', 'pubmatic', 'pubnative', 'smaato', 'startapp', 'tappx', 'consumable', 'bidphysics', or 'openrtb'statusstringWhether to send bid requests (default: active)spend_limitnumberSpend limit amountspend_limit_periodstringSpend limit reset intervalspend_limit_startstringSpend limit start date (ISO-8601)spend_limit_endstringSpend limit end date (ISO-8601)
update_demand_source7 paramsUpdate an existing demand source
idnumberrequiredDemand source IDnamestringDemand source namestatusstringWhether to send bid requestsspend_limitnumberSpend limit amountspend_limit_periodstringSpend limit reset intervalspend_limit_startstringSpend limit start date (ISO-8601)spend_limit_endstringSpend limit end date (ISO-8601)
delete_demand_source1 paramDelete a demand source
idnumberrequiredDemand source ID
list_demand_endpoints2 paramsList all demand endpoints in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_demand_endpoint1 paramGet details of a specific demand endpoint by ID
idnumberrequiredDemand endpoint ID
create_demand_endpoint15 paramsCreate a new demand endpoint
namestringrequiredDemand endpoint namedemand_sourcenumberrequiredDemand Source ID this endpoint belongs todefault_parametersobjectrequiredDefault parameters for the endpoint (e.g. { url: "https://..." })supported_formatsarrayrequiredSupported ad formats: "display", "native", "video"statusstringWhether to send bid requests (default: active)bid_floornumberDefault CPM bid floorrevenue_sharenumberRevenue share percentage paid to publishermarkup_percentnumberMarkup percent applied to zone bid floorallowed_sizesarrayAllowed zone sizes (e.g. ["300x250", "728x90"])prioritystringServing prioritygeo_targetnumberGeo target ID for geographic targetingfilter_typestringZone filtering typefiltered_zonesarrayZone IDs for the filter listfiltered_vast_zonesarrayVAST zone IDs for the filter listnative_json_encodedbooleanWhether native JSON should be encoded
update_demand_endpoint16 paramsUpdate an existing demand endpoint
idnumberrequiredDemand endpoint IDnamestringDemand endpoint namedemand_sourcenumberDemand Source IDdefault_parametersobjectDefault parameterssupported_formatsarraySupported ad formatsstatusstringWhether to send bid requestsbid_floornumberDefault CPM bid floorrevenue_sharenumberRevenue share percentagemarkup_percentnumberMarkup percentallowed_sizesarrayAllowed zone sizesprioritystringServing prioritygeo_targetnumberGeo target IDfilter_typestringZone filtering typefiltered_zonesarrayZone IDs for filter listfiltered_vast_zonesarrayVAST zone IDs for filter listnative_json_encodedbooleanWhether native JSON should be encoded
delete_demand_endpoint1 paramDelete a demand endpoint
idnumberrequiredDemand endpoint ID
list_pmp_deals2 paramsList all PMP deals in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_pmp_deal1 paramGet details of a specific PMP deal by ID
idnumberrequiredPMP deal ID
create_pmp_deal5 paramsCreate a new PMP deal
namestringPMP deal namebid_floornumberBid floor for this dealwhitelist_seatsarraySeat IDs with access to this dealgeo_targetnumberGeo target ID (0 = no targeting)audience_targetnumberAudience target ID (null = no targeting)
update_pmp_deal6 paramsUpdate an existing PMP deal
idnumberrequiredPMP deal IDnamestringPMP deal namebid_floornumberBid floorwhitelist_seatsarraySeat IDs with accessgeo_targetnumberGeo target IDaudience_targetnumberAudience target ID
delete_pmp_deal1 paramDelete a PMP deal
idnumberrequiredPMP deal ID
list_ortb_native_templates2 paramsList all OpenRTB native templates in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_ortb_native_template1 paramGet details of a specific OpenRTB native template by ID
idnumberrequiredORTB native template ID
create_ortb_native_template2 paramsCreate a new OpenRTB native template
namestringORTB native template namehtml_templatestringHTML template for rendering the native ad (e.g. "<div>{{title}}</div>")
update_ortb_native_template3 paramsUpdate an existing OpenRTB native template
idnumberrequiredORTB native template IDnamestringORTB native template namehtml_templatestringHTML template for rendering the native ad
delete_ortb_native_template1 paramDelete an OpenRTB native template
idnumberrequiredORTB native template ID
list_user_dbs2 paramsList all user databases in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_user_db1 paramGet details of a specific user database by ID
idnumberrequiredUser database ID
create_user_db2 paramsCreate a new user database
namestringUser database nameid_field_namestringName of the field to use as primary user identifier
list_user_attributes3 paramsList all user attributes in a user database
user_db_idnumberrequiredUser database IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_user_attribute2 paramsGet details of a specific user attribute in a user database
user_db_idnumberrequiredUser database IDidnumberrequiredUser attribute ID
create_user_attribute4 paramsCreate a new user attribute in a user database
user_db_idnumberrequiredUser database IDidstringField name in the user data (e.g. "signup_datetime")labelstringDescriptive label for the fieldtypestringData type of the field
update_user_attribute4 paramsUpdate an existing user attribute in a user database
user_db_idnumberrequiredUser database IDidnumberrequiredUser attribute IDlabelstringDescriptive label for the fieldtypestringData type of the field
delete_user_attribute2 paramsDelete a user attribute from a user database
user_db_idnumberrequiredUser database IDidnumberrequiredUser attribute ID
list_audiences3 paramsList all audiences in a user database
user_db_idnumberrequiredUser database IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_audience2 paramsGet details of a specific audience in a user database
user_db_idnumberrequiredUser database IDidnumberrequiredAudience ID
create_audience3 paramsCreate a new audience in a user database
user_db_idnumberrequiredUser database IDnamestringAudience nameattributesobjectAttribute targets defining the audience (e.g. { "gender": { "operator": "=", "operand": "male" } })
update_audience4 paramsUpdate an existing audience in a user database
user_db_idnumberrequiredUser database IDidnumberrequiredAudience IDnamestringAudience nameattributesobjectAttribute targets defining the audience
delete_audience2 paramsDelete an audience from a user database
user_db_idnumberrequiredUser database IDidnumberrequiredAudience ID
get_user2 paramsGet a single user from a user database
user_db_idnumberrequiredUser database IDuser_idstringrequiredUser ID
create_user3 paramsCreate a new user in a user database
user_db_idnumberrequiredUser database IDuser_idstringUser IDattributesobjectUser attribute values
bulk_upload_replace_user_db1 paramBulk upload to replace all user data in a user database
idnumberrequiredUser database ID
add_user_list_attribute_values4 paramsAdd values to a list attribute for a user
user_db_idnumberrequiredUser database IDuser_idstringrequiredUser IDlist_attribute_namestringrequiredList attribute namevaluesarrayValues to add
remove_user_list_attribute_values4 paramsRemove values from a list attribute for a user
user_db_idnumberrequiredUser database IDuser_idstringrequiredUser IDlist_attribute_namestringrequiredList attribute namevaluesarrayValues to remove
list_data_lists2 paramsList all data lists in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_data_list1 paramGet details of a specific data list by ID
idnumberrequiredData list ID
create_data_list1 paramCreate a new data list
labelstringrequiredData list label/name
update_data_list2 paramsUpdate an existing data list
idnumberrequiredData list IDlabelstringData list label/name
delete_data_list1 paramDelete a data list
idnumberrequiredData list ID
bulk_upload_add_data_list2 paramsBulk add entries to a data list
idnumberrequiredData list IDdatastringCSV data to add
bulk_upload_remove_data_list2 paramsBulk remove entries from a data list
idnumberrequiredData list IDdatastringCSV data to remove
bulk_upload_replace_data_list2 paramsBulk replace all entries in a data list
idnumberrequiredData list IDdatastringCSV data to replace list with
list_beacon_signing_keys2 paramsList all beacon signing keys in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_beacon_signing_key1 paramGet details of a specific beacon signing key by ID
idnumberrequiredBeacon signing key ID
create_beacon_signing_key1 paramCreate a new beacon signing key
key_namestringrequiredBeacon signing key name
update_beacon_signing_key2 paramsUpdate an existing beacon signing key
idnumberrequiredBeacon signing key IDkey_namestringBeacon signing key name
delete_beacon_signing_key1 paramDelete a beacon signing key
idnumberrequiredBeacon signing key ID
list_trusted_redirect_domains2 paramsList all trusted redirect domains in your AdButler account
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_trusted_redirect_domain1 paramGet details of a specific trusted redirect domain by ID
idnumberrequiredTrusted redirect domain ID
create_trusted_redirect_domain1 paramCreate a new trusted redirect domain
domainstringrequiredTrusted redirect domain (e.g. example.com)
update_trusted_redirect_domain2 paramsUpdate an existing trusted redirect domain
idnumberrequiredTrusted redirect domain IDdomainstringTrusted redirect domain (e.g. example.com)
delete_trusted_redirect_domain1 paramDelete a trusted redirect domain
idnumberrequiredTrusted redirect domain ID
validate_beacon_signing_key1 paramValidate a beacon signing key
keystringBeacon signing key to validate
draft_list_campaigns2 paramsList all draft standard campaigns
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_campaign1 paramGet details of a specific draft standard campaign
idnumberrequiredDraft campaign ID
draft_create_campaign1 paramCreate a new draft standard campaign. Fields go inside a "draft" object wrapper.
draftobjectrequiredObject containing standard campaign fields (name, advertiser, etc.)
draft_update_campaign2 paramsUpdate an existing draft standard campaign
idnumberrequiredDraft campaign IDdraftobjectObject containing standard campaign fields to update
draft_delete_campaign1 paramDelete a draft standard campaign
idnumberrequiredDraft campaign ID
draft_list_ad_items2 paramsList all draft ad items across all types
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_ad_item1 paramGet a draft ad item of any type by ID
idnumberrequiredDraft ad item ID
draft_list_image_ad_items2 paramsList all draft image ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_image_ad_item1 paramGet details of a specific draft image ad item
idnumberrequiredDraft ad item ID
draft_create_image_ad_item2 paramsCreate a new draft image ad item
campaign_draft_idnumberrequiredDraft campaign ID this ad item belongs todraftobjectrequiredObject containing image ad item fields (name required)
draft_update_image_ad_item2 paramsUpdate an existing draft image ad item
idnumberrequiredDraft ad item IDdraftobjectObject containing image ad item fields to update
draft_delete_image_ad_item1 paramDelete a draft image ad item
idnumberrequiredDraft ad item ID
draft_list_rich_media_ad_items2 paramsList all draft rich media ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_rich_media_ad_item1 paramGet details of a specific draft rich media ad item
idnumberrequiredDraft ad item ID
draft_create_rich_media_ad_item2 paramsCreate a new draft rich media ad item
campaign_draft_idnumberrequiredDraft campaign ID this ad item belongs todraftobjectrequiredObject containing rich media ad item fields (name required)
draft_update_rich_media_ad_item2 paramsUpdate an existing draft rich media ad item
idnumberrequiredDraft ad item IDdraftobjectObject containing rich media ad item fields to update
draft_delete_rich_media_ad_item1 paramDelete a draft rich media ad item
idnumberrequiredDraft ad item ID
draft_list_custom_html_ad_items2 paramsList all draft custom HTML ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_custom_html_ad_item1 paramGet details of a specific draft custom HTML ad item
idnumberrequiredDraft ad item ID
draft_create_custom_html_ad_item2 paramsCreate a new draft custom HTML ad item
campaign_draft_idnumberrequiredDraft campaign ID this ad item belongs todraftobjectrequiredObject containing custom HTML ad item fields (name, custom_html required)
draft_update_custom_html_ad_item2 paramsUpdate an existing draft custom HTML ad item
idnumberrequiredDraft ad item IDdraftobjectObject containing custom HTML ad item fields to update
draft_delete_custom_html_ad_item1 paramDelete a draft custom HTML ad item
idnumberrequiredDraft ad item ID
draft_list_native_ad_items2 paramsList all draft native ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_native_ad_item1 paramGet details of a specific draft native ad item
idnumberrequiredDraft ad item ID
draft_create_native_ad_item2 paramsCreate a new draft native ad item
campaign_draft_idnumberrequiredDraft campaign ID this ad item belongs todraftobjectrequiredObject containing native ad item fields (name required, plus template, variables, etc.)
draft_update_native_ad_item2 paramsUpdate an existing draft native ad item
idnumberrequiredDraft ad item IDdraftobjectObject containing native ad item fields to update
draft_delete_native_ad_item1 paramDelete a draft native ad item
idnumberrequiredDraft ad item ID
draft_list_catalog_ad_items2 paramsList all draft catalog ad items
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_catalog_ad_item1 paramGet details of a specific draft catalog ad item
idnumberrequiredDraft ad item ID
draft_create_catalog_ad_item2 paramsCreate a new draft catalog ad item
campaign_draft_idnumberrequiredDraft campaign ID this ad item belongs todraftobjectrequiredObject containing catalog ad item fields (name required)
draft_update_catalog_ad_item2 paramsUpdate an existing draft catalog ad item
idnumberrequiredDraft ad item IDdraftobjectObject containing catalog ad item fields to update
draft_delete_catalog_ad_item1 paramDelete a draft catalog ad item
idnumberrequiredDraft ad item ID
draft_list_campaign_assignments2 paramsList all draft campaign assignments
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_campaign_assignment1 paramGet details of a specific draft campaign assignment
idnumberrequiredDraft campaign assignment ID
draft_create_campaign_assignment3 paramsCreate a new draft campaign assignment
campaign_draft_idnumberrequiredDraft campaign ID this assignment belongs toad_item_draft_idnumberrequiredDraft ad item ID this assignment referencesdraftobjectObject containing campaign assignment fields (campaign and advertisement auto-resolved)
draft_update_campaign_assignment2 paramsUpdate an existing draft campaign assignment
idnumberrequiredDraft campaign assignment IDdraftobjectObject containing campaign assignment fields to update
draft_delete_campaign_assignment1 paramDelete a draft campaign assignment
idnumberrequiredDraft campaign assignment ID
draft_list_placements2 paramsList all draft placements
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_placement1 paramGet details of a specific draft placement
idnumberrequiredDraft placement ID
draft_create_placement2 paramsCreate a new draft placement
campaign_draft_idnumberrequiredDraft campaign ID this placement belongs todraftobjectrequiredObject containing placement fields (zone, advertisement, etc.)
draft_update_placement2 paramsUpdate an existing draft placement
idnumberrequiredDraft placement IDdraftobjectObject containing placement fields to update
draft_delete_placement1 paramDelete a draft placement
idnumberrequiredDraft placement ID
draft_list_schedules2 paramsList all draft schedules
limitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
draft_get_schedule1 paramGet details of a specific draft schedule
idnumberrequiredDraft schedule ID
draft_create_schedule2 paramsCreate a new draft schedule
campaign_draft_idnumberrequiredDraft campaign ID this schedule belongs todraftobjectrequiredObject containing schedule fields
draft_update_schedule2 paramsUpdate an existing draft schedule
idnumberrequiredDraft schedule IDdraftobjectObject containing schedule fields to update
draft_delete_schedule1 paramDelete a draft schedule
idnumberrequiredDraft schedule ID
draft_save_campaign1 paramSave/publish a draft campaign (converts draft to live campaign)
idnumberrequiredDraft campaign ID
list_product_catalogs3 paramsList all product catalogs for a publisher
publisher_idnumberrequiredPublisher IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_product_catalog2 paramsGet details of a specific product catalog
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog ID
create_product_catalog2 paramsCreate a new product catalog for a publisher
publisher_idnumberrequiredPublisher IDnamestringCatalog name
update_product_catalog3 paramsUpdate an existing product catalog
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog IDnamestringCatalog name
search_product_catalog_items3 paramsSearch for items in a product catalog
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog IDquerystringSearch query string
get_product_catalog_item3 paramsGet details of a specific product catalog item
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog IDidentifierstringrequiredUnique identifier for the catalog item
create_product_catalog_item9 paramsCreate a new item in a product catalog
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog IDnamestringItem nameidentifierstringUnique identifier for the catalog itemdescriptionstringItem descriptionurlstringItem URLimage_urlstringItem image URLpricestringItem pricecategorystringItem category
update_product_catalog_item9 paramsUpdate an existing product catalog item
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog IDidentifierstringrequiredUnique identifier for the catalog itemnamestringItem namedescriptionstringItem descriptionurlstringItem URLimage_urlstringItem image URLpricestringItem pricecategorystringItem category
bulk_upload_product_catalog2 paramsBulk upload items to a product catalog
publisher_idnumberrequiredPublisher IDcatalog_idnumberrequiredCatalog ID
list_product_sources3 paramsList all product sources for a publisher
publisher_idnumberrequiredPublisher IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_product_source2 paramsGet details of a specific product source
publisher_idnumberrequiredPublisher IDsource_idnumberrequiredSource ID
create_product_source4 paramsCreate a new product source for a publisher
publisher_idnumberrequiredPublisher IDnamestringSource nameurlstringSource URLtypestringSource type
update_product_source5 paramsUpdate an existing product source
publisher_idnumberrequiredPublisher IDsource_idnumberrequiredSource IDnamestringSource nameurlstringSource URLtypestringSource type
delete_product_source2 paramsDelete a product source
publisher_idnumberrequiredPublisher IDsource_idnumberrequiredSource ID
bulk_create_product_sources2 paramsBulk create product sources for a publisher
publisher_idnumberrequiredPublisher IDsourcesarrayArray of source objects to create
list_product_source_targets3 paramsList all product source targets for a publisher
publisher_idnumberrequiredPublisher IDlimitnumberMax results to return (default 100, max 100)offsetnumberPagination offset
get_product_source_target2 paramsGet details of a specific product source target
publisher_idnumberrequiredPublisher IDsource_target_idnumberrequiredSource target ID
create_product_source_target3 paramsCreate a new product source target for a publisher
publisher_idnumberrequiredPublisher IDnamestringSource target namesource_idnumberSource ID to target
README.md
AdButler MCP Server
Manage your entire AdButler account from any AI assistant — Claude, ChatGPT, Cursor, Windsurf, Cline, and any other Model Context Protocol client.
This MCP server exposes the full AdButler v2 API — 600+ tools covering advertisers, campaigns, zones, creatives, placements, VAST video ads, programmatic / RTB, reporting, targeting, drafts, contracts, product catalogs, and more — plus 9 pre-built workflow prompts that walk an AI through common tasks like launching a campaign or setting up retail media.
What you can ask
"Create a new campaign for Pepsi targeting users in Canada with a $5,000 lifetime budget, and assign it to my Homepage Banner zone."
"Show me the top 10 underperforming ad items in the last 7 days by CTR."
"Set up a VAST 4.2 pre-roll campaign with a 30-second skippable creative and three companion banners."
"Walk me through creating a new programmatic deal."
"Audit my ad units — which zones have no active placements?"
The AI translates these into the right sequence of AdButler API calls, runs them, and shows you the result.
Install
You have two options. Most users want the hosted version — zero setup, just paste a URL.
Option A — Hosted (recommended)
Use AdButler's hosted MCP server. No install, no Node, no npm.
The hosted server speaks both modern Streamable HTTP (/mcp) and legacy SSE (/sse) transports. New clients should prefer Streamable HTTP; SSE remains for backward compatibility.
| Client | Configuration |
|---|---|
| Claude Desktop / Code | Add an MCP server with URL https://mcp.adbutler.com/mcp (or /sse for older clients) and header Authorization: Bearer YOUR_ADBUTLER_API_KEY |
| Cursor | Settings → Features → Model Context Protocol → Add server with the URL + auth header above |
| Any MCP client | Streamable HTTP: https://mcp.adbutler.com/mcp · SSE: https://mcp.adbutler.com/sse — pass your API key via Authorization: Bearer … or ?api_key=… |
Option B — Local stdio (npm)
Run the server locally as a Node process. Useful if you want to keep your API key out of any external service or run against a self-hosted AdButler.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"adbutler": {
"command": "npx",
"args": ["-y", "@adbutler/mcp-server"],
"env": {
"ADBUTLER_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code
claude mcp add adbutler --env ADBUTLER_API_KEY=your_api_key_here -- npx -y @adbutler/mcp-server
Cursor / Windsurf / Cline
Add to the client's MCP config:
{
"mcpServers": {
"adbutler": {
"command": "npx",
"args": ["-y", "@adbutler/mcp-server"],
"env": { "ADBUTLER_API_KEY": "your_api_key_here" }
}
}
}
Get your AdButler API key
AdButler Dashboard → Settings → API Keys → create a new key. It's the same key the AdButler v2 REST API uses.
Authentication
The AdButler MCP works for both new and existing customers. What you see depends on whether you've already configured an API key.
Already an AdButler customer? (existing API key)
Use one of these:
Option 1 — set the API key in your client config (recommended for hosted)
Add an Authorization: Bearer YOUR_ADBUTLER_API_KEY header on the SSE connection. Examples:
- Claude Desktop — edit
claude_desktop_config.json→ addheaders: { "Authorization": "Bearer YOUR_API_KEY" }next to the SSE URL - Cursor — MCP server settings → Headers → add
Authorization: Bearer YOUR_API_KEY - Any client — pass the header on the SSE GET to
https://mcp.adbutler.com/sse
Reconnect — all 600+ tools become available immediately.
Option 2 — configure inside the chat (works in any MCP client)
If your client doesn't support custom headers, just connect to the hosted MCP without auth and you'll see four onboarding tools. Then in the chat say:
"Configure my AdButler API key:
your_api_key_here"
Your AI will call the setup_api_key tool, validate the key against your account, and unlock all the AdButler tools. You may need to disconnect and reconnect to refresh your client's tool list after.
New to AdButler? (no account yet)
Connect to the hosted MCP without auth. The chat will guide you through a free trial signup using create_trial_account → check your email → verify_trial_email with the code. The API key is configured automatically.
Local stdio install
If you're running locally via npx, set ADBUTLER_API_KEY in the env block of your client's MCP config (see Option B above). The setup tools also work — and on local the key is remembered between sessions.
What's included
9 workflow prompts
Pre-built skill prompts that guide the AI through complete workflows end-to-end. Invoke them as MCP prompts (/launch-campaign etc.) from your client.
| Prompt | What it does |
|---|---|
launch-campaign |
Walks an end-to-end campaign launch — advertiser → campaign → ad items → creatives → targeting → placements |
retail-media-setup |
Sets up sponsored products / retail media for an e-commerce site |
reporting |
Generates a custom report with the right dimensions and filters |
vast-video |
Builds a VAST video ad with linear + companion creatives |
programmatic |
Configures programmatic deals, bidders, and demand sources |
targeting |
Builds geo / platform / data-key / list targets |
contracts |
Creates IO contracts and assigns them to campaigns |
channels |
Bundles zones into a channel and assigns campaigns |
drafts |
Stages a complete campaign as drafts before going live |
3 fallback meta-tools (search, describe, call)
When you need an endpoint that no specific tool wraps — or when the user asks about a field (e.g. "priority", "frequency cap") rather than a resource — three escape-hatch tools cover the gap:
| Tool | What it does |
|---|---|
search_adbutler_api |
Keyword-search the full AdButler OpenAPI spec for matching endpoints |
describe_adbutler_api |
Get the full schema (params, body, response) for one endpoint |
call_adbutler_api |
Invoke any endpoint by method+path, with the session's auth applied automatically |
These complement (don't replace) the specific tools below — the LLM continues to prefer specific tools when they obviously match.
600+ tools across the full AdButler API
| Domain | Tools | Examples |
|---|---|---|
| Display ads | 100+ | list_advertisers, create_campaign, create_image_ad_item, create_native_ad_item, create_placement, create_schedule, create_campaign_assignment |
| VAST 2/3/4 video | 156 | vast_create_creative, vast_create_linear_media, vast_create_companion, vast_create_placement, vast_create_schedule, plus full VAST 4.2 sub-resource coverage |
| Zones & publishing | 50+ | create_zone, create_zone_catalog, create_zone_email, create_native_template, create_publisher, ORTB native assets |
| Targeting | 37 | create_geo_target, create_platform_target, create_data_key, create_data_list, create_postal_code_target |
| Reporting | 39 | get_display_report, get_vast_report, get_event_logs, custom report configs, scheduled reports |
| Programmatic / RTB | 25 | create_demand_source, create_demand_endpoint, create_bidder, create_pmp_deal |
| Product catalogs | 20 | create_product_db_catalog, bulk_upload_products, ad item ↔ catalog item linking |
| Drafts | 48 | Stage campaigns/ad items/placements/schedules as drafts; publish atomically |
| Contracts | 43 | Insertion orders, contract documents, signature requests, payments |
| Account & security | 27 | Users, roles, redirect domains, beacon signing keys, SFTP connections |
| Ad serving | 2 | serve_ad, live_website_preview |
100% coverage of the AdButler v2 OpenAPI spec (604/604 endpoints).
Telemetry
The hosted server at mcp.adbutler.com collects usage analytics so we can understand which tools are popular, prioritize improvements, and diagnose failures. We capture, per tool call:
- Tool name (e.g.
list_zones,create_campaign) — never tool arguments - Account ID (derived once per session from
/self) - API-key fingerprint (SHA-256, truncated to 16 hex chars) — identifies which key was used without storing the key itself
- Transport (HTTP or SSE), MCP client name and version (e.g. Claude Desktop), call duration, success/error status
- On errors: upstream HTTP status code, a categorical error class (e.g.
forbidden,network), and the error message text (truncated to 1000 characters)
We never collect: tool arguments, response bodies, your raw API key, IP addresses, request bodies. The instrumentation only sees the tool name, timing, and (on failure) the error message produced by the MCP server or AdButler API.
Self-installed copies — npm package, stdio, your own deployment — collect zero data. The instrumentation only fires when the ANALYTICS_INGEST_URL environment variable is set, which is only true for the hosted endpoint at mcp.adbutler.com.
If you'd prefer to opt out of analytics on the hosted server, run your own copy via stdio or self-host the SSE/HTTP server.
Development
Local source for contributors:
git clone https://github.com/adbutler/mcp-server
cd mcp-server
npm install
npm run build
ADBUTLER_API_KEY=your_key node dist/index.js
Inspect with the official MCP inspector:
npx @modelcontextprotocol/inspector node dist/index.js
Resources
- AdButler API documentation — https://api.adbutler.com/openapi.json
- MCP Protocol — https://modelcontextprotocol.io
- Hosted server status — https://mcp.adbutler.com/health
- Issues / feature requests — https://github.com/adbutler/mcp-server/issues
License
MIT
Recommended MCP Servers
How it compares
Hosted AdButler API bridge via MCP, not a generic analytics skill or marketplace bundle.
FAQ
What does mcp:com.adbutler/mcp-server do?
mcp:com.
When should I use mcp:com.adbutler/mcp-server?
User asks about mcp:com.adbutler/mcp-server, or related workflow.
Is this skill safe to install?
Review the Security Audits panel on this page before installing in production.