Types describe objects and values in a system. The API documentation for each type contains a detailed description with examples.

Objects are described with GraphQL::ObjectTypes.

Scalar values are described with built-in scalars (string, int, float, boolean, ID) or custom GraphQL::EnumTypes. You can define custom GraphQL::ScalarTypes, too.

Scalars and enums can be sent to GraphQL as inputs. For complex inputs (key-value pairs), use GraphQL::InputObjectType.

There are two abstract types, too:

GraphQL::ListType and GraphQL::NonNullType modify other types, describing them as “list of T” or “required T”.