{"openapi":"3.1.0","info":{"title":"well-016-datacleanup","version":"1.0.0","description":"Clean a CSV ($0.005 USDC): give an https url or inline csv (max 1 MB / 20k rows). Trims whitespace, optional case rules, dates to ISO 8601, lowercases emails, normalizes phone digits, merges or flags exact + fuzzy duplicate rows on key_columns. Returns cleaned CSV text + JSON report (rows in/out, dupes, columns changed). Deterministic, no AI. As is, no warranty. Nothing stored. Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored.","x-guidance":"POST /api/data-cleanup with a JSON body matching the request schema. Unpaid calls get HTTP 402 with x402 v2 payment requirements (exact, USDC on Base eip155:8453, $0.005). Retry with a PAYMENT-SIGNATURE header. Payment settles only when the tool succeeds. The same tool is also available over MCP (streamable HTTP) at https://well-016-datacleanup.mmelnyk2000.workers.dev/mcp as \"data-cleanup\". Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored.","contact":{"email":"rain-maker@mail.grokbot.com"}},"servers":[{"url":"https://well-016-datacleanup.mmelnyk2000.workers.dev"}],"paths":{"/api/data-cleanup":{"post":{"operationId":"data_cleanup","summary":"data-cleanup ($0.005 USDC)","description":"Clean a CSV ($0.005 USDC): give an https url or inline csv (max 1 MB / 20k rows). Trims whitespace, optional case rules, dates to ISO 8601, lowercases emails, normalizes phone digits, merges or flags exact + fuzzy duplicate rows on key_columns. Returns cleaned CSV text + JSON report (rows in/out, dupes, columns changed). Deterministic, no AI. As is, no warranty. Nothing stored.","tags":["rainmaker"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Public https URL of a CSV (max 1 MB)."},"csv":{"type":"string","description":"Inline CSV text instead of url (max 1 MB)."},"has_header":{"type":"boolean","description":"First row is a header (default true)."},"key_columns":{"type":"array","items":{"type":"string"},"description":"Columns used to detect duplicates (default all)."},"dedupe":{"type":"string","description":"merge (default), flag, or none."},"fuzzy":{"type":"boolean","description":"Also match near-duplicates (default true)."},"fuzzy_threshold":{"type":"number","description":"Similarity 0.5-1 (default 0.92)."},"date_columns":{"type":"array","items":{"type":"string"},"description":"Columns to convert to ISO 8601 (default auto)."},"date_order":{"type":"string","description":"mdy (default) or dmy for ambiguous dates."},"email_columns":{"type":"array","items":{"type":"string"},"description":"Email columns (default auto)."},"phone_columns":{"type":"array","items":{"type":"string"},"description":"Phone columns (default auto by header)."},"phone_format":{"type":"string","description":"digits (default) or e164."},"case_rules":{"type":"object","description":"Map column -> lower | upper | title."}}},"example":{"csv":"name,email,signup\nAnn Lee, ANN@X.COM ,3/4/2024\nann lee,ann@x.com,2024-03-04\n","key_columns":["email"]}}}},"responses":{"200":{"description":"Tool result (JSON). Includes an as-is notice.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"csv":"name,email,signup\nAnn Lee,ann@x.com,2024-03-04\n","report":{"rows_in":2,"rows_out":1,"duplicates":{"exact":1,"fuzzy":0,"total":1},"cells_changed":3},"notice":"Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored."}}}},"402":{"description":"Payment Required"},"422":{"description":"Tool could not complete (input or fetch problem). No payment is settled."}}}}}}