API title, API Version, BaseURI, Media Type, Protocols and Schemas Title (required) describes about an API Version (optional) is included if multiple version of iteration are released BaseUri is optional during development and required during deployment. It can be accessed as a service endpoint Protocols (optional) is used to specify which protocol supported by an API (HTTP/HTTPS)
and expected from API requests that accept body Schemas (optional) specifies collections of schemas that could be used anywhere in the API definition
can include a variety of documents that serve as a user guides and reference documentation for the API. Such documents can clarify how the API works or provide business context.
relative URI, which must begin with a slash (/). A resource defined as a root-level property is called a top-level resource Its property's key is the resource's URI relative to the baseUri. A resource defined as a child property of another resource is called a nested resource Its property's key is its URI relative to its parent resource's URI.
HTTP headers. In the API definition, specify the non-standard HTTP headers by using the headers property. The headers property is a map in which the key is the name of the header, and the value is itself a map specifying the header attributes
sent as a request body A method's body is defined in the body property as a hashmap, in which the key MUST be a valid media type. Resources CAN have alternate representations. For example, an API might support both JSON and XML representations
clarifies why the response was emitted. Response descriptions are particularly useful for describing error conditions. The value of the schemas property is an array of maps The schema definitions MAY be included inline or by using the RAML !include user-defined data type.
Responses MUST be a map of one or more HTTP status codes, where each status code itself is a map that describes that status code. Each response MAY contain a body property, which conforms to the same structure as request body properties Responses MAY contain a description property that further clarifies why the response was emitted. Response descriptions are particularly useful for describing error conditions.
using RAML resource types and traits to characterize resources so as to avoid unnecessary repetition in the RESTful API's definition. A resource type is a partial resource definition that, like a resource, can specify a description and methods and their properties. Resources that use a resource type inherit its properties, such as its methods. A trait is a partial method definition that, like a method, can provide method- level properties such as description, headers, query string parameters, and responses. Methods that use one or more traits inherit those traits' properties.
to secure data access, identify requests, and determine access level and data visibility. The securitySchemes property is declared at the API's root level. The securitySchemes property MUST be used to specify an API's security mechanisms, including required settings authentication methods describedBy securedBy