Subscriptions

A GraphQL subscription is essentially a query where the client receives an event whenever the value of any field changes upstream. The Hasura GraphQL engine supports subscriptions for all kind of queries. All the concepts of queries hold true with subscriptions as well.

Convert a query to a subscription

You can turn any query into a subscription by simply replacing query with subscription as the operation type.

Caveat

The GraphQL spec allows for only one root field in a subscription. So though Hasura GraphQL engine supports multiple root fields in subscriptions, most clients will not allow it.

Communication protocol

Hasura GraphQL engine uses the GraphQL over Websocket Protocol by the apollographql/subscriptions-transport-ws library for sending and receiving events.