# Sampling Observations — String Normalisation + Adjacent Row Changes

> Sampling Observations — 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-10-15).

Normalises string fields and detects adjacent row changes in sampling observation records (sample_value, sample_weight) for up to 200 rows, returning two analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-15-029?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sampling-observations-string-normalisation-adjacent-row-changes-632141c8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UiKzjqst_RW58rkyZ_9Hs

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 sampling-observations-string-normalisation-adjacent-row-changes-632141c8 -d '<json body>'
```

Example prompt: Can you normalize the string fields and detect adjacent row changes in my sampling observations? I have 4 rows: row-1 on 2026-10-01 with sample_value 10 and sample_weight 1 in group-a, row-2 on 2026-10-02 with sample_value 20 and sample_weight 2 in group-b, row-3 on 2026-10-03 with sample_value 15 and sample_weight 1 in group-a, and row-4 on 2026-10-04 with sample_value 30 and sample_weight 4 in group-b — run the analysis on the sample_value field.

## When to prefer this

Use this endpoint when you need both string normalisation and adjacent row change detection on sampling observation records in a single call for up to 200 rows. Prefer it over general-purpose analytics when your data specifically carries sample_value and sample_weight fields and you want two focused reports without external lookups or live data enrichment.

## Known failure modes

- Exceeding 200 rows returns a validation error
- Missing required fields (row_id, dataset_group, date, sample_value, sample_weight) causes rejection
- Dates not matching YYYY-MM-DD pattern fail schema validation
- row_id exceeding 80 characters is rejected
- Numeric values outside ±1,000,000,000,000 fail schema constraints
- Empty rows array (minItems:1 not met) returns an error

## How this service works

Sampling observations — String normalisation + Adjacent row changes: String normalisation + Adjacent row changes for supplied sampling observations records (sample_value, sample_weight). 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: one covering string normalisation of text fields (e.g. dataset_group) across the submitted rows, and one identifying adjacent row-to-row changes in the specified numeric field (sample_value or sample_weight). 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",
     "dataset_group",
     "date",
     "sample_value",
     "sample_weight"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "sample_value": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "dataset_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "sample_weight": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "sample_value": 10,
     "dataset_group": "group-a",
     "sample_weight": 1
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "sample_value": 20,
     "dataset_group": "group-b",
     "sample_weight": 2
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "sample_value": 15,
     "dataset_group": "group-a",
     "sample_weight": 3
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "sample_value": 30,
     "dataset_group": "group-b",
     "sample_weight": 4
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "field": {
   "enum": [
    "sample_value",
    "sample_weight"
   ],
   "type": "string",
   "default": "sample_value"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sampling-observations-string-normalisation-adjacent-row-changes-632141c8/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)
