MutationRoot is the entry point for mutations. A mutation includes one or more mutations. A mutation is a JSON object which is
- prefixed by the keyword "mutation" and an arbitrary operation name
- declares the relevant service name (e.g. "createSpace") which takes:
- a JSON object, the input, containing fields to update and their new values
- a set of fields and/or children (which will also have fields and/or children etc etc) to be returned after the mutation has occurred
Like a query, a mutation can also include variables, which will be defined as a separate HashMap of the GraphQL request. This is technically supported by the SDK - they can be added to the GraphQLRequest object - but in practice, because the SDK provides builders, the expectation is that any variables will be passed as attributes for the builder.