---
title: "Append new entries to an existing conversation."
method: POST
path: "/v1/conversations/{conversation_id}"
tags: ["beta.conversations"]
---

# Append new entries to an existing conversation.

`POST /v1/conversations/{conversation_id}`

Run completion on the history of the conversation and the user entries. Return the new created entries.

## Path parameters

- `conversation_id` string, required — ID of the conversation to which we append entries.

## Request body

- ConversationAppendRequest
  - `inputs` union
    - string
    - union[]
      - union
        - MessageInputEntry — Representation of an input message inside the conversation.
          - `object` 'entry'
          - `type` 'message.input'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `id` string
          - `role` 'assistant' | 'user', required
          - `content` union, required
            - string
            - union[]
              - …
          - `prefix` boolean
        - MessageOutputEntry
          - `object` 'entry'
          - `type` 'message.output'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `agent_id` string, nullable
          - `model` string, nullable
          - `id` string
          - `role` 'assistant'
          - `content` union, required
            - string
            - union[]
              - …
        - FunctionResultEntry
          - `object` 'entry'
          - `type` 'function.result'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `id` string
          - `tool_call_id` string, required
          - `result` string, required
        - FunctionCallEntry
          - `object` 'entry'
          - `type` 'function.call'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `agent_id` string, nullable
          - `model` string, nullable
          - `id` string
          - `tool_call_id` string, required
          - `name` string, required
          - `arguments` union, required
            - object
            - string
          - `confirmation_status` 'pending' | 'allowed' | 'denied', nullable
        - ToolExecutionEntry
          - `object` 'entry'
          - `type` 'tool.execution'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `agent_id` string, nullable
          - `model` string, nullable
          - `id` string
          - `name` union, required
            - 'web_search' | 'web_search_premium' | 'code_interpreter' | 'image_generation' | 'document_library'
            - string
          - `arguments` string, required
          - `info` ToolExecutionInfo
        - AgentHandoffEntry
          - `object` 'entry'
          - `type` 'agent.handoff'
          - `created_at` string, date-time
          - `completed_at` string, date-time, nullable
          - `id` string
          - `previous_agent_id` string, required
          - `previous_agent_name` string, required
          - `next_agent_id` string, required
          - `next_agent_name` string, required
  - `stream` false — Whether to stream back partial progress. Otherwise, the server will hold the request open until the timeout or until completion, with the response containing the full result as JSON.
  - `store` boolean — Whether to store the results into our servers or not.
  - `handoff_execution` 'client' | 'server'
  - `completion_args` CompletionArgs — White-listed arguments from the completion API
    - `stop` union
      - string
      - string[]
    - `presence_penalty` number, nullable
    - `frequency_penalty` number, nullable
    - `temperature` number, nullable
    - `top_p` number, nullable
    - `max_tokens` integer, nullable
    - `random_seed` integer, nullable
    - `prediction` Prediction — Enable users to specify an expected completion, optimizing response times by leveraging known or predictable content.
      - `type` 'content'
      - `content` string
    - `response_format` ResponseFormat — Specify the format that the model must output. By default it will use `{ "type": "text" }`. Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is in JSON. When using JSON mode you MUST also instruct the model to produce JSON yourself with a system or a user message. Setting to `{ "type": "json_schema" }` enables JSON schema mode, which guarantees the message the model generates is in JSON and follows the schema you provide.
      - `type` 'text' | 'json_object' | 'json_schema'
      - `json_schema` JsonSchema
        - `name` string, required
        - `description` string, nullable
        - `schema` object, required
        - `strict` boolean
    - `tool_choice` 'auto' | 'none' | 'any' | 'required'
    - `reasoning_effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'
  - `tool_confirmations` ToolCallConfirmation[], nullable
    - `tool_call_id` string, required
    - `confirmation` 'allow' | 'deny', required

## Response `200`

Successful Response

- ConversationResponse — The response after appending new entries to the conversation.
  - `object` 'conversation.response'
  - `conversation_id` string, required
  - `outputs` union[], required
    - union
      - MessageOutputEntry
        - `object` 'entry'
        - `type` 'message.output'
        - `created_at` string, date-time
        - `completed_at` string, date-time, nullable
        - `agent_id` string, nullable
        - `model` string, nullable
        - `id` string
        - `role` 'assistant'
        - `content` union, required
          - string
          - union[]
            - union
              - …
      - ToolExecutionEntry
        - `object` 'entry'
        - `type` 'tool.execution'
        - `created_at` string, date-time
        - `completed_at` string, date-time, nullable
        - `agent_id` string, nullable
        - `model` string, nullable
        - `id` string
        - `name` union, required
          - 'web_search' | 'web_search_premium' | 'code_interpreter' | 'image_generation' | 'document_library'
          - string
        - `arguments` string, required
        - `info` ToolExecutionInfo
      - FunctionCallEntry
        - `object` 'entry'
        - `type` 'function.call'
        - `created_at` string, date-time
        - `completed_at` string, date-time, nullable
        - `agent_id` string, nullable
        - `model` string, nullable
        - `id` string
        - `tool_call_id` string, required
        - `name` string, required
        - `arguments` union, required
          - object
          - string
        - `confirmation_status` 'pending' | 'allowed' | 'denied', nullable
      - AgentHandoffEntry
        - `object` 'entry'
        - `type` 'agent.handoff'
        - `created_at` string, date-time
        - `completed_at` string, date-time, nullable
        - `id` string
        - `previous_agent_id` string, required
        - `previous_agent_name` string, required
        - `next_agent_id` string, required
        - `next_agent_name` string, required
  - `usage` ConversationUsageInfo, required
    - `prompt_tokens` integer
    - `completion_tokens` integer
    - `total_tokens` integer
    - `connector_tokens` integer, nullable
    - `connectors` object, nullable
  - `guardrails` object[], nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mistral/apis/mistral-ai-api.md) · [All operations](https://skmtc.net/mistral/apis/mistral-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mistral/mistral-ai-api/revisions/933c4ebdcd72/schema)
