REST API

REST API Overview

Overview

The WideSky Cloud REST API exposes a range of functionality to query the asset model, read and write data, and issue commands. It's based on the REST architectural style, and in particular implements a superset of the Project Haystack REST API Specification.

Operations

A haystack REST server implements a set of operations (or “ops”). Standard operations are defined to query WideSky, setup subscriptions, or read/write history time-series data. Both requests and responses are modelled as grids. Grids are encoded using either ZINC or JSON serialization formats.

Ops Summary

A summary of the currently support operations is listed below:

Method URI Haystack Standard WideSky Support Description
About /api/about The about op queries basic information about the server.
Operations /api/ops The ops op queries which operations are available on the server.
Formats api/formats The formats op is used to query which MIME types are available to read and write grids.
Create /api/createRec The createRec op is used to create new entity records in the asset model.
Read /api/read The read op is used to read a set of entity records either by their unique identifier or using a filter.
Update /api/updateRec The updateRec op is used to add, update or delete the tags on a entity records.
Delete /api/deleteRec The deleteRec op is used for deleting entity records either by their unique identifier or using a filter.
Navigate /api/nav The nav op is used navigate a project for learning and discovery. Allowing servers to expose the database in a human-friendly tree (or graph).
Watch Subscribe /api/watchSub The watchSub operation is used to create new watches or add entities to an existing watch.
Watch Unsubscribe /api/watchUnsub The watchUnsub operation is used to close a watch entirely or remove entities from a watch.
Watch Poll /api/watchPoll The watchPoll operation is used to poll a watch for changes to the subscribed entity records.
Point Write /api/pointWrite ✅⭐ The pointWrite op is used to read the current status of a writable point's priority array and optionally write to a given level.
Historical Write /api/hisWrite ✅⭐ The hisWrite op is used to post new time-series data to a historised point.
Historical Read /api/hisRead ✅⭐ The hisRead op is used to read time-series data from historised point.
Invoke Action /api/invokeAction The invokeAction op is used to invoke an user action on a target entity.
UpdatePassword /api/updatePassword The updatePassword op is used for changing a Widesky user’s password.

Notes:

  • ⭐Indicates standard operation is supported with added functionality.

Serialization

Serialization Formats

Operations