> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run an unsaved model builder config against a cell spec

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



## OpenAPI

````yaml https://api.ionworks.com/openapi.json post /model_builders/dry_run
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers:
  - url: https://api.ionworks.com
    description: Production
security: []
paths:
  /model_builders/dry_run:
    post:
      tags:
        - Model builders
      summary: Run an unsaved model builder config against a cell spec
      description: >-
        Check and build a config without saving the builder or any parameterized
        model.
      operationId: dry_run_model_builder_model_builders_dry_run_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/src__pydantic_models__model_builders__DryRunRequest
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DryRunResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    src__pydantic_models__model_builders__DryRunRequest:
      properties:
        model_id:
          type: string
          title: Model Id
        config:
          additionalProperties: true
          type: object
          title: Config
          description: Builder config, as it would be saved (Pipeline config).
        cell_spec_id:
          type: string
          title: Cell Spec Id
      type: object
      required:
        - model_id
        - config
        - cell_spec_id
      title: DryRunRequest
      description: An unsaved builder config to run against a cell spec.
    DryRunResult:
      properties:
        report:
          $ref: '#/components/schemas/ReadinessReport'
        parameters:
          additionalProperties: true
          type: object
          title: Parameters
          description: Parameter values the recipe produced; empty when not ready.
        missing:
          items:
            type: string
          type: array
          title: Missing
          description: Parameters the model needs that the config did not produce.
        values:
          additionalProperties:
            type: number
          type: object
          title: Values
          description: >-
            Each produced parameter that evaluates to a number, e.g. an
            expression such as 1 - porosity.
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
          description: Why the calculations failed, when they did.
      type: object
      required:
        - report
      title: DryRunResult
      description: What an unsaved config does to a cell spec. Nothing is stored.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ReadinessReport:
      properties:
        ready:
          type: boolean
          title: Ready
          description: True when there are no error issues.
        issues:
          items:
            $ref: '#/components/schemas/ReadinessIssueModel'
          type: array
          title: Issues
        resolved:
          type: integer
          title: Resolved
          description: Mapped cell-spec values that read.
        total:
          type: integer
          title: Total
          description: Mapped cell-spec values in the builder.
      type: object
      required:
        - ready
        - issues
        - resolved
        - total
      title: ReadinessReport
      description: Result of checking whether a cell spec has everything a builder needs.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ReadinessIssueModel:
      properties:
        severity:
          type: string
          enum:
            - error
            - warning
          title: Severity
        code:
          type: string
          enum:
            - missing
            - unit_mismatch
            - wrong_shape
            - ambiguous
            - unsatisfied_input
          title: Code
        message:
          type: string
          title: Message
        parameter:
          anyOf:
            - type: string
            - type: 'null'
          title: Parameter
          description: Model parameter the issue affects.
        path:
          anyOf:
            - type: string
            - type: 'null'
          title: Path
          description: Dotted path in the cell spec, as in a mapping.
        element:
          anyOf:
            - type: string
            - type: 'null'
          title: Element
          description: Recipe element name.
      type: object
      required:
        - severity
        - code
        - message
      title: ReadinessIssueModel
      description: One reason a cell spec cannot, or can only with assumptions, be built.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.