View Source Absinthe.Phoenix

Build Status Version Hex Docs Download License Last Updated

This package integrates Absinthe subscriptions with Phoenix, so that you can use subscriptions via websockets.

For getting started guides on subscriptions see:

For getting started guides on server side rendering see:


Install from

For Phoenix 1.4, see the v1.5 branch:

Phoenix 1.5

def deps do
    {:absinthe_phoenix, "~> 2.0.0"}

Note: Absinthe.Phoenix requires Elixir 1.10 or higher.


See CHANGELOG for upgrade steps between versions.

You may want to look for the specific upgrade guide in the Absinthe documentation.


See "Usage," below, for basic usage information and links to specific resources.

See the GitHub organization.


You need to have a working Phoenix PubSub configured. Here is what the default looks like if you create a new Phoenix project:

config :my_app, MyAppWeb.Endpoint,
  # ... other config
  pubsub_server: MyApp.PubSub

In your application supervisor add a line AFTER your existing endpoint supervision line:

  # other children ...
  MyAppWeb.Endpoint, # this line should already exist
  {Absinthe.Subscription, MyAppWeb.Endpoint}, # add this line
  # other children ...

Where MyAppWeb.Endpoint is the name of your application's phoenix endpoint.

In your MyAppWeb.Endpoint module add:

use Absinthe.Phoenix.Endpoint

In your socket add:

use Absinthe.Phoenix.Socket,
  schema: MyAppWeb.Schema

Where MyAppWeb.Schema is the name of your Absinthe schema module.

That is all that's required for setup on the server.

For client side guidance see the guides.

GraphiQL Usage

From within GraphiQL: To use Absinthe.Phoenix from within GraphiQL, you need to tell GraphiQL about your websocket endpoint.

forward "/graphiql", Absinthe.Plug.GraphiQL,
  schema: MyAppWeb.Schema,
  socket: MyAppWeb.UserSocket


The project is under constant improvement by a growing list of contributors, and your feedback is important. Please join us in Slack (#absinthe-graphql under the Elixir Slack account) or the Elixir Forum (tagged absinthe).

Please remember that all interactions in our official spaces follow our Code of Conduct.


Please follow contribution guide.

Copyright (c) 2016 Bruce Williams, Ben Wilson

Released under the MIT License, which can be found in