# Record Routing: String Normalisation + IQR Outlier Flags

> Record Routing: String Normalisation + IQR Outlier Flags 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-24).

Normalises string fields and applies IQR-based outlier detection to accepted_records and rejected_records columns in up to 200 rows of record routing data, returning two analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-analytics-19-032?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/record-routing-string-normalisation-iqr-outlier-flags-fcffd971
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-k7_SwRF58CQ-s6ECTfwK

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 record-routing-string-normalisation-iqr-outlier-flags-fcffd971 -d '<json body>'
```

Example prompt: Can you run string normalisation and IQR outlier detection on my record routing data — I have 4 rows with dataset groups 'group-a' and 'group-b', dates from 2026-10-01 to 2026-10-04, accepted_records ranging from 10 to 30, and rejected_records from 1 to 4, and I want the analysis focused on accepted_records?

## When to prefer this

Choose this endpoint when you need both string normalisation and IQR-based outlier detection applied together to record routing data (accepted_records and rejected_records) in a single low-cost call. It is ideal for lightweight data quality checks on batches up to 200 rows without needing external data enrichment, live lookups, or predictions. Prefer alternatives if you need outlier detection on non-routing domains, more than 200 rows, or methods beyond IQR (e.g. z-score, ML-based anomaly detection).

## Known failure modes

- Payload exceeds 200 rows — request rejected with validation error
- Missing required fields (row_id, date, accepted_records, rejected_records) — schema validation failure
- Date field does not match YYYY-MM-DD pattern — rejected
- accepted_records or rejected_records values outside ±1,000,000,000,000 bounds — validation error
- Fewer than 1 row supplied — minimum items constraint violated
- Invalid field enum value (not accepted_records or rejected_records) — rejected
- Payment of 0.01 USDC not completed — x402 payment required response

## How this service works

Record routing — String normalisation + IQR outlier flags: String normalisation + IQR outlier flags for supplied record routing records (accepted_records, rejected_records). 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 per call: (1) a string normalisation report covering the supplied record routing rows, and (2) an IQR outlier flags report identifying rows whose accepted_records or rejected_records values fall outside the interquartile range. Results are based entirely on the supplied data with no external lookups or predictions.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/record-routing-string-normalisation-iqr-outlier-flags-fcffd971/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)
