{"openapi":"3.1.0","info":{"title":"JSON API","version":"1.0.0","description":"A fast, fully-local JSON and CSV toolkit: validate JSON (with a clear error message, type and size), pretty-print and format it (with optional deep key-sorting), minify it (reporting bytes saved), and convert between CSV and JSON — RFC-4180 CSV parsing with automatic value typing, and JSON arrays to CSV. Every endpoint accepts input via the query string or the request body (up to 1 MB). Pure server-side compute, no third-party upstream, so responses are instant and always available. Ideal for data pipelines, ETL, webhooks, config tooling and developer utilities.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/json-api","description":"oanor gateway"}],"tags":[{"name":"JSON"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/csv2json":{"get":{"operationId":"get_v1_csv2json","tags":["JSON"],"summary":"Convert CSV to JSON","description":"","parameters":[{"name":"csv","in":"query","required":true,"description":"CSV with header row","schema":{"type":"string"},"example":"name,age\nAda,36"},{"name":"delimiter","in":"query","required":false,"description":"Delimiter (default ,)","schema":{"type":"string"},"example":","}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"rows":[{"age":36,"name":"Ada"}],"count":1,"columns":["name","age"]},"meta":{"timestamp":"2026-05-30T09:00:24.165Z","request_id":"adfd26e6-bc1b-470d-b9d3-49afac186deb"},"status":"ok","message":"OK","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/format":{"get":{"operationId":"get_v1_format","tags":["JSON"],"summary":"Pretty-print JSON","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON string","schema":{"type":"string"},"example":"{\"b\":2,\"a\":1}"},{"name":"indent","in":"query","required":false,"description":"Indent 0-10 (default 2)","schema":{"type":"string"},"example":"2"},{"name":"sort_keys","in":"query","required":false,"description":"Deep-sort keys","schema":{"type":"string"},"example":"false"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"result":"{\n  \"b\": 2,\n  \"a\": 1\n}","size_bytes":22},"meta":{"timestamp":"2026-05-30T09:00:24.253Z","request_id":"2898bd6e-c04f-434d-8e7e-df6a681f1dcc"},"status":"ok","message":"OK","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/json2csv":{"get":{"operationId":"get_v1_json2csv","tags":["JSON"],"summary":"Convert JSON to CSV","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"Array of flat objects","schema":{"type":"string"},"example":"[{\"a\":1,\"b\":2}]"},{"name":"delimiter","in":"query","required":false,"description":"Delimiter (default ,)","schema":{"type":"string"},"example":","}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"result":"a,b\n1,2","columns":["a","b"]},"meta":{"timestamp":"2026-05-30T09:00:24.321Z","request_id":"3ed43f62-591e-4a60-8b0d-6a092669be1c"},"status":"ok","message":"OK","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/minify":{"get":{"operationId":"get_v1_minify","tags":["JSON"],"summary":"Minify JSON","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON string","schema":{"type":"string"},"example":"{ \"a\" : 1 }"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"result":"{\"a\":1}","size_bytes":7,"saved_bytes":4,"original_bytes":11},"meta":{"timestamp":"2026-05-30T09:00:24.399Z","request_id":"276a814d-5015-4274-8fcc-9b7a02ef0ce9"},"status":"ok","message":"OK","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/validate":{"get":{"operationId":"get_v1_validate","tags":["JSON"],"summary":"Validate JSON","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON string","schema":{"type":"string"},"example":"{\"a\":1,\"b\":[1,2,3]}"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"keys":2,"type":"object","valid":true,"size_bytes":19},"meta":{"timestamp":"2026-05-30T09:00:24.449Z","request_id":"0bda1567-e3aa-414a-83d5-71096318a196"},"status":"ok","message":"OK","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":14000,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":300,"monthly_call_quota":300000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1200,"monthly_call_quota":1600000,"rps_limit":40,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3300,"monthly_call_quota":8000000,"rps_limit":120,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/json-api"}