Stream vendor AI assistant response

Stream the vendor AI assistant's response as server-sent events (SSE). The endpoint emits
metadata, incremental content chunks, and a final summary event. Use this for real-time
chat experiences; the non-streaming endpoint is available at /vendors/chatbot/ask.

Event flow: metadatatool_progressdisplay_action? → contentactions? → final_metadatadone

Event semantics:

  • metadata: Includes session_id, title, persona, model, and features.
  • tool_progress: Emitted when the AI invokes a tool. Includes a title field
    with a human-readable label (e.g. "Starting your skin scan", "Thinking").
  • display_action: A client-rendered card requested by the assistant (e.g. display_ticket_confirmation).
  • NOTE: there is no products event. The assistant does not recommend catalogue products; a
    product question is answered with guidance plus a SKIN_SCAN action.
  • content: A stream of assistant text chunks to render incrementally.
  • actions: Emitted when the assistant triggers UI actions (e.g. SKIN_SCAN, BOOK_CONSULTATION).
    Includes actions array of action identifiers and action_links array of structured CTAs.
  • final_metadata: Includes the saved AI message ID and mirrors persona fields for
    completeness once the response is finalized.
  • error: Emitted on failure, then followed by done. When the vendor gates the chat
    (Tulip orders enabled) and the customer's email is not verified, the error carries
    code: "verification_required" — the client should run the POST /widget/chat/request-code
    verify-code flow and retry with the resulting verification_token.
  • done: Terminating event that signals stream completion.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
length between 2 and 1500

Prompt or question for the assistant (2-1500 characters)

uuid | null

Existing session identifier to continue a conversation

string | null

Skin analysis batch identifier used to ground responses with scan insights

string | null

Email-verification token from POST /widget/chat/verify-code. Required only when the
vendor gates the chat (Tulip orders enabled): the customer must verify their email
before the assistant will answer. When required and absent/invalid, the stream emits an
error event with code: "verification_required" followed by done. Ignored for
vendors that do not gate the chat.

attachment_ids
array of integers | null

Ids of images the customer previously uploaded via POST /widget/chat/attachments,
bound to this turn's message and shown to staff. See the non-streaming endpoint for
full semantics. Ignored unless the vendor has the chat_attachments feature enabled.

attachment_ids
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/event-stream
application/json