OBJECT

# __Type

The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.

Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByUrl`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.

## link GraphQL Schema definition

`

- type __Type {
- kind: __TypeKind!
- name: String
- description: String
- specifiedByUrl: String
- # Arguments
- # includeDeprecated: [Not documented]
- fields(includeDeprecated: Boolean): [__Field!]
- interfaces: [__Type!]
- possibleTypes: [__Type!]
- # Arguments
- # includeDeprecated: [Not documented]
- enumValues(includeDeprecated: Boolean): [__EnumValue!]
- # Arguments
- # includeDeprecated: [Not documented]
- inputFields(includeDeprecated: Boolean): [__InputValue!]
- ofType: __Type
- }

`

## link Require by

- __FieldObject and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.
- __InputValueArguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.
- __SchemaA GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.
- __TypeThe fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByUrl`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.