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:
Further Notes
Note on Thing ID
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\-]*