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

Déploiements des workflows

API Workflows - déploiements.

Lister les Déploiements

GET /v1/workflows/deployments#

Lister les déploiements

200

Réponse réussie

Liste des déploiements

next_cursor#
*string|null

Curseur pour la page suivante des résultats

workspace_id#
*string

ID de l'espace de travail auquel les résultats sont limités

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.deployments.listDeployments({});

  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.deployments.list_deployments(active_only=True)

    # Handle response
    print(res)

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

200

{
  "deployments": [
    {
      "created_at": "2025-12-17T10:25:07.818693Z",
      "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
      "is_active": false,
      "name": "My resource",
      "updated_at": "2025-12-17T10:41:03.469341Z"
    }
  ],
  "next_cursor": null,
  "workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}

Créer un déploiement

POST /v1/workflows/deployments#

Créer un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

curl https://api.mistral.ai/v1/workflows/deployments \
 -X POST \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{
  "name": "My resource",
  "spec": {
    "github_url": "consequat do"
  }
}'

202

null

Obtenir un Déploiement

GET /v1/workflows/deployments/{name}#

Obtenir un déploiement

200

Réponse réussie

active_worker_count#
integer

Default Value: 0

Nombre de workers actuellement actifs selon le seuil de disponibilité

created_at#
*date-time

Date de la première inscription du déploiement

id#
*string

Identifiant unique du déploiement

is_active#
*boolean

Indique si au moins un worker est actuellement actif

is_hardened#
boolean

Default Value: false

Indique si le déploiement dispose d'au moins une autorisation valide

location#
DeploymentLocation|null

Emplacement où le déploiement s'exécute

locations#
array<"local"|"k8s"|"managed">

Types d'emplacement distincts signalés par les workers du déploiement

État du service géré en direct pour les déploiements gérés ; null pour les déploiements auto-hébergés ou lorsque les services gérés sont indisponibles

name#
*string

Nom du déploiement

updated_at#
*date-time

Date de la dernière mise à jour du déploiement

worker_count#
integer

Default Value: 0

Nombre de workers enregistrés pour le déploiement

Workers enregistrés pour le déploiement

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.deployments.getDeployment({
    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.deployments.get_deployment(name="<value>")

    # Handle response
    print(res)

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

200

{
  "created_at": "2025-12-17T10:25:07.818693Z",
  "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "is_active": false,
  "name": "My resource",
  "updated_at": "2025-12-17T10:41:03.469341Z",
  "workers": [
    {
      "created_at": "2025-12-17T10:25:07.818693Z",
      "is_active": false,
      "name": "My resource",
      "updated_at": "2025-12-17T10:41:03.469341Z"
    }
  ]
}

Supprimer un déploiement

DELETE /v1/workflows/deployments/{name}#

Supprimer un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

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

202

null

Mettre à jour un déploiement

PATCH /v1/workflows/deployments/{name}#

Mettre à jour un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

curl https://api.mistral.ai/v1/workflows/deployments/{name} \
 -X PATCH \
 -H 'Authorization: Bearer YOUR_APIKEY_HERE' \
 -H 'Content-Type: application/json' \
 -d '{}'

202

null

Arrêter un déploiement

POST /v1/workflows/deployments/{name}/stop#

Arrêter un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

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

202

null

Démarrer un déploiement

POST /v1/workflows/deployments/{name}/start#

Démarrer un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

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

202

null

Redémarrer un déploiement

POST /v1/workflows/deployments/{name}/restart#

Redémarrer un déploiement

202

Response Type

Requête réussie

ManagedDeploymentResponse#

{object}

Playground

Testez les endpoints en direct

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

202

null

Obtenir les logs d'un déploiement

GET /v1/workflows/deployments/{name}/logs#

Récupérer les logs d'un déploiement (tous ses workers).

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

Requête 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.deployments.getDeploymentLogs({
    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.deployments.get_deployment_logs(name="<value>", order="asc", limit=50)

    # Handle response
    print(res)

curl https://api.mistral.ai/v1/workflows/deployments/{name}/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 logs d'un déploiement

GET /v1/workflows/deployments/{name}/logs/stream#

Diffuser les logs d'un déploiement (tous ses workers) 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 du déploiement.

200

Flux d'événements Server-Sent Events (SSE) : les événements log contiennent un DeploymentLogRecord ; les événements error contiennent une charge 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.deployments.streamDeploymentLogs({
    name: "<value>",
  });

  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.deployments.stream_deployment_logs(name="<value>")

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

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

200

null