Skip to content

feat: filter list_creatives by creative asset type #6089

Description

@bokelley

Problem

AdCP has a canonical PublishedPostAsset and canonical format params for
publisher-owned references, but list_creatives cannot filter creative rows by
asset type.

A cross-platform buyer wanting to show “existing published posts” must currently
fetch creative rows and inspect assets.published_post locally. Filtering by
format_ids is not a valid substitute: that field carries legacy
{agent_url, id} format identity, while published-post rows may be canonical
format_kind + format_option_ref. Requiring every buyer to download unrelated
creative rows is inefficient and duplicates protocol semantics in each host.

Proposal

Add an optional asset-type filter to CreativeFilters, reusing the existing
AssetContentType vocabulary:

{
  "filters": {
    "asset_types": ["published_post"]
  }
}

Recommended semantics: a creative matches when it contains at least one asset
whose asset_type is in the requested set. Multiple requested values are OR,
consistent with format_ids and statuses. The field should be exact and
conjunctive with other filters.

Why this belongs in AdCP

published_post is already a cross-platform protocol asset. Buyers and shared
MCP Apps should be able to request that creative flavor without knowing
publisher-specific format options or inventing an extension. The same filter is
useful for image/video/audio/VAST creative libraries.

Acceptance

  • Schema and generated SDK types expose
    CreativeFilters.asset_types?: AssetContentType[].
  • list_creatives documentation defines OR-within-field and AND-across-fields
    semantics.
  • Conformance fixtures cover published_post, mixed-asset creatives, empty
    results, and interaction with format_ids.
  • No agent_url or platform-specific post fields are introduced.

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.creativeneeds-wg-reviewBlocked on a working-group decision — surface in WG meeting agendasschemaJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygiene

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions