For whatever reason, Prismic doesn't really make many details public about how their APIs work, instead choosing to obscure this information in a number of libraries.
This approach is no doubt a well-intentioned attempt to make things "simple," but, as anyone who as ever encountered a leaky-abstraction will tell you, it ends up making things much more difficult. The approach sacrifices the elegance and flexibility of the platform, raises the barrier to entry and is patronizing to competent developers.
However, the product itself is great and I'm already quite committed. So rather than leave, I thought I'd take it upon myself to write the missing Prismic documentation.
Fetching data via GraphQL
When sending a query to GraphQL endpoint, the following headers are required:
Content-Type: "application-json"