{"id":"csv-transpose","version":"1.0.0","description":"Transpose a CSV matrix including the header row, then re-validate headers.","supported_operations":["csv transpose","transpose csv","csv rotate columns to rows"],"unsupported_operations":["jagged fill","multi-header","read files"],"semantics":["Reuse baseline parser: the document is a rectangular matrix of header plus data rows.","Transpose that full matrix (header row is row 0).","The first row of the transposed matrix becomes the new header and must pass unique/non-empty/byte/column limits.","Empty document -> csv \"\".","Header-only (one row, N columns) becomes N rows and 1 column whose header is the original first header name, data the remaining original headers.","Reject if transpose would exceed max_columns or max_data_rows."],"limits":{"max_input_bytes":256000,"max_data_rows":5000,"max_columns":256,"max_header_name_bytes":256},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["csv"],"properties":{"csv":{"type":"string","maxLength":256000}}},"output_schema":{"type":"object","additionalProperties":false,"required":["csv","rows_in","cols_in","rows_out","cols_out"],"properties":{"csv":{"type":"string"},"rows_in":{"type":"integer"},"cols_in":{"type":"integer"},"rows_out":{"type":"integer"},"cols_out":{"type":"integer"}}},"examples":[{"input":{"csv":"h1,h2\na,b\nc,d\n"},"output":{"csv":"h1,a,c\nh2,b,d\n","rows_in":2,"cols_in":2,"rows_out":1,"cols_out":3}}],"execute_url":"/v1/tools/csv-transpose/versions/1.0.0/execute"}