# Soil Moisture Observations — String Normalisation & Exact Row Deduplication

> Soil Moisture Observations — String Normalisation & Exact Row Deduplication 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-24).

Normalises strings and deduplicates exact rows in supplied soil moisture observation records (moisture_percent, depth_cm) for up to 200 rows, returning 2 analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-08-020?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/soil-moisture-observations-string-normalisation-exact-row-deduplication-ab841899
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_48W0AdtVAopSomt56C0VU

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 soil-moisture-observations-string-normalisation-exact-row-deduplication-ab841899 -d '<json body>'
```

Example prompt: Clean up my soil moisture observation records — normalise the strings and remove any exact duplicate rows. I have about 50 records with fields like row_id, station_group, date, moisture_percent, and depth_cm. Can you run string normalisation and deduplication on them and give me back the 2 analytical reports?

## When to prefer this

Choose this endpoint when you need lightweight, low-cost ($0.01 USDC) offline string normalisation and exact row deduplication specifically for soil moisture observation records (moisture_percent, depth_cm) without requiring any live data lookup, prediction, or external action. Ideal for data pipeline pre-processing steps where you want two structured analytical reports on batches of up to 200 rows.

## Known failure modes

- Exceeding 200 rows returns a validation error
- Missing required fields (row_id, station_group, date, moisture_percent, depth_cm) causes rejection
- Invalid date format (non-YYYY-MM-DD) fails pattern validation
- Empty rows array (minItems:1 violated) returns error
- Null numeric values for moisture_percent or depth_cm may affect deduplication logic

## How this service works

Soil moisture observations — String normalisation + Exact row deduplication: String normalisation + Exact row deduplication for supplied soil moisture observations records (moisture_percent, depth_cm). 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 independent analytical reports covering: (1) string-normalised versions of the supplied soil moisture records and (2) exact duplicate row identification and removal results, both derived locally from the submitted rows without any external data lookup or prediction.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/soil-moisture-observations-string-normalisation-exact-row-deduplication-ab841899/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)
