> ## Testing in the dev loop

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

---

As you're developing, you'll launch quick tests periodically.

Point Antithesis to the config image to deploy your system and provide a test duration.

**API**

```bash
curl --fail $AUTH -X POST \
https://$ANTITHESIS_TENANT.antithesis.com/api/v1/launch/kv-store-nightly \
-d '{"params": {"antithesis.images": "kv-store:v2", "antithesis.duration": "30"}}'
# → {"statusCode": 202, "runId": "d41d8cd98f00b204e9800998ecf8427e-54-0"}
```

**Snouty CLI**

```bash
snouty launch --webhook kv-store-nightly --config kv-store:v2 --duration 30
# ...
# Test run started: run_id d41d8cd98f00b204e9800998ecf8427e-54-0
```

The response hands you back a run ID. Every call from here refers to it, so it's worth storing in a variable:

```bash
export RUN=d41d8cd98f00b204e9800998ecf8427e-54-0
```

If it's the first time you're testing this particular branch or build, you might want to check on status to make sure the build works and the test is up and running.

**API**

```bash
curl --fail $AUTH \
https://$ANTITHESIS_TENANT.antithesis.com/api/v0/runs/$RUN
# → {"run_id": "...", "status": "starting", "launcher": "kv-store-nightly",
#    "created_at": "2026-08-07T18:20:04Z", ...}
```

**Snouty CLI**

```bash
snouty runs show $RUN
# Run ID    d41d8cd98f00b204e9800998ecf8427e-54-0
# Status    starting
# ...
```

The run is still `starting` which means Antithesis is building and deploying your system into the test environment. To watch that happen, stream the build logs.

Each line carries a timestamp and the stream it came from:

**API**

```bash
curl --fail $AUTH \
https://$ANTITHESIS_TENANT.antithesis.com/api/v0/runs/$RUN/build_logs
# → {"timestamp": "2026-08-07T18:20:31.114Z", "text": "Pulling kv-store:v2 ...", "stream": "stdout"}
#   {"timestamp": "2026-08-07T18:21:02.887Z", "text": "All containers healthy",  "stream": "stdout"}
```

**Snouty CLI**

```bash
snouty runs build-logs $RUN
# 2026-08-12 18:20:31  Pulling kv-store:v2 ...
# 2026-08-12 18:21:02  All containers healthy
```

The build log stream stays open for the duration of the setup phase, then ends. When it stops, your system is up and Antithesis has begun testing.

If the build fails, you can debug using the build logs or using  [setup mode](/docs/setup/setup_mode/), then relaunch.

Once your test run is in progress, Antithesis will start streaming the run logs almost immediately. You can search for particular log lines or error messages that you're concerned about (we'll soon be streaming property analyses as well).

**API**

```bash
curl --fail $AUTH -G \
https://$ANTITHESIS_TENANT.antithesis.com/api/v0/runs/$RUN/search \
-d '{"query": "Error: this should not happen!}'
```

**Snouty CLI**

```bash
snouty logs search $RUN --text \
'"Error: this should not happen!"'
```

If you want a visual track of the run's progress, open the [multiverse map](/docs/understanding_test_results/logs_explorer/#the-multiverse-map) to watch the timelines building.
