---
title: "Freshness Dry Run"
method: POST
path: "/api/v1/sdk/freshness/dry-run"
tags: ["public-api", "public-freshness"]
---

# Freshness Dry Run

`POST /api/v1/sdk/freshness/dry-run`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/api/v1/sdk/freshness/dry-run`
- Auth: none declared

Dry-run a freshness threshold against historical data.

Tests a proposed freshness threshold against a table's actual update history
to predict how many alerts would fire. This helps users tune thresholds
before enabling monitoring.

**SDK Usage:**
```python
from anomalyarmor import Client
client = Client()

result = client.freshness.dry_run(
    asset_id="my-asset-uuid",
    table_path="public.orders",
    expected_interval_hours=2.0,
    lookback_days=7,
)

print(f"Alert rate: {result.alert_rate_percent}%")
print(f"Recommendation: {result.recommendation}")
```

## Headers

- `Authorization` string

## Request body

- FreshnessDryRunRequest: Request to dry-run a freshness threshold.
  - `asset_id` string, required: Asset UUID or qualified name
  - `table_path` string, required: Table to test (e.g., 'schema.table')
  - `expected_interval_hours` number, required: Threshold in hours to test
  - `lookback_days` integer: Days of history to analyze

## Response `200`

Successful Response

- StandardResponse: Standard API response wrapper.
  - `success` boolean, required
  - `data` unknown
  - `message` string, nullable
  - `error` string, nullable
  - `meta` object, nullable

## Other responses

- `422`: Validation Error

---

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