Module adcp.types.generated_poc.tmp.identity_match_request

Classes

class Consent (**data: Any)
Expand source code
class Consent(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    gdpr: Annotated[bool | None, Field(description='Whether GDPR applies to this request.')] = None
    gpp: Annotated[str | None, Field(description='IAB Global Privacy Platform string.')] = None
    tcf_consent: Annotated[
        str | None, Field(description='IAB TCF v2.2 consent string. Present when gdpr is true.')
    ] = None
    us_privacy: Annotated[
        str | None,
        Field(
            description='US Privacy string (CCPA). Deprecated in favor of GPP but still widely used.'
        ),
    ] = None

Base model for AdCP types with spec-compliant serialization.

Defaults to extra='ignore' so that 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. Consumers who want strict validation can override with extra='forbid'.

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 gdpr : bool | None
var gpp : str | None
var model_config
var us_privacy : str | None

Inherited members

class IdentityMatchRequest (**data: Any)
Expand source code
class IdentityMatchRequest(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    field_schema: Annotated[
        AnyUrl | None,
        Field(
            alias='$schema', description='Optional schema URI for validation. Ignored at runtime.'
        ),
    ] = None
    consent: Annotated[
        Consent | None,
        Field(
            description='Privacy consent signals. Buyers in regulated jurisdictions MUST NOT process the user token without consent information.'
        ),
    ] = None
    package_ids: Annotated[
        list[str],
        Field(
            description='ALL active package identifiers for this buyer at this publisher. MUST include every active package, not just those on the current page, to prevent correlation with Context Match requests.',
            min_length=1,
        ),
    ]
    protocol_version: Annotated[
        str | None,
        Field(
            description='TMP protocol version. Allows receivers to handle semantic differences across versions.'
        ),
    ] = '1.0'
    request_id: Annotated[
        str,
        Field(
            description='Unique request identifier. MUST NOT correlate with any context match request_id.'
        ),
    ]
    type: Annotated[
        Literal['identity_match_request'],
        Field(description='Message type discriminator for deserialization.'),
    ]
    uid_type: Annotated[
        uid_type_1.UidType,
        Field(
            description='Type of the user identifier. Tells the buyer which identity graph to resolve against, avoiding trial-and-error matching.'
        ),
    ]
    user_token: Annotated[
        str,
        Field(
            description='Opaque token from an identity provider (ID5, LiveRamp, UID2) or publisher-generated'
        ),
    ]

Base model for AdCP types with spec-compliant serialization.

Defaults to extra='ignore' so that 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. Consumers who want strict validation can override with extra='forbid'.

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 consentConsent | None
var field_schema : pydantic.networks.AnyUrl | None
var model_config
var package_ids : list[str]
var protocol_version : str | None
var request_id : str
var type : Literal['identity_match_request']
var uid_typeUidType
var user_token : str

Inherited members