---
title: "Validate Expression Endpoint"
method: POST
path: "/variables/validate-expression"
tags: ["variables"]
---

# Validate Expression Endpoint

`POST /variables/validate-expression`

Validate a custom variable expression against a model.

Checks syntax, variable/parameter references, and cycle detection.
Accepts either ``model_id`` (for existing models) or ``config`` (for
models being created).

Parameters
----------
request : ValidateExpressionRequest
    Expression plus either model_id or config, and optional existing
    custom variables.
model_repo : ModelRepository
    Injected model repository.

Returns
-------
ValidationResult
    Validation results including errors, warnings, and references.

## Request body

- ValidateExpressionRequest — Request body for validating a custom variable expression.
  - `expression` string, required
  - `model_id` string, nullable
  - `config` object, nullable
  - `existing_custom_variables` object, nullable
  - `new_var_name` string, nullable

## Response `200`

Successful Response

- SrcServicesVariableValidationServiceValidationResult — Result of validating a custom variable expression.
  - `valid` boolean, required
  - `json_value` object, nullable
  - `referenced_variables` ReferencedVariable[]
    - `name` string, required
    - `exists` boolean, required
    - `source` string, required
  - `parameters` ReferencedParameter[]
    - `name` string, required
    - `exists` boolean, required
    - `similar_existing` string[]
  - `errors` string[]
  - `warnings` string[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
