Version 3.0.0-rc.2
Status: Release Candidate | AdCP 3.0 overviewWhat’s New
-
Brand Protocol Rights Lifecycle —
get_rights,acquire_rights,update_rightstasks for brand licensing. Generation credentials, creative approval webhooks, revocation notifications, and usage reporting. Authenticated webhooks (HMAC-SHA256), actionable vs final rejection convention, DDEX PIE mapping for music licensing, and sandbox tooling for scenario testing. -
Visual Guidelines on Brand Manifest — Structured
visual_guidelinesfield onbrand.json: photography, graphic style, shapes, iconography, composition, motion, logo placement, colorways, type scale, asset libraries, and restrictions. Enables generative creative systems to produce on-brand assets. -
Shows and Episodes — Content dimension for products representing persistent programs (podcasts, TV series, YouTube channels).
show_idson products,showsarray inget_productsresponses. Distribution identifiers for cross-seller matching, episode lifecycle states, break-based ad inventory, talent linking, show relationships, international content ratings. -
AI Media Channel —
sponsored_intelligenceadded to the media channel taxonomy for AI platform advertising (AI assistants, AI search, generative AI experiences). -
Property Governance Integration — Optional
property_listparameter onget_productsfor filtering products by governance-evaluated property lists.property_list_appliedresponse field confirms filtering. -
Account Model Simplification — Removed
account_resolutioncapability.require_operator_authnow determines both auth model and account reference style.
Breaking Changes
Other Updates
- Certification program — Three-tier certification (Basics, Practitioner, Specialist) taught by Addie through interactive chat, with vibe coding build projects for non-technical participants.
- Documentation — Illustrated protocol walkthroughs, buy-side guides, FAQ expansion, schema-compliant examples, and collapsed sidebar navigation.
Version 3.0.0-rc.1
Status: Release Candidate | AdCP 3.0 overviewWhat’s New
-
Keyword Targeting —
keyword_targetsandnegative_keywordson the targeting overlay for search and retail media. Per-keyword bid prices with broad, phrase, and exact match types. Incremental management viakeyword_targets_addandkeyword_targets_removeon package updates.by_keywordbreakdown in delivery reporting. -
Optimization Goals Redesign —
optimization_goal(singular) replaced byoptimization_goals(array). Discriminated union onkind:metricfor seller-native delivery metrics oreventfor conversion tracking. Priority ordering for multi-goal packages. New metric types:engagements,follows,saves,profile_visits. View duration configuration for video completion goals. -
Reach Optimization —
reachas a metric optimization goal withreach_unit(individuals, households, devices, accounts, cookies, custom) and optionaltarget_frequencyband (min/max/window). Products declaresupported_reach_unitswhen reach is in their supported metrics. -
Expanded Frequency Cap —
frequency_capnow supportsmax_impressions+per+windowin addition to the existingsuppress_minutes. -
Signal Pricing Models — Discriminated union with three pricing models:
cpm,percent_of_media(with optionalmax_cpm), andflat_fee. Structuredpricing_optionsarray replaces the legacy pricing object on signals.pricing_option_idonactivate_signal.idempotency_keyonreport_usagefor preventing double-billing. -
Dimension Breakdowns — Opt-in reporting dimensions on
get_media_buy_delivery:by_geo,by_device_type,by_device_platform,by_audience,by_placement— each with truncation flags. Newreporting_dimensionsrequest parameter with per-dimensionlimitandsort_bycontrols. Capability declaration at seller level (get_adcp_capabilities→media_buy.reporting) and product level (reporting_capabilities). -
Device Type Targeting — New
device_typefield (form factor: desktop, mobile, tablet, ctv, dooh, unknown) distinct from existingdevice_platform(OS). Withdevice_type_excludefor negative targeting. Declared inget_adcp_capabilitiestargeting capabilities. -
Deliver-to Flattening — The nested
deliver_toobject inget_signalsrequest replaced with two top-level fields:destinationsandcountries. Simplifies queries where the caller is querying a platform’s own signal agent. -
Metric Optimization Capabilities — Products declare
metric_optimizationblock withsupported_metrics,supported_view_durations, andsupported_targets.max_optimization_goalson products. Conversion tracking declaressupported_targets.multi_source_event_dedupflag inget_adcp_capabilities. -
Swiss & Austrian Postal Codes —
ch_plzandat_plzadded to the postal-system enum, with corresponding updates toget_adcp_capabilities. -
Brand Identity Unification —
brand-manifest.jsondeleted. Task schemas now reference brands by{ domain, brand_id }(BrandRef) instead of passing inline manifests. Brand data is resolved frombrand.jsonor the registry at execution time. -
Delivery Forecasts on Products —
estimated_exposuresreplaced with structuredforecastfield using theDeliveryForecasttype. Products now return time periods, metric ranges, and methodology context during discovery. -
Proposal Refinement via Buying Mode —
proposal_idremoved fromget_productsrequest. Refinement now usesbuying_mode: "refine"with a typedrefinearray (see item 21). Session continuity (context_idin MCP,contextIdin A2A) carries conversation history across calls. Proposal execution viacreate_media_buywithproposal_idis unchanged. -
First-Class Catalogs —
sync_catalogstask with 13 catalog types (structural and industry-vertical). Formats declarecatalog_requirements. Catalogs includeconversion_eventsandcontent_id_typefor attribution alignment. -
New Tasks —
get_media_buysfor operational campaign monitoring,get_creative_featuresfor creative governance,sync_audiencesfor CRM-based audience management. -
Buying Mode —
buying_modeonget_productswith three modes:brief(natural language discovery),wholesale(full catalog), andrefine(typed change-requests on previous results). Now required on allget_productscalls. -
Sandbox Mode —
sandboxprotocol parameter on all tasks for testing without side effects. -
Creative Brief Type —
CreativeBrieftype onbuild_creativerequest for structured creative direction. -
Campaign Reference —
campaign_reffield for cross-operation campaign grouping across multiple media buys. -
Geo Proximity Targeting —
geo_proximitytargeting overlay for point-based proximity targeting. Three methods:travel_timeisochrones (e.g., “within 2hr drive of Düsseldorf”),radius(e.g., “within 30km of Heathrow”), and pre-computedgeometry(buyer provides a GeoJSON polygon). Structured capability declaration inget_adcp_capabilitieswith per-method and transport mode support. -
Typed Refinement with Seller Acknowledgment —
refineredesigned from nested object to typed change-request array withscopediscriminator (request,product,proposal). Field renames:product_id/proposal_id→id,notes→ask. Seller responses includerefinement_applied— a positionally-matched array with per-askstatus(applied,partial,unable) and notes. -
AI Provenance and Disclosure —
provenanceobject on creative manifests, assets, and artifacts for AI content transparency. IPTC-aligneddigital_source_typeenum (9 values),ai_toolmetadata,human_oversightlevels, C2PA soft references viamanifest_url, regulatorydisclosurewith per-jurisdiction requirements (EU AI Act, California SB 942), and third-partyverificationresults.provenance_requiredon creative policy for seller enforcement. -
Creative Compliance —
complianceobject on creative briefs withrequired_disclosures(structured items with text, position, jurisdictions, regulation, minimum duration) andprohibited_claims. Newdisclosure-positionenum with 8 standard positions. Formats declaresupported_disclosure_positions.supports_compliancecapability flag replacessupports_brief. -
Manifest Unification — Creative manifest model unified to
format_id+assets. Briefs and catalogs become proper asset types (brief,catalog) within the assets map. All asset reference lists across creative-manifest, creative-asset, and list-creatives-response aligned to 14 asset types with consistentanyOfvalidation. -
Structured Error Recovery —
recoveryfield on errors with three classifications:transient(retry after delay),correctable(fix request and resend),terminal(requires human action). 18 standard error codes (INVALID_REQUEST,RATE_LIMITED,POLICY_VIOLATION,PRODUCT_UNAVAILABLE, etc.) with recovery mappings in the newerror-codeenum. -
Agent Ergonomics —
fieldsparameter onget_productsfor response projection (24 projectable fields).include_package_daily_breakdownopt-in on delivery reporting. Request-sideattribution_windowfor cross-platform normalization. Buy-levelstart_time/end_timeonget_media_buys.supported_pricing_modelson seller capabilities. Audience metadata:description,audience_type(crm, suppression, lookalike_seed),tags, andtotal_uploaded_countfor match rate calculation. -
Signal Deactivation —
actionfield onactivate_signalwithactivate(default) anddeactivatevalues for compliance-driven signal removal. -
Signal Metadata —
categories(valid values for categorical signals) andrange(min/max for numeric signals) on signal entries inget_signalsresponses. -
Media Buy Rejection —
rejectedstatus added to media-buy-status enum withrejection_reasonon the MediaBuy object. -
Idempotency —
idempotency_keyonupdate_media_buyandsync_creativesfor at-most-once execution.buyer_refdocumented as the idempotency key forcreate_media_buy.
Breaking Changes
Other Changes
audience-sourceenum for breakdown-level audience attributiondevice-typeenum (desktop, mobile, tablet, ctv, dooh, unknown) for form factor targeting and breakdown reportingsort-metricenum for controlling breakdown sort ordergeo-breakdown-supportschema for declaring per-geography breakdown capabilities- Keyword targeting capability flags in
get_adcp_capabilities reportingobject inget_adcp_capabilitiesfor declaring dimension breakdown supportgeo_proximitycapability object inget_adcp_capabilitiesfor declaring supported proximity methods and transport modeserror-codeenum with 18 standard error codes and recovery classificationsdisclosure-positionenum (8 standard positions for regulatory disclosures)digital-source-typeenum (9 IPTC-aligned values for AI content classification)provenancecore object for AI content transparency across creative schemasconsent-basisenum extracted fromsync_audiences(consent, legitimate_interest, contract, legal_obligation)date-rangeanddatetime-rangecore types replacing inline period objects- Property list filters relaxed:
countries_allandchannels_anyno longer required - Signal
categoriesandrangemetadata onget_signalsresponses rejectedmedia buy status withrejection_reasonidempotency_keyonupdate_media_buyandsync_creatives- Removed
not:{}patterns from 7 response schemas for Python codegen compatibility
Version 3.0.0-beta.3
Status: Beta | AdCP 3.0 overviewWhat’s New
-
Delivery Forecasting - Predict campaign performance before committing budget. New
DeliveryForecasttype with budget curves, forecast methods (estimate, modeled, guaranteed), daypart targeting windows, and GRP demographic notation. Forecasts attach to product allocations and proposals, enabling budget curve analysis across spend levels. -
Brand Protocol - Brand discovery and identity resolution via
brand.json. Four manifest variants (authoritative redirect, house redirect, brand agent, house portfolio) with builder tools, registry, and admin UI. Brands declareauthorized_operatorsto control which agents can represent them. -
Account Management -
sync_accountstask lets agents declare brand portfolios to sellers with upsert semantics. Account capabilities inget_adcp_capabilitiesdescribe billing requirements and operator authorization. Two billing models (operator, agent) with account lifecycle (active, pending_approval, payment_required, suspended, closed).account_idis optional oncreate_media_buy— single-account agents can omit it. -
Commerce Media - Catalog-driven product discovery (
catalogonget_products), catalog-driven packages, per-catalog-item delivery reporting (by_catalog_item), store catchment targeting, andcatalog_typeson products. Cross-retailer GTIN matching via catalog selectors. Commerce attribution metrics (roas,new_to_brand_rate) in delivery response. See the Commerce Media Guide and Catalogs. -
Creative Delivery Reporting - Per-creative metrics breakdown within
by_packagein delivery responses. Newget_creative_deliverytask on creative agents for variant-level delivery data with manifests. Three variant tiers: standard (1:1), asset group optimization, and generative creative. Format-levelreported_metricsdeclare which metrics each format can provide. -
CPA & TIME Pricing Models - Two new pricing models. CPA (Cost Per Acquisition) for outcome-based campaigns — covers CPO, CPL, CPI use cases differentiated by
event_type. TIME for sponsorship-based advertising where price scales with duration (hour, day, week, month) with optional min/max constraints. -
Conversion Tracking - New events protocol with
sync_event_sourcesandlog_eventtasks for attribution and measurement. - Signal Catalog - Data providers become first-class members with signal definitions, categories, targeting schemas, and value types. New schemas for signal discovery and integration into products.
-
Cursor-Based Pagination - All list operations (
list_creatives,tasks_list,list_property_lists,get_property_list,get_media_buy_artifacts) standardized on cursor-based pagination with sharedpagination-request.jsonandpagination-response.jsonschemas. -
Accessibility in Creative Formats - Two-layer accessibility model. Format-level
wcag_level(A/AA/AAA) andrequires_accessible_assetsflag. Asset-level metadata for inspectable assets (alt text, captions, transcripts) and self-declared properties for opaque assets (keyboard navigable, motion control). Buyers can filter bywcag_levelinlist_creative_formats. -
Targeting Restrictions & Geo Exclusion - Functional restriction overlays for age (with verification methods), device platform (Sec-CH-UA-Platform values), and language localization. Geographic exclusion fields (
geo_countries_exclude,geo_regions_exclude,geo_metros_exclude,geo_postal_areas_exclude) enable RCT holdout groups and regulatory exclusions. -
Typed Asset Requirements - Discriminated union schemas for all 12 asset types (image, video, audio, text, markdown, HTML, CSS, JavaScript, VAST, DAAST, URL, webhook) using
asset_typeas discriminator. -
Universal Macros -
universal-macro.jsonenum defining all 54 standard ad-serving macros, including 6 new additions:GPP_SID,IP_ADDRESS,STATION_ID,SHOW_NAME,EPISODE_ID,AUDIO_DURATION. -
Brand Manifest Improvements - Structured tone object with
voice,attributes,dos,dontsfields. Logo objects gainorientation,background,variant,usagefields.
Breaking Changes
Other Changes
optimization_goalson package requests — buyers can specify conversion and metric optimization goals when creating or updating media buys- Attribution window metadata on delivery response:
click_window_days,view_window_days, and attributionmodel(last_touch, first_touch, linear, time_decay, data_driven) - Channel fields on property and product schemas:
supported_channelsandchannelsreferencing Media Channel Taxonomy enum account_idadded toget_media_buy_deliveryandget_media_buy_artifactsrequestsdate_range_supportin reporting capabilitiesminItems: 1on request-side arrays for stricter validationFormatCategoryenum deprecated;typefield on Format objects now optionalformat_idoptional inpreview_creative(falls back tocreative_manifest.format_id)selection_modeon repeatable asset groups to distinguish sequential (carousel) from optimize (asset pool) behavior- Session ID fallback recommendation for MCP agent
context_id
Version 3.0.0-beta.2
Status: Beta | Full Changelog | AdCP 3.0 overview Building on beta.1, this release adds account-level billing, property targeting controls, CTV technical specs, and agent-driven UI rendering for Sponsored Intelligence.What’s New
-
Accounts & Agents - AdCP now distinguishes Brand (whose products are advertised), Account (who gets billed), and Agent (who places the buy). New
account_idfield on media buys, product queries, and creative operations enables multi-account billing with rate cards and credit limits. -
Property Targeting - Products can declare
property_targeting_allowedto let buyers target a subset of publisher properties. When enabled, buyers pass aproperty_listin their targeting overlay and the package runs on the intersection. - A2UI for Sponsored Intelligence - Sponsored Intelligence sessions now support agent-driven UI rendering via MCP Apps, enabling rich interactive experiences within AI assistants.
- CTV & Streaming Constraints - Video formats gain technical constraint fields for frame rate, HDR, GOP structure, and moov atom position. Audio formats add codec, sampling rate, channel layout, and loudness normalization (LUFS/true peak) fields.
-
Creative Protocol Discovery -
get_adcp_capabilitiesnow includes"creative"insupported_protocols, letting agents discover creative services at runtime.
Schema Changes
- New
account.json,list-accounts-request.json,list-accounts-response.jsonschemas account_idadded tocreate-media-buy-request,get-products-request,sync-creatives-request, and their responses- Shared
price-guidance.jsonschema extracted to fix duplicate type generation across pricing options property_targeting_allowedandproperty_listfields added to product and targeting overlay schemas- Video/audio asset schemas extended with CTV technical constraint fields
Removed
Version 3.0.0-beta.1
Status: Beta | Full Changelog | AdCP 3.0 overviewWhat’s New
Version 3.0.0 is a major release that expands AdCP beyond media buying into governance, brand suitability, and conversational commerce. See the AdCP 3.0 overview for detailed upgrade instructions. 🎯 Key Themes:- Media Channel Taxonomy - Complete overhaul from 9 format-oriented channels to 19 planning-oriented channels that reflect how buyers allocate budgets. See Media Channel Taxonomy.
- Governance Protocol - New protocol domain for property lists, content standards, and brand suitability evaluation with collaborative calibration workflows.
- Sponsored Intelligence Protocol - Conversational brand experiences in AI assistants. Defines how hosts invoke brand agent endpoints for rich engagement without breaking conversational flow. See Sponsored Intelligence.
-
Protocol-Level Capability Discovery -
get_adcp_capabilitiestask replaces agent card extensions, providing runtime discovery of capabilities, supported protocols, and geo targeting systems. - Creative Assignment Weighting - Replace simple creative ID arrays with weighted assignments supporting traffic allocation and placement targeting.
- Global Geo Targeting - Structured geographic targeting with named systems (Nielsen DMA, UK ITL, Eurostat NUTS2, etc.) for international markets.
Breaking Changes Summary
See AdCP 3.0 overview for detailed before/after examples and migration steps.
New Protocol Domains
Governance Protocol
Brand suitability and inventory curation:- Property Lists -
create_property_list,get_property_list,update_property_list,delete_property_list,list_property_lists - Content Standards -
create_content_standards,get_content_standards,update_content_standards,calibrate_content,validate_content_delivery - Product Filtering - Pass property lists to
get_productsfor compliant inventory discovery
Sponsored Intelligence Protocol
Conversational brand experiences:- Session Management -
si_get_offering,si_initiate_session,si_send_message,si_terminate_session - Capability Negotiation - Brands declare modalities (voice, video, avatar), hosts respond with supported capabilities
- Commerce Handoff - Seamless transition to AdCP for transactions
New Features
get_adcp_capabilitiestask - Runtime capability discovery replacing agent card extensions- Unified asset discovery -
assetsarray withrequiredboolean for full asset visibility - Property list filtering - Pass governance lists to
get_productsfor brand-safe inventory
Removed in v3
Quick Migration Checklist
- Update channel enum values (taxonomy guide)
- Replace
creative_idswithcreative_assignments - Add system specification to metro/postal targeting
- Implement
get_adcp_capabilitiestask - Update format parsing to use
assetsarray
Version 2.5.0
Released: November 2025 | Full ChangelogWhat’s New
Version 2.5.0 is a developer experience and API refinement release that significantly improves type safety, schema infrastructure, and creative workflow performance. This release prepares AdCP for production-scale integrations with better TypeScript/Python code generation, stricter validation semantics, and flexible schema versioning. 🎯 Key Themes:- Type Safety & Code Generation - Comprehensive discriminator fields throughout the protocol enable excellent TypeScript/Python type inference and eliminate ambiguous union types.
- Batch Creative Previews - Generate previews for up to 50 creatives in a single API call with optional direct HTML embedding, reducing preview generation time by 5-10x.
-
Schema Infrastructure - Build-time schema versioning with semantic paths (
/schemas/2.5.0/,/schemas/v2/,/schemas/v2.5/) enables version pinning and automatic minor version tracking. - API Consistency - Atomic response semantics (success XOR error) and standardized webhook payloads eliminate ambiguity and improve reliability.
- Signal Protocol Refinement - Activation keys returned per deployment with permission-based access, enabling proper multi-platform signal activation.
-
Template Formats - Dynamic creative sizing with
accepts_parametersenables formats that accept runtime dimensions, durations, and other parameters. - Enhanced Product Discovery - Structured filters with date ranges, budget constraints, country targeting, and channel filtering improve product search precision.
Key Enhancements
Type Safety & Code Generation
- Discriminator fields added to all discriminated union types (destinations, pricing, property selectors, preview requests/responses)
- Atomic response semantics - All task responses now use strict success XOR error patterns with
oneOfdiscriminators - Explicit type declarations on all const fields for proper TypeScript literal type generation
- 31 new enum schemas extracted from inline definitions for better reusability
Schema Infrastructure
- Build-time versioning - Schemas now support semantic version paths (
/schemas/2.5.0/), major version aliases (/schemas/v2/), and minor version aliases (/schemas/v2.5/) - Consistent media buy responses - Both
create_media_buyandupdate_media_buynow return full Package objects - Standardized webhook payload - Protocol envelope at top-level with task data under
resultfield
Product Discovery
- Structured filters - Extracted filter objects into separate schemas (
product-filters.json,creative-filters.json,signal-filters.json) - Enhanced filtering - Date ranges (
start_date,end_date), budget ranges with currency, country targeting, and channel filtering - Full enum support - Filters now accept complete enum values without artificial restrictions
Signal Protocol
- Activation keys -
activate_signalnow returns deployment-specific activation keys (segment IDs, key-value pairs) based on authenticated permissions - Consistent terminology - Standardized on “deployments” throughout signal requests and responses
Creative Protocol
- Batch preview support - Preview multiple creatives in one request (
preview_creativesupports 1-50 items) - Direct HTML embedding - Responses can include raw HTML for iframe-free rendering
- Simplified brand manifest - Single required field (
name) eliminates duplicate type generation - Template formats -
accepts_parametersfield enables dynamic formats (e.g., display_[width]x[height], video_[duration]s) - Inline creative updates -
sync_creativestask provides upsert semantics for updating creatives in existing campaigns
Documentation & Testing
- Testable documentation - All code examples can be validated against live schemas
- Client library prominence - NPM badges and installation instructions in intro
- Fixed 389 broken links across 50 documentation files
Migration Guide
Discriminator Fields (Breaking)
Many schemas now require explicit discriminator fields. Update your code to include these fields: Signal Destinations:Webhook Payload Structure (Breaking)
Webhook payloads now use protocol envelope at top-level: Before:Signal Activation Response (Breaking)
activate_signal response changed from single key to deployments array:
Before:
Template Formats
Formats can now accept parameters for dynamic sizing: Template Format Definition:parameters_from_format_id: true flag indicates dimensions come from the format_id at usage time.
Usage (parameterized format_id):
Enhanced Product Filtering
New structured filters inget_products:
Schema Versioning
New version paths available:/schemas/2.5.0/- Exact version (recommended for production)/schemas/v2.5/- Latest 2.5.x patch (auto-updates for patch releases)/schemas/v2/- Latest 2.x release (auto-updates for minor/patch)/schemas/latest/- Backward compat alias (same as v2)
Breaking Changes
- Discriminator fields required in destinations, property selectors, pricing options, and preview requests
- Webhook payload structure - Task data moved under
resultfield;domainno longer required - Signal activation response - Changed from
activation_keystring todeploymentsarray - Removed legacy creative fields -
media_url,click_url,durationremoved fromlist_creativesresponse
Non-Breaking Additions
- Application
contextobject (optional) in all task requests product_cardandformat_cardfields (optional) for visual UI support- Batch preview mode in
preview_creative(backward compatible) - Package pricing fields in delivery reporting (already documented, now schema-enforced)
- Minor version symlinks (
/schemas/v2.5/)
Version 2.3.0
Released: October 2025 | Full ChangelogWhat’s New
Publisher-Owned Property Definitions - Properties are now owned by publishers and referenced by agents, following the IAB Tech Lab sellers.json model. This eliminates duplication and creates a single source of truth for property information. Placement Targeting - Products can now define multiple placements (e.g., homepage banner, article sidebar), and buyers can assign different creatives to each placement within a product purchase. Simplified Budgets - Budget is now only specified at the package level, enabling mixed-currency campaigns and eliminating redundant aggregation at the media buy level.Migration Guide
Publisher-Owned Properties
Before:https://dailyplanet.com/.well-known/adagents.json.
Remove Media Buy Budget
Before:Breaking Changes
propertiesfield in products →publisher_propertieslist_authorized_propertiesreturnspublisher_domainsarray- Removed
budgetfrom create_media_buy/update_media_buy requests
Version 2.2.0
Released: October 2025 | Full ChangelogWhat’s New
Build Creative Alignment - Thebuild_creative task now follows a clear “manifest-in → manifest-out” transformation model with consistent parameter naming.
Migration Guide
Before:Breaking Changes
build_creativeparameter renamed:source_manifest→creative_manifest- Removed
promoted_offeringsas top-level parameter (now in manifest assets)
Version 2.1.0
Released: January 2025 | Full ChangelogWhat’s New
Simplified Asset Schema - Separated asset payload schemas from format requirement schemas, eliminating redundancy. Asset types are now determined by format specifications rather than declared in manifests.Migration Guide
Before:Breaking Changes
- Removed
asset_typefield from creative manifest payloads - Schema paths changed:
/creative/asset-types/*.json→/core/assets/*-asset.json - Constraint fields moved from asset payloads to format specifications
Version 2.0.0
Released: October 2025 | Full ChangelogWhat’s New
First production release of the Advertising Context Protocol with:- 8 Media Buy Tasks - Complete workflow from product discovery to delivery reporting
- 3 Creative Tasks - AI-powered creative generation and management
- 2 Signals Tasks - First-party data integration
- Standard Formats - Industry-standard display, video, and native formats
- Multi-Protocol Support - Works with MCP and A2A
Core Features
- Natural language product discovery with brief-based targeting
- Asynchronous task management with human-in-the-loop approvals
- JSON Schema validation for all requests and responses
- Publisher-owned property definitions via
.well-known/adagents.json - Comprehensive format specifications with asset requirements
Versioning Policy
AdCP follows Semantic Versioning 2.0.0:- PATCH (x.x.N) - Bug fixes, documentation, clarifications
- MINOR (x.N.0) - New features, backward-compatible additions
- MAJOR (N.0.0) - Breaking changes
Deprecation Process
Breaking changes follow a 6-month deprecation cycle:- Deprecation Notice - Feature marked deprecated in minor release
- Transition Period - Minimum 6 months support with warnings
- Migration Guide - Detailed upgrade path provided
- Breaking Change - Removed in next major version
Additional Resources
- Technical Changelog - CHANGELOG.md
- GitHub Releases - Release Archive
- Community - Slack
- Issues - GitHub Issues
- Support - support@adcontextprotocol.org