# Tree Canopy Observations — Trailing Mean Series + IQR Outlier Flags

> Tree Canopy Observations — Trailing Mean Series + IQR Outlier Flags is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-26).

Computes a trailing mean time series and IQR-based outlier flags for up to 200 tree canopy or plot observation records, returning two analytical reports per call.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-17-149?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tree-canopy-observations-trailing-mean-series-iqr-outlier-flags-d44cb718
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ePkzbmvDuwWyVWtxUVcpc

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tree-canopy-observations-trailing-mean-series-iqr-outlier-flags-d44cb718 -d '<json body>'
```

Example prompt: I have 50 weekly tree canopy observations across two station groups with canopy_m2 and plot_m2 values — can you run a trailing mean series with a window of 4 and flag IQR outliers on the canopy_m2 field?

## When to prefer this

Choose this endpoint when you have tree canopy or plot measurement records in tabular form and need both rolling average smoothing and statistical outlier detection (IQR method) in a single low-cost call. It is ideal for data quality auditing, time series preprocessing, and anomaly detection on environmental monitoring datasets up to 200 rows. It does not perform live data lookup, external enrichment, or predictive modeling — use it purely for local statistical transformation of data you already have.

## Known failure modes

- Fewer than 1 row or more than 200 rows submitted — rejected with validation error
- Window size smaller than 2 or larger than 200 — rejected with validation error
- Invalid date format (not YYYY-MM-DD) — row-level validation failure
- Missing required fields (row_id, station_group, date, canopy_m2, plot_m2) — schema rejection
- Null numeric values may affect IQR and trailing mean calculations for affected rows
- Insufficient rows relative to window size may produce sparse or empty trailing mean output

## How this service works

Tree canopy observations — Trailing mean series + IQR outlier flags: Trailing mean series + IQR outlier flags for supplied tree canopy observations records (canopy_m2, plot_m2). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Returns two analytical reports per call: (1) a trailing mean time series computed over the specified window size for the chosen field (canopy_m2 or plot_m2), and (2) IQR-based outlier flags indicating which rows fall outside the interquartile range bounds. Both reports are derived entirely from the supplied input data using local analytical engines with no external lookups.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "station_group",
     "date",
     "canopy_m2",
     "plot_m2"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "plot_m2": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "canopy_m2": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "station_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "plot_m2": 1,
     "canopy_m2": 10,
     "station_group": "group-a"
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "plot_m2": 2,
     "canopy_m2": 20,
     "station_group": "group-b"
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "plot_m2": 3,
     "canopy_m2": 15,
     "station_group": "group-a"
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "plot_m2": 4,
     "canopy_m2": 30,
     "station_group": "group-b"
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "field": {
   "enum": [
    "canopy_m2",
    "plot_m2"
   ],
   "type": "string",
   "default": "canopy_m2"
  },
  "window": {
   "type": "integer",
   "default": 2,
   "maximum": 200,
   "minimum": 2
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tree-canopy-observations-trailing-mean-series-iqr-outlier-flags-d44cb718/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
