# Join Coverage — String Normalisation + Category Frequencies

> Join Coverage — String Normalisation + Category Frequencies 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).

Analyzes join coverage data (matched_rows, source_rows) by running string normalization and category frequency reports on up to 200 supplied rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-09-024?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-string-normalisation-category-frequencies-7d3c0e42
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0_jfW3cRCD61IGGhxAn4f

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-category-frequencies-7d3c0e42 -d '<json body>'
```

Example prompt: Can you run string normalization and category frequency analysis on my join coverage records? I have 4 rows with dataset groups 'group-a' and 'group-b', dated from 2026-10-01 to 2026-10-04, with matched_rows values of 10, 20, 15, 30 and source_rows of 1, 2, 3, 4.

## When to prefer this

Choose this endpoint when you have tabular join coverage data with matched_rows and source_rows fields and need both string normalization and category frequency distribution in a single call. It is ideal for data engineers auditing ETL join quality, analysts checking dataset group distributions, or pipelines that need lightweight local analytics without external API calls or predictions. Prefer this over general-purpose analytics tools when you specifically need the combination of string normalization and category frequency for up to 200 join coverage records at low cost.

## Known failure modes

- Rows array is empty (minItems: 1 violated) — request rejected
- More than 200 rows submitted (maxItems exceeded) — request rejected
- Missing required fields (row_id, dataset_group, date, matched_rows, source_rows) on any row — validation error
- Date field not matching YYYY-MM-DD pattern — validation error
- row_id or dataset_group exceeding 80 character limit — validation error
- matched_rows or source_rows outside allowed numeric range — validation error
- Payment of 0.01 USDC not provided or rejected — 402 response

## How this service works

Join coverage — String normalisation + Category frequencies: String normalisation + Category frequencies 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 for the supplied join coverage rows: (1) a string normalization report that standardizes and cleans string fields like dataset_group and date, and (2) a category frequency report showing how often each category (e.g. dataset_group value) appears across the submitted rows. Both 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
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/join-coverage-string-normalisation-category-frequencies-7d3c0e42/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)
