# Tutorial Completion — String Normalisation + Numeric Interval Filter

> Tutorial Completion — String Normalisation + Numeric Interval Filter 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 string fields and filters tutorial completion records (starts and completions) by a numeric interval, producing two analytical reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-game-20-026?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/tutorial-completion-string-normalisation-numeric-interval-filter-894e4a78
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-VpW0zp-E2qL4tByz_6aZ

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-numeric-interval-filter-894e4a78 -d '<json body>'
```

Example prompt: I have tutorial completion records for my game with starts and completions per game area — can you normalise the game_area strings and filter rows where 'starts' falls between 5 and 50, across these 4 rows: row-1 on 2026-10-01 for group-a with 10 starts and 1 completion, row-2 on 2026-10-02 for group-b with 20 starts and 2 completions, row-3 on 2026-10-03 for group-a with 15 starts and 3 completions, row-4 on 2026-10-04 for group-b with 30 starts and 4 completions?

## When to prefer this

Choose this endpoint when you have tutorial completion records (starts and completions per game area and date) and need both string normalisation on the categorical field AND a numeric range filter on a chosen metric in a single call. It is ideal for lightweight, offline data cleaning and filtering of small datasets (up to 200 rows) without requiring a full analytics platform. At $0.01 for two reports, it is cost-effective for routine data quality checks on game tutorial funnel data.

## Known failure modes

- Fewer than 1 row supplied — minItems:1 validation error
- More than 200 rows supplied — maxItems:200 exceeded
- Invalid date format (not YYYY-MM-DD) — pattern validation failure
- Null or missing required fields (row_id, game_area, date, starts, completions) — schema validation error
- Minimum value greater than maximum value — may return empty filter result set
- Numeric values outside ±1,000,000,000,000 range — schema validation error
- Payment not fulfilled via x402 protocol — 402 Payment Required response

## How this service works

Tutorial completion — String normalisation + Numeric interval filter: String normalisation + Numeric interval filter 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: one covering string normalisation results for the game_area field across the supplied rows, and one covering rows filtered to the specified numeric interval (minimum/maximum) on the chosen field (starts or completions). Up to 200 rows processed per call, with no external lookups or predictions — purely local computation on the supplied data.

## 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
  },
  "field": {
   "enum": [
    "starts",
    "completions"
   ],
   "type": "string",
   "default": "starts"
  },
  "maximum": {
   "type": "number",
   "default": 100,
   "maximum": 1000000000000,
   "minimum": -1000000000000
  },
  "minimum": {
   "type": "number",
   "default": 0,
   "maximum": 1000000000000,
   "minimum": -1000000000000
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tutorial-completion-string-normalisation-numeric-interval-filter-894e4a78/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)
