# Join Coverage — Base-100 Series + Explicit Missing-Value Fill

> Join Coverage — Base-100 Series + 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-19).

Computes a base-100 indexed time series and fills missing values (zero, mean, or median) for join coverage metrics (matched_rows, source_rows) across up to 200 supplied rows, returning 2 analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-169?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/join-coverage-base-100-series-explicit-missing-value-fill-a40055a5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XsZChVzWKL4VJis3673gF

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-base-100-series-explicit-missing-value-fill-a40055a5 -d '<json body>'
```

Example prompt: Take my join coverage records for group-a and group-b from October 2026 — up to 4 rows with matched_rows and source_rows — and give me a base-100 indexed series starting at row index 0, filling any missing matched_rows values using median imputation.

## When to prefer this

Choose this endpoint when you need both a base-100 normalized time series AND missing-value imputation for join coverage metrics (matched_rows or source_rows) in a single call. It is ideal for data engineering workflows where you want to track join quality trends relative to a baseline row while also cleaning nulls before downstream analysis. Prefer it over separate normalization or imputation tools when your data fits within 200 rows and you want two complementary reports (indexed series + filled series) for $0.01 USDC per call.

## Known failure modes

- Input array exceeds 200 rows — rejected with validation error
- base_index out of range for the supplied rows array — validation failure
- Invalid date format (not YYYY-MM-DD) in any row — schema rejection
- All values for selected field are null — imputation may be undefined or return zeros
- Missing required fields (row_id, dataset_group, date) on any row — request rejected
- Field enum value not in ['matched_rows','source_rows'] — rejected
- Method enum value not in ['zero','mean','median'] — rejected

## How this service works

Join coverage — Base-100 series + Explicit missing-value fill: Base-100 series + 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 2 analytical reports: (1) a base-100 indexed time series for the selected field (matched_rows or source_rows), normalized relative to the specified base_index row; (2) a missing-value filled version of the same series using the chosen method (zero, mean, or median). All computation is performed locally on 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",
     "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"
  },
  "base_index": {
   "type": "integer",
   "default": 0,
   "maximum": 199,
   "minimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/join-coverage-base-100-series-explicit-missing-value-fill-a40055a5/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)
