{
  "__schema": {
    "directives": [
      {
        "args": [
          {
            "defaultValue": "\"No longer supported\"",
            "description": "Explains why this element was deprecated, usually also including a suggestion\nfor how to access supported similar data. Formatted in\n[Markdown](https://daringfireball.net/projects/markdown/).",
            "name": "reason",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "description": "Marks an element of a GraphQL schema as no longer supported.",
        "locations": [
          "FIELD_DEFINITION",
          "ENUM_VALUE",
          "ARGUMENT_DEFINITION"
        ],
        "name": "deprecated"
      },
      {
        "args": [
          {
            "defaultValue": null,
            "description": "Included when true.",
            "name": "if",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          }
        ],
        "description": "Directs the executor to include this field or fragment only when the `if` argument is true.",
        "locations": [
          "FIELD",
          "FRAGMENT_SPREAD",
          "INLINE_FRAGMENT"
        ],
        "name": "include"
      },
      {
        "args": [
          {
            "defaultValue": null,
            "description": "Skipped when true.",
            "name": "if",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          }
        ],
        "description": "Directs the executor to skip this field or fragment when the `if` argument is true.",
        "locations": [
          "FIELD",
          "FRAGMENT_SPREAD",
          "INLINE_FRAGMENT"
        ],
        "name": "skip"
      },
      {
        "args": [
          {
            "defaultValue": null,
            "description": "The URL should point to a human-readable specification of the data format, serialization, and coercion rules.",
            "name": "url",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          }
        ],
        "description": "Provides a scalar specification URL for specifying the behavior of custom scalar types.",
        "locations": [
          "SCALAR"
        ],
        "name": "specifiedBy"
      }
    ],
    "mutationType": {
      "name": "Mutation"
    },
    "queryType": {
      "name": "Query"
    },
    "subscriptionType": null,
    "types": [
      {
        "description": "The `Boolean` scalar type represents `true` or `false`.",
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "SCALAR",
        "name": "Boolean",
        "possibleTypes": null
      },
      {
        "description": "A character from the Star Wars universe",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The ID of the character",
            "isDeprecated": false,
            "name": "id",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "ID",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The name of the character",
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The friends of the character, or an empty list if they have none",
            "isDeprecated": false,
            "name": "friends",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "INTERFACE",
                "name": "Character",
                "ofType": null
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "first",
                "type": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              {
                "defaultValue": null,
                "description": null,
                "name": "after",
                "type": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": "The friends of the character exposed as a connection with edges",
            "isDeprecated": false,
            "name": "friendsConnection",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "FriendsConnection",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The movies this character appears in",
            "isDeprecated": false,
            "name": "appearsIn",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "Episode",
                    "ofType": null
                  }
                }
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": null,
        "kind": "INTERFACE",
        "name": "Character",
        "possibleTypes": [
          {
            "kind": "OBJECT",
            "name": "Human",
            "ofType": null
          },
          {
            "kind": "OBJECT",
            "name": "Droid",
            "ofType": null
          }
        ]
      },
      {
        "description": "An autonomous mechanical character in the Star Wars universe",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The ID of the droid",
            "isDeprecated": false,
            "name": "id",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "ID",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "What others call this droid",
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "This droid's friends, or an empty list if they have none",
            "isDeprecated": false,
            "name": "friends",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "INTERFACE",
                "name": "Character",
                "ofType": null
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "first",
                "type": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              {
                "defaultValue": null,
                "description": null,
                "name": "after",
                "type": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": "The friends of the droid exposed as a connection with edges",
            "isDeprecated": false,
            "name": "friendsConnection",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "FriendsConnection",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The movies this droid appears in",
            "isDeprecated": false,
            "name": "appearsIn",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "Episode",
                    "ofType": null
                  }
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "This droid's primary function",
            "isDeprecated": false,
            "name": "primaryFunction",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [
          {
            "kind": "INTERFACE",
            "name": "Character",
            "ofType": null
          }
        ],
        "kind": "OBJECT",
        "name": "Droid",
        "possibleTypes": null
      },
      {
        "description": "The episodes in the Star Wars trilogy",
        "enumValues": [
          {
            "deprecationReason": null,
            "description": "Star Wars Episode IV: A New Hope, released in 1977.",
            "isDeprecated": false,
            "name": "NEWHOPE"
          },
          {
            "deprecationReason": null,
            "description": "Star Wars Episode V: The Empire Strikes Back, released in 1980.",
            "isDeprecated": false,
            "name": "EMPIRE"
          },
          {
            "deprecationReason": null,
            "description": "Star Wars Episode VI: Return of the Jedi, released in 1983.",
            "isDeprecated": false,
            "name": "JEDI"
          }
        ],
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "ENUM",
        "name": "Episode",
        "possibleTypes": null
      },
      {
        "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).",
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "SCALAR",
        "name": "Float",
        "possibleTypes": null
      },
      {
        "description": "A connection object for a character's friends",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The total number of friends",
            "isDeprecated": false,
            "name": "totalCount",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The edges for each of the character's friends.",
            "isDeprecated": false,
            "name": "edges",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "FriendsEdge",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "A list of the friends, as a convenience when edges are not needed.",
            "isDeprecated": false,
            "name": "friends",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "INTERFACE",
                "name": "Character",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "Information for paginating this connection",
            "isDeprecated": false,
            "name": "pageInfo",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "PageInfo",
                "ofType": null
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "FriendsConnection",
        "possibleTypes": null
      },
      {
        "description": "An edge object for a character's friends",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "A cursor used for pagination",
            "isDeprecated": false,
            "name": "cursor",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "ID",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The character represented by this friendship edge",
            "isDeprecated": false,
            "name": "node",
            "type": {
              "kind": "INTERFACE",
              "name": "Character",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "FriendsEdge",
        "possibleTypes": null
      },
      {
        "description": "A humanoid creature from the Star Wars universe",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The ID of the human",
            "isDeprecated": false,
            "name": "id",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "ID",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "What this human calls themselves",
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": "METER",
                "description": null,
                "name": "unit",
                "type": {
                  "kind": "ENUM",
                  "name": "LengthUnit",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": "Height in the preferred unit, default is meters",
            "isDeprecated": false,
            "name": "height",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Float",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "Mass in kilograms, or null if unknown",
            "isDeprecated": false,
            "name": "mass",
            "type": {
              "kind": "SCALAR",
              "name": "Float",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "This human's friends, or an empty list if they have none",
            "isDeprecated": false,
            "name": "friends",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "INTERFACE",
                "name": "Character",
                "ofType": null
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "first",
                "type": {
                  "kind": "SCALAR",
                  "name": "Int",
                  "ofType": null
                }
              },
              {
                "defaultValue": null,
                "description": null,
                "name": "after",
                "type": {
                  "kind": "SCALAR",
                  "name": "ID",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": "The friends of the human exposed as a connection with edges",
            "isDeprecated": false,
            "name": "friendsConnection",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "FriendsConnection",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The movies this human appears in",
            "isDeprecated": false,
            "name": "appearsIn",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "Episode",
                    "ofType": null
                  }
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "A list of starships this person has piloted, or an empty list if none",
            "isDeprecated": false,
            "name": "starships",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "Starship",
                "ofType": null
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [
          {
            "kind": "INTERFACE",
            "name": "Character",
            "ofType": null
          }
        ],
        "kind": "OBJECT",
        "name": "Human",
        "possibleTypes": null
      },
      {
        "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.",
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "SCALAR",
        "name": "ID",
        "possibleTypes": null
      },
      {
        "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "SCALAR",
        "name": "Int",
        "possibleTypes": null
      },
      {
        "description": "Units of height",
        "enumValues": [
          {
            "deprecationReason": null,
            "description": "The standard unit around the world",
            "isDeprecated": false,
            "name": "METER"
          },
          {
            "deprecationReason": null,
            "description": "Primarily used in the United States",
            "isDeprecated": false,
            "name": "FOOT"
          }
        ],
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "ENUM",
        "name": "LengthUnit",
        "possibleTypes": null
      },
      {
        "description": "The mutation type, represents all updates we can make to our data",
        "enumValues": null,
        "fields": [
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "episode",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "Episode",
                    "ofType": null
                  }
                }
              },
              {
                "defaultValue": null,
                "description": null,
                "name": "review",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "INPUT_OBJECT",
                    "name": "ReviewInput",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "createReview",
            "type": {
              "kind": "OBJECT",
              "name": "Review",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "Mutation",
        "possibleTypes": null
      },
      {
        "description": "Information for paginating this connection",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "startCursor",
            "type": {
              "kind": "SCALAR",
              "name": "ID",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "endCursor",
            "type": {
              "kind": "SCALAR",
              "name": "ID",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "hasNextPage",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "PageInfo",
        "possibleTypes": null
      },
      {
        "description": "The query type, represents all of the entry points into our object graph",
        "enumValues": null,
        "fields": [
          {
            "args": [
              {
                "defaultValue": "NEWHOPE",
                "description": null,
                "name": "episode",
                "type": {
                  "kind": "ENUM",
                  "name": "Episode",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "hero",
            "type": {
              "kind": "INTERFACE",
              "name": "Character",
              "ofType": null
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "episode",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "Episode",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "reviews",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "Review",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "text",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "SCALAR",
                    "name": "String",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "search",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "UNION",
                  "name": "SearchResult",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "id",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "SCALAR",
                    "name": "ID",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "character",
            "type": {
              "kind": "INTERFACE",
              "name": "Character",
              "ofType": null
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "id",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "SCALAR",
                    "name": "ID",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "droid",
            "type": {
              "kind": "OBJECT",
              "name": "Droid",
              "ofType": null
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "id",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "SCALAR",
                    "name": "ID",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "human",
            "type": {
              "kind": "OBJECT",
              "name": "Human",
              "ofType": null
            }
          },
          {
            "args": [
              {
                "defaultValue": null,
                "description": null,
                "name": "id",
                "type": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "SCALAR",
                    "name": "ID",
                    "ofType": null
                  }
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "starship",
            "type": {
              "kind": "OBJECT",
              "name": "Starship",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "Query",
        "possibleTypes": null
      },
      {
        "description": "Represents a review for a movie",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The number of stars this review gave, 1-5",
            "isDeprecated": false,
            "name": "stars",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "Comment about the movie",
            "isDeprecated": false,
            "name": "commentary",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "Review",
        "possibleTypes": null
      },
      {
        "description": "The input object sent when someone is creating a new review",
        "enumValues": null,
        "fields": null,
        "inputFields": [
          {
            "defaultValue": null,
            "description": "0-5 stars",
            "name": "stars",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Int",
                "ofType": null
              }
            }
          },
          {
            "defaultValue": null,
            "description": "Comment about the movie, optional",
            "name": "commentary",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "interfaces": null,
        "kind": "INPUT_OBJECT",
        "name": "ReviewInput",
        "possibleTypes": null
      },
      {
        "description": null,
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "UNION",
        "name": "SearchResult",
        "possibleTypes": [
          {
            "kind": "OBJECT",
            "name": "Human",
            "ofType": null
          },
          {
            "kind": "OBJECT",
            "name": "Droid",
            "ofType": null
          },
          {
            "kind": "OBJECT",
            "name": "Starship",
            "ofType": null
          }
        ]
      },
      {
        "description": null,
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "The ID of the starship",
            "isDeprecated": false,
            "name": "id",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "ID",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The name of the starship",
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": "METER",
                "description": null,
                "name": "unit",
                "type": {
                  "kind": "ENUM",
                  "name": "LengthUnit",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": "Length of the starship, along the longest axis",
            "isDeprecated": false,
            "name": "length",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Float",
                "ofType": null
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "Starship",
        "possibleTypes": null
      },
      {
        "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",
        "enumValues": null,
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "SCALAR",
        "name": "String",
        "possibleTypes": null
      },
      {
        "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior\nin ways field arguments will not suffice, such as conditionally including or\nskipping a field. Directives provide this by describing additional information\nto the executor.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "description",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "locations",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "ENUM",
                    "name": "__DirectiveLocation",
                    "ofType": null
                  }
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "args",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__InputValue",
                    "ofType": null
                  }
                }
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__Directive",
        "possibleTypes": null
      },
      {
        "description": "A Directive can be adjacent to many parts of the GraphQL language, a\n__DirectiveLocation describes one such possible adjacencies.",
        "enumValues": [
          {
            "deprecationReason": null,
            "description": "Location adjacent to a query operation.",
            "isDeprecated": false,
            "name": "QUERY"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a mutation operation.",
            "isDeprecated": false,
            "name": "MUTATION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a subscription operation.",
            "isDeprecated": false,
            "name": "SUBSCRIPTION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a field.",
            "isDeprecated": false,
            "name": "FIELD"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a fragment definition.",
            "isDeprecated": false,
            "name": "FRAGMENT_DEFINITION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a fragment spread.",
            "isDeprecated": false,
            "name": "FRAGMENT_SPREAD"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an inline fragment.",
            "isDeprecated": false,
            "name": "INLINE_FRAGMENT"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a schema definition.",
            "isDeprecated": false,
            "name": "SCHEMA"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a scalar definition.",
            "isDeprecated": false,
            "name": "SCALAR"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an object type definition.",
            "isDeprecated": false,
            "name": "OBJECT"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a field definition.",
            "isDeprecated": false,
            "name": "FIELD_DEFINITION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an argument definition.",
            "isDeprecated": false,
            "name": "ARGUMENT_DEFINITION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an interface definition.",
            "isDeprecated": false,
            "name": "INTERFACE"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to a union definition.",
            "isDeprecated": false,
            "name": "UNION"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an enum definition.",
            "isDeprecated": false,
            "name": "ENUM"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an enum value definition.",
            "isDeprecated": false,
            "name": "ENUM_VALUE"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an input object type definition.",
            "isDeprecated": false,
            "name": "INPUT_OBJECT"
          },
          {
            "deprecationReason": null,
            "description": "Location adjacent to an input object field definition.",
            "isDeprecated": false,
            "name": "INPUT_FIELD_DEFINITION"
          }
        ],
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "ENUM",
        "name": "__DirectiveLocation",
        "possibleTypes": null
      },
      {
        "description": "One possible value for a given Enum. Enum values are unique values, not a\nplaceholder for a string or numeric value. However an Enum value is returned in\na JSON response as a string.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "description",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "isDeprecated",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "deprecationReason",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__EnumValue",
        "possibleTypes": null
      },
      {
        "description": "Object and Interface types are described by a list of Fields, each of which has\na name, potentially a list of arguments, and a return type.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "description",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "args",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__InputValue",
                    "ofType": null
                  }
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "type",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "isDeprecated",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "deprecationReason",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__Field",
        "possibleTypes": null
      },
      {
        "description": "Arguments provided to Fields or Directives and the input fields of an\nInputObject are represented as Input Values which describe their type and\noptionally a default value.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "String",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "description",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "type",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "A GraphQL-formatted string representing the default value for this input value.",
            "isDeprecated": false,
            "name": "defaultValue",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "isDeprecated",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "SCALAR",
                "name": "Boolean",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "deprecationReason",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__InputValue",
        "possibleTypes": null
      },
      {
        "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all\navailable types and directives on the server, as well as the entry points for\nquery, mutation, and subscription operations.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": "A list of all types supported by this server.",
            "isDeprecated": false,
            "name": "types",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__Type",
                    "ofType": null
                  }
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "The type that query operations will be rooted at.",
            "isDeprecated": false,
            "name": "queryType",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "OBJECT",
                "name": "__Type",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "If this server supports mutation, the type that mutation operations will be rooted at.",
            "isDeprecated": false,
            "name": "mutationType",
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "If this server support subscription, the type that subscription operations will be rooted at.",
            "isDeprecated": false,
            "name": "subscriptionType",
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": "A list of all directives supported by this server.",
            "isDeprecated": false,
            "name": "directives",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "LIST",
                "name": null,
                "ofType": {
                  "kind": "NON_NULL",
                  "name": null,
                  "ofType": {
                    "kind": "OBJECT",
                    "name": "__Directive",
                    "ofType": null
                  }
                }
              }
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__Schema",
        "possibleTypes": null
      },
      {
        "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of\ntypes in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that\ntype. Scalar types provide no information beyond a name and description, while\nEnum types provide their values. Object and Interface types provide the fields\nthey describe. Abstract types, Union and Interface, provide the Object types\npossible at runtime. List and NonNull types compose other types.",
        "enumValues": null,
        "fields": [
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "kind",
            "type": {
              "kind": "NON_NULL",
              "name": null,
              "ofType": {
                "kind": "ENUM",
                "name": "__TypeKind",
                "ofType": null
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "name",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "description",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          },
          {
            "args": [
              {
                "defaultValue": "false",
                "description": null,
                "name": "includeDeprecated",
                "type": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "fields",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Field",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "interfaces",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Type",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "possibleTypes",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__Type",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [
              {
                "defaultValue": "false",
                "description": null,
                "name": "includeDeprecated",
                "type": {
                  "kind": "SCALAR",
                  "name": "Boolean",
                  "ofType": null
                }
              }
            ],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "enumValues",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__EnumValue",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "inputFields",
            "type": {
              "kind": "LIST",
              "name": null,
              "ofType": {
                "kind": "NON_NULL",
                "name": null,
                "ofType": {
                  "kind": "OBJECT",
                  "name": "__InputValue",
                  "ofType": null
                }
              }
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "ofType",
            "type": {
              "kind": "OBJECT",
              "name": "__Type",
              "ofType": null
            }
          },
          {
            "args": [],
            "deprecationReason": null,
            "description": null,
            "isDeprecated": false,
            "name": "specifiedByURL",
            "type": {
              "kind": "SCALAR",
              "name": "String",
              "ofType": null
            }
          }
        ],
        "inputFields": null,
        "interfaces": [],
        "kind": "OBJECT",
        "name": "__Type",
        "possibleTypes": null
      },
      {
        "description": "An enum describing what kind of type a given `__Type` is.",
        "enumValues": [
          {
            "deprecationReason": null,
            "description": "Indicates this type is a scalar.",
            "isDeprecated": false,
            "name": "SCALAR"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.",
            "isDeprecated": false,
            "name": "OBJECT"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.",
            "isDeprecated": false,
            "name": "INTERFACE"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is a union. `possibleTypes` is a valid field.",
            "isDeprecated": false,
            "name": "UNION"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is an enum. `enumValues` is a valid field.",
            "isDeprecated": false,
            "name": "ENUM"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is an input object. `inputFields` is a valid field.",
            "isDeprecated": false,
            "name": "INPUT_OBJECT"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is a list. `ofType` is a valid field.",
            "isDeprecated": false,
            "name": "LIST"
          },
          {
            "deprecationReason": null,
            "description": "Indicates this type is a non-null. `ofType` is a valid field.",
            "isDeprecated": false,
            "name": "NON_NULL"
          }
        ],
        "fields": null,
        "inputFields": null,
        "interfaces": null,
        "kind": "ENUM",
        "name": "__TypeKind",
        "possibleTypes": null
      }
    ]
  }
}
