Purpose (normative)
RetrieveRequest is a platform-declared, permissioned request sent by an AI platform to a publisher’s AIP retrieve endpoint to access content in response to a live user query.
It is intentionally separate from PlatformRequest and ContextRequest. No ads. No bidding. No operator semantics. Only permissioned retrieval.
It is evaluated against:
aip.jsoneditorial_domains- publisher policy
Canonical schema location
Schema summary
intent
- domain - Primary intent domain (must align with publisher
editorial_domains). Pattern:^[a-z0-9]+(\.[a-z0-9-]+)*$ - subdomain - Optional. Same pattern.
- confidence - Optional. 0.0–1.0.
context
- language - BCP 47 (e.g.
en-US). Required. - geography.country - ISO 3166-1 alpha-2. Optional.
- placement - Surface (e.g. conversation, chat, voice). Optional.
runtime
- session_id, turn_index - Required.
- query_text, latency_budget_ms - Optional.
Example
Well-formedRetrieveRequest body (e.g. POST to publisher’s retrieve endpoint):
What this schema deliberately excludes
This is intentional and important.- No auction data
- No CPX / CPM / pricing
- No brand or creative metadata
- No embeddings
- No operator scoring
- No user identity beyond session context
How publishers evaluate a RetrieveRequest
A publisher MUST evaluate, in this order:- Verify authentication / signature (out of scope of this schema)
- Check
intent_access.enabledandstate(fromaip.json) - Match
intent.domain(and optionallyintent.subdomain) againsteditorial_domains - Enforce
retrievallimits (fromaip.json) - Respond or deny
Why this schema will survive scrutiny
- Clean separation from advertising
- Explicit platform-declared intent
- Deterministic consent matching
- Minimal personal data surface
- Future-safe via
extensions
Schema file
Full JSON Schema (Draft 2020-12): retrieve-request.jsonSee also
- aip.json - Publisher Declaration - Publisher consent and capability declaration (
editorial_domains,retrieval,intent_access) - PlatformRequest - Platform → Operator (ads/auction flow; separate from retrieval)