Make your GraphQL schema publicly visible without introspection
Parul Schroff
Ever faced the conundrum of how to share your GraphQL schema with users outside of your organization, perhaps with partner or vendor developers? If so, Apollo now has a simple solution for you! We recently launched the ability to make graphs in Apollo Studio publicly visible so that you share your graph with anyone, even those without a Studio login.
How to share graphs outside of your Apollo organization
Making your graph publicly visible is as easy as flipping a switch. Simply navigate to the Settings page for your graph in Apollo Studio and under the Access tab, set a variant of your choosing as “public.” That particular variant of your graph is now publicly visible in Apollo Studio!
What’s visible when a graph is public?
When a variant of a graph is set to public, anyone can navigate to the public Studio URL for that variant and access the README, schema reference, changelog, and Explorer (this is equivalent to Consumer-level access). You can preview how the public view will appear to external users by clicking the Public ↗︎
icon in the top nav.
You can share the public link with any user, even outside of the Studio organization to explore and consume your graph!
⚠️ Note: When a specific graph variant is marked as “public”, any unauthenticated user on the internet with the link to the public variant can access its schema. However, accessing endpoint to query data could require authentication depending on the GraphQL endpoint configuration.
Give all developers a great UX for your graph
You may be wondering, “GraphQL already has introspection, why shouldn’t I just use that?” Well, in addition to the many security considerations that make disabling introspection in production a good idea, there are also many UX benefits that you miss out on with introspection alone.
A better onboarding experience for new developers
By making your graph public in Apollo Studio, every developer automatically gets access to the README, schema docs, changelog, and Explorer, all in one central location. No more building custom documentation portals and changelogs that have to be manually updated.
Be specific about what you share externally
A key problem with introspection is that it makes your entire graph visible, including things like experimental fields that you may not want external developers to use yet. With Apollo Studio, you can make an approved, production variant public and keep private, pre-production variants to create and test new fields. In the near future, we’ll be adding more features to make sharing even more customizable!
Share your graphs today!
Excited? We hope so! Sharing graphs with a broader audience could not get any easier. And don’t forget to update the README of your graph before sharing. Head over to Studio and get wider adoption of your graph today! And as always, we love hearing from you, so if you have any feedback, please drop a post on the Apollo Studio GitHub Community!