# Join Coverage Analytics — Adjacent Row Changes + Keyed Dataset Comparison

> Join Coverage Analytics — Adjacent Row Changes + 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-23).

Analyzes join coverage data with two independent reports: sequential adjacent-row change detection and keyed dataset comparison, across up to 200 rows of matched_rows/source_rows data.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-161?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-analytics-adjacent-row-changes-keyed-dataset-comparison-d7b09665
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XZHgydyBymCrWlE8dg-rk

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-analytics-adjacent-row-changes-keyed-dataset-comparison-d7b09665 -d '<json body>'
```

Example prompt: I have two snapshots of join coverage data — a baseline and an updated one, each with row_id, dataset_group, date, matched_rows, and source_rows — can you run the adjacent row change analysis and keyed dataset comparison on matched_rows across both, up to 200 rows each?

## When to prefer this

Choose this endpoint when you need two complementary join coverage analyses in a single paid call: sequential adjacent-row change detection (useful for time-series or ordered pipeline runs) AND a keyed cross-dataset diff (useful for before/after comparisons). Prefer this over single-report variants when both analyses are needed simultaneously to reduce cost and latency. Best suited for data engineers auditing ETL join quality, reconciling dataset snapshots, or monitoring match rate drift over time. Not appropriate for live lookups, ML predictions, or data with more than 200 rows.

## Known failure modes

- Fewer than 1 row supplied — minItems violation returns validation error
- More than 200 rows supplied — maxItems violation rejected
- Missing required fields (row_id, dataset_group, date, matched_rows, source_rows) causes schema validation failure
- Invalid date format (not YYYY-MM-DD) triggers pattern validation error
- Numeric values outside ±1,000,000,000,000 range rejected
- field enum value not 'matched_rows' or 'source_rows' causes rejection
- Payment not attached or insufficient (must be 0.01 USDC via x402) results in 402 response

## How this service works

Join coverage — Adjacent row changes + Keyed dataset comparison: Adjacent row changes + Keyed dataset comparison 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 independent analytical reports: (1) an adjacent row change report showing sequential deltas in the chosen field (matched_rows or source_rows) across the primary dataset rows, and (2) a keyed dataset comparison report diffing the primary and secondary dataset by row_id and dataset_group keys, highlighting value differences in the selected field. No external lookups or predictions are made; all analysis is local and deterministic.

## 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"
  },
  "other": {
   "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",
  
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/join-coverage-analytics-adjacent-row-changes-keyed-dataset-comparison-d7b09665/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)
