# Decision Data Studio CSV Cleanup

> Decision Data Studio CSV Cleanup is a paid API for AI agents from api.ikoles.dev, paid per call via x402, $2/call, status unknown (last checked 2026-09-14).

Cleans and normalizes tabular CSV row data by trimming strings, dropping blank rows, and standardizing column keys

## Facts

- Endpoint: POST https://api.ikoles.dev/v1/csv-cleanup
- Price: $2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/decision-data-studio-csv-cleanup-03a70c55
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0adWLjR7hbupcHRmHGEs4

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 decision-data-studio-csv-cleanup-03a70c55 -d '<json body>'
```

Example prompt: Can you clean up these 200 rows of procurement export data — trim all the string fields, drop any blank rows, and normalize the column names case-insensitively, treating 'supplier_id' and 'contract_value' as the key columns?

## When to prefer this

Choose this endpoint when you need a lightweight, paid-per-call data normalization step for tabular rows — especially when preparing procurement or tender CSV exports for downstream agent pipelines. Prefer it over custom preprocessing code when you want consistent, reproducible string trimming, blank-row removal, and case-insensitive key normalization in a single call without managing infrastructure.

## Known failure modes

- Rows array is empty or exceeds 500 items — returns validation error
- keyColumns array is empty or exceeds 25 entries — returns schema error
- Malformed row objects with non-primitive values — may cause processing failure
- Payment not completed — returns HTTP 402 before processing begins
- Network timeout if payload is near the 500-row limit

## How this service works

Local-first data and agent workflow tools from Decision Data Studio, plus verified EU tender shortlists and machine-callable utilities.

## Output

A JSON response with a status field (e.g. 'accepted') confirming the cleanup job was received and processed. The cleaned rows are returned with trimmed strings, blank rows removed, and column keys normalized according to the specified options.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "additionalProperties": {
     "type": [
      "string",
      "number",
      "boolean",
      "null"
     ]
    }
   },
   "maxItems": 500,
   "minItems": 1
  },
  "keyColumns": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 25,
   "minItems": 1
  },
  "trimStrings": {
   "type": "boolean",
   "default": true
  },
  "dropBlankRows": {
   "type": "boolean",
   "default": true
  },
  "caseInsensitiveKeys": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "accepted"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/decision-data-studio-csv-cleanup-03a70c55/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.ikoles.dev](https://www.zero.xyz/host/api.ikoles.dev/llms.txt)
