Validate
openapi toolkit validation helpers
Install / Use
/learn @go-openapi/ValidateREADME
validate
<!-- Badges: status --> <!-- Badges: release & docker images --> <!-- Badges: code quality --> <!-- Badges: license & compliance --> <!-- Badges: documentation & support --> <!-- Badges: others & stats -->A validator for OpenAPI v2 specifications and JSON schema draft 4.
Announcements
- 2025-12-19 : new community chat on discord
- a new discord community channel is available to be notified of changes and support users
- our venerable Slack channel remains open, and will be eventually discontinued on 2026-03-31
You may join the discord community by clicking the invite link on the discord badge (also above).
Status
API is stable.
Import this library in your project
go get github.com/go-openapi/validate
Contents
This package provides helpers to validate Swagger 2.0. specification (aka OpenAPI 2.0).
- A validator for Swagger specifications
- A validator for JSON schemas draft4
- Helper functions to validate individual values (used by code generated by go-swagger).
- Required, RequiredNumber, RequiredString
- ReadOnly
- UniqueItems, MaxItems, MinItems
- Enum, EnumCase
- Pattern, MinLength, MaxLength
- Minimum, Maximum, MultipleOf
- FormatOf
FAQ
- Does this library support OpenAPI 3?
No. This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). There is no plan to make it evolve toward supporting OpenAPI 3.x. This discussion thread relates the full story.
An early attempt to support Swagger 3 may be found at: https://github.com/go-openapi/spec3
Change log
See https://github.com/go-openapi/validate/releases
References
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
Licensing
This library ships under the SPDX-License-Identifier: Apache-2.0.
Other documentation
Cutting a new release
Maintainers can cut a new release by either:
- running this workflow
- or pushing a semver tag
- signed tags are preferred
- The tag message is prepended to release notes
