Skip to main content
Start a conversational session with a brand agent. The host platform invokes this task when a user expresses interest in engaging with a brand.

Request

FieldTypeRequiredDescription
contextstringYesNatural language description of user intent
identityobjectYesUser identity with consent status
media_buy_idstringNoAdCP media buy ID if triggered by advertising
placementstringNoWhere the session was triggered (e.g., “chatgpt_search”)
offering_idstringNoBrand-specific offering reference to apply
supported_capabilitiesobjectNoWhat the host platform supports
offering_tokenstringNoToken from si_get_offering for correlation

Offering Token

If a host performed a si_get_offering lookup before initiating, include the token for session continuity:
{
  "offering_token": "offering_abc123xyz"
}
The token lets the brand agent know exactly what products were shown to the user (and in what order). This enables natural conversation flow:
  • 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

When consent_granted is true:
FieldTypeRequiredDescription
consent_grantedbooleanYesMust be true
consent_timestampstringYesISO 8601 timestamp of consent
consent_scopearrayYesFields the user agreed to share
privacy_policy_acknowledgedobjectNoBrand policy user accepted
userobjectYesUser’s PII
When consent_granted is false:
FieldTypeRequiredDescription
consent_grantedbooleanYesMust be false
anonymous_session_idstringYesUnique ID for this anonymous session

Supported Capabilities Object

Declares what the host platform can render:
{
  "modalities": {
    "conversational": true,
    "voice": { "providers": ["elevenlabs", "openai"] },
    "video": false,
    "avatar": false
  },
  "components": {
    "standard": ["text", "link", "image", "product_card", "carousel", "action_button"],
    "extensions": {
      "chatgpt_apps_sdk": "1.0"
    }
  },
  "commerce": {
    "acp_checkout": true
  }
}

Response

FieldTypeDescription
session_idstringUnique identifier for this session
responseobjectBrand agent’s initial response
negotiated_capabilitiesobjectIntersection of brand and host capabilities

Response Object

FieldTypeDescription
messagestringText response from brand agent
ui_elementsarrayVisual components to render

Example

Request

{
  "$schema": "/schemas/sponsored-intelligence/si-initiate-session-request.json",
  "context": "User wants to fly to Boston next Tuesday morning on flight 632 at 6 AM.",
  "media_buy_id": "delta_q1_premium_upgrade",
  "placement": "chatgpt_search",
  "offering_id": "delta_chatgpt_3313",
  "identity": {
    "consent_granted": true,
    "consent_timestamp": "2026-01-18T10:30:00Z",
    "consent_scope": ["name", "email"],
    "privacy_policy_acknowledged": {
      "brand_policy_url": "https://delta.com/privacy",
      "brand_policy_version": "2026-01"
    },
    "user": {
      "email": "jane@example.com",
      "name": "Jane Smith",
      "locale": "en-US"
    }
  },
  "supported_capabilities": {
    "modalities": {
      "conversational": true,
      "voice": true
    },
    "components": {
      "standard": ["text", "link", "image", "product_card", "carousel", "action_button"]
    },
    "commerce": {
      "acp_checkout": true
    }
  }
}

Response

{
  "$schema": "/schemas/sponsored-intelligence/si-initiate-session-response.json",
  "session_id": "sess_abc123",
  "session_status": "active",
  "response": {
    "message": "Hi Jane! I found DL632 departing at 6:15 AM next Tuesday. Great news—as a SkyMiles Gold member, you qualify for our free Premium Economy upgrade on this flight.",
    "ui_elements": [
      {
        "type": "product_card",
        "data": {
          "title": "DL632 to Boston - Tue Jan 27",
          "subtitle": "6:15 AM → 9:42 AM (3h 27m)",
          "price": "$199",
          "badge": "Free Premium Economy Upgrade",
          "image_url": "https://delta.com/images/premium-economy.jpg",
          "cta": { "label": "Book with Upgrade", "action": "checkout" }
        }
      }
    ]
  },
  "negotiated_capabilities": {
    "modalities": {
      "conversational": true,
      "voice": true
    },
    "components": {
      "standard": ["text", "link", "image", "product_card", "carousel", "action_button"]
    },
    "commerce": {
      "acp_checkout": true
    }
  }
}

Key Points

  1. Context is a conversation handoff - The host tells the brand agent what the user needs. The brand agent responds naturally, continuing the conversation.
  2. Brand looks up loyalty data - If Jane’s email is recognized, Delta retrieves her SkyMiles status automatically. Hosts don’t store loyalty numbers.
  3. 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.
  4. Capability negotiation - The response includes negotiated_capabilities showing what features this session can use (intersection of brand and host capabilities).
  5. Clear PII with explicit consent - When consent_granted is true, actual email/name are passed (not hashed). This is a direct, consented handoff.