{"openapi":"3.1.0","info":{"title":"JSON Schema API","version":"1.0.0","description":"Validate JSON against JSON Schema, server-side. Check any data against a schema (Draft-07 or 2020-12) and get a clear pass/fail plus a detailed list of every error with its instance path, failing keyword and message; verify that a schema itself is well-formed; or infer a starter JSON Schema automatically from a sample document, complete with detected formats like email, URI and date. Built on the battle-tested Ajv engine with full format validation. Every endpoint accepts GET (JSON-encoded parameters) or a JSON POST body and runs entirely locally with no third-party upstream, so responses are instant and the service is always available. Ideal for API request/response validation, form and data-entry checks, ETL and data-quality pipelines, no-code platforms and contract testing.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/jsonschema-api","description":"oanor gateway"}],"tags":[{"name":"JSON Schema"}],"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/check":{"get":{"operationId":"get_v1_check","tags":["JSON Schema"],"summary":"Check a schema is valid","description":"","parameters":[{"name":"schema","in":"query","required":true,"description":"JSON Schema to check","schema":{"type":"string"},"example":"{\"type\":\"string\",\"format\":\"email\"}"},{"name":"draft","in":"query","required":false,"description":"draft-07 | 2020-12","schema":{"type":"string"},"example":"draft-07"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"valid":true,"message":"schema compiles"},"meta":{"timestamp":"2026-05-30T18:16:58.714Z","request_id":"3180947e-fc50-4805-91ea-772d4c1b3d08"},"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/infer":{"get":{"operationId":"get_v1_infer","tags":["JSON Schema"],"summary":"Infer a schema from data","description":"","parameters":[{"name":"data","in":"query","required":true,"description":"Sample data (JSON)","schema":{"type":"string"},"example":"{\"id\":5,\"email\":\"a@b.com\",\"tags\":[\"x\"]}"}],"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","email","tags"],"properties":{"id":{"type":"integer"},"tags":{"type":"array","items":{"type":"string"}},"email":{"type":"string","format":"email"}}}},"meta":{"timestamp":"2026-05-30T18:16:58.786Z","request_id":"5ddfda66-7f7c-4674-a330-0f8e0ba1b343"},"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 Schema"],"summary":"Validate data against a schema","description":"","parameters":[{"name":"schema","in":"query","required":true,"description":"JSON Schema (object or JSON string)","schema":{"type":"string"},"example":"{\"type\":\"object\",\"properties\":{\"age\":{\"type\":\"integer\",\"minimum\":0}},\"required\":[\"age\"]}"},{"name":"data","in":"query","required":true,"description":"Data to validate (JSON)","schema":{"type":"string"},"example":"{\"age\":5}"},{"name":"draft","in":"query","required":false,"description":"draft-07 | 2020-12 (default draft-07)","schema":{"type":"string"},"example":"draft-07"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"valid":true,"errors":[],"error_count":0},"meta":{"timestamp":"2026-05-30T18:16:58.865Z","request_id":"3210aabb-4446-4b98-a55e-fba832a470e3"},"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":1500,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":300,"monthly_call_quota":40000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1100,"monthly_call_quota":250000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2800,"monthly_call_quota":1500000,"rps_limit":75,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/jsonschema-api"}