# ash_json_api v1.6.0-rc.1 - Table of Contents The JSON:API extension for the Ash Framework. ## Pages - [Home](readme.md) - Tutorials - [Getting started with AshJsonApi](getting-started-with-ash-json-api.md) - Topics - [What is AshJsonApi](what-is-ash-json-api.md) - [Non-Spec query parameters](non-spec-query-parameters.md) - [Open API](open-api.md) - [Relationships](relationships.md) - [Links](links.md) - [Composite Primary Keys](composite-primary-keys.md) - [Upgrading to AshJsonApi to 1.0](upgrade.md) - [Authorize with AshJsonApi](authorize-with-json-api.md) - [Authenticating with AshJsonApi](authenticate-with-json-api.md) - [Errors](errors.md) - [Transforming Field Names](field-names.md) - [Paginated Relationships](paginated-relationships.md) - DSLs - [AshJsonApi.Resource](dsl-ashjsonapi-resource.md) - [AshJsonApi.Domain](dsl-ashjsonapi-domain.md) - About AshJsonApi - [Change Log](changelog.md) ## Modules - AshJsonApi - [AshJsonApi](AshJsonApi.md): Introspection functions for `AshJsonApi` domains. - [AshJsonApi.Domain](AshJsonApi.Domain.md): The entrypoint for adding JSON:API behavior to an Ash domain - [AshJsonApi.Resource](AshJsonApi.Resource.md): The entrypoint for adding JSON:API behavior to a resource" - [AshJsonApi.Router](AshJsonApi.Router.md): Use this module to create a router for your AshJsonApi. - Utilities - [AshJsonApi.OpenApi](AshJsonApi.OpenApi.md): Provides functions for generating schemas and operations for OpenApi definitions. - [AshJsonApi.Test](AshJsonApi.Test.md): Utilities for testing AshJsonApi. - Introspection - [AshJsonApi.Domain.Info](AshJsonApi.Domain.Info.md): Introspection helpers for AshJsonApi.Domain - [AshJsonApi.Resource.Info](AshJsonApi.Resource.Info.md): Introspection helpers for AshJsonApi.Resource - [AshJsonApi.Resource.Route](AshJsonApi.Resource.Route.md): Represents a route for a resource - Errors - [AshJsonApi.Error](AshJsonApi.Error.md): Represents an AshJsonApi Error - [AshJsonApi.Error.ConflictingParams](AshJsonApi.Error.ConflictingParams.md): Returned when path parameters and query parameters have conflicting names - [AshJsonApi.Error.InvalidBody](AshJsonApi.Error.InvalidBody.md): Returned when the request body provided is invalid - [AshJsonApi.Error.InvalidField](AshJsonApi.Error.InvalidField.md): Returned when a field is requested that does not exist or is invalid - [AshJsonApi.Error.InvalidFilter](AshJsonApi.Error.InvalidFilter.md): Returned when a filter parameter is invalid or malformed - [AshJsonApi.Error.InvalidHeader](AshJsonApi.Error.InvalidHeader.md): Returned when a header provided is invalid - [AshJsonApi.Error.InvalidIncludes](AshJsonApi.Error.InvalidIncludes.md): Returned when the includes string provided in the query parameter `include` is invalid. - [AshJsonApi.Error.InvalidPagination](AshJsonApi.Error.InvalidPagination.md): Returned when one of the nested parameters provided in the query parameter `page` is invalid - [AshJsonApi.Error.InvalidPathParam](AshJsonApi.Error.InvalidPathParam.md): Returned when a required path parameter is missing or invalid - [AshJsonApi.Error.InvalidQuery](AshJsonApi.Error.InvalidQuery.md): Returned when the query provided is invalid - [AshJsonApi.Error.InvalidRelationshipInput](AshJsonApi.Error.InvalidRelationshipInput.md): Returned when the request body provided is invalid - [AshJsonApi.Error.InvalidSort](AshJsonApi.Error.InvalidSort.md): Returned when a sort parameter is invalid or malformed - [AshJsonApi.Error.InvalidType](AshJsonApi.Error.InvalidType.md): Returned when a field is requested for a type that does not exist or is invalid - [AshJsonApi.Error.MissingSchema](AshJsonApi.Error.MissingSchema.md): Returned when a required schema is not found for validation - [AshJsonApi.Error.NotFound](AshJsonApi.Error.NotFound.md): Returned when a record was explicitly requested, but could not be found. - [AshJsonApi.Error.UnacceptableMediaType](AshJsonApi.Error.UnacceptableMediaType.md): Returned when the client does not provide (via the `Content-Type` header) the correct json API media type: application/vnd.api+json - [AshJsonApi.Error.UnknownError](AshJsonApi.Error.UnknownError.md): Returned when an unexpected error occurs that doesn't fit other categories - [AshJsonApi.Error.UnsupportedMediaType](AshJsonApi.Error.UnsupportedMediaType.md): Returned when the client does not accept (via the `Accept` header) the json API media type: application/vnd.api+json - [AshJsonApi.ToJsonApiError](AshJsonApi.ToJsonApiError.md): A protocol for turning an Ash exception into an AshJsonApi.Error - Internals - [AshJsonApi.Domain.BaseRoute](AshJsonApi.Domain.BaseRoute.md): Introspection target for base routes in `AshJsonApi.Domain` - [AshJsonApi.Domain.Verifiers.VerifyActions](AshJsonApi.Domain.Verifiers.VerifyActions.md): Verifies that all actions are valid for each route. - [AshJsonApi.Domain.Verifiers.VerifyHasType](AshJsonApi.Domain.Verifiers.VerifyHasType.md): Verifies that a resource has a type if it has any routes that need it. - [AshJsonApi.Domain.Verifiers.VerifyQueryParams](AshJsonApi.Domain.Verifiers.VerifyQueryParams.md): Verify query params are not reserved or shadowed by the route - [AshJsonApi.Domain.Verifiers.VerifyRelationships](AshJsonApi.Domain.Verifiers.VerifyRelationships.md): Verifies that any routes that reference a relationship reference a public one - [AshJsonApi.Igniter](AshJsonApi.Igniter.md): Codemods and utilities for working with AshJsonApi & Igniter - [AshJsonApi.Plug.Parser](AshJsonApi.Plug.Parser.md): Extracts ash multipart request body. - [AshJsonApi.Resource.Verifiers.VerifyActions](AshJsonApi.Resource.Verifiers.VerifyActions.md): Verifies that all actions are valid for each route. - [AshJsonApi.Resource.Verifiers.VerifyHasType](AshJsonApi.Resource.Verifiers.VerifyHasType.md): Verifies that a resource has a type if it has any routes that need it. - [AshJsonApi.Resource.Verifiers.VerifyIncludes](AshJsonApi.Resource.Verifiers.VerifyIncludes.md): Verifies that all includes are valid public relationships - [AshJsonApi.Resource.Verifiers.VerifyQueryParams](AshJsonApi.Resource.Verifiers.VerifyQueryParams.md): Verify query params are not reserved or shadowed by the route - [AshJsonApi.Resource.Verifiers.VerifyRelationships](AshJsonApi.Resource.Verifiers.VerifyRelationships.md): Verifies that any routes that reference a relationship reference a public one - [AshJsonApi.Type](AshJsonApi.Type.md): The behaviour for customizing how a datatype is rendered and written in AshJsonApi. ## Mix Tasks - Internals - [mix ash_json_api.install](Mix.Tasks.AshJsonApi.Install.md): Installs AshJsonApi. Should be run with `mix igniter.install ash_json_api` - [mix ash_json_api.routes](Mix.Tasks.AshJsonApi.Routes.md): Prints all routes pertaining to AshJsonApi.Router for the default or a given router.