AdCP Sponsored Intelligence is a schema group of the Ad Context Protocol holding 4 of the 64 operations in release 3.1.13, covering the offering lookup and session lifecycle for conversational brand experiences inside AI assistants.
All 4 Sponsored Intelligence operations are marked experimental. si_get_offering is an anonymous pre-session lookup; si_initiate_session, si_send_message and si_terminate_session run the session itself.
si_terminate_session declares x-mutates-state: true and its request schema does not require idempotency_key, so the protocol defines no retry protection for it. comply_test_controller is the other operation where those two come apart.
si_terminate_session is the AdCP task for ending an SI session.
si_get_offering
si_get_offering is the AdCP task for anonymous pre-session offering lookups.
si_get_offering request — 8 fields, 1 required
Field
Type
Required
Description
adcp_version
string
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
offering_id
string
required
Offering identifier from the catalog to get details for
intent
string
Optional natural language description of user intent for personalized results (e.g., 'mens size 14 near Cincinnati').
context
context
Opaque correlation data that is echoed unchanged in responses.
include_products
boolean
Whether to include matching products in the response
product_limit
integer
Maximum number of matching products to return
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.
si_get_offering response — 25 fields, 2 required
Field
Type
Required
Description
adcp_version
string
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
context_id
string
Session/conversation identifier for tracking related operations across multiple task invocations.
context
context
Opaque correlation data that is echoed unchanged in responses.
task_id
string
Unique identifier for tracking asynchronous operations.
status
task-status
required
Current task execution state. One of: submitted, working, input-required, completed, canceled, failed, rejected, auth-required, unknown.
message
string
Human-readable summary of the task result.
timestamp
string
ISO 8601 timestamp when the response was generated.
replayed
boolean
Set to true when this response was returned from the idempotency cache rather than from a fresh execution.
adcp_error
error
Transport-envelope error signal for fatal task failures.
push_notification_config
push-notification-config
Push notification configuration for async task updates (A2A and REST protocols).
governance_context
string
Governance context token issued by the account's governance agent during check_governance.
payload
object
Conceptual grouping for the task-specific response data defined by individual task response schemas (e.g., get-products-response.json, create-media-buy-response.json).
available
boolean
required
Whether the offering is currently available
offering_token
string
Token to pass to si_initiate_session for session continuity.
ttl_seconds
integer
How long this offering information is valid (seconds).
checked_at
string
When this offering information was retrieved
offering
object
Offering details
matching_products
object[]
Products matching the request context.
sponsored_context
si-sponsored-context
Declaration for the sponsored context carried by this offering response.
total_matching
integer
Total number of products matching the context (may be more than returned in matching_products)
unavailable_reason
string
If not available, why (e.g., 'expired', 'sold_out', 'region_restricted')
alternative_offering_ids
string[]
Alternative offerings to consider if this one is unavailable
errors
error[]
Errors during offering lookup
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
context_id
string
Session/conversation identifier for tracking related operations across multiple task invocations.
context
context
Opaque correlation data that is echoed unchanged in responses.
task_id
string
Unique identifier for tracking asynchronous operations.
status
task-status
required
Current task execution state. One of: submitted, working, input-required, completed, canceled, failed, rejected, auth-required, unknown.
message
string
Human-readable summary of the task result.
timestamp
string
ISO 8601 timestamp when the response was generated.
replayed
boolean
Set to true when this response was returned from the idempotency cache rather than from a fresh execution.
adcp_error
error
Transport-envelope error signal for fatal task failures.
push_notification_config
push-notification-config
Push notification configuration for async task updates (A2A and REST protocols).
governance_context
string
Governance context token issued by the account's governance agent during check_governance.
payload
object
Conceptual grouping for the task-specific response data defined by individual task response schemas (e.g., get-products-response.json, create-media-buy-response.json).
session_id
string
required
Unique session identifier for subsequent messages
response
object
Brand agent's initial response
negotiated_capabilities
si-capabilities
Intersection of brand and host capabilities for this session
sponsored_context
si-sponsored-context
Declaration for sponsored context carried by the initial brand-agent response.
session_status
si-session-status
required
Current session lifecycle state. One of: active, pending_handoff, complete, terminated.
session_ttl_seconds
integer
Session inactivity timeout in seconds.
errors
error[]
Errors during session initiation
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.
si_send_message is the AdCP task for exchanging messages in an active SI session.
si_send_message request — 9 fields, 2 required
Field
Type
Required
Description
adcp_version
string
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
idempotency_key
string
required
Client-generated unique key for at-most-once execution.
session_id
string
required
Active session identifier
message
string
User's message to the brand agent
action_response
object
Response to a previous action_button (e.g., user clicked checkout)
sponsored_context_receipt
si-sponsored-context-receipt
Host receipt for sponsored context accepted from a prior SI response in this session.
context
context
Opaque correlation data that is echoed unchanged in responses.
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.
si_send_message response — 21 fields, 3 required
Field
Type
Required
Description
adcp_version
string
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
context_id
string
Session/conversation identifier for tracking related operations across multiple task invocations.
context
context
Opaque correlation data that is echoed unchanged in responses.
task_id
string
Unique identifier for tracking asynchronous operations.
status
task-status
required
Current task execution state. One of: submitted, working, input-required, completed, canceled, failed, rejected, auth-required, unknown.
message
string
Human-readable summary of the task result.
timestamp
string
ISO 8601 timestamp when the response was generated.
replayed
boolean
Set to true when this response was returned from the idempotency cache rather than from a fresh execution.
adcp_error
error
Transport-envelope error signal for fatal task failures.
push_notification_config
push-notification-config
Push notification configuration for async task updates (A2A and REST protocols).
governance_context
string
Governance context token issued by the account's governance agent during check_governance.
payload
object
Conceptual grouping for the task-specific response data defined by individual task response schemas (e.g., get-products-response.json, create-media-buy-response.json).
session_id
string
required
Session identifier
response
object
Brand agent's response
mcp_resource_uri
string
MCP resource URI for hosts with MCP Apps support (e.g., ui://si/session-abc123)
sponsored_context
si-sponsored-context
Declaration for sponsored context carried by this brand-agent response.
session_status
si-session-status
required
Current session status. One of: active, pending_handoff, complete, terminated.
handoff
object
Handoff request when session_status is pending_handoff
errors
error[]
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.
Release-precision AdCP version (VERSION.RELEASE, e.g.
adcp_major_version
integer
DEPRECATED in favor of adcp_version (release-precision string).
context_id
string
Session/conversation identifier for tracking related operations across multiple task invocations.
context
context
Opaque correlation data that is echoed unchanged in responses.
task_id
string
Unique identifier for tracking asynchronous operations.
status
task-status
required
Current task execution state. One of: submitted, working, input-required, completed, canceled, failed, rejected, auth-required, unknown.
message
string
Human-readable summary of the task result.
timestamp
string
ISO 8601 timestamp when the response was generated.
replayed
boolean
Set to true when this response was returned from the idempotency cache rather than from a fresh execution.
adcp_error
error
Transport-envelope error signal for fatal task failures.
push_notification_config
push-notification-config
Push notification configuration for async task updates (A2A and REST protocols).
governance_context
string
Governance context token issued by the account's governance agent during check_governance.
payload
object
Conceptual grouping for the task-specific response data defined by individual task response schemas (e.g., get-products-response.json, create-media-buy-response.json).
session_id
string
required
Terminated session identifier
terminated
boolean
required
Whether session was successfully terminated
session_status
si-session-status
Resulting session state. One of: active, pending_handoff, complete, terminated.
acp_handoff
object
ACP checkout handoff data.
follow_up
object
Suggested follow-up actions
errors
error[]
ext
ext
Extension object for platform-specific, vendor-namespaced parameters.