# Question Bank Coverage — String Normalisation + Duplicate Key Report

> Question Bank Coverage — String Normalisation + Duplicate Key Report 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-30).

Normalises strings and detects duplicate keys in question bank coverage records (item_count, objective_count) for up to 200 rows, producing two independent analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-education-18-021?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/question-bank-coverage-string-normalisation-duplicate-key-report-b0cc19d2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-lJ3sBBgnwgRrH_NMd-7a

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-duplicate-key-report-b0cc19d2 -d '<json body>'
```

Example prompt: Can you run a string normalisation and duplicate key report on my question bank coverage data? I have 4 rows: row-1 on 2026-10-01 with course_group 'group-a', item_count 10, objective_count 1; row-2 on 2026-10-02 with 'group-b', 20 items, 2 objectives; row-3 on 2026-10-03 with 'group-a', 15 items, 3 objectives; row-4 on 2026-10-04 with 'group-b', 30 items, 4 objectives.

## When to prefer this

Choose this endpoint when you need to clean and deduplicate question bank coverage data (item_count and objective_count records) in a single low-cost call. It is ideal for pre-import data quality checks, periodic audits of education dataset exports, or any workflow where you need both string normalisation and duplicate detection on up to 200 curriculum coverage rows without external API calls or live lookups.

## Known failure modes

- Exceeding 200 rows returns a validation error
- Missing required fields (row_id, course_group, date, item_count, objective_count) causes row rejection
- Invalid date format (not YYYY-MM-DD) triggers a schema validation error
- Numeric values outside allowed range cause rejection
- Empty rows array returns an error

## How this service works

Question bank coverage — String normalisation + Duplicate key report: String normalisation + Duplicate key report 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 independent reports: (1) a string normalisation report showing cleaned/standardised versions of string fields (e.g. course_group), and (2) a duplicate key report identifying rows sharing the same key values across the submitted question bank coverage records. Results are computed locally with no external lookups.

## 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-duplicate-key-report-b0cc19d2/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)
