# Question Bank Coverage — String Normalisation + Exact Row Deduplication

> Question Bank 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-29).

Normalises strings and deduplicates rows in question bank coverage records (item_count, objective_count), producing 2 analytical reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-education-18-020?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/question-bank-coverage-string-normalisation-exact-row-deduplication-385d6c15
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pEQvNaB0tQ_N01oLVBGSB

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 question-bank-coverage-string-normalisation-exact-row-deduplication-385d6c15 -d '<json body>'
```

Example prompt: Can you clean up my question bank coverage records — normalise the course group strings and remove any exact duplicate rows? I have 4 rows: row-1 on 2026-10-01 for group-a with 10 items and 1 objective, row-2 on 2026-10-02 for group-b with 20 items and 2 objectives, row-3 on 2026-10-03 for group-a with 15 items and 3 objectives, and row-4 on 2026-10-04 for group-b with 30 items and 4 objectives.

## When to prefer this

Choose this endpoint when you need lightweight, local string normalisation and exact row deduplication for question bank coverage records without any external data lookups or predictions. Ideal for pre-processing education dataset exports (up to 200 rows) before downstream analysis, especially when you need two packaged reports in a single low-cost call ($0.01 USDC). Not suitable for fuzzy deduplication, semantic matching, or datasets exceeding 200 rows.

## Known failure modes

- More than 200 rows submitted — request rejected with validation error
- Missing required fields (row_id, course_group, date, item_count, objective_count) — row-level validation failure
- Date field not matching YYYY-MM-DD pattern — schema validation error
- row_id exceeds 80 characters — validation rejection
- Numeric fields outside allowed range — schema rejection
- Empty rows array — minItems validation failure

## How this service works

Question bank coverage — String normalisation + Exact row deduplication: String normalisation + Exact row deduplication for supplied question bank coverage records (item_count, objective_count). 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 analytical reports covering: (1) string-normalised versions of the input question bank coverage records with course group and string fields standardised, and (2) a deduplicated row set identifying and removing exact duplicate records, along with summary statistics on item_count and objective_count across up to 200 input rows.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "course_group",
     "date",
     "item_count",
     "objective_count"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "item_count": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "course_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "objective_count": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "item_count": 10,
     "course_group": "group-a",
     "objective_count": 1
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "item_count": 20,
     "course_group": "group-b",
     "objective_count": 2
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "item_count": 15,
     "course_group": "group-a",
     "objective_count": 3
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "item_count": 30,
     "course_group": "group-b",
     "objective_count": 4
    }
   ],
   "maxItems": 200,
   "minItems": 1
  }
 }
}
```

## More

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