{"openapi":"3.1.0","info":{"title":"TOML API","version":"1.0.0","description":"Convert and validate TOML — the config format behind Cargo.toml, pyproject.toml, Netlify and many tools. Turn TOML into JSON, turn JSON back into clean spec-compliant TOML 1.0, and validate any TOML with a precise error message (line and column) when it is malformed. Tables, arrays of tables, inline tables, typed values and datetimes are all handled. Input via the query string or the request body (up to 4 MB). Pure local processing — no key, no third-party service, instant. Live. 4 endpoints. Completes the oanor config-format family alongside the JSON, YAML, XML and CSV APIs — built for build tooling, config editors, CI and data pipelines.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/toml-api","description":"oanor gateway"}],"tags":[{"name":"Convert"},{"name":"Validate"},{"name":"Meta"}],"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/to-json":{"get":{"operationId":"get_v1_to_json","tags":["Convert"],"summary":"TOML to JSON","description":"","parameters":[{"name":"toml","in":"query","required":true,"description":"TOML text","schema":{"type":"string"},"example":"title = \"oanor\"\n[owner]\nname = \"Ada\""}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"json":{"owner":{"name":"Ada"},"title":"oanor"}},"meta":{"timestamp":"2026-06-02T16:51:58.710Z","request_id":"fbeb8f15-ebd2-46b9-a392-02301ae4d8ef"},"status":"ok","message":"TOML to JSON","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/to-toml":{"get":{"operationId":"get_v1_to_toml","tags":["Convert"],"summary":"JSON to TOML","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON object","schema":{"type":"string"},"example":"{\"title\":\"oanor\",\"owner\":{\"name\":\"Ada\"}}"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"toml":"title = \"oanor\"\n\n[owner]\nname = \"Ada\"\n"},"meta":{"timestamp":"2026-06-02T16:51:58.830Z","request_id":"dd645240-0cbf-4d21-8339-488d8f6c93b6"},"status":"ok","message":"JSON to TOML","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":["Validate"],"summary":"Validate TOML","description":"","parameters":[{"name":"toml","in":"query","required":true,"description":"TOML text","schema":{"type":"string"},"example":"a = 1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"valid":true},"meta":{"timestamp":"2026-06-02T16:51:58.972Z","request_id":"54a61854-1265-4c07-9961-6a2068398200"},"status":"ok","message":"Validate TOML","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/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"auth":"none upstream; this gateway requires x-api-key","name":"TOML API","note":"Convert TOML to JSON (/v1/to-json?toml=...), JSON to TOML (/v1/to-toml?json=...), and validate TOML (/v1/validate?toml=...). Spec-compliant TOML 1.0. Input via query string or request body (up to 4 MB). Instant, nothing stored. Completes the config-format family (JSON, YAML, XML, CSV, TOML).","source":"Local TOML processing (@iarna/toml) — no key, no upstream","endpoints":4},"meta":{"timestamp":"2026-06-02T16:51:59.074Z","request_id":"45d809f3-bb4e-48f6-914c-84673adc5ebf"},"status":"ok","message":"Meta","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":1480,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":660,"monthly_call_quota":27000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2620,"monthly_call_quota":180000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6220,"monthly_call_quota":920000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/toml-api"}