Module adcp.types.domains.media_buy.sync_audiences_response

Classes

class Audience (**data: Any)
Expand source code
class Audience(AdcpVersionEnvelope):
    model_config = ConfigDict(extra='allow')
    audience_id: str
    name: str | None = None
    seller_id: str | None = None
    action: Literal['created', 'updated', 'unchanged', 'deleted', 'failed']
    status: audience_status_1.AudienceStatus | None = None
    uploaded_count: Annotated[int, Field(ge=0)] | None = None
    total_uploaded_count: Annotated[int, Field(ge=0)] | None = None
    matched_count: Annotated[int, Field(ge=0)] | None = None
    effective_match_rate: Annotated[float, Field(ge=0, le=1)] | None = None
    match_breakdown: Annotated[list[MatchBreakdown], Field(min_length=1)] | None = None
    last_synced_at: AwareDatetime | None = None
    source: Source | None = None
    minimum_size: Annotated[int, Field(ge=1)] | None = None
    errors: list[error_1.Error] | None = None

Base model for AdCP types with spec-compliant serialization.

Defaults to extra='ignore' so unknown fields from newer spec versions are silently dropped rather than causing validation errors. Generated types whose schemas set additionalProperties: true override this with extra='allow' in their own model_config.

Set ADCP_STRICT_VALIDATION=1 in the environment ("1", "true", "yes", "on" are accepted) to flip the default to extra='forbid'. Use this during spec upgrades to catch silently-dropped renamed fields in tests. See :func:_resolve_extra_policy.

Important

The env var is resolved once at module import time. Set it in your shell or CI environment before import adcp runs — mutating os.environ["ADCP_STRICT_VALIDATION"] after the first adcp import has no effect on already-imported model classes (they captured the policy at class-body evaluation).

Consumers who want per-model strict validation can override model_config on their subclass.

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 action : Literal['created', 'updated', 'unchanged', 'deleted', 'failed']
var audience_id : str
var effective_match_rate : float | None
var errors : list[Error] | None
var last_synced_at : pydantic.types.AwareDatetime | None
var match_breakdown : list[MatchBreakdown] | None
var matched_count : int | None
var minimum_size : int | None
var model_config
var name : str | None
var seller_id : str | None
var source : Source | None
var status : AudienceStatus | None
var total_uploaded_count : int | None
var uploaded_count : int | None

Inherited members

class MatchBreakdown (**data: Any)
Expand source code
class MatchBreakdown(AdcpVersionEnvelope):
    model_config = ConfigDict(extra='allow')
    id_type: match_id_type_1.MatchIdType
    submitted: Annotated[int, Field(ge=0)]
    matched: Annotated[int, Field(ge=0)]
    match_rate: Annotated[float, Field(ge=0, le=1)]

Base model for AdCP types with spec-compliant serialization.

Defaults to extra='ignore' so unknown fields from newer spec versions are silently dropped rather than causing validation errors. Generated types whose schemas set additionalProperties: true override this with extra='allow' in their own model_config.

Set ADCP_STRICT_VALIDATION=1 in the environment ("1", "true", "yes", "on" are accepted) to flip the default to extra='forbid'. Use this during spec upgrades to catch silently-dropped renamed fields in tests. See :func:_resolve_extra_policy.

Important

The env var is resolved once at module import time. Set it in your shell or CI environment before import adcp runs — mutating os.environ["ADCP_STRICT_VALIDATION"] after the first adcp import has no effect on already-imported model classes (they captured the policy at class-body evaluation).

Consumers who want per-model strict validation can override model_config on their subclass.

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 id_type : MatchIdType
var match_rate : float
var matched : int
var model_config
var submitted : int

Inherited members

class Source (**data: Any)
Expand source code
class Source(AdcpVersionEnvelope):
    model_config = ConfigDict(extra='allow')
    kind: Literal['dataset', 'platform_segment']
    vendor: brand_ref_1.BrandReference
    locator: str | None = None
    segment_ref: str | None = None
    columns_read: Annotated[list[str], Field(min_length=1)] | None = None
    access_status: Literal['active', 'unavailable'] | None = None

Base model for AdCP types with spec-compliant serialization.

Defaults to extra='ignore' so unknown fields from newer spec versions are silently dropped rather than causing validation errors. Generated types whose schemas set additionalProperties: true override this with extra='allow' in their own model_config.

Set ADCP_STRICT_VALIDATION=1 in the environment ("1", "true", "yes", "on" are accepted) to flip the default to extra='forbid'. Use this during spec upgrades to catch silently-dropped renamed fields in tests. See :func:_resolve_extra_policy.

Important

The env var is resolved once at module import time. Set it in your shell or CI environment before import adcp runs — mutating os.environ["ADCP_STRICT_VALIDATION"] after the first adcp import has no effect on already-imported model classes (they captured the policy at class-body evaluation).

Consumers who want per-model strict validation can override model_config on their subclass.

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 access_status : Literal['active', 'unavailable'] | None
var columns_read : list[str] | None
var kind : Literal['dataset', 'platform_segment']
var locator : str | None
var model_config
var segment_ref : str | None
var vendor : BrandReference

Inherited members

class SyncAudiencesResponse1 (**data: Any)
Expand source code
class SyncAudiencesResponse1(AdcpResponse, AdcpVersionEnvelope, ProtocolEnvelope):
    model_config = ConfigDict(extra='allow')
    audiences: list[Audience]
    sandbox: bool | None = None
    context: context_1.ContextObject | None = None
    ext: ext_1.ExtensionObject | None = None

The response message of a task in the pinned bundle's task registry.

A consumer holding one can route on task state, pick up an async task_id, split envelope from payload and log uniformly, before knowing which tool answered. Which makes one generic poll-to-terminal loop possible for all 77 tasks, where today each arm has no common type at all.

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 audiences : list[Audience]
var context : ContextObject | None
var ext : ExtensionObject | None
var model_config
var sandbox : bool | None

Inherited members

class SyncAudiencesResponse2 (**data: Any)
Expand source code
class SyncAudiencesResponse2(AdcpResponse, AdcpVersionEnvelope, ProtocolEnvelope):
    model_config = ConfigDict(extra='allow')
    errors: Annotated[list[error_1.Error], Field(min_length=1)]
    context: context_1.ContextObject | None = None
    ext: ext_1.ExtensionObject | None = None

The response message of a task in the pinned bundle's task registry.

A consumer holding one can route on task state, pick up an async task_id, split envelope from payload and log uniformly, before knowing which tool answered. Which makes one generic poll-to-terminal loop possible for all 77 tasks, where today each arm has no common type at all.

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 context : ContextObject | None
var errors : list[Error]
var ext : ExtensionObject | None
var model_config

Inherited members

class SyncAudiencesResponse3 (**data: Any)
Expand source code
class SyncAudiencesResponse3(AdcpResponse, AdcpVersionEnvelope, ProtocolEnvelope):
    model_config = ConfigDict(extra='allow', validate_default=True)
    status: Literal[task_status_1.TaskStatus.submitted] = task_status_1.TaskStatus.submitted
    task_id: str
    message: Annotated[str, StringConstraints(max_length=2000)] | None = None
    errors: list[error_1.Error] | None = None
    context: context_1.ContextObject | None = None
    ext: ext_1.ExtensionObject | None = None

The response message of a task in the pinned bundle's task registry.

A consumer holding one can route on task state, pick up an async task_id, split envelope from payload and log uniformly, before knowing which tool answered. Which makes one generic poll-to-terminal loop possible for all 77 tasks, where today each arm has no common type at all.

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 context : ContextObject | None
var errors : list[Error] | None
var ext : ExtensionObject | None
var message : str | None
var model_config
var status : Literal[]
var task_id : str

Inherited members