---
title: "Interact - legacy (stream)"
method: POST
path: "/v2/project/{projectID}/user/{userID}/interact/stream"
tags: ["Conversation", "Public-Docs"]
deprecated: true
---

# Interact - legacy (stream)

`POST /v2/project/{projectID}/user/{userID}/interact/stream`

> **Deprecated.**

<Note>This endpoint is deprecated. Use the [Interact (stream)](/api-reference/conversation/interact-stream) endpoint instead. This legacy endpoint will continue to work for now, and we'll communicate a timeline for removal when one is available. We recommend migrating as soon as possible.</Note>
Returns a stream of trace events followed by an end event using [SSE](https://en.wikipedia.org/wiki/Server-sent_events).

## Path parameters

- `projectID` string, required — The ID of the Voiceflow project to interact with.
- `userID` string, required — An ID which uniquely identifies the user having the conversation.

## Query parameters

- `modality` 'voice' | 'chat' | 'api' — Certain features are only available depending on your modality.
- `environment` string — Which environment to target within the project.
- `audio_events` boolean — If enabled, the configured speech-to-text provider will be invoked to convert system response text to audio. Audio traces will be returned from the server.
- `audio_encoding` 'audio/mp3' | 'audio/x-mulaw' | 'audio/pcm' — When `audio_events` are enabled, selects the encoding of audio traces returned by the server.
- `completion_events` boolean — When enabled, LLM traces will be broken up into streamed-in chunks - [documentation](/api-reference/conversations-api/completion-events)
- `userTimezone` string — The timezone experienced by the user in this conversation.
- `versionVariant` string
- `state` boolean — When enabled, conversation state is returned in response to each interaction.

## Request body

- object
  - `action` union, required
    - LaunchRequest — Send a launch request to start a new conversation.
      - `type` 'launch', required
      - `payload` object
        - `persona` string
      - `diagramID` string
      - `time` number
      - `metadata` object
    - TextRequest — Send the user response as a raw text payload.
      - `type` 'text', required
      - `payload` string, required
      - `diagramID` string
      - `time` number
      - `metadata` object
        - `source` string
    - object — Send one or more file attachments, with an optional text message.
      - `type` 'file', required
      - `payload` object, required
        - `text` string
        - `files` object[], required
          - `url` string, uri
          - `mimeType` string, required
          - `filename` string
          - `size` number
          - `s3Key` string
      - `diagramID` string
      - `time` number
      - `metadata` object
    - ActionRequest — Actions are self-describing operations with an associated payload.
      - `type` 'action', required
      - `payload` object
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
      - `diagramID` string
      - `time` number
      - `metadata` object
    - IntentRequest — Trigger a specific intent from your conversation model.
      - `type` 'intent', required
      - `payload` IntentRequestPayload, required
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
        - `data` object
        - `query` string
        - `intent` object, required
          - `name` string, required
        - `entities` IntentRequestEntity[]
          - `name` string, required
          - `value` string, required
          - `query` string
          - `verboseValue` VerboseValue[]
            - `rawText` string, required
            - `canonicalText` string, required
            - `startIndex` number, required
        - `confidence` number
      - `diagramID` string
      - `time` number
      - `metadata` object
    - EventRequest — Events are triggers with an associated payload.
      - `type` 'event', required
      - `payload` EventRequestPayload, required
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
        - `event` object, required
          - `name` string, required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - PathRequest — Continue the conversation by traveling down the specified path.
      - `type` string, required
      - `payload` object, required
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string, required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - NoReplyRequest — Represents the user failing to reply, typically sent after a reasonable timeout.
      - `type` 'no-reply', required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - MessageRequest — Similar to the `text` action.
      - `type` 'message', required
      - `payload` object, required
        - `message` string, required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - EndRequest — Sent to indicate the conversation has been ended.
      - `type` 'end', required
      - `payload` object
        - `reason` string, required
        - `message` string
      - `diagramID` string
      - `time` number
      - `metadata` object
    - DTMFRequest — Represents the result of a dial-tone input, used for phone calls.
      - `type` 'dtmf', required
      - `payload` string, required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - LiveAgentHandoffRequest — Sent to interact with a connected live agent.
      - `type` 'live-agent-handoff', required
      - `payload` union, required
        - LiveAgentHandoffMessagePayload
          - `type` 'message', required
          - `message` string, required
        - LiveAgentHandoffFileUploadPayload
          - `type` 'file_upload', required
          - `files` object[], required
            - `id` string, required
            - `name` string, required
            - `size` number, required
            - `type` string, required
            - `status` 'uploaded' | 'failed'
            - `metadata` object
        - LiveAgentHandoffContinueConversationPayload
          - `type` 'continue_conversation', required
        - LiveAgentHandoffReturnToVoiceflowPayload
          - `type` 'return_to_voiceflow', required
      - `diagramID` string
      - `time` number
      - `metadata` object
    - GeneralRequest — Represents an non-system-defined action.
      - `type` string, required
      - `payload` object
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
      - `diagramID` string
      - `time` number
      - `metadata` object
    - AlexaIntentRequest — Legacy intent request type that `general-runtime` expects Alexa to send
      - `type` 'intent', required
      - `payload` object, required
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
        - `data` object, required
        - `query` string
        - `intent` object, required
          - `name` string, required
        - `entities` IntentRequestEntity[], required
          - `name` string, required
          - `value` string, required
          - `query` string
          - `verboseValue` VerboseValue[]
            - `rawText` string, required
            - `canonicalText` string, required
            - `startIndex` number, required
        - `confidence` number
      - `diagramID` string
      - `time` number
      - `metadata` object
    - LegacyIntentRequest — The legacy intent request type that `general-runtime` expects from its clients.
      - `type` 'intent', required
      - `payload` object, required
        - `actions` BaseAction[]
          - `type` string, required
          - `payload` unknown, required
        - `label` string
        - `query` string
        - `intent` object, required
          - `name` string, required
        - `entities` IntentRequestEntity[], required
          - `name` string, required
          - `value` string, required
          - `query` string
          - `verboseValue` VerboseValue[]
            - `rawText` string, required
            - `canonicalText` string, required
            - `startIndex` number, required
        - `confidence` number
      - `diagramID` string
      - `time` number
      - `metadata` object
  - `variables` object — Set variables for the next turn of the conversation.
  - `sessionID` string — Unique ID of the conversation session.

## Response `200`

---

[API](https://skmtc.net/voiceflow/apis/general-runtime.md) · [All operations](https://skmtc.net/voiceflow/apis/general-runtime/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voiceflow/general-runtime/versions/6b1c4f778c56/schema)
