Clients
This is the client who owns and/or operates one or many locations (e.g. ABC Pty Ltd.)
| API | Description |
|---|---|
| GET api/Clients/SubClients?id={id}&subLevels={subLevels} |
Gets all of the SubClients for a specified Client |
| GET api/Clients?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Gets all Clients you have access to. |
| GET api/Clients/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Get a specific Client by ID |
| PUT api/Clients?subLevels={subLevels} |
Update client |
| POST api/Clients |
Create a new Client |
Groups
This is an abstract structure that contains one or many SubGroups
| API | Description |
|---|---|
| PUT api/Groups/RequestReading?ids[0]={ids[0]}&ids[1]={ids[1]} |
Request that a reading be taken of the physical device and the records updated as soon as possible. NOTE: the returned details may or may not contain the readings that have been requested. Check reading date/time |
| GET api/Groups?subLevels={subLevels} |
Gets all Groups you have access to. |
| GET api/Groups/{id}?subLevels={subLevels} |
Get a specific Group by ID |
| POST api/Groups |
Create a Group |
| PUT api/Groups?subLevels={subLevels} |
Update a Group |
| DELETE api/Groups/{id} |
Delete a Group if you have the Credentials to do so. NOTE: This will also delete all associated SubGroups under this Group. |
CalculatedDevices
A Calculated Device represents a Device that is calculated/devised based on a number of other devices.For example, this can represent the Sum of multiple Connected Devices, the Average, or even the difference over a specified time scale.
| API | Description |
|---|---|
| GET api/CalculatedDevices?subLevels={subLevels}&includeLatestReading={includeLatestReading} |
Gets all CalculatedDevices you have access to. |
| GET api/CalculatedDevices?calculatedDeviceType={calculatedDeviceType}&subLevels={subLevels}&includeLatestReading={includeLatestReading} |
Get all CalculatedDevices you have access to, by CalculatedDevice type |
| GET api/CalculatedDevices?category={category}&subLevels={subLevels}&includeLatestReading={includeLatestReading} |
Get CalculatedDevices by Category |
| POST api/CalculatedDevices |
Creates a new CalculatedDevice |
| PUT api/CalculatedDevices |
Update the information for a specific CalculatedDevice |
| PUT api/CalculatedDevices/BackCalculate/{id}?startDate={startDate}&endDate={endDate} |
No documentation available. |
| PUT api/CalculatedDevices/BackCalculate2/{id}?startDate={startDate}&endDate={endDate} |
No documentation available. |
| GET api/CalculatedDevices/Logs?id={id}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR} |
Returns a log of readings for the specified Calculated Device, for the specified DateTimes. Note: Always expects a time value. i.e. if an end date of 2017-01-01 with no time is given, 00:00:00 of 2017-01-01 will be assumed and data from prior to this point in time will be returned. For a start date, the same assumption applies, and data after this point will be returned. |
| GET api/CalculatedDevices/Logs?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR} |
Returns a log of readings for the specified device, for the specified DateTimes. Note: Always expects a time value. i.e. if an end date of 2017-01-01 with no time is given, 00:00:00 of 2017-01-01 will be assumed and data from prior to this point in time will be returned. For a start date, the same assumption applies, and data after this point will be returned. |
| PUT api/CalculatedDevices/Logs |
No documentation available. |
| DELETE api/CalculatedDevices/Logs |
Used to delete the CalculatedDevice Log that matches the input Integer ID |
| POST api/CalculatedDevices/{id}/Reading |
Posts a new Reading for the input CalculatedDevice ID |
| GET api/CalculatedDevices/{id}?subLevels={subLevels}&includeLatestReading={includeLatestReading} |
Get a specific CalculatedDevice by ID |
| POST api/CalculatedDevices?subLevels={subLevels}&includeLatestReading={includeLatestReading} |
Converts the stored info to the info we want to send out via API.. |
| DELETE api/CalculatedDevices/{id} |
Delete a CalculatedDevice if you have the Credentials to do so |
DataNodes
A DataNode is a collection of devices (e.g. An irrigation DataNode may have pumps, valves, and meters)This is the hardware that the actual devices connect to.
Users
This is the user who owns and/or operates one or many locations (e.g. ABC Pty Ltd.)
| API | Description |
|---|---|
| GET api/Users/{id} |
Gets a specific user by integer ID |
| PUT api/Users/CheckIn |
User Check-In |
| PUT api/Users/CheckOut |
User Check-Out |
| GET api/Users/Logs?descending={descending} |
Retrieve Check-In/Check-Out Logs, based on the current user |
| GET api/Users/Logs?username={username}&descending={descending} |
Retrieve Check-In/Check-Out Logs, based on the input username |
| GET api/Users/Logs?clientID={clientID}&descending={descending} |
Retrieve Check-In/Check-Out Logs, based on the input client |
| GET api/Users |
Gets all Users you have access to. |
| GET api/Users?username={username} |
Get a specific User by username |
| GET api/Users?clientID={clientID} |
Get all Users under a specific Client ID |
| PUT api/Users |
Update user |
| POST api/Users |
Create User |
| DELETE api/Users?username={username} |
Delete a User if you are a System Admin |
SubGroups
This is an abstract structure that contains one or many devices
| API | Description |
|---|---|
| PUT api/SubGroups/RequestReading?ids[0]={ids[0]}&ids[1]={ids[1]} |
Request that a reading be taken of the physical device and the records updated as soon as possible. NOTE: the returned details may or may not contain the readings that have been requested. Check reading date/time |
| PUT api/SubGroups/RequestReading?category={category} |
Request that a reading be taken of the physical device and the records updated as soon as possible. for a particular category. NOTE: the returned details may or may not contain the readings that have been requested. Check reading date/time |
| PUT api/SubGroups |
Update a SubGroup |
| GET api/SubGroups |
Gets all SubGroups you have access to. |
| GET api/SubGroups/{id} |
Get a specific SubGroup by ID |
| GET api/SubGroups?category={category} |
Get SubGroups by Category |
| POST api/SubGroups |
Create a SubGroup |
| DELETE api/SubGroups/{id} |
Delete a SubGroup if you have the Credentials to do so. NOTE: This will remove the relationship with all associated devices under this SubGroup, however the devices are un-touched. |
Schedules
This is an abstract structure that contains one or many Steps
AlertSubscriptions
Controller for Alert Subscriptions
| API | Description |
|---|---|
| GET api/AlertSubscriptions |
Gets all Alert Subscriptions you have access to. |
| GET api/AlertSubscriptions/{id} |
Gets all Alert Subscriptions you have access to. |
| GET api/AlertSubscriptions?username={username} |
Gets all Alert Subscriptions by Username. |
| POST api/AlertSubscriptions |
Creates a new instance of an AlertSubscription in the database. |
| PUT api/AlertSubscriptions |
Update AlertSubscription |
| PUT api/AlertSubscriptions/Enable?ids[0]={ids[0]}&ids[1]={ids[1]} |
Enables a number of Alert Subscriptions by Integer ID determined by the input array |
| PUT api/AlertSubscriptions/EnableAll?username={username} |
Enables all Alert Subscriptions for the input username, if allowed |
| PUT api/AlertSubscriptions/Disable?ids[0]={ids[0]}&ids[1]={ids[1]} |
Enables a number of Alert Subscriptions by Integer ID determined by the input array |
| PUT api/AlertSubscriptions/DisableAll?username={username} |
Disables all Alert Subscriptions for the input username, if allowed |
| DELETE api/AlertSubscriptions/{id} |
Delete an AlertSubscription if you have the Credentials to do so |
Networks
This is the network at a particular location which may have 1 or more DataNodes operating from that network.A network has a Gateway DataNode (with attached modem and other equipment) that handles all communications to and from the other DataNodes in the network.A particular network might consist of one or more actual boxes with the capability to communicate with the other boxes on the network.
| API | Description |
|---|---|
| PUT api/Networks/EnableScheduleQueue?ids[0]={ids[0]}&ids[1]={ids[1]} |
Enables the Schedule Queue on the input Networks |
| PUT api/Networks/DisableScheduleQueue?ids[0]={ids[0]}&ids[1]={ids[1]} |
Disables the Schedule Queue on the input Networks |
| PUT api/Networks/EnableReadings?ids[0]={ids[0]}&ids[1]={ids[1]} |
Enables performing network readings for the input Network IDs |
| PUT api/Networks/DisableReadings?ids[0]={ids[0]}&ids[1]={ids[1]} |
Disables performing network readings for the input Network IDs |
| PUT api/Networks/AddressUpdate |
No documentation available. |
| GET api/Networks?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Gets all Networks you have access to. |
| GET api/Networks/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Get a specific Network by ID |
| POST api/Networks |
Create a network (gateway) |
| PUT api/Networks |
Update Network |
| DELETE api/Networks/{id} |
Delete a Network if you have the Credentials to do so |
Devices
A device is an abstract object that represents the basic info about physical devices, such as sensors, pumps, valves, etc.The individual devices are physically connected to the DataNode and the DataNode is configured to handle this type of device.
| API | Description |
|---|---|
| GET api/Devices?includeLatestReading={includeLatestReading} |
Gets all Devices you have access to. |
| GET api/Devices?deviceType={deviceType}&includeLatestReading={includeLatestReading} |
Get all Devices you have access to, by Device type |
| GET api/Devices?category={category}&includeLatestReading={includeLatestReading} |
Get Devices by Category |
| POST api/Devices |
Creates a new Device |
| PUT api/Devices |
Update the information for one particular Device |
| PUT api/Devices/TurnOn?ids[0]={ids[0]}&ids[1]={ids[1]} |
If possible, turn on Devices by passed in IDs |
| PUT api/Devices/TurnOff?ids[0]={ids[0]}&ids[1]={ids[1]} |
If possible, turn off Devices by passed in IDs |
| PUT api/Devices/Set?ids[0]={ids[0]}&ids[1]={ids[1]}&values[0]={values[0]}&values[1]={values[1]} |
If possible, set the analog output on the Devices passed in via IDs, to the values provided, in respective order |
| GET api/Devices/Logs?id={id}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR} |
Returns a log of readings for the specified device, for the specified DateTimes. Note: Always expects a time value. i.e. if an end date of 2017-01-01 with no time is given, 00:00:00 of 2017-01-01 will be assumed and data from prior to this point in time will be returned. For a start date, the same assumption applies, and data after this point will be returned. |
| GET api/Devices/Logs?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR} |
Returns a log of readings for the specified device, for the specified DateTimes. Note: Always expects a time value. i.e. if an end date of 2017-01-01 with no time is given, 00:00:00 of 2017-01-01 will be assumed and data from prior to this point in time will be returned. For a start date, the same assumption applies, and data after this point will be returned. |
| PUT api/Devices/Logs |
No documentation available. |
| DELETE api/Devices/Logs |
Used to delete the Device Log that matches the input Integer ID |
| POST api/Devices/{id}/Reading |
Posts a new Reading for the input Device ID |
| PUT api/Devices/RequestReading?ids[0]={ids[0]}&ids[1]={ids[1]} |
Request that a reading be taken of the physical device and the records updated as soon as possible. NOTE: the returned details may or may not contain the readings that have been requested. Check reading date/time |
| GET api/Devices/{id}?includeLatestReading={includeLatestReading} |
Get a specific Device by ID |
| PUT api/Devices?ids[0]={ids[0]}&ids[1]={ids[1]} |
Request that a reading be taken of the physical device and the records updated as soon as possible. NOTE: the returned details may or may not contain the readings that have been requested. Check reading date/time |
| POST api/Devices?fillWithData={fillWithData} |
Converts the stored info to the info we want to send out via API.. |
| DELETE api/Devices/{id} |
Delete a ConnectedDevice if you have the Credentials to do so |
Programs
This is an abstract structure that contains one or many ProgramGroups, which in turn contain one or many ProgramSteps. This is used to create/spawn Schedules for sending to DataNodes, similar to a Template but with much more detail included.
| API | Description |
|---|---|
| GET api/Programs?subLevels={subLevels} |
Gets all you have access to. |
| GET api/Programs/{id}?subLevels={subLevels} |
Get a specific by ID |
| POST api/Programs |
Create a |
| PUT api/Programs |
Update a |
| PUT api/Programs/CreateSchedule/{id}?startDate={startDate}&status={status} |
Creates a based on the input ID |
| DELETE api/Programs/{id} |
Delete a if you have the Credentials to do so, and all that fall under it |
UserAccess
API Controller for User Access. Used to allow or deny access to various systems for an individual user
| API | Description |
|---|---|
| GET api/UserAccess/{id} |
Get by a specific User Access integer ID |
| DELETE api/UserAccess/{id} |
Deletes a UserAccess item |
| GET api/UserAccess |
Gets all of user access items |
| GET api/UserAccess?username={username} |
Returns a list of User Access settings for a specified user |
| GET api/UserAccess?username={username}&ownerID={ownerID}&ownerType={ownerType} |
Returns a User Access setting for a specific object for the specified user |
| POST api/UserAccess?username={username}&accessType={accessType} |
Returns a response indicating whether a user has access to a specified object at the specified access level |
| POST api/UserAccess |
Creates User Access settings for a user |
| PUT api/UserAccess |
Updates User Access settings for a user |
| DELETE api/UserAccess?userName={userName}&objectID={objectID}&objectType={objectType} |
Deletes a user access item |
Alert
Controller for the alert page
| API | Description |
|---|---|
| GET api/Alert |
Gets all Alerts you have access to |
| GET api/Alert/{id} |
Gets an Alert by id |
| GET api/Alert/Subscriptions |
No documentation available. |
| GET api/Alert/Subscriptions/{id} |
Gets an Alert Subscription by ID |
| GET api/Alert/GetByFilter?alertType={alertType}&message={message}&isSent={isSent}&requiresAcknowledgement={requiresAcknowledgement}&acknowledgedDate={acknowledgedDate}&category={category}&subCategory={subCategory} |
GET: Alerts |
| GET api/Alert/UnacknowledgedAlerts |
No documentation available. |
| POST api/Alert/Acknowledge/{id} |
No documentation available. |
| POST api/Alert/Ignore/{id} |
No documentation available. |
| POST api/Alert |
Creates a new instance of an Alert in the database. |
ConfiguredAlert
Controller for the alert page
| API | Description |
|---|---|
| GET api/ConfiguredAlert |
Gets all Alerts you have access to |
| GET api/ConfiguredAlert/{id} |
Gets an ConfiguredAlert by id |
| POST api/ConfiguredAlert |
Creates a new instance of an ConfiguredAlert in the database. |
| PUT api/ConfiguredAlert |
Update an existing ConfiguredAlert in the database. |
Locations
This is the general location of one or more networks (e.g. Cattle station 1 or base hospital) Details of the location are stored here.
| API | Description |
|---|---|
| GET api/Locations?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Gets all Locations you have access to. |
| GET api/Locations/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings} |
Get a specific Location by ID |
| POST api/Locations |
Creates a new location |
| PUT api/Locations |
Update Location |
Timetables
This is the Controller for handling Timetable-related actions, such as creating and editing
| API | Description |
|---|---|
| GET api/Timetables |
Gets all Timetables you have access to. |
| GET api/Timetables/{id} |
Get a specific Timetable by ID |
| POST api/Timetables |
Create a Timetable |
| PUT api/Timetables |
Update a Timetable |
| DELETE api/Timetables/{id} |
Delete a Timetable if you have the Credentials to do so |