Tree BG 1
Tree
Tree
TreeLeaves
TreeLeaves
Cat IdleGrassGrassRockRock

Endpoints Beta Conversations

(beta) API Conversations

Lister toutes les conversations créées.

GET /v1/conversations

Récupère une liste d'entités de conversation triées par date de création.

200

Réponse réussie

ModelConversation

{object}

AgentConversation

{object}

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.list({});

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.list(page=0, page_size=100)

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

[
  {
    "created_at": "2025-10-07T20:56:01.974Z",
    "id": "ipsum eiusmod",
    "model": "consequat do",
    "updated_at": "2025-10-07T20:56:01.974Z"
  }
]

Créer une conversation et y ajouter des entrées.

POST /v1/conversations

Créez une nouvelle conversation en utilisant un modèle de base ou un agent, puis ajoutez des entrées. La complétion et les exécutions d'outils sont effectuées et la réponse est ajoutée à la conversation. Utilisez le conversation_id retourné pour poursuivre la conversation.

200

Réponse réussie

conversation_id
*string
guardrails
array<guardrail>|null
object
string

Valeur par défaut : "conversation.response"

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.start({
    inputs: "<value>",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.start(inputs="<value>", stream=False, completion_args={
        "response_format": {
            "type": "text",
        },
    })

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "inputs": "ipsum eiusmod"
}'

200

{
  "conversation_id": "ipsum eiusmod",
  "outputs": [
    {
      "content": "consequat do"
    }
  ],
  "usage": {}
}

Récupère les informations d'une conversation.

GET /v1/conversations/{conversation_id}

À partir d'un conversation_id, récupère une entité de conversation avec ses attributs.

200

Réponse réussie

ModelConversation

{object}

AgentConversation

{object}

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.get({
    conversationId: "<id>",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.get(conversation_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations/{conversation_id} \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "created_at": "2025-10-07T20:56:01.974Z",
  "id": "ipsum eiusmod",
  "model": "consequat do",
  "updated_at": "2025-10-07T20:56:01.974Z"
}

Ajouter de nouvelles entrées à une conversation existante.

POST /v1/conversations/{conversation_id}

Exécute la complétion sur l'historique de la conversation et les entrées de l'utilisateur. Retourne les nouvelles entrées créées.

200

Réponse réussie

conversation_id
*string
guardrails
array<guardrail>|null
object
string

Valeur par défaut : "conversation.response"

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.append({
    conversationId: "<id>",
    conversationAppendRequest: {
      inputs: [],
    },
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.append(conversation_id="<id>", stream=False, store=True, handoff_execution="server", completion_args={
        "response_format": {
            "type": "text",
        },
    })

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations/{conversation_id} \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

200

{
  "conversation_id": "ipsum eiusmod",
  "outputs": [
    {
      "content": "consequat do"
    }
  ],
  "usage": {}
}

Supprimer une conversation.

DELETE /v1/conversations/{conversation_id}

Supprime une conversation à partir de son conversation_id.

Playground

Testez les endpoints en direct

from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    mistral.beta.conversations.delete(conversation_id="<id>")

    # Use the SDK ...

curl https://api.mistral.ai/v1/conversations/{conversation_id} \
 -X DELETE \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

Récupérer toutes les entrées d'une conversation.

GET /v1/conversations/{conversation_id}/history

Étant donné un conversation_id, récupérer toutes les entrées appartenant à cette conversation. Les entrées sont triées dans l'ordre où elles ont été ajoutées, celles-ci peuvent être des messages, des connecteurs ou des function_call.

200

Réponse réussie

conversation_id
*string
object
string

Valeur par défaut : "conversation.history"

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.getHistory({
    conversationId: "<id>",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.get_history(conversation_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations/{conversation_id}/history \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "conversation_id": "ipsum eiusmod",
  "entries": [
    {
      "content": "consequat do",
      "role": "assistant"
    }
  ]
}

Récupérer tous les messages d'une conversation.

GET /v1/conversations/{conversation_id}/messages

Étant donné un conversation_id, récupérer tous les messages appartenant à cette conversation. Cette opération est similaire à la récupération de toutes les entrées, mais filtrée uniquement sur les messages.

200

Réponse réussie

conversation_id
*string
object
string

Valeur par défaut : "conversation.messages"

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.getMessages({
    conversationId: "<id>",
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.get_messages(conversation_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations/{conversation_id}/messages \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "conversation_id": "ipsum eiusmod",
  "messages": [
    {
      "content": "consequat do",
      "role": "assistant"
    }
  ]
}

Redémarrer une conversation à partir d'une entrée donnée.

POST /v1/conversations/{conversation_id}/restart

Étant donné un conversation_id et un id, recréer une conversation à partir de ce point et exécuter la complétion. Une nouvelle conversation est renvoyée avec les nouvelles entrées retournées.

200

Réponse réussie

conversation_id
*string
guardrails
array<guardrail>|null
object
string

Valeur par défaut : "conversation.response"

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.restart({
    conversationId: "<id>",
    conversationRestartRequest: {
      inputs: "<value>",
      fromEntryId: "<id>",
    },
  });

  console.log(result);
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.restart(conversation_id="<id>", from_entry_id="<id>", stream=False, store=True, handoff_execution="server", completion_args={
        "response_format": {
            "type": "text",
        },
    })

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/conversations/{conversation_id}/restart \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "from_entry_id": "ipsum eiusmod"
}'

200

{
  "conversation_id": "ipsum eiusmod",
  "outputs": [
    {
      "content": "consequat do"
    }
  ],
  "usage": {}
}

Créer une conversation et y ajouter des entrées.

POST /v1/conversations#stream

Crée une nouvelle conversation à partir d'un modèle de base ou d'un agent et y ajoute des entrées. Les complétions et exécutions de fonctions sont lancées et la réponse est ajoutée à la conversation. Utilisez le conversation_id retourné pour poursuivre la conversation.

200

Réponse réussie

ConversationEvents

{object}

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.startStream({
    inputs: [
      {
        object: "entry",
        type: "agent.handoff",
        previousAgentId: "<id>",
        previousAgentName: "<value>",
        nextAgentId: "<id>",
        nextAgentName: "<value>",
      },
    ],
  });

  for await (const event of result) {
    // Handle the event
    console.log(event);
  }
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.start_stream(inputs=[
        {
            "object": "entry",
            "type": "function.result",
            "tool_call_id": "<id>",
            "result": "<value>",
        },
    ], stream=True, completion_args={
        "response_format": {
            "type": "text",
        },
    })

    with res as event_stream:
        for event in event_stream:
            # handle event
            print(event, flush=True)

curl https://api.mistral.ai/v1/conversations#stream \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "inputs": "ipsum eiusmod"
}'

200

null

Ajouter de nouvelles entrées à une conversation existante.

POST /v1/conversations/{conversation_id}#stream

Exécute la complétion sur l'historique de la conversation et les entrées utilisateur. Retourne les nouvelles entrées créées.

200

Réponse réussie

ConversationEvents

{object}

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.appendStream({
    conversationId: "<id>",
    conversationAppendStreamRequest: {
      inputs: "<value>",
    },
  });

  for await (const event of result) {
    // Handle the event
    console.log(event);
  }
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.append_stream(conversation_id="<id>", stream=True, store=True, handoff_execution="server", completion_args={
        "response_format": {
            "type": "text",
        },
    })

    with res as event_stream:
        for event in event_stream:
            # handle event
            print(event, flush=True)

curl https://api.mistral.ai/v1/conversations/{conversation_id}#stream \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

200

null

Redémarrer une conversation à partir d'une entrée donnée.

POST /v1/conversations/{conversation_id}/restart#stream

À partir d'un conversation_id et d'un id, recrée une conversation depuis ce point et exécute la complétion. Une nouvelle conversation est renvoyée avec les nouvelles entrées.

200

Réponse réussie

ConversationEvents

{object}

Playground

Testez les endpoints en direct

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
  apiKey: "MISTRAL_API_KEY",
});

async function run() {
  const result = await mistral.beta.conversations.restartStream({
    conversationId: "<id>",
    conversationRestartStreamRequest: {
      inputs: [
        {
          object: "entry",
          type: "message.input",
          role: "assistant",
          content: "<value>",
          prefix: false,
        },
      ],
      fromEntryId: "<id>",
    },
  });

  for await (const event of result) {
    // Handle the event
    console.log(event);
  }
}

run();
from mistralai.client import Mistral
import os


with Mistral(
    api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

    res = mistral.beta.conversations.restart_stream(conversation_id="<id>", from_entry_id="<id>", stream=True, store=True, handoff_execution="server", completion_args={
        "response_format": {
            "type": "text",
        },
    })

    with res as event_stream:
        for event in event_stream:
            # handle event
            print(event, flush=True)

curl https://api.mistral.ai/v1/conversations/{conversation_id}/restart#stream \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "from_entry_id": "ipsum eiusmod"
}'

200

null