Skip to content

Instantly share code, notes, and snippets.

@o-az
Last active July 28, 2023 05:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save o-az/cd7128b94c878b2f08501176cc2cdd25 to your computer and use it in GitHub Desktop.
Save o-az/cd7128b94c878b2f08501176cc2cdd25 to your computer and use it in GitHub Desktop.
Introspect GraphQL Schema via curl command
curl --silent --location \
  --request POST \
  --url 'https://spacex-production.up.railway.app' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query IntrospectionQuery { __schema { queryType { name } mutationType { name } subscriptionType { name } types { ...FullType } directives { name description locations args { ...InputValue } } } } fragment FullType on __Type { kind name description fields(includeDeprecated: true) { name description args { ...InputValue } type { ...TypeRef } isDeprecated deprecationReason } inputFields { ...InputValue } interfaces { ...TypeRef } enumValues(includeDeprecated: true) { name description isDeprecated deprecationReason } possibleTypes { ...TypeRef } } fragment InputValue on __InputValue { name description type { ...TypeRef } defaultValue } fragment TypeRef on __Type { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name } } } } } } } }","variable":{}}'
  • This is useful if you need to generate TypeScript types from a schema.
  • Only works if schema introspection is enabled (usually introspection is enabled in public GraphQL API).

Replace https://spacex-production.up.railway.app with the appropriate URL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment