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

# Simulators

> Build and reuse simulated systems from API descriptions.

A Simulator is an immutable implementation of a system API.
Build one from an OpenAPI or WSDL document, or select one from the shared catalog.

## Build lifecycle

A new build starts in `building` and ends in `ready` or `failed`.
Only a ready Simulator can start a Simulation.

```bash theme={null}
continuous simulator build \
  --spec ./openapi.yaml \
  --name billing \
  --tag latest
```

The command waits for the terminal build state by default.
Use `--no-wait` when another process will watch the build.

## Identity and tags

Each successful build has an immutable `smr_` ID.
A `name:tag` reference is a movable pointer to a ready build.
Use IDs to pin one revision and tags to select a maintained revision.

```bash theme={null}
continuous simulator get billing:latest
continuous simulator history billing:latest
continuous simulator openapi billing:latest
```

Use the [API reference](/api-reference/overview) for exact Simulator routes and schemas.

<Columns cols={2}>
  <Card title="Start a Simulation" icon="play" href="/concepts/simulations">
    Run a ready Simulator with isolated state.
  </Card>

  <Card title="Create a World" icon="network" href="/concepts/worlds">
    Coordinate several ready Simulators.
  </Card>
</Columns>
