Experimental. Sponsored Intelligence (
si_get_offering, si_initiate_session, si_send_message, si_terminate_session) is part of AdCP 3.0 as an experimental surface — it may change between 3.x releases with at least 6 weeks’ notice. Sellers implementing any of these tasks MUST declare sponsored_intelligence.core in experimental_features. See experimental status for the full contract.Request
| Field | Type | Required | Description |
|---|---|---|---|
intent | string | Yes | Natural language description of user intent — the conversation handoff from the host |
identity | object | Yes | User identity with consent status |
media_buy_id | string | No | AdCP media buy ID if triggered by advertising |
placement | string | No | Where the session was triggered (e.g., “chatgpt_search”) |
offering_id | string | No | Brand-specific offering reference to apply |
supported_capabilities | object | No | What the host platform supports |
offering_token | string | No | Token from si_get_offering for correlation |
context | object | No | Opaque correlation data echoed unchanged in the response (see application context) |
Offering Token
If a host performed asi_get_offering lookup before initiating, include the token for session continuity:
- User sees: “Nike Pegasus ($89), Air Max ($129), Vomero ($139)”
- User says: “Tell me more about the middle one”
- Brand agent resolves “middle one” → Air Max via the token’s stored context
Identity Object
Whenconsent_granted is true:
| Field | Type | Required | Description |
|---|---|---|---|
consent_granted | boolean | Yes | Must be true |
consent_timestamp | string | Yes | ISO 8601 timestamp of consent |
consent_scope | array | Yes | Fields the user agreed to share |
privacy_policy_acknowledged | object | No | Brand policy user accepted |
user | object | Yes | User’s PII |
consent_granted is false:
| Field | Type | Required | Description |
|---|---|---|---|
consent_granted | boolean | Yes | Must be false |
anonymous_session_id | string | Yes | Unique ID for this anonymous session |
Supported Capabilities Object
Declares what the host platform can render:Response
| Field | Type | Description |
|---|---|---|
session_id | string | Unique identifier for this session |
response | object | Brand agent’s initial response |
negotiated_capabilities | object | Intersection of brand and host capabilities |
Response Object
| Field | Type | Description |
|---|---|---|
message | string | Text response from brand agent |
ui_elements | array | Visual components to render |
Example
Request
Response
Key Points
-
intentis the conversation handoff - The host tells the brand agent what the user needs in natural language. The brand agent responds naturally, continuing the conversation.contextis a separate, optional field: an opaque object (e.g.,{"trace_id": "abc-123"}) that the brand agent echoes back unchanged — used by the buyer for correlation, never parsed by the brand agent. - Brand looks up loyalty data - If Jane’s email is recognized, Delta retrieves her SkyMiles status automatically. Hosts don’t store loyalty numbers.
- offering_id is brand-specific - The brand interprets this reference to apply promotions, discounts, or loyalty rewards. Hosts pass it through without needing to understand offering semantics.
-
Capability negotiation - The response includes
negotiated_capabilitiesshowing what features this session can use (intersection of brand and host capabilities). -
Clear PII with explicit consent - When
consent_grantedis true, actual email/name are passed (not hashed). This is a direct, consented handoff.