Document Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.


All field names in the specification are case sensitive.


  • Unless a property is explicitly REQUIRED or RECOMMENDED, it is OPTIONAL.
  • It is RECOMMENDED that a publisher not include a property when there is no content to provide or any meaning attached to a null or empty string (string instance of zero length) input.

Data Types

Data types listed below are used in descriptions throughout the Specification, but the relevant RFC or other linked documentation should be consulted for the type's formalized details where not described in this document.

Name Type Description
array array RFC 7159-compliant sequence of values.
boolean boolean RFC 7159-compliant value (true or false).
dateTime string ISO 8601 date-time with an offset (time difference in hours and minutes with UTC). Format is yyyy-MM-ddTHH:mm:ss±hh:mm. The offset part (±hh:mm) may be replaced by Z to denote UTC.
integer number RFC 7159-compliant number value without a fraction or exponent part.
ISO-3166 alpha2 string ISO 3166-compliant alpha-2 country code.
number number RFC 7159-compliant number value.
object object RFC 7159-compliant collection of name/value pairs.
string string RFC 7159-compliant string literal value.
uri string RFC 3986-compliant value.
json json RFC 7159-compliant value.