---
title: "Run an unsaved model builder config against a cell spec"
method: POST
path: "/model_builders/dry_run"
tags: ["Model builders"]
---

# Run an unsaved model builder config against a cell spec

`POST /model_builders/dry_run`

## Request

- Base URL: `https://api.ionworks.com`
- URL: `https://api.ionworks.com/model_builders/dry_run`
- Auth: none declared

Check and build a config without saving the builder or any parameterized model.

## Request body

- SrcPydanticModelsModelBuildersDryRunRequest: An unsaved builder config to run against a cell spec.
  - `model_id` string, required
  - `config` object, required: Builder config, as it would be saved (Pipeline config).
  - `cell_spec_id` string, required

## Response `200`

Successful Response

- DryRunResult: What an unsaved config does to a cell spec. Nothing is stored.
  - `report` ReadinessReport, required: Result of checking whether a cell spec has everything a builder needs.
    - `ready` boolean, required: True when there are no error issues.
    - `issues` ReadinessIssueModel[], required
      - `severity` 'error' | 'warning', required
      - `code` 'missing' | 'unit_mismatch' | 'wrong_shape' | 'ambiguous' | 'unsatisfied_input', required
      - `message` string, required
      - `parameter` string, nullable: Model parameter the issue affects.
      - `path` string, nullable: Dotted path in the cell spec, as in a mapping.
      - `element` string, nullable: Recipe element name.
    - `resolved` integer, required: Mapped cell-spec values that read.
    - `total` integer, required: Mapped cell-spec values in the builder.
  - `parameters` object: Parameter values the recipe produced; empty when not ready.
  - `missing` string[]: Parameters the model needs that the config did not produce.
  - `values` object: Each produced parameter that evaluates to a number, e.g. an expression such as 1 - porosity.
  - `error` string, nullable: Why the calculations failed, when they did.

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-22** `39d84bb8875e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ionworks/apis/ionworks-api/changes/model_builders/dry_run/post.md)

---

[API](https://skmtc.dev/ionworks/apis/ionworks-api.md) - [All operations](https://skmtc.dev/ionworks/apis/ionworks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ionworks/apis/ionworks-api/revisions/abebbbc5f60a?raw)
