PROTOCOLS
GraphQL
Full-featured GraphQL client with CodeMirror 6 editor, schema introspection and SDL import, visual query builder, docs panel, multi-operation support, and live subscriptions via graphql-transport-ws.
Schema Loading & Caching
API Studio fetches and caches your GraphQL schema to power autocomplete, lint, and the docs panel. Four schema operations are available:
Introspection
Click Fetch Schema to send the standard introspection query to the endpoint. The result is cached with a timestamp and displayed with an introspection source badge.
SDL Import
Paste or browse a .graphql / .gql file. The schema is parsed locally without a network request. Shows an sdl source badge.
Schema URL Override
Point the introspection fetch at a different endpoint than the one used for request execution. Set via the schemaUrlOverride field in the request body settings.
Clear Schema
Reset the cached schema for the current URL. Useful when the server schema has changed and you want a fresh introspection.
graphql-schemas.json, keyed by normalized URL (lowercase host, no default port, no trailing slash). Each entry records the source (introspection or sdl) and a fetchedAt timestamp.
CodeMirror 6 Editor
The query editor is powered by CodeMirror 6 with the cm6-graphql extension for full language support.
# comments; Variables uses // and /* */ comments{{variable}} tokens are decorated with per-source colors (global-env, vault, local-env, collection, unresolved)Visual Query Builder
Build queries visually without writing GraphQL by hand. The builder generates the full operation string in real-time as you check fields.
{dotPath}_{argName}countries.name with argument filter, the variable is named $countries_name_filter. Dots in the path are replaced with underscores.
Docs Panel
A searchable type browser built from the fetched schema — navigate types, fields, and arguments without leaving the editor.
Multi-Operation Support
Work with multiple named operations in a single document. API Studio handles operation selection and cleanup automatically.
operationName is included in the request bodyoperationName automaticallyoperationName is included in generated cURL commandsSubscriptions (graphql-transport-ws)
Subscribe to real-time data streams using the modern graphql-transport-ws subprotocol.
subscription, the Send button becomes Subscribegraphql-transport-ws subprotocol over WebSocketconnection_init → connection_ack → subscribe → next / error / completenext payload pretty-printed as JSONcomplete frame and close the streamping / pong frames handled automaticallyGraphQL Variables
The variables editor sits below the query editor and accepts JSON with full comment support.
// single-line and /* */ multi-line comments; stripped before sendingInvalid JSON in GraphQL variables: …{{env_var}} placeholders are resolved before JSON parsingExample with comments and variables:
{
// User ID from environment
"userId": "{{user_id}}",
/* Pagination */
"first": 10,
"after": null
}
Tips & Troubleshooting
Autocomplete not working?
Check that the schema has been fetched — look for the green source badge next to the URL. Without a schema, autocomplete and lint are disabled.
Schema URL override
Use when the introspection endpoint differs from the runtime endpoint (e.g., gateway vs. service URL, or schema only exposed on a dev port).
Large schemas
Initial introspection fetch may take a few seconds for very large schemas. Results are cached afterward — subsequent loads are instant.
Subscriptions not connecting?
The server must support the graphql-transport-ws subprotocol (the modern standard). The legacy subscriptions-transport-ws protocol is not supported.