API reference

Base URL: https://api.mistral.ai/v1/observability, with Authorization: Bearer $MISTRAL_API_KEY. Access is controlled by your workspace role; see Before you start.

Scorers

Scorers

MethodPathNotes
POST/scorersCreate. Returns 201 with the generated slug.
GET/scorersList. q filters on slug, name, or description. Paginated (page, page_size).
GET/scorers/{scorer_slug}Includes latest_version (version, config, variables).
PATCH/scorers/{scorer_slug}Any of name, description, config. A changed config creates a new version.

There is no delete. Body fields are described in Scorers.

Live evals (pipelines)

Live evals (pipelines)

MethodPathNotes
POST/pipelinesCreate. Returns 201 with pipeline_configs[].
GET/pipelinesList. q filters on name, enabled filters. Paginated (page, page_size).
GET/pipelines/{pipeline_id}
PUT/pipelines/{pipeline_id}Partial: send only the fields to change. Explicit null is rejected, except for description.
DELETE/pipelines/{pipeline_id}204. Hard delete.

Body fields and update semantics are described in Live evals.

The response for a live eval:

{
  "id": "018f1a2b-…",
  "slug": "support-answers-1c2d3e4f",
  "name": "Support answers",
  "description": "…",
  "enabled": true,
  "selectors": [{ "source_kind": "span", "filter": "…" }],
  "pipeline_configs": [
    {
      "slug": "helpfulness-1a2b3c4d-7b04d1aa",
      "scorer_slug": "helpfulness-1a2b3c4d",
      "scorer_version": 3,
      "pipeline_kind": "judge-v1",
      "sampling": { "type": "probabilistic", "percentage": 20 },
      "definition": { "model": "…", "prompt": "…", "result_spec": { "…": "…" }, "mapping": { "…": "…" }, "use_cache": true },
      "…": "…"
    }
  ],
  "creator_id": "…",
  "created_at": "…",
  "updated_at": "…"
}
Results

Results

All results routes require a workspace role with access to observability traffic and take from and to as query parameters (default: the last hour, maximum: 750 hours).

MethodPathBodyPagination
POST/spans/evaluations/searchsearch_expressionpage_size, cursor
POST/spans/evaluations/search/latestsearch_expressionpage_size, cursor
POST/pipeline-results/searchpipeline_config_slugs (1–100), search_expressionpage_size, cursor
POST/spans/evaluations/aggregatemetric, dimensions, time_dimension, search_expression, order_by, limit—
GET/spans/evaluations/fields——
GET/spans/evaluations/fields/{field_name}/options——

Response shapes are described in Reading results.

Errors

Errors

StatusWhen
400Invalid search_expression (syntax error or unknown field) or invalid Jinja2 template.
403Access denied: your role lacks the permission, your organization isn't on the Enterprise tier or disabled observability, or you used a service account key to create a live eval. Ask your workspace administrator to check your role.
404Unknown scorer slug or pipeline id in this workspace.
409A live eval with the same name exists in the workspace, or a generated slug collided. Rename the live eval, or retry.
422Validation: bad filter syntax, a mapping key that is not a scorer variable, source_kind other than span, a scorer name starting with a digit, a time window over the maximum, or from after to.