# Tree Canopy Observations — String Normalisation + Grouped Numeric Summary

> Tree Canopy Observations — String Normalisation + Grouped Numeric Summary 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).

Normalises string fields and computes grouped numeric summaries for tree canopy observation records (canopy_m2, plot_m2) across up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-17-023?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-string-normalisation-grouped-numeric-summary-1a9a5190
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ytzF-WFGVZ1S1HpkciHLH

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-string-normalisation-grouped-numeric-summary-1a9a5190 -d '<json body>'
```

Example prompt: I have 4 tree canopy observation records — for row-1 through row-4 across group-a and group-b, with dates from 2026-10-01 to 2026-10-04, and canopy_m2 values of 10, 20, 15, 30 against plot_m2 values of 1, 2, 3, 4 — can you normalise the string fields and give me a grouped numeric summary on the canopy_m2 field?

## When to prefer this

Choose this endpoint when you have up to 200 tree canopy observation records and need both string normalisation (cleaning group labels) and grouped numeric aggregation (summary stats by station group) in a single low-cost call. It is purpose-built for canopy_m2 and plot_m2 fields and is ideal for ecological or urban forestry data pipelines that require offline, local analytical processing without any external lookups or predictions.

## Known failure modes

- Exceeds 200-row limit — request rejected
- Missing required fields (row_id, station_group, date, canopy_m2, plot_m2) — validation error
- Invalid date format (must be YYYY-MM-DD) — schema validation failure
- Numeric values outside allowed range — rejected
- Empty rows array — rejected
- Unrecognised field enum value — validation error

## How this service works

Tree canopy observations — String normalisation + Grouped numeric summary: String normalisation + Grouped numeric summary 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

Two reports for the submitted records: (1) a string normalisation report cleaning the station_group and date fields, and (2) a grouped numeric summary of the selected field (canopy_m2 or plot_m2) aggregated by station_group — including statistics such as count, mean, min, max, and totals per group.

## 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"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tree-canopy-observations-string-normalisation-grouped-numeric-summary-1a9a5190/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)
