Skip to main content

Context Request Schema

Overview

Normalized request that an Operator sends to subscribed Brand Agents when opening an auction. It includes the enriched intent, allowed creative formats, and an operator-signed auth block.

Required Fields

FieldTypeDescription
context_idstringUnique ID for this auction request
session_idstringConversation/session identifier
operator_idstringIdentifier of the operator sending the request
platform_idstringUpstream AI platform identifier
query_textstringOperator-curated user query
localestringLocale (BCP 47, e.g., en-US)
geostringCountry code (ISO 3166-1 alpha-2)
intent.typeenumIntent class: informational, commercial, transactional
allowed_formatsarrayCreative formats allowed: weave, citation, product_card
timestampstringISO 8601 timestamp created by the operator
auth.noncestringNonce for replay protection
auth.sigstringOperator signature authenticating the request

Optional Fields

FieldTypeDescription
verticalsarrayNormalized topical verticals, e.g., ["crm", "smb_software"]
intent.decision_phaseenumFunnel stage: research, compare, decide, act
intent.context_summarystringOperator generated summary
intent.turn_indexintegerConversation turn index
extensionsobjectVendor-namespaced operator metadata (e.g., extensions.admesh.*)

Example

{
  "context_id": "ctx_92fA1",
  "session_id": "sess_001",
  "operator_id": "admesh_operator",
  "platform_id": "openai_chat",
  "query_text": "best CRM for small teams",
  "locale": "en-US",
  "geo": "US",
  "verticals": ["crm", "smb_software"],
  "intent": {
    "type": "commercial",
    "decision_phase": "compare",
    "context_summary": "User is evaluating CRM tools and narrowing down options.",
    "turn_index": 3
  },
  "allowed_formats": ["weave", "citation", "product_card"],
  "timestamp": "2025-11-14T18:22:00Z",
  "auth": { "nonce": "nonce_123", "sig": "sig_hmac_123abc" },
  "extensions": {
    "admesh": { "operator_relevance_score": 0.87 }
  }
}

Notes

  • extensions must be vendor-namespaced objects; operators should only write inside their namespace (e.g., extensions.admesh).
  • allowed_formats lets operators constrain how creatives render for the requesting platform surface.