# Data Ingestion Batches — String Normalisation + Exact Row Deduplication

> Data Ingestion Batches — 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-18).

Normalises strings and deduplicates exact rows in data ingestion batch records (received_rows, accepted_rows), producing 2 analytical reports for up to 200 rows.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-01-020?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/data-ingestion-batches-string-normalisation-exact-row-deduplication-9835a5bc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_k1YnnXj9ZImTkFHcPHLFP

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 data-ingestion-batches-string-normalisation-exact-row-deduplication-9835a5bc -d '<json body>'
```

Example prompt: Can you normalise the strings and find exact duplicate rows in my data ingestion batch? I have records with row IDs row-1 through row-4, dataset groups group-a and group-b, dates from 2026-10-01 to 2026-10-04, with received_rows values of 10, 20, 15, 30 and accepted_rows of 1, 2, 3, 4 — give me both the string normalisation report and the deduplication report.

## When to prefer this

Choose this endpoint when you need lightweight, local string normalisation and exact row deduplication on data ingestion batch records (received_rows, accepted_rows) without any live lookups or external data enrichment. It is ideal for quick data quality checks on ETL/pipeline batches of up to 200 rows at minimal cost ($0.01 USDC for 2 reports). Prefer alternatives if you need fuzzy deduplication, semantic matching, large-scale batch processing beyond 200 rows, or integration with external data sources.

## Known failure modes

- Submitting more than 200 rows returns a validation error (maxItems exceeded)
- Missing required fields (row_id, dataset_group, date, received_rows, accepted_rows) on any row causes rejection
- Invalid date format (not YYYY-MM-DD) fails pattern validation
- row_id exceeding 80 characters is rejected
- Numeric values outside ±1,000,000,000,000 fail min/max validation
- Empty rows array (minItems: 1 not met) returns an error

## How this service works

Data ingestion batches — String normalisation + Exact row deduplication: String normalisation + Exact row deduplication for supplied data ingestion batches records (received_rows, accepted_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 2 analytical reports generated from the supplied data: (1) a string normalisation report detailing how dataset_group and other string fields were normalised across the submitted rows, and (2) an exact row deduplication report identifying which rows are exact duplicates based on all fields. No external lookups or live data are involved; all analysis is performed locally on the submitted records.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/data-ingestion-batches-string-normalisation-exact-row-deduplication-9835a5bc/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)
