---
title: "Simulate Conversation"
method: POST
path: "/v1/simulate"
tags: ["Evaluation"]
---

# Simulate Conversation

`POST /v1/simulate`

Simulate the next conversation turn from a conversational golden.

## Request body

- SimulateRequest
  - `conversationalGolden` ConversationalGolden, required
    - `scenario` string, required — This is a description of the conversation context.
    - `userDescription` string — This is the description of the user in the conversation.
    - `expectedOutcome` string — This describes the expected outcome, or ideal conversation flow, of the conversation.
    - `turns` Turn[] — This is the list of turns in the conversation.
      - `role` 'user' | 'assistant', required — The role of the turn, either user or assistant.
      - `content` string, required — The message content of the turn.
      - `userId` string — The user ID associated with the turn.
      - `retrievalContext` string[] — The contexts retrieved to generate the LLM response for this turn.
      - `toolsCalled` ToolCallData[] — The tools called to generate the LLM response for this turn.
        - `name` string, required — This is the name of the tool.
        - `description` string, required — This is the description of the tool.
        - `inputParameters` object — This is the input parameters that are passed to the tool.
        - `output` string — This is the output of the tool.
        - `reasoning` string — This is the reasoning your LLM provided for the tool call.
    - `context` string[] — This is the context of the conversation.
    - `additionalMetadata` object — This is any additional metadata you wish to associate with the golden.
    - `comments` string — This is any comments you wish to associate with the golden.
    - `sourceFile` string — This is the source file from which the golden was retrieved.
    - `finalized` boolean — This determines whether the golden has been finalized.
    - `customColumnKeyValues` object — Key-value pairs representing custom table column data for this golden. Keys correspond to the custom column keys defined in the dataset.

## Response `200`

- SimulateResponse
  - `success` boolean, required — This is true if the next turn in the conversation was successfully simulated.
  - `data` object, required
    - `simulationId` string — This is the unique ID for the simulation.
    - `completed` boolean — This is true if the conversation is complete, which means the expected outcome has been reached.
    - `userResponse` string — This is the simulated user response of the last turn in the conversation.
    - `turns` Turn[] — This is the list of all the turns in the conversation.
      - `role` 'user' | 'assistant', required — The role of the turn, either user or assistant.
      - `content` string, required — The message content of the turn.
      - `userId` string — The user ID associated with the turn.
      - `retrievalContext` string[] — The contexts retrieved to generate the LLM response for this turn.
      - `toolsCalled` ToolCallData[] — The tools called to generate the LLM response for this turn.
        - `name` string, required — This is the name of the tool.
        - `description` string, required — This is the description of the tool.
        - `inputParameters` object — This is the input parameters that are passed to the tool.
        - `output` string — This is the output of the tool.
        - `reasoning` string — This is the reasoning your LLM provided for the tool call.
  - `deprecated` boolean, required — This is true if this endpoint is deprecated.

---

[API](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api.md) · [All operations](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/confident-ai/confident-ai-metrics-api/revisions/95cdde71b65e/schema)
