@@ -119,10 +119,106 @@ warnings.
119
119
120
120
** Schema Introspection Schema**
121
121
122
- The schema introspection system is itself represented as a GraphQL schema.
122
+ The schema introspection system is itself represented as a GraphQL schema. Below
123
+ are the full set of type system definitions providing schema introspection,
124
+ which are fully defined in the sections below.
123
125
124
- See [ Appendix C] ( #sec-Introspection-types ) for more details about the schema
125
- type definitions.
126
+ ``` graphql
127
+ type __Schema {
128
+ description : String
129
+ types : [__Type ! ]!
130
+ queryType : __Type !
131
+ mutationType : __Type
132
+ subscriptionType : __Type
133
+ directives : [__Directive ! ]!
134
+ }
135
+
136
+ type __Type {
137
+ kind : __TypeKind !
138
+ name : String
139
+ description : String
140
+ # must be non-null for OBJECT and INTERFACE, otherwise null.
141
+ fields (includeDeprecated : Boolean = false ): [__Field ! ]
142
+ # must be non-null for OBJECT and INTERFACE, otherwise null.
143
+ interfaces : [__Type ! ]
144
+ # must be non-null for INTERFACE and UNION, otherwise null.
145
+ possibleTypes : [__Type ! ]
146
+ # must be non-null for ENUM, otherwise null.
147
+ enumValues (includeDeprecated : Boolean = false ): [__EnumValue ! ]
148
+ # must be non-null for INPUT_OBJECT, otherwise null.
149
+ inputFields (includeDeprecated : Boolean = false ): [__InputValue ! ]
150
+ # must be non-null for NON_NULL and LIST, otherwise null.
151
+ ofType : __Type
152
+ # may be non-null for custom SCALAR, otherwise null.
153
+ specifiedByURL : String
154
+ }
155
+
156
+ enum __TypeKind {
157
+ SCALAR
158
+ OBJECT
159
+ INTERFACE
160
+ UNION
161
+ ENUM
162
+ INPUT_OBJECT
163
+ LIST
164
+ NON_NULL
165
+ }
166
+
167
+ type __Field {
168
+ name : String !
169
+ description : String
170
+ args (includeDeprecated : Boolean = false ): [__InputValue ! ]!
171
+ type : __Type !
172
+ isDeprecated : Boolean !
173
+ deprecationReason : String
174
+ }
175
+
176
+ type __InputValue {
177
+ name : String !
178
+ description : String
179
+ type : __Type !
180
+ defaultValue : String
181
+ isDeprecated : Boolean !
182
+ deprecationReason : String
183
+ }
184
+
185
+ type __EnumValue {
186
+ name : String !
187
+ description : String
188
+ isDeprecated : Boolean !
189
+ deprecationReason : String
190
+ }
191
+
192
+ type __Directive {
193
+ name : String !
194
+ description : String
195
+ locations : [__DirectiveLocation ! ]!
196
+ args (includeDeprecated : Boolean = false ): [__InputValue ! ]!
197
+ isRepeatable : Boolean !
198
+ }
199
+
200
+ enum __DirectiveLocation {
201
+ QUERY
202
+ MUTATION
203
+ SUBSCRIPTION
204
+ FIELD
205
+ FRAGMENT_DEFINITION
206
+ FRAGMENT_SPREAD
207
+ INLINE_FRAGMENT
208
+ VARIABLE_DEFINITION
209
+ SCHEMA
210
+ SCALAR
211
+ OBJECT
212
+ FIELD_DEFINITION
213
+ ARGUMENT_DEFINITION
214
+ INTERFACE
215
+ UNION
216
+ ENUM
217
+ ENUM_VALUE
218
+ INPUT_OBJECT
219
+ INPUT_FIELD_DEFINITION
220
+ }
221
+ ```
126
222
127
223
### The \_\_ Schema Type
128
224
0 commit comments