# ash_graphql v1.10.0 - Table of Contents

> The extension for building GraphQL APIs with Ash

## GUIDES

- [Home](readme.md)

- Tutorials
  - [Getting Started With GraphQL](getting-started-with-graphql.md)

- Topics
  - [Authorize with GraphQL](authorize-with-graphql.md)
  - [Handling Errors](handle-errors.md)
  - [Generic Actions](generic-actions.md)
  - [Using the SDL File](sdl-file.md)
  - [Use Enums with GraphQL](use-enums-with-graphql.md)
  - [Use JSON with GraphQL](use-json-with-graphql.md)
  - [Using Subscriptions](use-subscriptions-with-graphql.md)
  - [Use Unions with GraphQL](use-unions-with-graphql.md)
  - [Use Maps with GraphQL](use-maps-with-graphql.md)
  - [Monitoring](monitoring.md)
  - [GraphQL Query Generation](graphql-generation.md)
  - [Modifying the Resolution](modifying-the-resolution.md)
  - [Relay](relay.md)
  - [Custom Queries &amp; Mutations](custom-queries-and-mutations.md)
  - [Upgrading to 1.0](upgrade.md)

- DSLs
  - [AshGraphql.Domain](dsl-ashgraphql-domain.md)
  - [AshGraphql.Resource](dsl-ashgraphql-resource.md)

- About AshGraphql
  - [Change Log](changelog.md)

## Modules

- [AshGraphql.DefaultMetadataHandler](AshGraphql.DefaultMetadataHandler.md): Default handler for building response metadata.
- [AshGraphql.Domain.Verifiers.VerifySubscriptionPubsub](AshGraphql.Domain.Verifiers.VerifySubscriptionPubsub.md): Verifies that pubsub is properly configured for subscriptions at the domain level.
- [AshGraphql.Igniter](AshGraphql.Igniter.md): Codemods and utilities for working with AshGraphql & Igniter
- [AshGraphql.Phase.InjectMetadata](AshGraphql.Phase.InjectMetadata.md): Absinthe phase that injects metadata into response extensions.
- [AshGraphql.Plugin.ResponseMetadata](AshGraphql.Plugin.ResponseMetadata.md): Absinthe plugin that captures timing information and injects response metadata.
- [AshGraphql.Resource.Subscription](AshGraphql.Resource.Subscription.md): Represents a configured query on a resource
- [AshGraphql.Resource.Transformers.Subscription](AshGraphql.Resource.Transformers.Subscription.md): Adds the notifier for Subscriptions to the Resource

- [AshGraphql.Subscription.Actor](AshGraphql.Subscription.Actor.md): Allows the user to substitue an actor for another more generic actor, 
this can be used to deduplicate subscription execution

- [AshGraphql.Subscription.Batcher](AshGraphql.Subscription.Batcher.md): If started as a GenServer, this module will batch notifications and send them in bulk.
Otherwise, it will send them immediately.

- [AshGraphql.Subscription.Config](AshGraphql.Subscription.Config.md): Creates a config function used for the absinthe subscription definition
- [AshGraphql.Subscription.Endpoint](AshGraphql.Subscription.Endpoint.md)
- [AshGraphql.Subscription.Notifier](AshGraphql.Subscription.Notifier.md): AshNotifier that triggers absinthe if subscriptions are listening

- [AshGraphql.Subscription.Runner](AshGraphql.Subscription.Runner.md): Custom implementation if the run_docset function for the PubSub module used for Subscriptions

- AshGraphql
  - [AshGraphql](AshGraphql.md): AshGraphql is a GraphQL extension for the Ash framework.

- Introspection
  - [AshGraphql.Domain](AshGraphql.Domain.md): The entrypoint for adding GraphQL behavior to an Ash domain

  - [AshGraphql.Domain.Info](AshGraphql.Domain.Info.md): Introspection helpers for AshGraphql.Domain
  - [AshGraphql.Resource](AshGraphql.Resource.md): This Ash resource extension adds configuration for exposing a resource in a graphql.

  - [AshGraphql.Resource.Action](AshGraphql.Resource.Action.md): Represents a configured generic action
  - [AshGraphql.Resource.Info](AshGraphql.Resource.Info.md): Introspection helpers for AshGraphql.Resource
  - [AshGraphql.Resource.ManagedRelationship](AshGraphql.Resource.ManagedRelationship.md): Represents a managed relationship configuration on a mutation
  - [AshGraphql.Resource.Mutation](AshGraphql.Resource.Mutation.md): Represents a configured mutation on a resource
  - [AshGraphql.Resource.Query](AshGraphql.Resource.Query.md): Represents a configured query on a resource

- Errors
  - [AshGraphql.Error](AshGraphql.Error.md)
  - [AshGraphql.Errors](AshGraphql.Errors.md): Utilities for working with errors in custom resolvers.

- Miscellaneous
  - [AshGraphql.Resource.Helpers](AshGraphql.Resource.Helpers.md): Imported helpers for the graphql DSL section

- Utilities
  - [AshGraphql.ContextHelpers](AshGraphql.ContextHelpers.md): Helper to extract context from its various locations
  - [AshGraphql.DefaultErrorHandler](AshGraphql.DefaultErrorHandler.md): Replaces any text in message or short_message with variables
  - [AshGraphql.Plug](AshGraphql.Plug.md): Automatically set up the GraphQL `actor` and `tenant`.
  - [AshGraphql.Subscription](AshGraphql.Subscription.md): Helpers for working with absinthe subscriptions

  - [AshGraphql.Type](AshGraphql.Type.md): Callbacks used to enrich types with GraphQL-specific metadata.

  - [AshGraphql.Types.JSON](AshGraphql.Types.JSON.md): The Json scalar type allows arbitrary JSON values to be passed in and out.

  - [AshGraphql.Types.JSONString](AshGraphql.Types.JSONString.md): The Json scalar type allows arbitrary JSON values to be passed in and out.

## Mix Tasks

- [mix ash_graphql.install](Mix.Tasks.AshGraphql.Install.md): Installs AshGraphql. Should be run with `mix igniter.install ash_graphql`

