Skip to content

Instantly share code, notes, and snippets.

@o-az
Last active August 26, 2024 11:59
Show Gist options
  • Select an option

  • Save o-az/cd7128b94c878b2f08501176cc2cdd25 to your computer and use it in GitHub Desktop.

Select an option

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.

@o-az
Copy link
Author

o-az commented Jul 28, 2023

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