diff --git a/spec/Section 3 -- Type System.md b/spec/Section 3 -- Type System.md index 8940956f7..395c56245 100644 --- a/spec/Section 3 -- Type System.md +++ b/spec/Section 3 -- Type System.md @@ -69,7 +69,11 @@ A schema defines the initial root operation type for each kind of operation it supports: query, mutation, and subscription; this determines the place in the type system where those operations begin. -The `query` root operation type must be provided and must be an Object type. +A schema must define at least one root operation type. + +The `query` root operation type must be an Object type; if it is not +explicitly provided then a default Query object type only supporting +introspection will be used. The `mutation` root operation type is optional; if it is not provided, the service does not support mutations. If it is provided, it must be an diff --git a/spec/Section 4 -- Introspection.md b/spec/Section 4 -- Introspection.md index 9418a3b7c..757a29e43 100644 --- a/spec/Section 4 -- Introspection.md +++ b/spec/Section 4 -- Introspection.md @@ -111,7 +111,8 @@ __type(name: String!): __Type ``` These fields are implicit and do not appear in the fields list in the root type -of the query operation. +of the query operation. They are available even if the schema does not provide +its own root type for the query operation. The schema of the GraphQL schema introspection system: