# Join Coverage Record Quality Audit – String Normalisation & Missing-Value Fill

> Join Coverage Record Quality Audit – String Normalisation & 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-15).

Audits join coverage records (matched_rows, source_rows) for quality issues, normalises strings, and fills missing values using zero/mean/median imputation — three reports for up to 200 rows per call.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-208?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/join-coverage-record-quality-audit-string-normalisation-missing-value-6884267c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RattsUEDf5ud0xeRbIizz

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-record-quality-audit-string-normalisation-missing-value-6884267c -d '<json body>'
```

Example prompt: Can you audit these join coverage records for quality issues, normalise the strings, and fill any missing matched_rows values using median imputation? Here are 4 rows: row-1 group-a 2026-10-01 matched=10 source=1, row-2 group-b 2026-10-02 matched=null source=2, row-3 group-a 2026-10-03 matched=15 source=3, row-4 group-b 2026-10-04 matched=30 source=4.

## When to prefer this

Choose this endpoint when you need three bundled data-quality operations — record audit, string normalisation, and missing-value imputation — applied together to join coverage metrics (matched_rows and source_rows) in a single paid call. It is best suited for small-to-medium batches (up to 200 rows) where you want a cost-effective combined report rather than calling separate services. Prefer it over generic data-cleaning tools when your data specifically consists of join coverage records with row-match statistics grouped by dataset and date.

## Known failure modes

- Exceeding 200 rows returns a validation error
- Missing required fields (row_id, dataset_group, date, matched_rows, source_rows) cause schema rejection
- Invalid date format (not YYYY-MM-DD) fails pattern validation
- Numeric values outside ±1,000,000,000,000 are rejected
- Empty rows array is not accepted (minItems: 1)
- Invalid enum value for method or field triggers a 400-level error
- Payment of 0.01 USDC must be included via x402 protocol or request is rejected

## How this service works

Join coverage — Record quality audit + String normalisation + Explicit missing-value fill: Record quality audit + String normalisation + Explicit missing-value fill for supplied join coverage records (matched_rows, source_rows). Up to 200 rows; 3 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 3 supplied-data reports for up to 200 rows.

## Output

Three independent analytical reports: (1) a record quality audit flagging malformed, inconsistent, or anomalous rows; (2) a string normalisation report showing standardised dataset_group and other string fields; and (3) a missing-value fill report with imputed values for the chosen field (matched_rows or source_rows) using the selected method (zero, mean, or median). All 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",
     "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-record-quality-audit-string-normalisation-missing-value-6884267c/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)
