Skip to main content
QUIETLYTIC
Developer

OpenAPI Structure Checker

Check an OpenAPI document for the fields it needs to describe a real API — not full spec compliance.

Local · nothing leaves this browser Waiting for a document
Esc Clear
Findings

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

From the intelligence desk