# Forecast Verification Inputs — String Normalisation + Adjacent Row Changes

> Forecast Verification Inputs — String Normalisation + Adjacent Row Changes is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-11-02).

Performs string normalisation and adjacent row change analysis on forecast verification input records (forecast_value, observed_value) for up to 200 rows, returning 2 bundled analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-weather-24-029?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forecast-verification-inputs-string-normalisation-adjacent-row-changes-7669d15b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4GGEbi2vl0hO-LvaMHyt9

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 forecast-verification-inputs-string-normalisation-adjacent-row-changes-7669d15b -d '<json body>'
```

Example prompt: I have 4 rows of forecast verification data for two station groups — group-a and group-b — with dates from 2026-10-01 to 2026-10-04 and paired forecast_value and observed_value numbers. Can you run string normalisation and adjacent row change analysis on the forecast_value field and give me both reports?

## When to prefer this

Choose this endpoint when you have tabular forecast verification data (forecast vs observed value pairs per station and date) and need two bundled analytical reports — string normalisation and adjacent row change detection — at low cost ($0.01 USDC for up to 200 rows). It is best suited for offline/batch data quality checks on forecast verification datasets rather than live weather queries, real-time predictions, or single-metric computations.

## Known failure modes

- More than 200 rows submitted — request rejected, maxItems constraint violated
- Missing required fields (row_id, date, forecast_value, observed_value) — validation error
- Date field not in YYYY-MM-DD format — pattern validation failure
- Invalid field selector (not 'forecast_value' or 'observed_value') — enum error
- Empty rows array — minItems constraint violated
- Network or payment failure — no reports returned

## How this service works

Forecast verification inputs — String normalisation + Adjacent row changes: String normalisation + Adjacent row changes for supplied forecast verification inputs records (forecast_value, observed_value). 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 analytical reports covering the submitted forecast verification rows: (1) a string normalisation report that cleans and standardises string representations of the selected field values, and (2) an adjacent row change report that flags or quantifies value changes between consecutive rows. Reports cover up to 200 input rows and are computed locally without external lookups or predictions.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forecast-verification-inputs-string-normalisation-adjacent-row-changes-7669d15b/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)
