# Tutorial Completion — String Normalisation + Duplicate Key Report

> Tutorial Completion — 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-11-02).

Analyzes tutorial completion records (starts and completions) to produce two analytical reports: string normalization and duplicate key detection, for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-game-20-021?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tutorial-completion-string-normalisation-duplicate-key-report-c4d3c82d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pRvfDX8lLzY3xFB9X0XLq

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 tutorial-completion-string-normalisation-duplicate-key-report-c4d3c82d -d '<json body>'
```

Example prompt: Can you check my tutorial completion data for duplicate row IDs and normalize the game_area strings? I have about 50 rows with fields like row_id, game_area, date, starts, and completions — here's the data.

## When to prefer this

Choose this endpoint when you need two simultaneous data quality reports — string normalization and duplicate key detection — on tutorial completion records (starts/completions by game area and date) in a single low-cost call. It is best suited for batch offline analysis of up to 200 rows where no live data lookup, prediction, or external enrichment is needed. Prefer alternatives if you need more than 200 rows, real-time validation, or different report types such as numeric distribution or outlier detection.

## Known failure modes

- Input array is empty (minItems: 1 not met)
- Input array exceeds 200 rows (maxItems exceeded)
- Invalid date format (must match YYYY-MM-DD pattern)
- row_id field missing or empty (required, minLength: 1)
- Malformed numeric values for starts or completions outside allowed range
- Payment not fulfilled via x402 protocol resulting in 402 response

## How this service works

Tutorial completion — String normalisation + Duplicate key report: String normalisation + Duplicate key report for supplied tutorial completion records (starts, completions). 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 independent analytical reports: (1) a string normalization report identifying and standardizing inconsistent string values in fields like game_area, and (2) a duplicate key report flagging rows where row_id or key fields appear more than once. Both reports are generated from the supplied data locally with no external lookups.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tutorial-completion-string-normalisation-duplicate-key-report-c4d3c82d/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)
