# Join Coverage — Adjacent Row Changes + Explicit Missing-Value Fill

> Join Coverage — Adjacent Row Changes + Explicit Missing-Value Fill 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-23).

Analyzes join coverage data (matched_rows and source_rows) to detect adjacent row changes and fill missing values using zero, mean, or median imputation — returning two analytical reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-162?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/join-coverage-adjacent-row-changes-explicit-missing-value-fill-afd6715d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ifkdfS5KVYp9Q-BbCzoTJ

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 join-coverage-adjacent-row-changes-explicit-missing-value-fill-afd6715d -d '<json body>'
```

Example prompt: Analyze my join coverage records for adjacent row changes and fill any missing matched_rows values using median imputation — here are up to 50 rows with row_id, date, dataset_group, matched_rows, and source_rows fields.

## When to prefer this

Choose this endpoint when you need two specific analytical operations on join coverage data simultaneously: adjacent row change detection and missing-value imputation. It is purpose-built for join coverage metrics (matched_rows and source_rows), making it ideal for ETL quality audits, data completeness checks before reporting, or time-series gap analysis on join pipelines. Prefer this over a generic stats API when you specifically need both delta analysis and null-fill in a single low-cost call on row-level join data.

## Known failure modes

- Input array exceeds 200 rows — request rejected
- Missing required fields (row_id, date, dataset_group) — validation error
- Invalid date format (must match YYYY-MM-DD pattern) — schema rejection
- Invalid field enum value (must be 'matched_rows' or 'source_rows') — error
- Invalid method enum value (must be 'zero', 'mean', or 'median') — error
- All values non-null with fill method specified — fill report returns no changes
- Numeric values outside allowed range (±1,000,000,000,000) — validation failure
- Payment of 0.01 USDC not included or rejected — 402 response

## How this service works

Join coverage — Adjacent row changes + Explicit missing-value fill: Adjacent row changes + Explicit missing-value fill for supplied join coverage records (matched_rows, source_rows). 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) an adjacent row changes report showing delta values between consecutive rows for the selected field (matched_rows or source_rows), and (2) an explicit missing-value fill report showing which rows had null values and what imputed values were substituted using the chosen method (zero, mean, or median). Reports are computed locally with no external lookups.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/join-coverage-adjacent-row-changes-explicit-missing-value-fill-afd6715d/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)
