Skip to main content
POST
/
v2
/
project
/
{projectID}
/
session
/
{sessionKey}
/
event
Emit session event
curl --request POST \
  --url https://general-runtime.voiceflow.com/v2/project/{projectID}/session/{sessionKey}/event \
  --header 'Content-Type: application/json' \
  --header 'authorization: <api-key>' \
  --data '
{
  "action": {
    "type": "<string>",
    "payload": "<unknown>",
    "diagramID": "<string>",
    "time": 123,
    "metadata": {}
  }
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.voiceflow.com/llms.txt

Use this file to discover all available pages before exploring further.

This endpoint only works when the target session has an open websocket connection, such as through the web chat widget or a custom websocket integration. If no active connection exists, the event will have no effect.
Send an action to an active websocket session. This is useful for injecting events mid-conversation, such as signaling a user disconnection or pushing an external trigger while the agent is waiting for input. You need the ‘projectID’ and ‘sessionKey’ to target the correct session. The sessionKey is returned when the websocket connection is established.

Authorizations

authorization
string
header
required

Voiceflow API key

Path Parameters

projectID
string
required

ID of the target Voiceflow project.

sessionKey
string
required

The session key returned by the Start session endpoint. Identifies which active session to send the event to.

Body

application/json
action
object
required

The event to send to the active conversation.

Response

201 - undefined