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 tcf_consent: Annotated[ str | None, Field(description='IAB TCF v2.2 consent string. Present when gdpr is true.') ] = None gpp: Annotated[str | None, Field(description='IAB Global Privacy Platform string.')] = None us_privacy: Annotated[ str | None, Field( description='US Privacy string (CCPA). Deprecated in favor of GPP but still widely used.' ), ] = NoneBase 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 setadditionalProperties: trueoverride this withextra='allow'in their ownmodel_config. Consumers who want strict validation can override withextra='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.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var gdpr : bool | Nonevar gpp : str | Nonevar model_configvar tcf_consent : str | Nonevar us_privacy : str | None
Inherited members
class Identity (**data: Any)-
Expand source code
class Identity(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) user_token: Annotated[ str, Field( description='Opaque token from an identity provider (ID5, LiveRamp, UID2) or publisher-generated. Buyer may map to internal identity graph but cannot reverse to PII.' ), ] 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.' ), ]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 setadditionalProperties: trueoverride this withextra='allow'in their ownmodel_config. Consumers who want strict validation can override withextra='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.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var model_configvar uid_type : UidTypevar user_token : str
Inherited members
class IdentityMatchRequest (**data: Any)-
Expand source code
class IdentityMatchRequest(AdCPBaseModel): model_config = ConfigDict( extra='forbid', ) adcp_major_version: Annotated[ int | None, Field( description="The AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.", ge=1, le=99, ), ] = None field_schema: Annotated[ AnyUrl | None, Field( alias='$schema', description='Optional schema URI for validation. Ignored at runtime.' ), ] = None type: Annotated[ Literal['identity_match_request'], Field(description='Message type discriminator for deserialization.'), ] 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.' ), ] identities: Annotated[ list[Identity], Field( description='Identity tokens for the user, each tagged with its type. Publishers SHOULD include every token they have available — the buyer resolves on whichever graph matches. Entry order is not semantically significant; buyers use their own preference order when multiple entries resolve. Duplicate `(uid_type, user_token)` pairs MUST NOT appear; routers MAY reject or dedupe. `maxItems: 3` matches the TMPX plaintext budget (~120 bytes after HPKE overhead fits three 32-byte tokens); exceeding it forces buyer-side truncation.', max_length=3, min_length=1, ), ] 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, ), ] country: Annotated[ str | None, Field( description='ISO 3166-1 alpha-2 country code. Routing directive for the TMP Router — used to select the correct regional provider. The router MUST strip this field before forwarding the request to the buyer agent. Not an identity signal.', pattern='^[A-Z]{2}$', ), ] = NoneBase 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 setadditionalProperties: trueoverride this withextra='allow'in their ownmodel_config. Consumers who want strict validation can override withextra='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.selfis explicitly positional-only to allowselfas a field name.Ancestors
- AdCPBaseModel
- pydantic.main.BaseModel
Class variables
var adcp_major_version : int | Nonevar consent : Consent | Nonevar country : str | Nonevar field_schema : pydantic.networks.AnyUrl | Nonevar identities : list[Identity]var model_configvar package_ids : list[str]var protocol_version : str | Nonevar request_id : strvar type : Literal['identity_match_request']
Inherited members