org.mulesoft.high.level.Core
class is the entry point to the high-level AST.
init()
method returning void/unit future must be called before starting the work with the system.
After that one of the following methods should be used to build AST:
buildModel(unit:BaseUnit,platform:Platform):Future[IProject]
or
buildModel(unit:BaseUnit,fsResolver:IFSProvider):Future[IProject]
The first method accepts AMF Platform, the second requires a version of file system provider instead.
File system provider contains a number of self-explanatory methods, which are called by the builders to find files and directories:
trait IFSProvider {
def content(fullPath: String): Future[String]
def dirName(fullPath: String): String
def existsAsync(path: String): Future[Boolean]
def resolve(contextPath: String, relativePath: String): Option[String]
def isDirectory(fullPath: String): Boolean
def readDirAsync(path: String): Future[Seq[String]]
def isDirectoryAsync(path: String): Future[Boolean]
}
Essentially, both buildModel
methods require an access to the file system, the only difference is the interface, which represents it.
The result of both methods is an instance of IProject:
trait IProject {
def rootASTUnit: IASTUnit
def rootPath: String
def units: Map[String, ASTUnit]
def types: ITypeCollectionBundle
def language: Vendor
def fsProvider: IFSProvider
def resolve(absBasePath: String, path: String): Option[IASTUnit]
def resolvePath(path: String, p: String): Option[String]
}
Here the most interesting properties are the root AST unit, and the map of all units.
trait IASTUnit {
def universe:IUniverse
def baseUnit:BaseUnit
def dependencies: Map[String,DependencyEntry[_ <: IASTUnit]]
def dependants: Map[String,DependencyEntry[_ <: IASTUnit]]
def types: ITypeCollection
def project:IProject
def rootNode:IHighLevelNode
def path:String
def positionsMapper:IPositionsMapper
def text:String
def resolve(path:String): Option[IASTUnit]
}
For each unit, the root of the AST tree is represented by the rootNode
property of IHighLevelNode
, the nodes are described in the next section.
universe
property points to the global collection of types, types
property reflects types being used in the unit.
Types are described further below.
Nodes are represented by the IParseResult
general nodes and the descendants of IHighLevelNode
and IAttribute
.
The difference between those two is that attributes have name and value, while general nodes are more complex.
trait IParseResult extends IHasExtra {
def amfNode: AmfObject
def amfBaseUnit: BaseUnit
def root: Option[IHighLevelNode]
def parent: Option[IHighLevelNode]
def setParent(node: IHighLevelNode): Unit
def children: Seq[IParseResult]
def isAttr: Boolean
def asAttr: Option[IAttribute]
def isElement: Boolean
def asElement: Option[IHighLevelNode]
def isUnknown: Boolean
def property: Option[IProperty]
def printDetails(indent: String=""): String
def printDetails: String = printDetails()
def astUnit: IASTUnit
def sourceInfo:ISourceInfo
}
The most interesting properties of general node is its link to amd nodes, an ability to check its children, convert it to element (IHighLevelNode
) or attribute (IAttribute
), and to check its property pointing to the type system.
It is also possible to check node source by using sourceInfo
trait IHighLevelNode extends IParseResult {
def amfNode: AmfObject
def localType: Option[ITypeDefinition]
def definition: ITypeDefinition
def attribute(n: String): Option[IAttribute]
def attributeValue(n: String): Option[Any]
def attributes: Seq[IAttribute]
def attributes(n: String): Seq[IAttribute]
def elements: Seq[IHighLevelNode]
def element(n: String): Option[IHighLevelNode]
def elements(n: String): Seq[IHighLevelNode]
...
High-level nodes can be checked for child elements and attributes.
Also each node has definition
property pointing to the node definition in terms of type system, and potentially localType
, which is this node's interpreted type (mostly used for user-defined types, annotations etc)
trait IAttribute extends IParseResult {
def name: String
def definition: Option[ITypeDefinition]
def value: Option[Any]
...
For attributes name and value are the most important properties.
Types are represented by ITypeDefinition
trait.
trait ITypeDefinition extends INamedEntity with IHasExtra {
def key: Option[NamedId]
def superTypes: Seq[ITypeDefinition]
def subTypes: Seq[ITypeDefinition]
def allSubTypes: Seq[ITypeDefinition]
def allSuperTypes: Seq[ITypeDefinition]
def properties: Seq[IProperty]
def facet(n: String): Option[IProperty]
def allProperties(visited: scala.collection.Map[String,ITypeDefinition]): Seq[IProperty]
def allProperties: Seq[IProperty]
def allFacets: Seq[IProperty]
def allFacets(visited: scala.collection.Map[String,ITypeDefinition]): Seq[IProperty]
def facets: Seq[IProperty]
def isValueType: Boolean
def hasValueTypeInHierarchy: Boolean
def isArray: Boolean
def isObject: Boolean
def hasArrayInHierarchy: Boolean
def array: Option[IArrayType]
def arrayInHierarchy: Option[IArrayType]
def isUnion: Boolean
def hasUnionInHierarchy: Boolean
def union: Option[IUnionType]
def unionInHierarchy: Option[IUnionType]
def isAnnotationType: Boolean
def annotationType: Option[IAnnotationType]
def hasStructure: Boolean
def isExternal: Boolean
def hasExternalInHierarchy: Boolean
def external: Option[IExternalType]
def externalInHierarchy: Option[IExternalType]
def isBuiltIn: Boolean
def universe: IUniverse
def isAssignableFrom(typeName: String): Boolean
def property(name: String): Option[IProperty]
def requiredProperties: Seq[IProperty]
def getFixedFacets: scala.collection.Map[String,Any]
def fixedFacets: scala.collection.Map[String,Any]
def allFixedFacets: scala.collection.Map[String,Any]
def fixedBuiltInFacets: scala.collection.Map[String,Any]
def allFixedBuiltInFacets: scala.collection.Map[String,Any]
def printDetails(indent: String, settings: IPrintDetailsSettings): String
def printDetails(indent: String): String
def printDetails: String
def isGenuineUserDefinedType: Boolean
def hasGenuineUserDefinedTypeInHierarchy: Boolean
def genuineUserDefinedTypeInHierarchy: Option[ITypeDefinition]
def kind: Seq[String]
def isTopLevel: Boolean
def isUserDefined: Boolean
}
Note that this entity represents not only types declared in types
section of RAML. Type is a more general abstract. Any annotation is a type. Any type property also has its own type, often anonymous.
Types can be checked for its hierarchy using superTypes
and subTypes
properties.
Types has lots of is...
properties to determine the type's kind.
Types can be requested for facets using fixedFacets
, facet
and similar properties.
Types can be checked for being user defined.
This links list RAML 1.0 and RAML 0.8 node type tables:
Annotations allow you to attach information to your API
Instantiation of TypeDeclaration extends AnnotableDescription:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
key? (key) | Name prefix (without dot) used to refer imported declarations | StringType |
value? | Content of the schema | StringType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this example. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
value | String representation of example |
* Valid value for this type * String representing the serialized version of a valid value |
strict? | By default, examples are validated against any type declaration. Set this to false to allow examples that need not validate. | BooleanType |
displayName? | An alternate, human-friendly name for the example | StringType |
description? | A longer, human-friendly description of the example | markdown string |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
attribute? | If attribute is set to true, a type instance should be serialized as an XML attribute. It can only be true for scalar types. | BooleanType |
wrapped? | If wrapped is set to true, a type instance should be wrapped in its own XML element. It can not be true for scalar types and it can not be true at the same moment when attribute is true. | BooleanType |
name? | Allows to override the name of the XML element or XML attribute in it's XML representation. | StringType |
namespace? | Allows to configure the name of the XML namespace. | StringType |
prefix? | Allows to configure the prefix which will be used during serialization to XML. | StringType |
Elements to which this Annotation can be applied (enum)
extends AnnotableDescription:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
uniqueItems? | Should items in array be unique | BooleanType |
items? | Array component type. | Inline type declaration or type name. |
minItems? | Minimum amount of items in array | integer ( >= 0 ). Defaults to 0 |
maxItems? | Maximum amount of items in array | integer ( >= 0 ). Defaults to undefined. |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
properties? | The properties that instances of this type may or must have. | An object whose keys are the properties' names and whose values are property declarations. |
minProperties? | The minimum number of properties allowed for instances of this type. | NumberType |
maxProperties? | The maximum number of properties allowed for instances of this type. | NumberType |
additionalProperties? | A Boolean that indicates if an object instance has additional properties. | BooleanType |
discriminator? | Type property name to be used as discriminator, or boolean | StringType |
discriminatorValue? | The value of discriminator for the type. | StringType |
enum? | AnyType[] | |
Description:Value must be a string
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
pattern? | Regular expression that this string should path | regexp |
minLength? | Minimum length of the string | NumberType |
maxLength? | Maximum length of the string | NumberType |
Description:Value must be a boolean
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
enum? | BooleanType[] | |
Description:Value MUST be a number. Indicate floating point numbers as defined by YAML.
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
minimum? | (Optional, applicable only for parameters of type number or integer) The minimum attribute specifies the parameter's minimum value. | NumberType |
maximum? | (Optional, applicable only for parameters of type number or integer) The maximum attribute specifies the parameter's maximum value. | NumberType |
format? | Value format |
StringType one of: int32, int64, int, long, float, double, int16, int8 |
multipleOf? | A numeric instance is valid against "multipleOf" if the result of the division of the instance by this keyword's value is an integer. | NumberType |
Description:Value MUST be a integer.
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
minimum? | (Optional, applicable only for parameters of type number or integer) The minimum attribute specifies the parameter's minimum value. | NumberType |
maximum? | (Optional, applicable only for parameters of type number or integer) The maximum attribute specifies the parameter's maximum value. | NumberType |
format? | Value format |
StringType one of: int32, int64, int, long, int16, int8 |
multipleOf? | A numeric instance is valid against "multipleOf" if the result of the division of the instance by this keyword's value is an integer. | NumberType |
Description:the "full-date" notation of RFC3339, namely yyyy-mm-dd (no implications about time or timezone-offset)
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
Description:the "partial-time" notation of RFC3339, namely hh:mm:ss[.ff...] (no implications about date or timezone-offset)
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
Description:combined date-only and time-only with a separator of "T", namely yyyy-mm-ddThh:mm:ss[.ff...] (no implications about timezone-offset)
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
Description:a timestamp, either in the "date-time" notation of RFC3339, if format is omitted or is set to rfc3339, or in the format defined in RFC2616, if format is set to rfc2616.
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
format? | Format used for this date time rfc3339 or rfc2616 |
StringType one of: rfc3339, rfc2616 |
Description:(Applicable only to Form properties) Value is a file. Client generators SHOULD use this type to handle file uploads correctly.
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this type. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
displayName? | The displayName attribute specifies the type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
schema? | Alias for the equivalent "type" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "type" property, as the "schema" alias for that property name may be removed in a future RAML version. The "type" property allows for XML and JSON schemas. | Single string denoting the base type or type expression |
type? | A base type which the current type extends, or more generally a type expression. | string denoting the base type or type expression |
example? | An example of this type instance represented as string or yaml map/sequence. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the examples property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
examples? | An example of this type instance represented as string. This can be used, e.g., by documentation generators to generate sample values for an object of this type. Cannot be present if the example property is present. |
* Valid value for this type * String representing the serialized version of a valid value |
description? | A longer, human-friendly description of the type | markdown string |
xml? | XMLFacetInfo | |
allowedTargets? | Restrictions on where annotations of this type can be applied. If this property is specified, annotations of this type may only be applied on a property corresponding to one of the target names specified as the value of this property. | An array, or single, of names allowed target nodes. |
isAnnotation? | Whether the type represents annotation | BooleanType |
fileTypes? | A list of valid content-type strings for the file. The file type */* should be a valid value. | ContentType[] |
minLength? | The minLength attribute specifies the parameter value's minimum number of bytes. | NumberType |
maxLength? | The maxLength attribute specifies the parameter value's maximum number of bytes. | NumberType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this response. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
headers? | Detailed information about any response headers returned by this method | Object whose property names are the response header names and whose values describe the values. |
body? | The body of the response: a body declaration |
Object whose properties are either * Media types and whose values are type objects describing the request body for that media type, or * a type object describing the request body for the default media type specified in the root mediaType property. |
description? | A longer, human-friendly description of the response | Markdown string |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
queryParameters? | An APIs resources MAY be filtered (to return a subset of results) or altered (such as transforming a response body from JSON to XML format) by the use of query strings. If the resource or its method supports a query string, the query string MUST be defined by the queryParameters property | TypeDeclaration[] |
headers? | Headers that allowed at this position | TypeDeclaration[] |
queryString? | Specifies the query string needed by this method. Mutually exclusive with queryParameters. | TypeDeclaration |
responses? | Information about the expected responses to a request | An object whose keys are the HTTP status codes of the responses and whose values describe the responses. |
body? | Some method verbs expect the resource to be sent as a request body. For example, to create a resource, the request must include the details of the resource to create. Resources CAN have alternate representations. For example, an API might support both JSON and XML representations. A method's body is defined in the body property as a hashmap, in which the key MUST be a valid media type. | TypeDeclaration[] |
protocols? | A method can override the protocols specified in the resource or at the API root, by employing this property. | array of strings of value HTTP or HTTPS, or a single string of such kind, case-insensitive |
is? | Instantiation of applyed traits | TraitRef[] |
securedBy? | securityScheme may also be applied to a resource by using the securedBy key, which is equivalent to applying the securityScheme to all methods that may be declared, explicitly or implicitly, by defining the resourceTypes or traits property for that resource. To indicate that the method may be called without applying any securityScheme, the method may be annotated with the null securityScheme. | SecuritySchemeRef[] |
description? | MarkdownString | |
displayName? | The displayName attribute specifies the trait display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
name? (key) | Name of the trait | StringType |
usage? | Instructions on how and when the trait should be used. | StringType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
queryParameters? | An APIs resources MAY be filtered (to return a subset of results) or altered (such as transforming a response body from JSON to XML format) by the use of query strings. If the resource or its method supports a query string, the query string MUST be defined by the queryParameters property | TypeDeclaration[] |
headers? | Headers that allowed at this position | TypeDeclaration[] |
queryString? | Specifies the query string needed by this method. Mutually exclusive with queryParameters. | TypeDeclaration |
responses? | Information about the expected responses to a request | An object whose keys are the HTTP status codes of the responses and whose values describe the responses. |
body? | Some method verbs expect the resource to be sent as a request body. For example, to create a resource, the request must include the details of the resource to create. Resources CAN have alternate representations. For example, an API might support both JSON and XML representations. A method's body is defined in the body property as a hashmap, in which the key MUST be a valid media type. | TypeDeclaration[] |
protocols? | A method can override the protocols specified in the resource or at the API root, by employing this property. | array of strings of value HTTP or HTTPS, or a single string of such kind, case-insensitive |
is? | Instantiation of applyed traits | TraitRef[] |
securedBy? | securityScheme may also be applied to a resource by using the securedBy key, which is equivalent to applying the securityScheme to all methods that may be declared, explicitly or implicitly, by defining the resourceTypes or traits property for that resource. To indicate that the method may be called without applying any securityScheme, the method may be annotated with the null securityScheme. | SecuritySchemeRef[] |
description? | MarkdownString | |
displayName? | The displayName attribute specifies the method display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
methods? | The methods available on this resource. | Object describing the method |
is? | A list of the traits to apply to all methods declared (implicitly or explicitly) for this resource. Individual methods may override this declaration |
array, which can contain each of the following elements: * name of unparametrized trait * a key-value pair with trait name as key and a map of trait parameters as value * inline trait declaration (or a single element of any above kind) |
type? | The resource type which this resource inherits. |
one of the following elements: * name of unparametrized resource type * a key-value pair with resource type name as key and a map of its parameters as value * inline resource type declaration |
description? | MarkdownString | |
securedBy? | The security schemes that apply to all methods declared (implicitly or explicitly) for this resource. | array of security scheme names or a single security scheme name |
uriParameters? | Detailed information about any URI parameters of this resource | object whose property names are the URI parameter names and whose values describe the values |
displayName? | The displayName attribute specifies the resource type display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
name? (key) | Name of the resource type | StringType |
usage? | Instructions on how and when the resource type should be used. | StringType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this security scheme part. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
queryParameters? | An APIs resources MAY be filtered (to return a subset of results) or altered (such as transforming a response body from JSON to XML format) by the use of query strings. If the resource or its method supports a query string, the query string MUST be defined by the queryParameters property | TypeDeclaration[] |
headers? | Headers that allowed at this position | TypeDeclaration[] |
queryString? | Specifies the query string needed by this method. Mutually exclusive with queryParameters. | TypeDeclaration |
responses? | Information about the expected responses to a request | An object whose keys are the HTTP status codes of the responses and whose values describe the responses. |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
This type describes fixed uris
extends SecuritySchemeSettingsDescription:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
requestTokenUri | The URI of the Temporary Credential Request endpoint as defined in RFC5849 Section 2.1 | FixedUriString |
authorizationUri | The URI of the Resource Owner Authorization endpoint as defined in RFC5849 Section 2.2 | FixedUriString |
tokenCredentialsUri | The URI of the Token Request endpoint as defined in RFC5849 Section 2.3 | FixedUriString |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
accessTokenUri | The URI of the Token Endpoint as defined in RFC6749 Section 3.2. Not required forby implicit grant type. | FixedUriString |
authorizationUri? | The URI of the Authorization Endpoint as defined in RFC6749 Section 3.1. Required forby authorization_code and implicit grant types. | FixedUriString |
authorizationGrants |
A list of the Authorization grants supported by the API as defined in RFC6749 Sections 4.1, 4.2, 4.3 and 4.4, can be any of: * authorization_code * password * client_credentials * implicit * or any absolute url. |
StringType[] |
scopes? | A list of scopes supported by the security scheme as defined in RFC6749 Section 3.3 | StringType[] |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | The settings attribute MAY be used to provide security scheme-specific information. The required attributes vary depending on the type of security scheme is being declared. It describes the minimum set of properties which any processing application MUST provide and validate if it chooses to implement the security scheme. Processing applications MAY choose to recognize other properties for things such as token lifetime, preferred cryptographic algorithms, and more. | SecuritySchemeSettings |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | OAuth2SecuritySchemeSettings | |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | OAuth1SecuritySchemeSettings | |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | SecuritySchemeSettings | |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | The settings attribute MAY be used to provide security scheme-specific information. The required attributes vary depending on the type of security scheme is being declared. It describes the minimum set of properties which any processing application MUST provide and validate if it chooses to implement the security scheme. Processing applications MAY choose to recognize other properties for things such as token lifetime, preferred cryptographic algorithms, and more. | SecuritySchemeSettings |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | The settings attribute MAY be used to provide security scheme-specific information. The required attributes vary depending on the type of security scheme is being declared. It describes the minimum set of properties which any processing application MUST provide and validate if it chooses to implement the security scheme. Processing applications MAY choose to recognize other properties for things such as token lifetime, preferred cryptographic algorithms, and more. | SecuritySchemeSettings |
Description:Declares globally referable security scheme definition
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
type | The securitySchemes property MUST be used to specify an API's security mechanisms, including the required settings and the authentication methods that the API supports. one authentication method is allowed if the API supports them. |
string The value MUST be one of * OAuth 1.0, * OAuth 2.0, * BasicSecurityScheme Authentication * DigestSecurityScheme Authentication * Pass Through * x-<other> |
description? | The description MAY be used to describe a securityScheme. | MarkdownString |
describedBy? | A description of the request components related to Security that are determined by the scheme: the headers, query parameters or responses. As a best practice, even for standard security schemes, API designers SHOULD describe these properties of security schemes. Including the security scheme description completes an API documentation. | SecuritySchemePart |
displayName? | The displayName attribute specifies the security scheme display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
settings? | The settings attribute MAY be used to provide security scheme-specific information. The required attributes vary depending on the type of security scheme is being declared. It describes the minimum set of properties which any processing application MUST provide and validate if it chooses to implement the security scheme. Processing applications MAY choose to recognize other properties for things such as token lifetime, preferred cryptographic algorithms, and more. | SecuritySchemeSettings |
This type describes absolute uri templates
This sub type of the string represents mime types
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this resource. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
methods? | The methods available on this resource. | Object describing the method |
is? | A list of the traits to apply to all methods declared (implicitly or explicitly) for this resource. Individual methods may override this declaration |
array, which can contain each of the following elements: * name of unparametrized trait * a key-value pair with trait name as key and a map of trait parameters as value * inline trait declaration (or a single element of any above kind) |
type? | The resource type which this resource inherits. |
one of the following elements: * name of unparametrized resource type * a key-value pair with resource type name as key and a map of its parameters as value * inline resource type declaration |
description? | A longer, human-friendly description of the resource. | Markdown string |
securedBy? | The security schemes that apply to all methods declared (implicitly or explicitly) for this resource. | array of security scheme names or a single security scheme name |
uriParameters? | Detailed information about any URI parameters of this resource | object whose property names are the URI parameter names and whose values describe the values |
displayName? | The displayName attribute specifies the resource display name. It is a friendly name used only for display or documentation purposes. If displayName is not specified, it defaults to the element's key (the name of the property itself). | StringType |
resources? | A nested resource is identified as any property whose name begins with a slash ("/") and is therefore treated as a relative URI. | object describing the nested resource |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Most of RAML model elements may have attached annotations decribing additional meta data about this element | A value corresponding to the declared type of this annotation. |
title | Title of documentation section | StringType |
content | Content of documentation section | MarkdownString |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this API. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
uses? | UsesDeclaration[] | |
schemas? | Alias for the equivalent "types" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "types" property, as the "schemas" alias for that property name may be removed in a future RAML version. The "types" property allows for XML and JSON schemas. | TypeDeclaration[] |
types? | Declarations of (data) types for use within this API. | An object whose properties map type names to type declarations; or an array of such objects |
traits? | Declarations of traits for use within this API. | An object whose properties map trait names to trait declarations; or an array of such objects |
resourceTypes? | Declarations of resource types for use within this API. | An object whose properties map resource type names to resource type declarations; or an array of such objects |
annotationTypes? | Declarations of annotation types for use by annotations. | An object whose properties map annotation type names to annotation type declarations; or an array of such objects |
securitySchemes? | Declarations of security schemes for use within this API. | An object whose properties map security scheme names to security scheme declarations; or an array of such objects |
title | Short plain-text label for the API | StringType |
description? | A longer, human-friendly description of the API | MarkdownString |
version? | The version of the API, e.g. 'v1' | StringType |
baseUri? | A URI that's to be used as the base of all the resources' URIs. Often used as the base of the URL of each resource, containing the location of the API. Can be a template URI. | FullUriTemplateString |
baseUriParameters? | Named parameters used in the baseUri (template) | TypeDeclaration[] |
protocols? | The protocols supported by the API | Array of strings, with each being "HTTP" or "HTTPS", case-insensitive |
mediaType? | The default media type to use for request and response bodies (payloads), e.g. "application/json" | Media type string |
securedBy? | The security schemes that apply to every resource and method in the API | SecuritySchemeRef[] |
resources? | The resources of the API, identified as relative URIs that begin with a slash (/). Every property whose key begins with a slash (/), and is either at the root of the API definition or is the child property of a resource property, is a resource property, e.g.: /users, /{groupId}, etc | Resource[] |
documentation? | Additional overall documentation for the API | DocumentationItem[] |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this API. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
uses? | UsesDeclaration[] | |
schemas? | Alias for the equivalent "types" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "types" property, as the "schemas" alias for that property name may be removed in a future RAML version. The "types" property allows for XML and JSON schemas. | TypeDeclaration[] |
types? | Declarations of (data) types for use within this API. | An object whose properties map type names to type declarations; or an array of such objects |
traits? | Declarations of traits for use within this API. | An object whose properties map trait names to trait declarations; or an array of such objects |
resourceTypes? | Declarations of resource types for use within this API. | An object whose properties map resource type names to resource type declarations; or an array of such objects |
annotationTypes? | Declarations of annotation types for use by annotations. | An object whose properties map annotation type names to annotation type declarations; or an array of such objects |
securitySchemes? | Declarations of security schemes for use within this API. | An object whose properties map security scheme names to security scheme declarations; or an array of such objects |
title? | Short plain-text label for the API | StringType |
description? | A longer, human-friendly description of the API | MarkdownString |
version? | The version of the API, e.g. 'v1' | StringType |
baseUri? | A URI that's to be used as the base of all the resources' URIs. Often used as the base of the URL of each resource, containing the location of the API. Can be a template URI. | FullUriTemplateString |
baseUriParameters? | Named parameters used in the baseUri (template) | TypeDeclaration[] |
protocols? | The protocols supported by the API | Array of strings, with each being "HTTP" or "HTTPS", case-insensitive |
mediaType? | The default media type to use for request and response bodies (payloads), e.g. "application/json" | Media type string |
securedBy? | The security schemes that apply to every resource and method in the API | SecuritySchemeRef[] |
resources? | The resources of the API, identified as relative URIs that begin with a slash (/). Every property whose key begins with a slash (/), and is either at the root of the API definition or is the child property of a resource property, is a resource property, e.g.: /users, /{groupId}, etc | Resource[] |
documentation? | Additional overall documentation for the API | DocumentationItem[] |
usage? | contains description of why overlay exist | StringType |
extends | Location of a valid RAML API definition (or overlay or extension), the overlay is applied to. | StringType |
Description:Not described yet
Property | Description | Value type |
---|---|---|
annotations? | Annotations to be applied to this API. Annotations are any property whose key begins with "(" and ends with ")" and whose name (the part between the beginning and ending parentheses) is a declared annotation name. | A value corresponding to the declared type of this annotation. |
uses? | UsesDeclaration[] | |
schemas? | Alias for the equivalent "types" property, for compatibility with RAML 0.8. Deprecated - API definitions should use the "types" property, as the "schemas" alias for that property name may be removed in a future RAML version. The "types" property allows for XML and JSON schemas. | TypeDeclaration[] |
types? | Declarations of (data) types for use within this API. | An object whose properties map type names to type declarations; or an array of such objects |
traits? | Declarations of traits for use within this API. | An object whose properties map trait names to trait declarations; or an array of such objects |
resourceTypes? | Declarations of resource types for use within this API. | An object whose properties map resource type names to resource type declarations; or an array of such objects |
annotationTypes? | Declarations of annotation types for use by annotations. | An object whose properties map annotation type names to annotation type declarations; or an array of such objects |
securitySchemes? | Declarations of security schemes for use within this API. | An object whose properties map security scheme names to security scheme declarations; or an array of such objects |
title? | Short plain-text label for the API | StringType |
description? | A longer, human-friendly description of the API | MarkdownString |
version? | The version of the API, e.g. 'v1' | StringType |
baseUri? | A URI that's to be used as the base of all the resources' URIs. Often used as the base of the URL of each resource, containing the location of the API. Can be a template URI. | FullUriTemplateString |
baseUriParameters? | Named parameters used in the baseUri (template) | TypeDeclaration[] |
protocols? | The protocols supported by the API | Array of strings, with each being "HTTP" or "HTTPS", case-insensitive |
mediaType? | The default media type to use for request and response bodies (payloads), e.g. "application/json" | Media type string |
securedBy? | The security schemes that apply to every resource and method in the API | SecuritySchemeRef[] |
resources? | The resources of the API, identified as relative URIs that begin with a slash (/). Every property whose key begins with a slash (/), and is either at the root of the API definition or is the child property of a resource property, is a resource property, e.g.: /users, /{groupId}, etc | Resource[] |
documentation? | Additional overall documentation for the API | DocumentationItem[] |
usage? | contains description of why extension exist | StringType |
extends | Location of a valid RAML API definition (or overlay or extension), the extension is applied to | StringType |