AVAILABLE
Developer Tools
CSV Normalize & Validate
Parse, normalize, validate, and profile CSV, TSV, semicolon, or pipe-delimited text with deterministic issues and spreadsheet-formula safeguards.
CONTRACT
Predictable for agents. Legible for reviewers.
- REST
POST /v1/csv/normalize- MCP tool
normalize_csv- Inputs
- Up to 512 KiB of UTF-8 delimited text in a JSON request, with explicit delimiter, header, validation, sampling, and formula policies depending on the operation.
- Returns
- A typed result with detected dialect, row and column counts, hashes, bounded issues, validation evidence, or normalized CSV plus an agent-readable next action.
- Latency
- Synchronous
- Usage unit
- CSV operation
The focused suite also exposes /v1/csv/parse, /v1/csv/validate, and /v1/csv/profile plus the separate /mcp/csv server. It never fetches files, stores payloads, opens a spreadsheet, executes formulas, or infers business meaning. Requests are limited to 10,000 rows, 256 columns, 250,000 cells, and a 2 MiB structured result.
AGENT-READABLE EXCEPTIONS
CSV_DELIMITER_UNDETERMINEDCSV_HEADER_DUPLICATECSV_RAGGED_ROWCSV_SPREADSHEET_FORMULA_CANDIDATECSV_TYPE_INVALIDCSV_SCHEMA_PATTERN_TIMEOUTCSV_OUTPUT_TOO_LARGEHTTP request
POST /v1/csv/normalize
Authorization: Bearer apc_...
Content-Type: application/json
{
"text": "Customer Name;Amount;Reference\r\nAda;125.50;=A1\r\n",
"delimiter": "SEMICOLON",
"header_mode": "PRESENT",
"output_delimiter": "COMMA",
"header_style": "SNAKE_CASE",
"formula_policy": "ESCAPE"
}cURL (bash)
curl --request POST \
--url 'https://api-production-9502.up.railway.app/v1/csv/normalize' \
--header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
"text": "Customer Name;Amount;Reference\r\nAda;125.50;=A1\r\n",
"delimiter": "SEMICOLON",
"header_mode": "PRESENT",
"output_delimiter": "COMMA",
"header_style": "SNAKE_CASE",
"formula_policy": "ESCAPE"
}'Representative response
{
"status": "COMPLETED",
"decision": "CLEAR",
"dialect": {
"delimiter": "COMMA",
"delimiter_character": ",",
"header_mode": "PRESENT",
"newline_style": "LF",
"had_utf8_bom": false
},
"headers": [
"customer_name",
"amount",
"reference"
],
"normalized_csv": "customer_name,amount,reference\nAda,125.50,'=A1\n",
"row_count": 1,
"column_count": 3,
"source_sha256": "70e1...",
"normalized_sha256": "09cb...",
"issue_count": 3,
"issues_returned": 3,
"issues_truncated": false,
"issues": [
{
"code": "CSV_HEADER_NORMALIZED",
"severity": "INFO",
"column": "Customer Name"
},
{
"code": "CSV_HEADER_NORMALIZED",
"severity": "INFO",
"column": "Reference"
},
{
"code": "CSV_SPREADSHEET_FORMULA_ESCAPED",
"severity": "LOW",
"row_number": 1,
"column": "reference"
}
],
"warnings": [],
"next_action": "Use the normalized CSV and returned header names."
}Use CSV Normalize & Validate through RapidAPI.
Choose a capped marketplace plan, copy the generated request, and route the structured result through your own authorized workflow.