Skip to main content
This guide is for sales agents declaring the creative contracts their inventory accepts. In AdCP 3.2, author canonical Product.format_options[]. list_creative_formats, recursive creative-agent catalogs, and compound named format IDs are deprecated compatibility surfaces.

Choose the authority first

The seller declares deliverability; it does not nominate a creative producer. Buyers can use the AgenticAdvertising.org registry to find creative agents whose self-declared canonical envelope satisfies the product declaration. Zero registry matches is a valid result: it means no protocol-exposed build, validation, or preview service currently advertises that contract. The buyer may still supply an already-conforming finished manifest or use a seller-returned preview, but MUST NOT infer a renderer from the publisher or product format declaration.

Standard formats

For standard display, video, audio, and native shapes, use the canonical format_kind and narrow it with explicit parameters and slots. Do not create a new identifier merely because your product has a different price or placement name.
format_options[] is a closed set. A package or creative selector outside it must be rejected. Price, floor, availability, and deal eligibility stay on the product or pricing option, not in format parameters.

Publisher-owned formats

When a product sells a publisher-catalog format, repeat its namespace and canonical declaration inline:
Resolve the publisher’s /.well-known/adagents.json first. If the publisher has not adopted AdCP, use an explicitly identified AgenticAdvertising.org community mirror. Do not promote one sales agent’s product declaration into a publisher fact.

Custom formats

Use format_kind: "custom" only when the structural creative contract cannot be expressed by a canonical kind. Supply both format_shape and an immutable, digest-pinned format_schema.

Multi-placement coverage

Product-level options are the upper bound. Placement-level options may narrow that set but cannot broaden it. For every included delivery placement, the selected package format set must have a non-empty compatible intersection. Reject or refine a package that cannot cover all included placements; never silently drop inventory.

Finding a creative producer

Sales agents do not publish a recursive list of creative agents. A buyer can reverse-query the registry and then verify the selected agent directly:
The creative agent’s supported_formats[] entry supplies its local capability_id. That string is passed to build_creative.target_capability_id; it is never copied onto the product or returned manifest.

3.x compatibility

A 3.2 seller may project canonical declarations into deprecated format_ids[] for an older peer. When both fields are emitted, they must describe the same underlying contracts and canonical fields win. Do not independently author or extend the legacy catalog.