# Join Coverage — String Normalisation + Exact Row Deduplication

> Join Coverage — String Normalisation + Exact Row Deduplication 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).

Normalises strings and deduplicates exact rows in supplied join coverage records (matched_rows, source_rows), returning two independent analytical reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-020?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-string-normalisation-exact-row-deduplication-4c5bc035
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YbGIxP3faUZ25WfEdAnpQ

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-string-normalisation-exact-row-deduplication-4c5bc035 -d '<json body>'
```

Example prompt: Can you clean up my join coverage data? I have 50 rows with dataset_group, date, matched_rows, and source_rows fields — please normalise the strings and remove any exact duplicate rows, then give me both reports.

## When to prefer this

Choose this endpoint when you need both string normalisation and exact row deduplication applied together to join coverage records (matched_rows, source_rows) in a single low-cost call, without requiring live lookups, predictions, or external data sources. It is ideal for batch ETL cleanup tasks on datasets of up to 200 rows where two simultaneous analytical reports are needed at minimal cost.

## Known failure modes

- Rows array exceeds 200 items — request rejected
- Missing required fields (row_id, dataset_group, date, matched_rows, source_rows) in any row — validation error
- date field not matching YYYY-MM-DD pattern — schema validation failure
- matched_rows or source_rows outside allowed numeric range — rejected
- Empty rows array (minItems: 1 not met) — error returned
- Payment of 0.01 USDC not received — request blocked

## How this service works

Join coverage — String normalisation + Exact row deduplication: String normalisation + Exact row deduplication 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

Two independent analytical reports: (1) a string normalisation report identifying and standardising inconsistent string values across row fields, and (2) an exact row deduplication report identifying and removing fully duplicated rows — both covering the up to 200 supplied join coverage records.

## 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
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/join-coverage-string-normalisation-exact-row-deduplication-4c5bc035/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)
