Flow Overview
The end-to-end AIP flow connects AI Platforms, Operators, and Brand Agents through a series of request/response cycles, auctions, and event verifications.1. Platform Request (AI Platform → Operator)
Schema:platform-request.json
The AI platform initiates an ad auction by sending a PlatformRequest to the operator. The operator validates the request (signature, publisher aip.json, and match of editorial_domains vs extensions.aip.intent); if allowed, it derives a ContextRequest and sends it to brand agents.
Key Fields:
spec_version: UCP specification version (e.g. “1.0.0”)message_id: Unique identifier for this auction requesttimestamp: ISO 8601 timestampproducer: Producer information;agent_rolemust be"platform"(AI host; reserve “publisher” for content owners)context: Context (language, publisher, placement, device, geography)identity: Identity (namespace, value_hash, confidence)extensions.aip.intent: Required. Platform-declared intent (domain, subdomain, confidence) for publisher consent gating; operator matches againstaip.jsoneditorial_domainsextensions.aip.runtime: Required. session_id, turn_index, query_text, optional messages, latency_budget_msextensions.aip.auction: Optional. pricing_model, cpx_floor, currency (consent logic must not touch auction logic)
Example:
2. Context Request (Operator → Brand Agents)
Schema:context-request.json
The operator normalizes the platform request and enriches it with intent analysis, then sends a ContextRequest to brand agents.
Key Fields:
spec_version: AIP specification version (default: “aip/1.0”)message_id: Unique identifier (maps to PlatformRequest message_id)timestamp: ISO 8601 timestampproducer: Producer information (from PlatformRequest)session_id: Conversation or interaction session IDturn_index: Turn index in the conversationcontext_id: Unique ID for this auction requestlanguage: User locale in BCP 47 formatpublisher: Publisher identifierplacement: Placement information (ad_unit)device: Device information (platform, form_factor)geography: Geographic information (country)intent: Operator-generated semantic understandingtype: “informational” | “commercial” | “transactional”decision_phase: “research” | “compare” | “decide” | “act”confidence: Confidence score (0.0-1.0)summary: Short summary of conversation contextoperator_relevance_score: Operator’s relevance score (optional)
verticals: Normalized topical verticals (e.g., [“crm”, “smb_software”])allowed_formats: Creative formats allowed ([“weave”, “tail”, “product_card”, “bridge”])latency_budget_ms: Platform latency budget in milliseconds (optional)
Example:
Auction Window and Timing
AIP uses a time-bounded auction window to ensure low latency and predictable outcomes.- The auction window is derived from the PlatformRequest
latency_budget_msfield - The Operator computes the available bid window by subtracting operator-side overhead (classification, filtering, dispatch) from the platform’s latency budget
- The auction window begins when the ContextRequest is published
- Brand Agents MUST submit a BidResponse before the computed window expires
- If
latency_budget_msis not provided, the Operator MUST apply a default fallback
no_bid. Late bids are ignored and do not participate in selection or settlement.
3. Bid (Brand Agents → Operator)
Schema:bid.json
Brand agents evaluate the context request and submit bids containing pricing and creative input.
Key Fields:
bid_id: Unique identifier for this bidbrand_agent_id: Identifier of the brand agentcontext_id: ID of the ContextRequest being bid onwallet_id: Wallet to debit if the bid winspricing: Pricing vector with micros (authoritative), cents (display), and dollars (UI)currency: Currency code (ISO 4217)display_currency: Display currency codecpx_micros: Price per exposure in USD micros (authoritative)cpx_cents: Price per exposure in cents (for display)cpx_dollars: Price per exposure in dollars (for UI)cpc_micros: Price per click in USD micros (optional)cpc_cents: Price per click in cents (optional)cpc_dollars: Price per click in dollars (optional)cpa_micros: Price per conversion in USD micros (optional)cpa_cents: Price per conversion in cents (optional)cpa_dollars: Price per conversion in dollars (optional)preferred_pricing_model: Preferred billing model (“CPX”, “CPC”, or “CPA”)
recommendation.creative_input: Unified creative input structurerelevance: Relevance score (0.0-1.0, required)preferred_format: Preferred creative format (optional)processing_latency_ms: Round-trip latency in milliseconds (optional)
Example:
4. Creative Input (Part of Bid)
The unified creative input structure that brand agents generate. Contains all fields needed for any ad format.Key Fields:
brand_name: Brand or advertiser nameproduct_name: Product or offer nameshort_description: 1-2 sentence summary (max 200 chars)long_description: 2-4 sentence expanded description (max 500 chars)value_props: Short value propositions or bullet pointscontext_snippet: 60-100 character contextual hint for weave formatcta_label: Call-to-action labelcta_url: Call-to-action URLassets: Creative assets (logo, images, resource URLs)
5. Auction Result (Operator → AI Platform)
Schema:auction-result.json
The operator selects the winning bid, generates format-specific creative, and returns the result to the AI platform.
Key Fields:
auction_id: Unique identifier for this auctionserve_token: Token used to track downstream eventswinner: Winning bid infobrand_agent_id: Winning Brand Agentpreferred_unit: Requested billing unit (CPX, CPC, or CPA)reserved_amount_cents: Amount placed on hold at auction time
render: Format-specific creative contentttl_ms: Time-to-live in milliseconds (1000-300000)
Example:
6. Creative (Part of Auction Result)
Format-specific creative content generated by the operator from CreativeInput. Supports three formats: weave, tail, and product_card.Format 1: Weave
Short, inline, contextual text to insert into assistant response.Format 2: Tail
Paragraph-level block ad to show after organic response.Format 3: Product Card
Structured card data with title, description, value props, and assets.7. Events (Platform → Operator)
After the ad is served, the platform sends events to track user engagement.7.1 CPX Exposure Event
Sent when the user sees the ad.7.2 CPC Click Event
Sent when the user clicks the ad.7.3 CPA Conversion Event
Sent when the user completes a conversion action (e.g., signup, purchase).End-to-end Flow Diagram
Schema Relationships
| Schema | Used In | Purpose |
|---|---|---|
platform-request | AI Platform → Operator | Initial auction request |
context-request | Operator → Brand Agents | Normalized request with intent |
bid | Brand Agents → Operator | Bid submission with pricing |
creative | Part of auction-result | Format-specific creative |
auction-result | Operator → AI Platform | Winning bid response |
Key Identifiers Flow
Common Patterns
Authentication
All requests include anauth object with:
nonce: One-time nonce for replay protectionsigorsignature: HMAC signature of the request
Timestamps
All timestamps use ISO 8601 / RFC 3339 format:- Format:
YYYY-MM-DDTHH:mm:ssZ - Example:
2025-11-14T18:22:00Z
Money/Currency
- Prices in
pricingobject: Decimal strings (e.g.,"0.05") - Amounts in events/ledger: Integer cents (e.g.,
5for $0.05) - Currency: ISO 4217 code (e.g.,
"USD")
IDs
- Platform-generated:
req_*,sess_*,user_* - Operator-generated:
ctx_*,auc_*,stk_* - Brand Agent-generated:
bid_* - Event-generated:
evt_* - System-generated:
ledger_*,wallet_*