La spec OpenAPI
Tree BG 1
Tree
Tree
TreeLeaves
TreeLeaves
Cat IdleGrassGrassRockRock

Exécutions des workflows

API Workflows - exécutions.

Obtenir l'exécution du workflow

GET /v1/workflows/executions/{execution_id}#

Obtenir une exécution de workflow

200

Réponse réussie

deployment_name#
string|null

Nom du déploiement ayant exécuté cette exécution.

end_time#
*date-time|null

L'heure de fin de l'exécution du workflow, si disponible

execution_id#
*string

L'ID de l'exécution du workflow

parent_execution_id#
string|null

L'ID d'exécution parent de l'exécution du workflow

result#
*any|null

Le résultat de l'exécution du workflow, si disponible

root_execution_id#
*string

L'ID d'exécution racine de l'exécution du workflow

run_id#
string|null

L'identifiant unique de l'exécution (UUID de la base de données)

start_time#
*date-time

L'heure de début de l'exécution du workflow

status#
*"RUNNING"|"COMPLETED"|"FAILED"|"CANCELED"|"TERMINATED"|"CONTINUED_AS_NEW"|"TIMED_OUT"|"RETRYING_AFTER_ERROR"

Le statut de l'exécution du workflow

total_duration_ms#
integer|null

La durée totale de la trace en millisecondes

user_id#
string|null

ID de l’utilisateur ayant déclenché l’exécution.

workflow_id#
string|null

ID du workflow.

workflow_name#
*string

Nom du workflow

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.workflows.executions.getWorkflowExecution({
    executionId: "<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.workflows.executions.get_workflow_execution(execution_id="<id>")

    # Handle response
    print(res)

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

200

{
  "end_time": null,
  "execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "result": null,
  "root_execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "start_time": "2025-12-17T10:25:07.818693Z",
  "status": "RUNNING",
  "workflow_name": "support-workflow"
}

Obtenir l'historique de l'exécution du workflow

GET /v1/workflows/executions/{execution_id}/history#

Obtenir l'historique d'une exécution de workflow

200

Response Type
any

Réponse réussie

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.workflows.executions.getWorkflowExecutionHistory({
    executionId: "<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.workflows.executions.get_workflow_execution_history(execution_id="<id>", decode_payloads=True)

    # Handle response
    print(res)

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

200

null

Envoyer un signal à l'exécution du workflow

POST /v1/workflows/executions/{execution_id}/signals#

Signaler une exécution de workflow

202

Réponse réussie

message#
string

Default Value: "Signal accepted"

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.workflows.executions.signalWorkflowExecution({
    executionId: "<id>",
    signalInvocationBody: {
      name: "<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.workflows.executions.signal_workflow_execution(execution_id="<id>", name="<value>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/signals \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "approve"
}'

202

{}

Interroger l'exécution du workflow

POST /v1/workflows/executions/{execution_id}/queries#

Interroger une exécution de workflow

200

Réponse réussie

query_name#
*string
result#
*any

Le résultat de l'appel du workflow de requête

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.workflows.executions.queryWorkflowExecution({
    executionId: "<id>",
    queryInvocationBody: {
      name: "<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.workflows.executions.query_workflow_execution(execution_id="<id>", name="<value>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/queries \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "get_progress"
}'

200

{
  "query_name": "status",
  "result": null
}

Terminer l'exécution du workflow

POST /v1/workflows/executions/{execution_id}/terminate#

Terminer une exécution de workflow

Playground

Testez les endpoints en direct

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

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

async function run() {
  await mistral.workflows.executions.terminateWorkflowExecution({
    executionId: "<id>",
  });


}

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


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

    mistral.workflows.executions.terminate_workflow_execution(execution_id="<id>")

    # Use the SDK ...

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/terminate \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

Terminer les exécutions de workflow en lot

POST /v1/workflows/executions/terminate#

Terminer des exécutions de workflow en masse

200

Réponse réussie

Mappage de execution_id vers le résultat avec le statut et un message d'erreur optionnel.

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.workflows.executions.batchTerminateWorkflowExecutions({
    executionIds: [
      "<value 1>",
      "<value 2>",
    ],
  });

  console.log(result);
}

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


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

    res = mistral.workflows.executions.batch_terminate_workflow_executions(execution_ids=[
        "<value 1>",
        "<value 2>",
    ])

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/terminate \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "execution_ids": [
    "approved"
  ]
}'

200

{}

Annuler l'exécution du workflow

POST /v1/workflows/executions/{execution_id}/cancel#

Annuler une exécution de workflow

Playground

Testez les endpoints en direct

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

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

async function run() {
  await mistral.workflows.executions.cancelWorkflowExecution({
    executionId: "<id>",
  });


}

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


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

    mistral.workflows.executions.cancel_workflow_execution(execution_id="<id>")

    # Use the SDK ...

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/cancel \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json'

Annulation par lot des exécutions de Workflow

POST /v1/workflows/executions/cancel#

Annuler des exécutions de workflow en masse

200

Réponse réussie

Mappage de execution_id vers le résultat avec le statut et un message d'erreur optionnel.

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.workflows.executions.batchCancelWorkflowExecutions({
    executionIds: [],
  });

  console.log(result);
}

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


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

    res = mistral.workflows.executions.batch_cancel_workflow_executions(execution_ids=[])

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/cancel \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "execution_ids": [
    "approved"
  ]
}'

200

{}

Réinitialiser le workflow

POST /v1/workflows/executions/{execution_id}/reset#

Réinitialiser un workflow

Playground

Testez les endpoints en direct

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

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

async function run() {
  await mistral.workflows.executions.resetWorkflow({
    executionId: "<id>",
    resetInvocationBody: {
      eventId: 24149,
    },
  });


}

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


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

    mistral.workflows.executions.reset_workflow(execution_id="<id>", event_id=24149, exclude_signals=False, exclude_updates=False)

    # Use the SDK ...

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/reset \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "event_id": 87
}'

Mettre à jour l'exécution du workflow

POST /v1/workflows/executions/{execution_id}/updates#

Mettre à jour une exécution de workflow

200

Réponse réussie

result#
*any

Le résultat de l'appel du workflow de mise à jour

update_name#
*string

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.workflows.executions.updateWorkflowExecution({
    executionId: "<id>",
    updateInvocationBody: {
      name: "<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.workflows.executions.update_workflow_execution(execution_id="<id>", name="<value>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/updates \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "status_update"
}'

200

{
  "result": null,
  "update_name": "status_update"
}

Obtenir les informations de trace d'une exécution de workflow

GET /v1/workflows/executions/{execution_id}/trace/info#

Obtenir les informations de trace d'une exécution de workflow

200

Requête réussie

has_trace_data#
boolean

Default Value: false

Indique si des données de trace sont disponibles dans le backend de trace pour cette exécution

otel_trace_id#
string|null

Identifiant de la trace, s'il est disponible

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.workflows.executions.getWorkflowExecutionTraceInfo({
    executionId: "<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.workflows.executions.get_workflow_execution_trace_info(execution_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/trace/info \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{}

Obtenir la trace OpenTelemetry de l'exécution du workflow

GET /v1/workflows/executions/{execution_id}/trace/otel#

Obtenir la trace OpenTelemetry d'une exécution de workflow

200

Réponse réussie

data_source#
*string

La source de données de la trace

deployment_name#
string|null

Nom du déploiement ayant exécuté cette exécution.

end_time#
*date-time|null

L'heure de fin de l'exécution du workflow, si disponible

execution_id#
*string

L'ID de l'exécution du workflow

otel_trace_data#
TempoGetTraceResponse|null

Réponse de trace au format OpenTelemetry.

Il s'agit du format de trace unifié utilisé par tous les fournisseurs de traces (Tempo, ClickHouse, etc.). Quel que soit le backend sous-jacent, toutes les données de trace sont normalisées vers ce format OpenTelemetry compatible avec Tempo afin de garantir la cohérence de la structure de réponse de l'API.

otel_trace_id#
string|null

L'ID de la trace

parent_execution_id#
string|null

L'ID d'exécution parent de l'exécution du workflow

result#
*any|null

Le résultat de l'exécution du workflow, si disponible

root_execution_id#
*string

L'ID d'exécution racine de l'exécution du workflow

run_id#
string|null

L'identifiant unique de l'exécution (UUID de la base de données)

start_time#
*date-time

L'heure de début de l'exécution du workflow

status#
*"RUNNING"|"COMPLETED"|"FAILED"|"CANCELED"|"TERMINATED"|"CONTINUED_AS_NEW"|"TIMED_OUT"|"RETRYING_AFTER_ERROR"

Le statut de l'exécution du workflow

total_duration_ms#
integer|null

La durée totale de la trace en millisecondes

user_id#
string|null

ID de l’utilisateur ayant déclenché l’exécution.

workflow_id#
string|null

ID du workflow.

workflow_name#
*string

Nom du workflow

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.workflows.executions.getWorkflowExecutionTraceOtel({
    executionId: "<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.workflows.executions.get_workflow_execution_trace_otel(execution_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/trace/otel \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "data_source": "workflow-trace",
  "end_time": null,
  "execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "result": null,
  "root_execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "start_time": "2025-12-17T10:25:07.818693Z",
  "status": "RUNNING",
  "workflow_name": "support-workflow"
}

Obtenir le résumé de la trace de l'exécution du workflow

GET /v1/workflows/executions/{execution_id}/trace/summary#

Obtenir le résumé de trace d'une exécution de workflow

200

Réponse réussie

deployment_name#
string|null

Nom du déploiement ayant exécuté cette exécution.

end_time#
*date-time|null

L'heure de fin de l'exécution du workflow, si disponible

execution_id#
*string

L'ID de l'exécution du workflow

parent_execution_id#
string|null

L'ID d'exécution parent de l'exécution du workflow

result#
*any|null

Le résultat de l'exécution du workflow, si disponible

root_execution_id#
*string

L'ID d'exécution racine de l'exécution du workflow

run_id#
string|null

L'identifiant unique de l'exécution (UUID de la base de données)

La span racine de la trace

start_time#
*date-time

L'heure de début de l'exécution du workflow

status#
*"RUNNING"|"COMPLETED"|"FAILED"|"CANCELED"|"TERMINATED"|"CONTINUED_AS_NEW"|"TIMED_OUT"|"RETRYING_AFTER_ERROR"

Le statut de l'exécution du workflow

total_duration_ms#
integer|null

La durée totale de la trace en millisecondes

user_id#
string|null

ID de l’utilisateur ayant déclenché l’exécution.

workflow_id#
string|null

ID du workflow.

workflow_name#
*string

Nom du workflow

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.workflows.executions.getWorkflowExecutionTraceSummary({
    executionId: "<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.workflows.executions.get_workflow_execution_trace_summary(execution_id="<id>")

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/trace/summary \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "end_time": null,
  "execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "result": null,
  "root_execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "start_time": "2025-12-17T10:25:07.818693Z",
  "status": "RUNNING",
  "workflow_name": "support-workflow"
}

Obtenir les événements de trace de l'exécution du workflow

GET /v1/workflows/executions/{execution_id}/trace/events#

Obtenir les événements de trace d'une exécution de workflow

200

Réponse réussie

deployment_name#
string|null

Nom du déploiement ayant exécuté cette exécution.

end_time#
*date-time|null

L'heure de fin de l'exécution du workflow, si disponible

Les événements de l'exécution du workflow

execution_id#
*string

L'ID de l'exécution du workflow

parent_execution_id#
string|null

L'ID d'exécution parent de l'exécution du workflow

result#
*any|null

Le résultat de l'exécution du workflow, si disponible

root_execution_id#
*string

L'ID d'exécution racine de l'exécution du workflow

run_id#
string|null

L'identifiant unique de l'exécution (UUID de la base de données)

start_time#
*date-time

L'heure de début de l'exécution du workflow

status#
*"RUNNING"|"COMPLETED"|"FAILED"|"CANCELED"|"TERMINATED"|"CONTINUED_AS_NEW"|"TIMED_OUT"|"RETRYING_AFTER_ERROR"

Le statut de l'exécution du workflow

total_duration_ms#
integer|null

La durée totale de la trace en millisecondes

user_id#
string|null

ID de l’utilisateur ayant déclenché l’exécution.

workflow_id#
string|null

ID du workflow.

workflow_name#
*string

Nom du workflow

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.workflows.executions.getWorkflowExecutionTraceEvents({
    executionId: "<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.workflows.executions.get_workflow_execution_trace_events(execution_id="<id>", merge_same_id_events=False, include_internal_events=False)

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/trace/events \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "end_time": null,
  "execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "result": null,
  "root_execution_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "start_time": "2025-12-17T10:25:07.818693Z",
  "status": "RUNNING",
  "workflow_name": "support-workflow"
}

Flux

GET /v1/workflows/executions/{execution_id}/stream#

Diffuser

200

Flux d'événements serveur (SSE)

ResponseBody#

{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.workflows.executions.stream({
    executionId: "<id>",
  });

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

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


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

    res = mistral.workflows.executions.stream(execution_id="<id>")

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

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/stream \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

null

Obtenir les journaux d'exécution de workflow

GET /v1/workflows/executions/{execution_id}/logs#

Récupérer les logs d'une exécution de workflow.

Utilisez after/before/order lors de la première requête pour définir la plage temporelle et l'ordre de tri ; pour les pages suivantes, transmettez le cursor de la réponse précédente (il mémorise la plage et l'ordre).

200

Réponse réussie

next_cursor#
string|null

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.workflows.executions.getWorkflowExecutionLogs({
    executionId: "<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.workflows.executions.get_workflow_execution_logs(execution_id="<id>", order="asc", limit=50)

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/logs \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

{
  "results": [
    {
      "body": "ipsum eiusmod",
      "log_attributes": [
        "consequat do"
      ],
      "severity_text": "reprehenderit ut dolore",
      "span_id": "occaecat dolor sit",
      "timestamp": "2025-12-17T10:25:07.818693Z",
      "trace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
    }
  ]
}

Diffuser les journaux d'exécution de workflow

GET /v1/workflows/executions/{execution_id}/logs/stream#

Diffuser les logs d'une exécution de workflow via SSE.

Le curseur de reprise provient de l'en-tête Last-Event-ID ou du paramètre de requête last_event_id (l'en-tête est prioritaire) et prévaut sur after ; omettez tous les paramètres pour suivre depuis le début de l'exécution.

200

Flux d'événements Server-Sent Events (SSE) : les événements log contiennent un ExecutionLogRecord ; les événements error contiennent une charge utile StreamError.

ResponseBody#

{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.workflows.executions.streamWorkflowExecutionLogs({
    executionId: "<id>",
  });

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

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


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

    res = mistral.workflows.executions.stream_workflow_execution_logs(execution_id="<id>")

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

curl https://api.mistral.ai/v1/workflows/executions/{execution_id}/logs/stream \
 -X GET \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE'

200

null