# Tree Canopy Observations — Daily Sum Series & Keyed Dataset Comparison

> Tree Canopy Observations — Daily Sum Series & Keyed Dataset Comparison 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-25).

Computes daily sum time series and performs keyed dataset comparison on user-supplied tree canopy observation records (canopy_m2, plot_m2) for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-17-144?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-25
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tree-canopy-observations-daily-sum-series-keyed-dataset-comparison-c5fce148
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_X1y-_bbOWVKi9l3uuHgLS

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-daily-sum-series-keyed-dataset-comparison-c5fce148 -d '<json body>'
```

Example prompt: I have two sets of tree canopy observation records with canopy_m2 and plot_m2 values across multiple station groups and dates — can you run a daily sum series on the canopy_m2 field and also compare the two datasets row by row using the row_id as the key?

## When to prefer this

Choose this endpoint when you have your own tree canopy or plot area observation records and need lightweight, offline-style daily aggregation and dataset comparison without any external data fetch, prediction, or professional assessment. Ideal for environmental analysts, urban forestry teams, or researchers who want two bundled analytical reports (time series + keyed diff) cheaply ($0.01 USDC) on up to 200 rows of canopy data.

## Known failure modes

- Missing required fields (row_id, station_group, date, canopy_m2, plot_m2) cause validation errors
- Exceeding 200 rows returns an error or truncated result
- Invalid date format (not YYYY-MM-DD) causes schema rejection
- Null numeric values may affect sum calculations if not handled
- Mismatched row_id keys between primary and comparison dataset reduce matched comparison coverage
- Malformed JSON input returns a 400-level error

## How this service works

Tree canopy observations — Daily sum series + Keyed dataset comparison: Daily sum series + Keyed dataset comparison 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: (1) a daily sum series showing totals of the selected field (canopy_m2 or plot_m2) aggregated by date, and (2) a keyed dataset comparison identifying differences between the two supplied datasets matched on row_id. Both reports are computed locally from the supplied data 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"
  },
  "other": {
   "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
     }
    },
    "additi
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tree-canopy-observations-daily-sum-series-keyed-dataset-comparison-c5fce148/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)
