List of deployments













Workflows Deployments Endpoints
Workflows API - deployments.












Examples
Real world code examples
List Deployments
GET /v1/workflows/deployments#
List Deployments
200
Successful Response
Cursor for the next page of results
Playground
Test the endpoints live
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();
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)
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'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"
}{
"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"
}Playground
Test the endpoints live
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"
}
}'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
nullnullGet Deployment
GET /v1/workflows/deployments/{name}#
Get Deployment
200
Successful Response
active_worker_count#
Default Value: 0
Number of workers currently live within the liveness cutoff
Whether at least one worker is currently live
is_hardened#
Default Value: false
Whether the deployment has at least one authorized credential
locations#
Distinct location types reported by the deployment's workers
managed#
Live managed service state for managed deployments; null for self-hosted deployments or when managed services are unavailable
worker_count#
Default Value: 0
Number of workers registered to the deployment
Playground
Test the endpoints live
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();
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)
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'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"
}
]
}{
"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"
}
]
}Playground
Test the endpoints live
curl https://api.mistral.ai/v1/workflows/deployments/{name} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/workflows/deployments/{name} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'202
nullnullUpdate Deployment
PATCH /v1/workflows/deployments/{name}#
Update Deployment
resources#
spec#
202
Playground
Test the endpoints live
curl https://api.mistral.ai/v1/workflows/deployments/{name} \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'curl https://api.mistral.ai/v1/workflows/deployments/{name} \
-X PATCH \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{}'202
nullnullPlayground
Test the endpoints live
curl https://api.mistral.ai/v1/workflows/deployments/{name}/stop \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/workflows/deployments/{name}/stop \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'202
nullnullPlayground
Test the endpoints live
curl https://api.mistral.ai/v1/workflows/deployments/{name}/start \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/workflows/deployments/{name}/start \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'202
nullnullPlayground
Test the endpoints live
curl https://api.mistral.ai/v1/workflows/deployments/{name}/restart \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/workflows/deployments/{name}/restart \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'202
nullnullGet Deployment Logs
GET /v1/workflows/deployments/{name}/logs#
Retrieve logs for a deployment (across all of its workers).
Use after/before/order on the first request to set the time range and sort order; for
the next pages pass the cursor from the previous response (it remembers the range and order).
200
Successful Response
next_cursor#
Playground
Test the endpoints live
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();
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)
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'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"
}
]
}{
"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"
}
]
}Stream Deployment Logs
GET /v1/workflows/deployments/{name}/logs/stream#
Stream logs for a deployment (all of its workers) via SSE.
Resume cursor comes from the Last-Event-ID header or last_event_id query param (header wins)
and takes precedence over after; omit all to tail from the deployment start.
200
Stream of Server-Sent Events (SSE): log events carry a DeploymentLogRecord; error events carry a StreamError payload.
ResponseBody#
Playground
Test the endpoints live
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();
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)
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'curl https://api.mistral.ai/v1/workflows/deployments/{name}/logs/stream \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
nullnull