# Reclypse CSV Cleanup

> Reclypse CSV Cleanup is a paid API for AI agents from csv.reclypse.ai, paid per call via x402, $25/call, status unknown (last checked 2026-11-02).

Cleans, remaps, deduplicates, and validates CSV data according to explicit rules, returning a cleaned CSV, an exceptions CSV, and a full audit trail.

## Facts

- Endpoint: POST https://csv.reclypse.ai/v1/csv/import-cleanup?utm_source=zero.xyz
- Price: $25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/reclypse-csv-cleanup-fb7def9f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_m9osozitgX2vu120OoawQ

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 reclypse-csv-cleanup-fb7def9f -d '<json body>'
```

Example prompt: Can you clean up this CSV — keep only the 'id' and 'name' columns, rename 'ID' to 'id' and 'Name' to 'name', require the 'id' column to be present on every row, and use 'id' as the unique key to remove duplicates? Give me back the cleaned CSV plus a report of anything flagged or quarantined.

## When to prefer this

Choose this endpoint when you need a deterministic, auditable CSV cleaning pipeline with explicit rules — column selection, column renaming, required-field enforcement, deduplication by unique key, and automatic quarantine of formula-injection rows. It is ideal for ETL pre-processing, vendor data ingestion, and any workflow where you need a SHA-256-verifiable audit trail of exactly what was changed and why. Prefer it over generic data-wrangling tools when you need structured exceptions reporting and reproducible transformations rather than ad-hoc scripting.

## Known failure modes

- CSV exceeds 64 KiB limit — request is rejected
- Malformed CSV that cannot be parsed — error returned
- Column names in 'required' or 'unique_key' not found in 'columns' — misconfiguration error
- Payment not attached or insufficient — 402 Payment Required
- Formula-injection characters (leading +, -, @, =) cause rows to be quarantined rather than kept
- Mapping references columns not present in the input — unmapped columns reported in audit

## How this service works

A small CSV cleanup service with explicit rules, flagged exceptions and an audit trail.

## Output

Returns a JSON object containing: a cleaned CSV string with only the specified columns and rules applied, an exceptions CSV listing rows that were flagged (missing required fields, formula-injection attempts, etc.) with the reason and original values, and a detailed audit object including input/output SHA-256 checksums, row counts (kept, duplicate, quarantined), the applied ruleset, and lists of affected source row numbers.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "csv": {
   "type": "string",
   "maxLength": 65536,
   "description": "At most 64 KiB of UTF-8 CSV."
  },
  "trim": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "columns": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 20,
   "minItems": 1,
   "uniqueItems": true
  },
  "mapping": {
   "type": "object",
   "additionalProperties": {
    "type": "string"
   }
  },
  "required": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "unique_key": {
   "type": [
    "string",
    "null"
   ]
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "audit": {
   "rules": {
    "trim": [],
    "columns": [
     "id",
     "name"
    ],
    "mapping": {
     "id": "ID",
     "name": "Name"
    },
    "required": [
     "id"
    ],
    "unique_key": "id",
    "formula_policy": "Quarantine = + - @ after leading whitespace/BOM, or initial tab/CR/LF; exception CSV uses apostrophe escaping."
   },
   "kept_rows": 1,
   "duplicates": [],
   "input_rows": 1,
   "input_sha256": "17c87163f1ba78f514c48ed219ed3929c3727d36b0c6d8321e96185ef2c0f557",
   "cleaned_sha256": "bebda63964b9a0084a696f940a81ae1b0969d2284eb008b650bf509de06055e7",
   "duplicate_rows": 0,
   "kept_source_rows": [
    1
   ],
   "quarantined_rows": 0,
   "exceptions_sha256": "0b764761fe744d32aca0f04cd6896192d4ebb6eb3d608e023d609bebd612e09f",
   "quarantined_source_rows": [],
   "unmapped_source_columns": []
  },
  "cleaned_csv": "id,name\r\n001,Sample\r\n",
  "exceptions_csv": "source_row,reason,input.ID,input.Name\r\n",
  "quarantined_rows": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/reclypse-csv-cleanup-fb7def9f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from csv.reclypse.ai](https://www.zero.xyz/host/csv.reclypse.ai/llms.txt)
