Data types are probably the most important feature introduced in this release. Taken from object-oriented programming languages like Java, data types allow the user to define objects and reuse them at any level in a RAML file.

Taken from the previous example, ModelTree is an example of a data type:

There are several available facets that depend on the chosen type. For instance, for an object type, we could have properties, minPoperties, maxPoperties, additionalProperties, discriminator, or discriminatorValue.