anchor.diff:            "efgh"
           ]
   
  -### Discover [POST /v2/op/discover]
  -
  -<table style="width: 100%; margin: 12px 0 0 0;">
  -<tr><td colspan="2"><strong>Required Parameters</strong></td></tr>
  -<tr><td colspan="2">none</td></tr>
  -<tr><td colspan="2"><strong>Optional Parameters</strong></td></tr>
  -<tr><td style="padding-right: 40px; width: 140px;">limit</td><td>Limit the number of registrations to be retrieved</td></tr>
  -<tr><td style="padding-right: 40px; width: 140px;">offset</td><td>Skip a number of registrations</td></tr>
  -<tr><td style="padding-right: 40px; width: 140px;">options</td><td>
  -This operation supports two options:
  -
  -<ul>
  -  <li><code>count</code>: when used, the total number of registrations is returned in the response as a HTTP header named <code>X-Total-Count</code>.</li>
  -</td></tr>
  -</table>
  +
  +### Discover [POST /v2/op/discover/{?limit,offset,options}]
   
   The response payload is an Array which contains one object per matching registration. Each registration follows
   the JSON registration representation format (described in a section above).
  
positive.code: 
  + Response 200
  
  <!--
  
  ## Attribute Value by Entity type and ID [/v2/entities/type/{entityType}/id/{entityId}/attrs/{attrName}/value{?options}]
  
  ### Get attribute data [GET /v2/entities/type/{entityType}/id/{entityId}/attrs/{attrName}/value{?options}]
  
  <table style="width: 100%; margin: 12px 0 0 0;">
  <tr><td colspan="2"><strong>Required Parameters</strong></td></tr>
  <tr><td colspan="2">none</td></tr>
  <tr><td colspan="2"><strong>Optional Parameters</strong></td></tr>
  <tr>
    <td style="padding-right: 40px; width: 140px;">options</td>
    <td>Operation opations. Allowed values: <code>text</code>.</td>
  </tr>
  </table>
  
  If the `text` option is not used, returns a JSON object which the `value` of the attribute. If the
  `text` option is used returns the attribute value in plain text.
  
  Response:
  
  * Successful operation uses 20O OK.
  * Errors use a non-200 and (optionally) an error payload. See subsection on Error Responses for more details.
  
  + Parameters
      + entityId: Bcn_Welt (required, string) - Entity ID
      + entityType: Room (required, string) - Entity Type
      + attrName: temperature (required, string) - Attribute to be retrieved.
  
  + Response 200 (application/json)
  
          {
              "value": 21.7
          }
  
  ### Update attribute value [PUT /v2/entities/type/{entityType}/id/{entityId}/attrs/{attrName}/value]
  
  The request payload is the new attribute value. It can be represented as a JSON object (application/json),
  with a `value` property, or as plain text (text/plain).
  
  Response:
  
  * Successful operation uses 204 No Content
  * Errors use a non-200 and (optionally) an error payload. See subsection on Error Responses for more details.
  
  + Parameters
      + entityId: Bcn_Welt (required, string) - Entity ID
      + entityType: Room (required, string) - Entity Type
      + attrName: temperature (required, string) - Attribute name
  
  + Request (application/json)
  
          {
              "value": 25.0
          }
  
  + Response 200
  
  -->
  
  ## Entity types [/v2/types{?limit,offset,options}]
  
  ### Retrieve entity types [GET /v2/types/{?limit,offset,options}]
  
  <table style="width: 100%; margin: 12px 0 0 0;">
  <tr><td colspan="2"><strong>Required Parameters</strong></td></tr>
  <tr><td colspan="2">none</td></tr>
  <tr><td colspan="2"><strong>Optional Parameters</strong></td></tr>
  <tr><td style="padding-right: 40px; width: 140px;">limit</td><td>Limit the number of types to be retrieved</td></tr>
  <tr><td style="padding-right: 40px; width: 140px;">offset</td><td>Skip a number of records</td></tr>
  <tr><td style="padding-right: 40px; width: 140px;">options</td><td>
  This operation supports two options:
  
  <ul>
    <li><code>count</code>: when used, the total types number is returned as a HTTP in the
    response name <code>X-Total-Count</code>.</li>
    <li><code>values</code>: when used, the response payload is a JSON array with a
    list of entity types.</li>
  </td></tr>
  </table>
  
  If `values` option is not use, the operation returns a JSON object which properties are entity types. The properties
  value is a JSON object with information about the type: `attrs` (the union set of attribute names along all the entities
  of such type) and `count` (the number of entities belonging to that type).
  
  If `values` option is used, the operation returns a JSON array with the list of entity types names as strings.
  
  Response code:
  
  
negative.code: A query is composed by a list of statements separated by the ';' character. Each statement express a matching condition.
  The query will return all the entities which match all the matching conditions (AND logical operator). 
  
  There are two kind of statements: *unary statements* and *binary statements*.
  
  Binary statements are composed by an attribute name (e.g. "temperature"), operator and value (which format
  depends on the operator), e.g.:
  
  ```
  temperature==50
  temperature<=20
  ```
  
  The list of operators (and the format of the values they use) is as follows:
  
  + **Equal**: `==`. It accepts the following values:
      + Single element, e.g. `temperature==40`. It matches entities whose attribute value
        that exact value.
      + A list of comma-separated values, e.g. `color==black,red`. It matches entities whose
        attribute value is one of the values (OR clause). Eg. entities which `color` is set to
        `black` will match, while entities which `color` is set to `white` will not match.
      + A range, specified as a minimum and maximum separated by `..`. It matches if
        the value is in the interval between the minimum and the maximum (both included). It can only be used
        with attributes which contain dates or numbers. E.g. `temperature==10..20` matchs if the
        temperature is greater or equal than 10 and lower or equal than 20.
  + **Unequal**: `!=`. It accepts the following values:
        + The value is a single element, e.g. `temperature!=40`. It matches entities whose attribute
        value is not that exact value.
        + A list of comma-separated values, e.g. `color!=black,red`. It matches entities whose
        attribute value is not any of the values (AND clause). Eg. entities whose `color` is set
        to `black` will not match, while entities whose `color` is set to `white`will match.
        + A range, specified as a minimum and maximum separated by `..`. It matches
        if the value is not in the interval between the minimum and the maximum (both included). It can only
        be used with attributes which contain dates or numbers. E.g. `temperature!=10..20` matches if
        the temperature is lower than 10 or greater than 20 (it will not match if the tempeature is 10 or the
        temperature is 20).
  + **Greater than**: `&gt;`. The value is a single element, e.g. `temperature&gt;40`. It
    matches entities which attribute value is strictly greater than that value. It only makes sense when
    used with attributes which contain dates or numbers (using with attributes of other type might lead to
    unexpected results).
  + **Lesser than**: `&lt`. The value is a single element, e.g. `temperature&lt;40`. It
    matches entities which attribute value is strictly lesser than that value. It only makes sense when
    used with attributes which contain dates or numbers (using with attributes of other type might lead to
    unexpected results).
  + **Greater or equal than**: `&gt;=`. The value is a single element, e.g. `temperature&gt;=40`.
    It matches entities which attribute value is greater than or equal to that value. It only makes sense when
    used with attributes which contain dates or numbers (using with attributes of other type might lead to
    unexpected results).
  + **Lesser or equal than**: `&lt;=`. The value is a single element, e.g. `temperature&lt;=40`. It
    matches entities which attribute value is lesser than or equal to that value. It only makes sense when
    used with attributes which contain dates or numbers (using with attributes of other type might lead to
    unexpected results).
  
  In the case of equal or inequal, if the value to match include a `,`, you can use simple quote
  (`'`), e.g: `color=='light,green','deep,blue'`.
  
  Unary statements are composed of a unary operator (either `+`or `-`) and are used in two situations:
  
  + To check for attribute existence. E.g. `+temperature`matches entities which have
    a temperature attribute (no matter its value), while `-temperature` matches entities which do not have
    a temperature attribute.
  + To check for entity type existence, with the `type`keyword. E.g, `-type`   matches entities which do not have a type.
    
   
  ## Geographical Queries
  