{"openapi":"3.1.0","info":{"title":"JSON Types API","version":"1.0.0","description":"Infer a schema or types from a sample JSON document — the fastest way to get a contract out of an example API response. Pass a JSON sample and the schema endpoint returns a JSON Schema (Draft 2020-12) with detected types, required keys, array item schemas merged across elements, and recognised string formats (email, uri, uuid, date-time, date, ipv4); the typescript endpoint returns ready-to-paste TypeScript interfaces with named nested interfaces, typed arrays, unions for mixed-shape array elements and structural de-duplication. Supply the sample inline via ?json=, as a query parameter, or as a request body. Everything is computed locally with no network calls, so it is fast and deterministic. Built for scaffolding types from real API responses, generating validation schemas, documentation, contract testing and code generation. A JSON type/schema inferer — distinct from JSON-Schema validation (jsonschema), JSON pretty-printing and conversion (json), and JSON diff/patch (jsondiff). No upstream key, no cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/jsontypes-api","description":"oanor gateway"}],"tags":[{"name":"JSON Types"},{"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/schema":{"get":{"operationId":"get_v1_schema","tags":["JSON Types"],"summary":"Infer a JSON Schema","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON sample (inline or body)","schema":{"type":"string"},"example":"{\"id\":\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\"name\":\"Ada\",\"email\":\"ada@example.com\",\"age\":36,\"tags\":[\"x\",\"y\"],\"address\":{\"city\":\"London\"}}"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id","name","email","age","tags","address"],"properties":{"id":{"type":"string","format":"uuid"},"age":{"type":"integer"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"email":{"type":"string","format":"email"},"address":{"type":"object","required":["city"],"properties":{"city":{"type":"string"}}}}}},"meta":{"timestamp":"2026-06-01T23:40:43.723Z","request_id":"c05b17de-8632-4242-a781-e2f13828f84d"},"status":"ok","message":"Schema inferred","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/typescript":{"get":{"operationId":"get_v1_typescript","tags":["JSON Types"],"summary":"Infer TypeScript interfaces","description":"","parameters":[{"name":"json","in":"query","required":true,"description":"JSON sample (inline or body)","schema":{"type":"string"},"example":"{\"id\":\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\"name\":\"Ada\",\"email\":\"ada@example.com\",\"age\":36,\"tags\":[\"x\",\"y\"],\"address\":{\"city\":\"London\"}}"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"root":"Root","typescript":"interface Address {\n  city: string;\n}\n\ninterface Root {\n  id: string;\n  name: string;\n  email: string;\n  age: number;\n  tags: string[];\n  address: Address;\n}"},"meta":{"timestamp":"2026-06-01T23:40:43.824Z","request_id":"520a3d60-3c7d-4447-b146-8365259eba71"},"status":"ok","message":"TypeScript inferred","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":"Outputs & detected formats","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Infer a schema or types from a sample JSON document — the fastest way to get a contract out of an example API response. /v1/schema returns a JSON Schema (Draft 2020-12) with detected types, required keys, array item schemas (merged across elements) and string formats (email, uri, uuid, date-time, date, ipv4). /v1/typescript returns ready-to-paste TypeScript interfaces with named nested interfaces, arrays, unions for mixed types and structural de-duplication. Supply the sample via ?json=, a query parameter or a request body. Everything is computed locally with no network calls. Ideal for scaffolding types from real API responses, generating validation schemas, documentation and contract testing. A JSON type/schema inferer — distinct from JSON-Schema validation (jsonschema), JSON pretty-print/convert (json) and JSON diff/patch (jsondiff). No key, no cache.","outputs":["JSON Schema (Draft 2020-12)","TypeScript interfaces"],"endpoints":["/v1/schema","/v1/typescript","/v1/meta"],"detected_string_formats":["email","uri","uuid","date-time","date","ipv4"]},"meta":{"timestamp":"2026-06-01T23:40:43.899Z","request_id":"2285c6b0-f632-46e0-91d8-db851f294dc4"},"status":"ok","message":"Meta retrieved","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":2140,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":630,"monthly_call_quota":41500,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2050,"monthly_call_quota":218000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5340,"monthly_call_quota":825000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/jsontypes-api"}