# Openapi v0.3.1 - Table of Contents

> A lightweight OpenAPI-first routing, validation and documentation layer

## Modules

- [Openapi](Openapi.md)
- [Openapi.Definition](Openapi.Definition.md)
- [Openapi.DispatchPlug](Openapi.DispatchPlug.md): Dispatch plug used by the OpenAPI router generated by `Openapi`.
- [Openapi.DocsPlug](Openapi.DocsPlug.md): Plug responsible for serving OpenAPI documentation and Swagger UI assets.
- [Openapi.Loader.Json](Openapi.Loader.Json.md)
- [Openapi.Loader.Yaml](Openapi.Loader.Yaml.md)
- [Openapi.Phoenix](Openapi.Phoenix.md): Basic Phoenix integration helpers for OpenAPI support.
- [Openapi.ResponseValidatorPlug](Openapi.ResponseValidatorPlug.md): A plug that validates handler responses against the `responses` schemas defined in the
OpenAPI document.
- [Openapi.RouteValidator](Openapi.RouteValidator.md)
- [Openapi.SchemaCompiler](Openapi.SchemaCompiler.md): Compiles the JSON schemas of a single OpenAPI operation into pre-resolved `ExJsonSchema` schemas
for use by `Openapi.ValidatorPlug` and `Openapi.ResponseValidatorPlug`.
- [Openapi.ValidatorPlug](Openapi.ValidatorPlug.md): A plug that validates incoming requests against OpenAPI schemas.

- Exceptions
  - [Openapi.Error](Openapi.Error.md): Base error for OpenAPI validation and routing failures.

