A Property is a set of between 1 and 4 double values, which may or not be associated to objects. Properties can also support frames and/or timestamps, just like objects, but cannot be locked and have no transformations.
Properties are meant to be interacted with by individual devices, and these changes will be streamed to other devices via the Events API. In addition, Create and Update messages sent to the HTTP API are converted to events and streamed out to registered devices.
POST
/v1/scene/
(key)/property/
¶Create a new property.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/scene/scene-key/property HTTP/1.1
Host: localhost:8768
Content-Type: application/json
{
"properties":[
{
"key":"12345",
"name":"testName",
"parent":"testParent",
"asset_sub_id":"testAssetSubId",
"scene":"testScene",
"frame":1,
"timestamp":123456789,
"values":[
{
"value":100,
"left_type":"vector",
"left_x":10,
"left_y":5,
"right_type":"free",
"right_x":4,
"right_y":3
}
]
}
]
}
curl -i -X POST http://localhost:8768/v1/scene/scene-key/property -H 'Content-Type: application/json' --data-raw '{"properties": [{"name": "testName", "parent": "testParent", "timestamp": 123456789, "frame": 1, "scene": "testScene", "values": [{"left_type": "vector", "value": 100, "left_x": 10, "left_y": 5, "right_x": 4, "right_y": 3, "right_type": "free"}], "asset_sub_id": "testAssetSubId", "key": "12345"}]}'
HTTP/1.1 200 OK
Location: http://localhost:8768/v1/scene/scene-key/property
Content-Type: application/json
{
"num_records":1,
"objects":[{"key":"jklmnop"}]
}
POST
/v1/scene/
(key)/property/{property_key}
¶Update an existing property.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/scene/scene-key/property/key HTTP/1.1
Host: localhost:8768
Content-Type: application/json
{
"properties":[
{
"name":"anotherName",
"parent":"anotherParent"
}
]
}
curl -i -X POST http://localhost:8768/v1/scene/scene-key/property/key -H 'Content-Type: application/json' --data-raw '{"properties": [{"name": "anotherName", "parent": "anotherParent"}]}'
HTTP/1.1 200 OK
Location: http://localhost:5885/v1/scene/scene-key/property/key
Content-Type: application/json
{
"num_records":1,
"properties":[{"key":"jklmnop"}]
}
GET
/v1/scene/
(key)/property/
(property_key)¶Get property details in JSON Format.
Status Codes: |
|
---|
GET /v1/scene/scene-key/property/key HTTP/1.1
Host: localhost:8768
curl -i http://localhost:8768/v1/scene/scene-key/property/key
HTTP/1.1 200 OK
Location: http://localhost:8768/v1/scene/scene-key/property/key
Content-Type: application/json
{
"msg_type": 10,
"err_code": 100,
"num_records": 1,
"properties": [
{
"name": "testName",
"parent": "testParent",
"asset_sub_id": "testAssetSubId",
"scene": "testScene",
"frame": 1,
"timestamp": 123456789,
"values": [
{
"value": 100,
"left_type": "vector",
"left_x": 10,
"left_y": 5,
"right_type": "free",
"right_x": 4,
"right_y": 3
}
]
}
]
}
DELETE
/v1/scene/
(key)/property/
(property_key)¶Delete an property.
Status Codes: |
|
---|
DELETE /v1/scene/scene-key/property/key HTTP/1.1
Host: localhost:8768
curl -i -X DELETE http://localhost:8768/v1/scene/scene-key/property/key
GET
/v1/scene/
(key)/property/query
¶Query for properties which match the input JSON. This will only return as many records as specified in the field ‘num_records’.
Status Codes: |
|
---|
POST /v1/scene/scene-key/property/query HTTP/1.1
Host: localhost:5885
Content-Type: application/json
{
"properties":[
{
"name":"test"
}
]
}
curl -i -X POST http://localhost:5885/v1/scene/scene-key/property/query -H 'Content-Type: application/json' --data-raw '{"properties": [{"name": "test"}]}'
HTTP/1.1 200 OK
Location: http://localhost:5885/v1/scene/scene-key/property/query
Content-Type: application/json
{
"msg_type": 10,
"err_code": 100,
"num_records": 1,
"properties": [
{
"name": "testName",
"parent": "testParent",
"asset_sub_id": "testAssetSubId",
"scene": "jklmnop",
"frame": 1,
"timestamp": 123456789,
"values": [
{
"value": 100,
"left_type": "vector",
"left_x": 10,
"left_y": 5,
"right_type": "free",
"right_x": 4,
"right_y": 3
}
]
}
]
}