{"id":"csv-replace-exact","version":"1.0.0","description":"Replace CSV data cells whose entire value equals an exact find string.","supported_operations":["csv replace exact","replace exact csv cells","csv cell exact substitution"],"unsupported_operations":["substring replacement","regex replacement","case-insensitive replace","header replacement","text-replace-exact on the raw csv document","trim cells","read files","fetch urls"],"semantics":["The first CSV record is the header row and is never rewritten. An empty document is rejected; a header-only document is identity CSV with replacements 0.","A data cell is replaced only when the entire cell string equals find. Substring, regex, and case-folded matches are not applied.","If columns is omitted, every data column is eligible. If present, columns names unique existing headers exactly and only those columns are scanned.","find and replace may be empty. No trimming, type coercion, or locale compare is performed. replacements counts matching data cells, including identity replacements where find equals replace.","The first output header name may not begin with U+FEFF because it is ambiguous with a CSV byte-order mark."],"limits":{"max_input_bytes":256000,"max_data_rows":5000,"max_columns":256,"max_header_name_bytes":256,"max_find_bytes":262144,"max_replace_bytes":262144,"max_output_bytes":256000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["csv","find","replace"],"properties":{"csv":{"type":"string","maxLength":256000},"find":{"type":"string","maxLength":262144},"replace":{"type":"string","maxLength":262144},"columns":{"type":"array","minItems":1,"maxItems":256,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":256}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["csv","replacements"],"properties":{"csv":{"type":"string"},"replacements":{"type":"integer","minimum":0}}},"examples":[{"input":{"csv":"status,note\nok,ok\npending,ok\n","find":"ok","replace":"done"},"output":{"csv":"status,note\ndone,done\npending,done\n","replacements":3}}],"execute_url":"/v1/tools/csv-replace-exact/versions/1.0.0/execute"}