Opis JSON Schema

Validate JSON documents

JSON Schema compliant

The library implements the latest specifications (draft-2020-12, draft-2019-09, draft-07 and draft-06) of the JSON Schema standard and provides a comprehensive documentation that covers both the standard itself and the library's own API.

Perfect for building RESTful APIs

Opis Schema help developers build reliable and secure RESTful APIs, by allowing them to define validation rules for user-input data, using only JSON documents. This way, your app becomes more maintainable and less error-prone.

Built for modern PHP

Opis JSON Schema takes advantage of the speed and security provided by PHP 8, and of its other awesome features, like union types, named arguments, attributes etc. Making web development easier is this library's ultimate goal!

and that's not all..

Semantic versioning

By strictly adhering to the semantic versioning rules, we guarantee that we will not introduce breaking changes during the lifecycle of a major release, making sure that every bit of functionality that will be added to the library is backward compatible and won't break your app.

Business friendly license

The library is released under a permissive, business friendly, Apache 2.0 license. The license grants you the right to use this software for both commercial or non-commercial purposes.

Maintained by Zindex Software

As an open-source company, we dedicate a large amount of our time for taking care of our libraries. This means that you can confidently use our open-source software, knowing that we will continuously maintain and improve it.

Ready to get started?

Visit our documentation page or checkout our project on GitHub

Documentation View on GitHub

Want to contribute?

Spread the word

One of the best ways you could contribute to this project is by simply telling other developers about Opis JSON Schema. The more people are using it, the greater are the chances to discover unknown bugs or security related issues, if any.

Get involved

Have you stumbled upon a typo or some bad phrasing in our documentation? Found a bug in our code? Have some project-related questions? Just send us a pull request with your fixes, or open an issue on the repository's page and we will gladly help you.