OpenAPI Structure Checker
Check an OpenAPI document for the fields it needs to describe a real API — not full spec compliance.
Paste an OpenAPI document on the left.
How it works
Checks the fields an OpenAPI 3.x document needs to describe a real API — openapi,
info.title, info.version, at least one path with at least one operation, and every
operation having at least one response — rather than claiming full specification compliance. Accepts YAML or JSON,
since every valid JSON document is also valid YAML.
Why $ref is counted, not resolved
OpenAPI's components.schemas reuse pattern depends on $ref resolution to be useful at
all, and this site's own JSON Schema Validator tool is explicit that it cannot follow a $ref. Reusing
it here would silently validate the wrong thing on nearly every real-world OpenAPI document, which reference
shared schemas throughout — worse than not checking schemas at all. This tool reports how many
$refs exist and leaves it there.
Example
An operation with no responses is flagged as an error — a client calling it has nothing to expect
back. A path item with no HTTP methods is flagged as a warning rather than an error, since a bare
$ref to a shared path item is valid and this tool does not resolve it to check further.
Frequently asked questions
Why does this not validate my schemas the way the JSON Schema Validator tool does?
Because OpenAPI's components.schemas pattern depends on $ref resolution to be useful at all — nearly every non-trivial OpenAPI document defines a type once and references it from several operations. This site's JSON Schema Validator tool is explicit that it does not resolve $ref, so pointing it at an OpenAPI document's schemas would silently validate the wrong thing on almost every real file rather than failing loudly. A real $ref-resolving OpenAPI validator is a larger, distinct tool this one does not attempt to be.
Why is a path with no operations only a warning?
Because it is unusual, not necessarily wrong — a path item that is itself a $ref to a shared path definition (OpenAPI 3.1's reusable Path Items) has no operations directly on it by design, and this tool does not resolve that reference to check further. An empty path item that is not a $ref is genuinely worth a second look, which is exactly what the warning is for.
Related tools
JSON Schema Validator
Validate a JSON document against a JSON Schema and see exactly which rule failed, and where.
LocalYAML to JSON Converter
Convert YAML to JSON and back, with what the conversion costs stated rather than dropped.
LocalJSON Formatter & Validator
Format, validate and measure JSON, with errors located by line and column.
LocalJWT Decoder
Decode a JSON Web Token and read its header, claims and expiry.
LocalJWT Security Inspector
Check a decoded token against the weaknesses that show up in real audits.
LocalRegex Tester
Test a pattern against sample text with a hard execution timeout.
Local