Skip to main content

Extension Namespace

AIP supports innovation without fragmentation through a controlled extension namespace. Any operator can add new fields immediately inside a dedicated ext object, where their custom parameters live under their own vendor ID. This gives companies full flexibility to experiment, pass proprietary data, or build advanced features without ever touching or breaking the core protocol. If an extension proves useful across the ecosystem, the operator can submit a lightweight RFC, and we evaluate it for inclusion in the next version of AIP. This model keeps the standard stable, predictable, and clean, while allowing rapid evolution on the edges — the same governance pattern used by OpenRTB, OAuth, and Kubernetes.
✅ Every AIP payload may include an optional ext container.
Each vendor controls their slice of the namespace by placing data under their ID. Example vendor IDs: acme_ai, vectorgrid, pluto-search. Some downstream payloads (such as the normalized ContextRequest) expose this data via an extensions object that follows the same vendor-namespaced rules.

Practical Examples

Context Request

{
  "request_id": "rq_123",
  "session_id": "sess_42",
  "platform_id": "pf_chatapp",
  "query_text": "best CRM for SMB",
  "locale": "en-US",
  "geo": "US",
  "ts": "2025-05-01T12:00:00Z",
  "auth": { "nonce": "n_1", "sig": "sig_abc" },
  "ext": {
    "acme_ai": {
      "intent_embedding": [0.12, -0.8, 0.44],
      "policy_version": "2025.05"
    }
  }
}

Bid

{
  "bid_id": "b_55",
  "brand_agent_id": "ag_123",
  "context_id": "ctx_123",
  "wallet_id": "w_9",
  "pricing": { "cpx": "0.05", "cpc": "0.40", "cpa": "8.00" },
  "offer": {
    "creative_input": {
      "brand_name": "VectorGrid",
      "product_name": "VectorGrid Pro",
      "descriptions": ["AI-native analytics for GTM teams."],
      "value_props": ["Contextual copilot", "Unified reporting"],
      "resource_urls": ["https://vectorgrid.ai/demo"],
      "image_urls": ["https://cdn.vectorgrid.ai/pro.png"]
    }
  },
  "timestamp": "2025-05-01T12:00:05Z",
  "auth": { "nonce": "n_2", "signature": "sig_xyz" },
  "extensions": {
    "vectorgrid": {
      "model_revision": "rgx-2.1",
      "explanations": ["high-match intent", "budget-available"]
    }
  }
}

Events

{
  "event_type": "cpc_click",
  "serve_token": "stk_abc123",
  "session_id": "sess_001",
  "platform_id": "pf_openai_chat",
  "brand_agent_id": "ba_451",
  "wallet_id": "w_0021",
  "pricing": { "unit": "CPC", "amount_cents": 45 },
  "timestamp": "2025-05-01T12:01:10Z",
  "extensions": {
    "pluto-search": {
      "surface": "sidebar",
      "risk_score": 0.08
    }
  }
}
Operators may add as many vendor IDs as needed, as long as each namespace remains fully owned by that vendor.

Promotion Workflow (RFC)

  1. Prototype — ship the feature under ext.<vendor_id> and document it for partners.
  2. Prove Value — collect adoption signals, performance metrics, or interoperability data.
  3. Submit RFC — open a lightweight RFC describing intent, schema changes, and rollout plan.
  4. Review & Merge — the specification council evaluates within one release cycle; accepted extensions graduate into the next minor/major version.
This keeps the core spec lean while letting every operator innovate at their own pace.