Flow Overview
AIP connects AI Platforms, Operators, and Brand Agents through a series of request/response cycles, selection, and event verification. The protocol supports two distinct flows based on the interaction mode.Flow 1: Recommend Mode
Used when the user is researching, considering, or comparing options. The brand agent contributes to the AI response without any session transfer.Recommend flow summary
- User asks a question with commercial intent
- Platform sends PlatformRequest to Operator
- Operator evaluates participation eligibility - allowed
- Operator derives ContextRequest and sends to eligible brand agents
- Brand agents respond with pricing and content
- Operator runs selection, determines recommend mode
- Platform receives PlatformResponse and integrates recommendation into AI response
- Events track the lifecycle: exposure_shown → interaction_started → task_completed
- Only the highest-value event is settled
Flow 2: Delegate Mode
Used when the user has transactional intent and is ready to act. The AI hands off the session to a brand agent for task execution.Delegate flow summary
- User expresses transactional intent
- Platform sends PlatformRequest to Operator
- Operator evaluates eligibility - delegation is allowed
- Operator derives ContextRequest and sends to eligible agents
- Brand agent responds with delegation capability
- Operator runs selection, determines delegate mode
- Platform receives PlatformResponse with delegation object
- Platform asks user for consent
- User consents and the Platform sends that consent to the Operator
- Operator confirms brand-agent availability, initiates the delegated session, and records
delegation_started - Platform and Brand Agent continue the live delegated task flow after the operator-mediated start
- Both Platform and Brand Agent emit
delegation_activitywhile the session remains active - Any new information the user provides in-session is session-bound by default and not part of the original handoff scope
- If no activity arrives before
session_timeout_seconds, the Operator recordsdelegation_expired - Brand agent executes the task
task_completedevent fired and verified- Operator settles CPA
1. Platform Request (AI Platform → Operator)
Schema:platform-request.json
The AI platform initiates the process by sending a PlatformRequest to the operator. The operator validates the request, evaluates participation eligibility, and if eligible derives a ContextRequest and sends it to brand agents.
Key fields:
spec_version: AIP request schema version (e.g. “1.0”)message_id: Canonical per-message identifier used for auction identity and replaytimestamp: ISO 8601 timestampproducer: Producer information;agent_rolemust be"platform"context: Context (language, publisher, placement, device, geography)identity: Identity (namespace, value_hash, confidence)extensions.aip.intent: Required. Platform-declared intent (domain, subdomain, confidence) for participation governanceextensions.aip.runtime: Required. session_id, turn_index, query_text, optional messages, latency_budget_msextensions.aip.selection: Optional. pricing_model, cpx_floor, currency
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: “1.0”)context_id: Unique identifier for this operator-generated ContextRequestmessage_id: Canonical upstream message identifiertimestamp: ISO 8601 timestampoperator: Operator informationplatform: Upstream platform informationsession.id: Conversation or interaction session IDsession.turn_index: Turn index in the conversationlanguage: User locale in BCP 47 formatintent: Operator-generated semantic understandingtype: “informational” | “commercial” | “transactional”decision_phase: canonical decision phase enumconfidence: Confidence score (0.0-1.0)summary: Short summary of conversation context
verticals: Normalized topical verticalsallowed_formats: Content formats allowedlatency_budget_ms: Platform latency budget in milliseconds
Example:
Selection window and timing
AIP uses a time-bounded selection window to ensure low latency and predictable outcomes.- The selection window is derived from the PlatformRequest
latency_budget_msfield - The Operator computes the available response window by subtracting operator overhead from the platform’s latency budget
- The window begins when the ContextRequest is published
- Brand agents MUST submit responses before the computed window expires
- If
latency_budget_msis not provided, the Operator MUST apply a default fallback
no_match. Late responses are ignored.
3. Brand Agent Response (Brand Agents → Operator)
Schema:bid.json
Brand agents evaluate the context request and submit Bid payloads containing pricing, targeting, budget, and structured recommendation content.
Key fields:
spec_version: Schema version for the bid payloadbid_id: Unique identifier for this bidbrand_agent_id: Identifier of the brand agentcontext_id: ID of the ContextRequest being responded towallet_id: Wallet to debit if selectedtargeting: Applicability constraints for the bidpricing: Pricing fields in microsbudget: Spend caps and pacing controlsrecommendation.creative_input: Unified content structuredeclared_relevance: Relevance score (0.0-1.0, required)delegation: Delegation capability declaration (optional)valid_until: Bid expiry timestamp
Example:
4. PlatformResponse (Operator → AI Platform)
The operator evaluates the auction and returns aPlatformResponse to the AI platform.
Key fields:
response_id: Unique identifier for this responseauction_id: Auction identifierserve_token: Token used to track downstream eventsstatus: Outcome status (filled,no_match,error)winner: Winning bid state, pricing, and billing reservationrender: Structured render payload for platform presentationdelegation: Optional delegation availability for the winning bidttl_ms: Time-to-live in milliseconds
Example (recommend mode):
5. Events (Platform / Operator / Brand Agent → Operator)
After participation begins, events track the decision lifecycle.5.1 Exposure shown
Sent when the user sees the recommendation or delegation offer.5.2 Interaction started
Sent when the user engages with the recommendation.5.3 Delegation started
Sent by the Operator after the Platform has collected consent and the Operator has confirmed brand-agent availability and initiated the delegated session (delegate mode only). This event proves session initiation and authorization. It does not imply that every subsequent delegated turn is transported through the Operator.5.4 Delegation activity
Sent by the Platform or Brand Agent while the delegated session is still active. Each verifieddelegation_activity resets the inactivity timer for the session.
5.5 Delegation expired
Sent by the Operator when the delegated session expires before completion, typically because the inactivity timeout elapsed.5.6 Task completed
Sent when the user completes the target action.Schema relationships
| Schema | Used In | Purpose |
|---|---|---|
platform-request | AI Platform → Operator | Initial participation request |
context-request | Operator → Brand Agents | Eligible participation context |
bid | Brand Agents → Operator | Response with pricing and content |
PlatformResponse | Operator → AI Platform | Selected agent + interaction mode |
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
- Monetary values in events and settlement use integer micros
- Currency: ISO 4217 code (e.g.,
"USD")
IDs
- Platform-generated:
req_*,sess_*,user_* - Operator-generated:
ctx_*,auc_*,resp_*,stk_* - Brand Agent-generated:
bid_* - Event-generated:
evt_* - System-generated:
ledger_*,wallet_*