Features API v1 - deprecated

A Feature is used to manage all data and functionality of a Thing that can be clustered in an outlined technical context.

Thing Model

{
  "thingId": "the.namespace:theId",
  "acl": {
      "authorizationSubject-1-to-n": {
          "READ": true,
          "WRITE": true,
          "ADMINISTRATE": true
      }
  },
  "attributes": {},
  "features": {
      "featureId-0-to-n": {
          "properties": {
              "connected": true,
              "complexProperty": {
                  "street": "my street",
                  "house no": 42
              }
          }
      }
  }
}

Features resource

There is no root resource for features as they always belong to a Thing and do not exist without the Thing.
The sub-resources for Features start with

 https://<host>/api/1/things/{thingId}/features 

The following operations are available over the HTTP API:cr-rest-api-features.png

Further Notes

Note on Thing ID

note The Thing ID must start with a namespace prefix (Java package notation and a colon ‘:‘).
Due to the fact that a Thing ID often needs to be set in the path, we have restricted the set of allowed characters to those for Uniform Resource Identifiers (URI) see http://www.ietf.org/rfc/rfc2396.txt.
For a POST request this restriction will apply automatically, as our service will generate the ID.
For a PUT request containing for example an $ character in the ID you will get the HTTP status code 400 with following message:

{
  "status": 400,
  "error": "thing.thingId.invalid",
  "message": "Thing ID '$1' is not valid!",
  "description": "It must conform to RFC-2396 (URI) - check here if it does (select 'path' in the list): http://www.websitedev.de/temp/rfc2396-check.html.gz",
  "href": null
}

Note on Feature ID

Due to the fact that a Feature ID often needs to be set in the path of a HTTP request, we strongly recommend to use a restricted the set of characters (e.g. those for Uniform Resource Identifiers (URI) see http://www.ietf.org/rfc/rfc2396.txt ).

Note on Attribute and Property Keys

We strongly recommend to use a restricted the set of characters for the keys (identifier) of Thing Attributes and Feature Properties. Currently these identifiers should follow the pattern: [_a-zA-Z][_a-zA-Z0-9\-]*

Imprint Legal info Privacy statement