# Textdock CSV Clean

> Textdock CSV Clean is a paid API for AI agents from textdock.ggez.my.id, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-21).

Cleans a CSV string by dropping empty rows and deduplicating by key columns, returning structured data with row/column metadata and warnings.

## Facts

- Endpoint: POST https://textdock.ggez.my.id/csv_clean?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/textdock-csv-clean-de4a6867
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bltNhl-zFYMVM3wuCHfTB

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 textdock-csv-clean-de4a6867 -d '<json body>'
```

Example prompt: Clean this CSV for me — drop any empty rows and deduplicate by the 'email' column: 'id,email,name\n1,ada@x.com,Ada\n2,,Grace\n1,ada@x.com,Ada duplicate'

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call, deterministic CSV cleaning operation — specifically deduplication by key columns and empty-row removal — without spinning up a data pipeline or ETL service. Ideal for agents processing ad-hoc CSV uploads or exports where data quality needs a quick, reliable pass before downstream use.

## Known failure modes

- Malformed CSV string causes parse error
- Key columns specified that don't exist in the CSV headers
- Empty CSV input returns zero rows with no error
- Very large CSV may time out or exceed payload limits
- Non-UTF-8 encoded CSV may produce garbled output

## How this service works

Deterministic CSV, URL and text utilities sold per call in USDC on Base.

## Output

Returns a JSON object containing: a 2D array of cleaned data rows, total row count, column names array, list of warnings, the dedupe key used, count of dropped empty rows, and count of dropped duplicate rows.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "csv": {
   "type": "string"
  },
  "drop_empty": {
   "type": "boolean"
  },
  "key_columns": {
   "type": "array",
   "items": {
    "type": "string"
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [
   [
    "1",
    "ada"
   ],
   [
    "2",
    "grace"
   ]
  ],
  "rows": 2,
  "columns": [
   "id",
   "name"
  ],
  "warnings": [],
  "dedupe_key": [
   "id"
  ],
  "dropped_empty": 0,
  "dropped_duplicates": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/textdock-csv-clean-de4a6867/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from textdock.ggez.my.id](https://www.zero.xyz/host/textdock.ggez.my.id/llms.txt)
