Module adcp.types.generated_poc.promoted_offerings

Classes

class AssetSelectors (**data: Any)
Expand source code
class AssetSelectors(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    asset_types: Annotated[
        list[AssetType] | None, Field(description="Filter by asset type (e.g., ['image', 'video'])")
    ] = None
    exclude_tags: Annotated[
        list[str] | None, Field(description='Exclude assets with these tags')
    ] = None
    tags: Annotated[
        list[str] | None,
        Field(description="Select assets with specific tags (e.g., ['holiday', 'premium'])"),
    ] = None

Base model for AdCP types with spec-compliant serialization.

AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var asset_types : list[AssetType] | None
var exclude_tags : list[str] | None
var model_config
var tags : list[str] | None

Inherited members

class AssetType (*args, **kwds)
Expand source code
class AssetType(Enum):
    image = 'image'
    video = 'video'
    audio = 'audio'
    vast = 'vast'
    daast = 'daast'
    text = 'text'
    url = 'url'
    html = 'html'
    css = 'css'
    javascript = 'javascript'
    webhook = 'webhook'

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access::
>>> Color.RED
<Color.RED: 1>
  • value lookup:
>>> Color(1)
<Color.RED: 1>
  • name lookup:
>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

Ancestors

  • enum.Enum

Class variables

var audio
var css
var daast
var html
var image
var javascript
var text
var url
var vast
var video
var webhook
class Offering (**data: Any)
Expand source code
class Offering(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    assets: Annotated[
        list[dict[str, Any]] | None, Field(description='Assets specific to this offering')
    ] = None
    description: Annotated[str | None, Field(description="Description of what's being offered")] = (
        None
    )
    name: Annotated[
        str, Field(description="Offering name (e.g., 'Winter Sale', 'New Product Launch')")
    ]

Base model for AdCP types with spec-compliant serialization.

AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var assets : list[dict[str, typing.Any]] | None
var description : str | None
var model_config
var name : str

Inherited members

class PromotedOfferings (**data: Any)
Expand source code
class PromotedOfferings(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    asset_selectors: Annotated[
        AssetSelectors | None,
        Field(description='Selectors to choose specific assets from the brand manifest'),
    ] = None
    brand_manifest: Annotated[
        brand_manifest_1.BrandManifest | AnyUrl,
        Field(
            description='Brand information manifest containing assets, themes, and guidelines. Can be provided inline or as a URL reference to a hosted manifest.',
            examples=[
                {
                    'data': {
                        'colors': {'primary': '#FF6B35'},
                        'name': 'ACME Corporation',
                        'url': 'https://acmecorp.com',
                    },
                    'description': 'Inline brand manifest',
                },
                {
                    'data': 'https://cdn.acmecorp.com/brand-manifest.json',
                    'description': 'URL string reference to hosted manifest',
                },
            ],
            title='Brand Manifest Reference',
        ),
    ]
    offerings: Annotated[
        list[Offering] | None,
        Field(
            description='Inline offerings for campaigns without a product catalog. Each offering has a name, description, and associated assets.'
        ),
    ] = None
    product_selectors: Annotated[
        promoted_products.PromotedProducts | None,
        Field(
            description='Selectors to choose which products/offerings from the brand manifest product catalog to promote'
        ),
    ] = None

Base model for AdCP types with spec-compliant serialization.

AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var asset_selectorsAssetSelectors | None
var brand_manifestBrandManifest | pydantic.networks.AnyUrl
var model_config
var offerings : list[Offering] | None
var product_selectorsPromotedProducts | None

Inherited members