Overview
A ContextRequest is an operator-generated, bid-safe request sent to downstream brand agents after upstream consent, policy, and monetization eligibility have already been resolved. It is derived from a valid PlatformRequest, but it is not a PlatformRequest. The ContextRequest is the object that brand agents receive and bid on. It is optimized for:- Auction-safe context — no raw interaction text, no full message history, no internal operator reasoning
- Operator-enriched intent — the intent block is operator-generated and downstream-safe, not a pass-through of platform signals
- Allowed creative constraints — what formats the platform surface supports
- Usage restrictions — explicit may/may-not permissions for data handling
- Traceability — every ContextRequest links back to the originating PlatformRequest
Top-Level Fields
Traceability
Every ContextRequest MUST contain:- A unique
context_ididentifying this specific auction context - The canonical upstream
message_idfor per-turn traceability
message_id: upstream canonical message-turn identifiercontext_id: operator-generated auction identifier derived from(session_id, message_id)
operator
Identifies the system that generated this ContextRequest.
platform
Identifies the upstream AI platform where the user interaction originated. This is not the entity generating the ContextRequest — that is the operator.
The
platform block replaces the old producer object. The platform is the AI host where the interaction occurred. The operator is the system that generated the ContextRequest. These are two distinct roles.session
surface
A unified surface descriptor that replaces the old fragmented placement, device, geography, and language fields.
auction
Timing constraints for the auction.
intent
The intent in a ContextRequest is operator-generated and downstream-safe. It is used for bidding and creative selection. It may differ from any platform-provided or platform-derived intent found earlier in the upstream pipeline. That difference is valid and expected.
intent.iab_content
IAB content taxonomy mapping derived from the operator’s classification. Brand agents use this for vertical targeting and creative selection.
allowed_formats
Creative formats allowed by the operator for this auction.
Valid values: "weave", "tail", "product_card", "bridge"
verticals
Array of normalized topical verticals identified by the operator (e.g. ["crm", "smb_software"]).
consent
Downstream-effective consent permissions. Brand agents do not receive the full upstream consent envelope — only the permissions relevant to their participation.
usage_constraints
Explicit usage restrictions that downstream brand agents MUST respect.
Processing Rules
- Not a PlatformRequest. A ContextRequest is derived from a PlatformRequest, but the operator is the author. The platform is the source of the upstream interaction.
-
No raw interaction leakage. A ContextRequest MUST NOT contain raw
query_text, rawmessages, orclassification_reasoning. Theintent.summaryis the only natural-language field, and it is operator-generated and sanitized. - Intent may differ from upstream. The intent in a ContextRequest is operator-generated. It may differ from any platform-provided or platform-derived intent in the originating PlatformRequest. That difference is valid and expected — the operator applies its own classification, normalization, and policy.
-
Usage constraints are binding. If
usage_constraints.may_storeisfalse, the brand agent MUST NOT persist the context data beyond the auction. Ifretention_ttl_secondsis set, the brand agent MUST discard data after that TTL. -
Consent is downstream-scoped. The
consentblock contains only the permissions relevant to brand agents, not the full upstream consent model.
Example
What Changed from the Previous Schema
Related
- Platform Request — The upstream request that the ContextRequest is derived from
- Bid — The response brand agents send back to the operator
- Platform Response — The operator’s auction outcome after evaluating bids