












Beta Observability Campaigns Endpoints












Examples
Real world code examples
Get all campaigns
GET /v1/observability/campaigns
page_size
page
q
200
Successful Response
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.list(page_size=50, page=1)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.list(page_size=50, page=1)
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/campaigns \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/campaigns \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"campaigns": {
"count": 87
}
}{
"campaigns": {
"count": 87
}
}Create and start a new campaign
POST /v1/observability/campaigns
201
Successful Response
created_at
deleted_at
description
id
max_nb_events
name
owner_id
updated_at
workspace_id
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.create(search_params={
"filters": {
"field": "<value>",
"op": "lt",
"value": "<value>",
},
}, judge_id="9b501b9f-3525-44a7-a51a-5352679be9ed", name="<value>", description="shakily triangular scotch requirement whether once oh", max_nb_events=232889)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.create(search_params={
"filters": {
"field": "<value>",
"op": "lt",
"value": "<value>",
},
}, judge_id="9b501b9f-3525-44a7-a51a-5352679be9ed", name="<value>", description="shakily triangular scotch requirement whether once oh", max_nb_events=232889)
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/campaigns \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "My Campaign description.",
"judge_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"max_nb_events": "100",
"name": "My Campaign",
"search_params": {
"filters": null
}
}'curl https://api.mistral.ai/v1/observability/campaigns \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "My Campaign description.",
"judge_id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"max_nb_events": "100",
"name": "My Campaign",
"search_params": {
"filters": null
}
}'201
{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"judge": {
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
},
"max_nb_events": "100",
"name": "My resource",
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"search_params": {
"filters": null
},
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"judge": {
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
},
"max_nb_events": "100",
"name": "My resource",
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"search_params": {
"filters": null
},
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}Get campaign by id
GET /v1/observability/campaigns/{campaign_id}
campaign_id
200
Successful Response
created_at
deleted_at
description
id
max_nb_events
name
owner_id
updated_at
workspace_id
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.fetch(campaign_id="fd7945d6-00e2-4852-9054-bcbb968d7f98")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.fetch(campaign_id="fd7945d6-00e2-4852-9054-bcbb968d7f98")
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"judge": {
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
},
"max_nb_events": "100",
"name": "My resource",
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"search_params": {
"filters": null
},
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"judge": {
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
},
"max_nb_events": "100",
"name": "My resource",
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"search_params": {
"filters": null
},
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}Delete a campaign
DELETE /v1/observability/campaigns/{campaign_id}
campaign_id
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.campaigns.delete(campaign_id="90e07b45-8cf7-4081-8558-a786779e039d")
# Use the SDK ...
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.campaigns.delete(campaign_id="90e07b45-8cf7-4081-8558-a786779e039d")
# Use the SDK ...
curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'Get campaign status by campaign id
GET /v1/observability/campaigns/{campaign_id}/status
campaign_id
200
Successful Response
status
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.fetch_status(campaign_id="4b1dd9a5-8dc9-48e1-bd11-29443e959902")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.fetch_status(campaign_id="4b1dd9a5-8dc9-48e1-bd11-29443e959902")
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id}/status \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id}/status \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"status": "RUNNING"
}{
"status": "RUNNING"
}Get event ids that were selected by the given campaign
GET /v1/observability/campaigns/{campaign_id}/selected-events
campaign_id
page_size
page
200
Successful Response
Playground
Test the endpoints live
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.list_events(campaign_id="305b5e46-a650-4d8a-8b5b-d23ef90ec831", page_size=50, page=1)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.campaigns.list_events(campaign_id="305b5e46-a650-4d8a-8b5b-d23ef90ec831", page_size=50, page=1)
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id}/selected-events \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/campaigns/{campaign_id}/selected-events \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"completion_events": {
"count": 87
}
}{
"completion_events": {
"count": 87
}
}