# jsonapi_plug v2.0.3 - Table of Contents JSON:API library for Plug and Phoenix applications ## Pages - [JSON:API library for Plug and Phoenix applications](readme.md) - [Upgrading between major versions](upgrading.md) - [Changelog](changelog.md) ## Modules - [JSONAPIPlug](JSONAPIPlug.md): JSONAPIPlug context - [JSONAPIPlug.API](JSONAPIPlug.API.md): JSON:API API Configuration - [JSONAPIPlug.Phoenix.Component](JSONAPIPlug.Phoenix.Component.md): JSONAPIPlug Phoenix Component helper - [JSONAPIPlug.Plug](JSONAPIPlug.Plug.md): Implements validation and parsing of `JSON:API` requests - Document - [JSONAPIPlug.Document](JSONAPIPlug.Document.md): JSON:API Document - [JSONAPIPlug.Document.ErrorObject](JSONAPIPlug.Document.ErrorObject.md): JSON:API Error Object - [JSONAPIPlug.Document.JSONAPIObject](JSONAPIPlug.Document.JSONAPIObject.md): JSON:API Document JSON:API Object - [JSONAPIPlug.Document.LinkObject](JSONAPIPlug.Document.LinkObject.md): JSON:API Link Object - [JSONAPIPlug.Document.RelationshipObject](JSONAPIPlug.Document.RelationshipObject.md): JSON:API Relationship Object - [JSONAPIPlug.Document.ResourceIdentifierObject](JSONAPIPlug.Document.ResourceIdentifierObject.md): JSON:API Resource Identifier object - [JSONAPIPlug.Document.ResourceObject](JSONAPIPlug.Document.ResourceObject.md): JSON:API Resource Object - Resource - [JSONAPIPlug.Resource](JSONAPIPlug.Resource.md): You can use any struct as a resource by deriving or directly implementing the `JSONAPIPlug.Resource` protocol - [JSONAPIPlug.Resource.Attribute](JSONAPIPlug.Resource.Attribute.md): Custom Resource attributes serialization and deserialization - [JSONAPIPlug.Resource.Links](JSONAPIPlug.Resource.Links.md): Resource Links - [JSONAPIPlug.Resource.Meta](JSONAPIPlug.Resource.Meta.md): Resource Links - Plugs - [JSONAPIPlug.Plug.ContentTypeNegotiation](JSONAPIPlug.Plug.ContentTypeNegotiation.md): Provides content type negotiation by validating the `content-type` and `accept` headers. - [JSONAPIPlug.Plug.Params](JSONAPIPlug.Plug.Params.md): Plug for parsing the JSON:API Document in requests - [JSONAPIPlug.Plug.QueryParam](JSONAPIPlug.Plug.QueryParam.md): JSON:API Query Paramter parser plug - [JSONAPIPlug.Plug.ResponseContentType](JSONAPIPlug.Plug.ResponseContentType.md): Plug for setting the response content type - Ecto - [JSONAPIPlug.Normalizer.Ecto](JSONAPIPlug.Normalizer.Ecto.md): JSON:API Document normalizer implementation for Ecto - [JSONAPIPlug.QueryParser.Ecto.Fields](JSONAPIPlug.QueryParser.Ecto.Fields.md): JSON:API 'fields' query parameter parser implementation for Ecto - [JSONAPIPlug.QueryParser.Ecto.Include](JSONAPIPlug.QueryParser.Ecto.Include.md): JSON:API `include` query parameter parser implementation for Ecto - [JSONAPIPlug.QueryParser.Ecto.Sort](JSONAPIPlug.QueryParser.Ecto.Sort.md): JSON:API 'sort' query parameter parser implementation for Ecto - Parsers - [JSONAPIPlug.QueryParser](JSONAPIPlug.QueryParser.md): Parses a JSON:API query parameter to a user defined format. - [JSONAPIPlug.QueryParser.Filter](JSONAPIPlug.QueryParser.Filter.md): JSON:API 'filter' query parameter parser - [JSONAPIPlug.QueryParser.Page](JSONAPIPlug.QueryParser.Page.md): JSON:API 'page' query parameter parser - Behaviours - [JSONAPIPlug.Normalizer](JSONAPIPlug.Normalizer.md): Transforms user data to and from a `JSON:API` Document. - [JSONAPIPlug.Pagination](JSONAPIPlug.Pagination.md): JSON:API Pagination strategy - Exceptions - [JSONAPIPlug.Exceptions.InvalidDocument](JSONAPIPlug.Exceptions.InvalidDocument.md): Defines a generic exception for when an invalid document is received. - [JSONAPIPlug.Exceptions.InvalidHeader](JSONAPIPlug.Exceptions.InvalidHeader.md): Defines a generic exception for when an invalid header is received. - [JSONAPIPlug.Exceptions.InvalidQuery](JSONAPIPlug.Exceptions.InvalidQuery.md): Defines a generic exception for when an invalid query parameter is received.