Attest tools · File converter

JSON to CSV

Convert product objects into a CSV table, including correct quoting for a value containing a comma.

1 credit per successful call

Input JSON

{
  "from": "json",
  "to": "csv",
  "text": "[{\"item\":\"Sheet, cotton\",\"quantity\":12},{\"item\":\"Linen towel\",\"quantity\":7}]"
}

Captured output JSON

{
  "from": "json",
  "to": "csv",
  "input_source": "text",
  "input_encoding": "utf-8",
  "bytes_in": 76,
  "bytes_out": 48,
  "response_bytes": 56,
  "result_text": "item,quantity\r\n\"Sheet, cotton\",12\r\nLinen towel,7",
  "truncated": false,
  "stats": {
    "rows": 2,
    "rows_returned": 2,
    "columns": 2
  },
  "warnings": [],
  "limits": {
    "max_input_bytes": 6291456,
    "max_base64_characters": 8388608,
    "max_output_bytes": 3145728,
    "max_response_bytes": 3670016,
    "max_rows": 200000,
    "max_columns": 2000,
    "max_inline_image_bytes": 65536
  },
  "supported_pairs": [
    "docx -> html",
    "docx -> markdown",
    "docx -> text",
    "html -> markdown",
    "html -> text",
    "markdown -> html",
    "csv -> json",
    "csv -> tsv",
    "json -> csv",
    "tsv -> csv"
  ],
  "source": "Converted in this process from the bytes supplied with the request. Formatting that has no equivalent in the target format (page layout, fonts, colours, comments, tracked changes) is dropped, so the output is a working copy of the content, not a reproduction of the original document. General information, not advice.",
  "checked_at": "2026-10-20T20:47:48.424Z"
}

API call

curl -s -X POST https://getattest.com.au/api/v1/files/convert \
  -H "authorization: Bearer $ATTEST_API_KEY" \
  -H "content-type: application/json" \
  --data-raw '{"from":"json","to":"csv","text":"[{\"item\":\"Sheet, cotton\",\"quantity\":12},{\"item\":\"Linen towel\",\"quantity\":7}]"}'

Run this call with your own bearer key. Issue an API key.

About this example

The input was validated and run locally through the registered service. The output above is a display preview of the captured service result. File bytes are described instead of printed, and strings longer than 400 characters are truncated; the HTTP API also adds call_id, credits_charged and credits_remaining. Timestamps and generated identifiers will vary.

Source: apps/api/svc/file_convert.mjs

Tool reference and limits · API key guide