Authentication is required prior to accessing the Willow API. Refer to Authentication section above for details.
Willow Public API (v3)
- https://{instance}.app.willowinc.com/api/v3/models
- Payload
- JS
- C#
- Java
- Python
No request payloadReturns models for the input root Id.
Description of the Model keyed by language code.
Encoded JSON string of DTDL model definition.
Timestamp when the model was uploaded in ISO 8601 format
[ { "id": "dtmi:com:willowinc:Room;1", "displayName": { … }, "description": { … }, "modelDefinition": "{\"@id\":\"dtmi:com:willowinc:Room;1\",\n \"@type\":\"Interface\",\n \"displayName\":{\"en\":\"Room\"},\n \"description\":{\"en\":\"A portion of space within a building that's usually enclosed and has its own walls, floor, and ceiling.\"},\n \"extends\":[\"dtmi:com:willowinc:Space;1\"],\n \"contents\":[{\n \"@type\":\"Property\",\n \"name\":\"type\",\n \"displayName\":{\"en\":\"Type\"},\n \"writable\": true,\n \"schema\":\"string\"\n },\n {\n \"@type\":[\"Property\",\"Volume\"],\n \"name\":\"volume\",\n \"displayName\":{\"en\":\"Volume\"},\n \"writable\": true,\n \"schema\":\"double\",\n \"unit\":\"cubicMetre\"\n },\n {\n \"@type\":[\"Property\",\"ValueAnnotation\",\"Override\"],\n \"displayName\":{\"en\":\"volume unit\"},\n \"name\":\"volumeUnit\",\n \"annotates\":\"volume\",\n \"overrides\":\"unit\",\n \"schema\":\"VolumeUnit\",\n \"writable\": true\n }\n ],\n \"@context\":[\n \"dtmi:dtdl:context;3\",\n \"dtmi:dtdl:extension:quantitativeTypes;1\",\n \"dtmi:dtdl:extension:annotation;1\",\n \"dtmi:dtdl:extension:overriding;1\"\n ]\n }", "uploadTime": "2024-08-30T03:33:54.7015118+00:00" } ]
- https://{instance}.app.willowinc.com/api/v3/models/{id}
- Payload
- JS
- C#
- Java
- Python
No request payloadIf model retrieved successfully.
Description of the Model keyed by language code.
Encoded JSON string of DTDL model definition.
{ "id": "dtmi:com:willowinc:Room;1", "displayName": { "en": "Room" }, "description": { "en": "A portion of space within a building that's usually enclosed and has its own walls, floor, and ceiling." }, "modelDefinition": "{\"@id\":\"dtmi:com:willowinc:Room;1\",\n \"@type\":\"Interface\",\n \"displayName\":{\"en\":\"Room\"},\n \"description\":{\"en\":\"A portion of space within a building that's usually enclosed and has its own walls, floor, and ceiling.\"},\n \"extends\":[\"dtmi:com:willowinc:Space;1\"],\n \"contents\":[{\n \"@type\":\"Property\",\n \"name\":\"type\",\n \"displayName\":{\"en\":\"Type\"},\n \"writable\": true,\n \"schema\":\"string\"\n },\n {\n \"@type\":[\"Property\",\"Volume\"],\n \"name\":\"volume\",\n \"displayName\":{\"en\":\"Volume\"},\n \"writable\": true,\n \"schema\":\"double\",\n \"unit\":\"cubicMetre\"\n },\n {\n \"@type\":[\"Property\",\"ValueAnnotation\",\"Override\"],\n \"displayName\":{\"en\":\"volume unit\"},\n \"name\":\"volumeUnit\",\n \"annotates\":\"volume\",\n \"overrides\":\"unit\",\n \"schema\":\"VolumeUnit\",\n \"writable\": true\n }\n ],\n \"@context\":[\n \"dtmi:dtdl:context;3\",\n \"dtmi:dtdl:extension:quantitativeTypes;1\",\n \"dtmi:dtdl:extension:annotation;1\",\n \"dtmi:dtdl:extension:overriding;1\"\n ]\n }", "uploadTime": "2024-08-30T03:33:54.7015118+00:00" }
Time Series
The Time Series endpoints are used for sending or receiving telemetry data. Once a Capability twin has been created that represents the time series, the telemetry associated with that twin can be created using either the twin's dtId (aka twinId) or externalId, a timestamp, and a value. Data is transmitted as an array so time series data can be batched and sent within a single request. Similarly, time series can be retreived for one or more Capability twins at a time using the twinId(s).
Insights
Insights are issues, opportunities, or knowledge that can help optimize or improve the performance of a building. They can be associated with any twin within Willow and are triggered in real-time by Skills that are running within Willow's Activate Technology and analyzing the incoming time series data.