Exporting the Hasura GraphQL schema

Table of contents

If you need to share, introspect or export the GraphQL schema, you can use community tooling such as graphqurl, apollo, get-graphql-schema, etc.

Using graphqurl

For example, using graphqurl, you can get the schema as follows:

Run npm install -g graphqurl to install graphqurl. Then you can run the following commands to download the GraphQL schema:

# If the GraphQL engine is running at https://my-graphql-engine.com/v1alpha1/graphql,
# without an admin secret key
gq https://my-graphql-engine.com/v1alpha1/graphql --introspect > schema.graphql

# If Hasura GraphQL Engine is running with an admin secret
gq https://my-graphql-engine.com/v1alpha1/graphql -H 'X-Hasura-Admin-Secret: adminsecretkey' --introspect > schema.graphql

By default, it downloads the schema in .graphql format. If you want it in JSON format, you can use an additional flag --format json:

# Getting the schema in .json format
gq https://my-graphql-engine.com/v1alpha1/graphql --introspect --format json > schema.json