JSON and YAML support
Validate either common OpenAPI serialization without converting it first.
Start typing to search 227 tools.
Validate the required structure of OpenAPI 3.0 and 3.1 documents supplied as JSON or YAML.
OpenAPI Validator parses an OpenAPI document supplied as JSON or YAML and checks essential OpenAPI 3.0.x or 3.1.x structure. It reports errors with document paths so missing or malformed sections are easier to locate.
The check covers the openapi version, required info.title and info.version values, the paths object, HTTP operation names, and required non-empty responses. It also checks the basic container type of components, security, tags, and externalDocs when present.
This is a focused structural validator, not a complete implementation of every OpenAPI rule. It does not resolve external references, validate every Schema Object keyword, or prove that an API server matches the contract.
{; otherwise the tool parses the source as YAML.$.info.title or $.paths./users.get.responses to find the source location.Focused controls, predictable output, and a workflow designed around this exact transformation.
Validate either common OpenAPI serialization without converting it first.
Catch missing version, info, paths, operations, and response objects.
Each issue includes a document path and concise message for faster correction.
The page clearly separates focused structural checks from full specification conformance.
Practical details about input, output, privacy, limits, and the best way to use this tool.
The validator accepts version strings for OpenAPI 3.0.x and 3.1.x.
Yes. Input beginning with a JSON object or array marker is parsed as JSON; other input is parsed as YAML.
No. Swagger 2.0 uses a different top-level version field and is outside the current validator scope.
No. Internal and external reference resolution requires a fuller OpenAPI validation tool.
No. The tool focuses on essential document and operation structure rather than full JSON Schema or OpenAPI conformance.
OpenAPI path template keys represent relative endpoint paths and normally begin with /.
No. It does not call the API or compare live responses with the contract.
No. Replace tokens, private server addresses, credentials, and sensitive examples with safe placeholders.
An empty paths object is structurally accepted by this focused check.
openapi: 3.1.0
info:
title: Example API
version: 1.0.0
paths: {}
valid: true · version: 3.1.0 · error_count: 0
The error path points directly to the missing required field.
openapi: 3.0.3
info:
title: Example API
paths: {}
$.info.version: info.version is required
Every checked HTTP operation needs a responses object.
openapi: 3.1.0
info: {title: Example, version: 1.0.0}
paths:
/users:
get: {}
$.paths./users.get.responses: Operation responses object is required
OpenAPI documents can be serialized as JSON or YAML. The data model is the same, but YAML indentation, quoting, and scalar rules can introduce parse errors before OpenAPI validation begins. Paste the complete document and preserve its original nesting.
If parsing fails, first validate the serialization. A YAML syntax error and an OpenAPI structure error are different problems. Use a format-specific validator to isolate the first layer.
The root must be an object. The openapi field must identify a supported 3.0.x or 3.1.x release. The info object must contain non-empty title and version strings, while paths must be an object.
Within paths, route keys must begin with a slash. Recognized HTTP operations include GET, PUT, POST, DELETE, OPTIONS, HEAD, PATCH, and TRACE. Every operation must be an object with a non-empty responses object. Extension keys beginning with x- are ignored, as are supported path-item fields such as parameters and servers.
A passing result confirms only the checks documented on this page. It does not dereference $ref, verify parameter uniqueness, compare path variables with parameters, validate media-type schemas, check discriminator behavior, or enforce every OpenAPI and JSON Schema constraint.
Use a mature OpenAPI linter or validator in CI, then test generated clients, documentation, mock servers, and the real implementation. Structural validation is an early filter, not the final release gate.
Errors use a JSON-style path beginning with $. For example, $.info.version identifies the version inside the info object. A path containing a route and method points to a specific operation. Fix the source at that location and run the validator again.
When many downstream errors appear, repair parse errors and missing top-level objects first. One malformed container can cause several later checks to fail.
Check schema rules with JSON Schema Validator, isolate YAML syntax with YAML Validator, or normalize JSON with JSON Formatter.
When an API example is supplied as cURL, turn it into application code with cURL to Go net/http or cURL to PHP cURL.
Consult the official OpenAPI 3.1.2 Specification for complete normative requirements. OpenAPI 3.2 uses a newer specification and is outside this tool version check.