openapi: 3.1.0 info: title: Voiceflow Conversations Interact API version: 1.0.0 summary: REST + SSE API for running Voiceflow agent turns and managing session state. description: 'The Voiceflow Conversations API (formerly Dialog Manager API) enables programmatic interaction with Voiceflow agents — running turns, managing session state, and modifying conversation variables. Documentation: https://docs.voiceflow.com/reference ' contact: name: Voiceflow Docs url: https://docs.voiceflow.com/reference servers: - url: https://general-runtime.voiceflow.com description: Voiceflow general runtime security: - apiKey: [] tags: - name: Interact description: Run a turn against a Voiceflow agent. paths: /state/user/{userID}/interact: post: tags: - Interact summary: Interact (v4) — run an agent turn (non-streaming) description: 'Sends an action to a Voiceflow agent and returns an array of `trace` events describing what the agent did this turn. Use the `request` action to send end-user input; use `launch` to begin a new conversation. ' operationId: interactV4 parameters: - $ref: '#/components/parameters/UserID' - in: header name: versionID required: false schema: type: string description: Project version (defaults to `production`). requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InteractRequest' responses: '200': description: Array of trace events content: application/json: schema: type: array items: $ref: '#/components/schemas/Trace' '401': $ref: '#/components/responses/Unauthorized' /state/user/{userID}/interact/stream: post: tags: - Interact summary: Interact (v4) — run an agent turn with Server-Sent Events description: 'Same semantics as `/state/user/{userID}/interact` but streams `trace` events back as Server-Sent Events for incremental rendering. ' operationId: interactV4Stream parameters: - $ref: '#/components/parameters/UserID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InteractRequest' responses: '200': description: text/event-stream of trace events content: text/event-stream: schema: type: string components: schemas: InteractRequest: type: object properties: action: type: object description: Action sent to the agent (e.g. `launch` or `request` with text). properties: type: type: string examples: - launch - text - intent payload: type: object additionalProperties: true config: type: object properties: tts: type: boolean stripSSML: type: boolean stopAll: type: boolean excludeTypes: type: array items: type: string state: type: object additionalProperties: true verbose: type: boolean Error: type: object properties: message: type: string code: type: string Trace: type: object description: Event emitted by the agent for this turn. properties: type: type: string examples: - speak - text - choice - end - debug payload: type: object additionalProperties: true responses: Unauthorized: description: Missing or invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' parameters: UserID: name: userID in: path required: true schema: type: string description: Stable identifier for the end user / conversation participant. securitySchemes: apiKey: type: apiKey in: header name: Authorization description: 'Voiceflow Dialog Manager API key (format `VF.DM.*`) sent in the `Authorization` header. '