Request
| Field | Type | Required | Description |
|---|---|---|---|
context | string | Yes | Natural language description of user intent |
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 |
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
- Context is a conversation handoff - The host tells the brand agent what the user needs. The brand agent responds naturally, continuing the conversation.
- 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.