Users

This is the user who owns and/or operates one or many locations (e.g. ABC Pty Ltd.)

APIDescription
DELETE api/Users/{id}

Delete a User if you have the permissions to do so

DELETE api/Users?username={username}

Delete a User if you have the permissions to do so

GET api/Users

Gets all Users you have access to.

GET api/Users/{id}

Gets a specific user by integer ID

GET api/Users/Logs?clientID={clientID}&descending={descending}

Retrieve Check-In/Check-Out Logs, based on the input client

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?clientID={clientID}

Get all Users under a specific Client ID

GET api/Users?username={username}

Get a specific User by username

POST api/Users

Create User

PUT api/Users

Update user

PUT api/Users/CheckIn

User Check-In

PUT api/Users/CheckOut

User Check-Out

Clients

This is the client who owns and/or operates one or many locations (e.g. ABC Pty Ltd.)

APIDescription
DELETE api/Clients/{id}

Delete a Client if you are a System Admin

GET api/Clients/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}

Get a specific Client by ID

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.

POST api/Clients

Create a new Client

PUT api/Clients/Archive?id={id}&minimumLogsToArchive={minimumLogsToArchive}

Performs the Log Archival process on this object and all child objects

PUT api/Clients?subLevels={subLevels}

Update client

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.

APIDescription
GET api/Locations/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}

Get a specific Location by ID

GET api/Locations?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}

Gets all Locations you have access to.

POST api/Locations

Creates a new location

PUT api/Locations

Update Location

PUT api/Locations/Archive?id={id}&minimumLogsToArchive={minimumLogsToArchive}

Performs the Log Archival process on this object and all child objects

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 Comms Interface 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.

APIDescription
DELETE api/Networks/{id}

Delete a Network if you have the Credentials to do so

DELETE api/Networks/{id}/Queue

Deletes all current Queued Items for the specified Network

DELETE api/Networks/{id}/Queue?commandID={commandID}

Determines if there is a Queue Item with a Command ID that matches the input and deletes it from the Queue if found

GET api/Networks/{id}/Queue?loadQueuedItems={loadQueuedItems}

Gets the Queue Information for the specified Network

GET api/Networks/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}

Get a specific Network by ID

GET api/Networks?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}

Gets all Networks you have access to.

POST api/Networks

Create a network (gateway)

PUT api/Networks

Update Network

PUT api/Networks/AddressUpdate

No documentation available.

PUT api/Networks/Archive?id={id}&minimumLogsToArchive={minimumLogsToArchive}

Performs the Log Archival process on this object and all child objects

PUT api/Networks/DisableReadings?ids[0]={ids[0]}&ids[1]={ids[1]}

Disables performing network readings for the input Network IDs

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/EnableScheduleQueue?ids[0]={ids[0]}&ids[1]={ids[1]}

Enables the Schedule Queue on the input Networks

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.

APIDescription
DELETE api/DataNodes/{id}

Delete a DataNode if you have the Credentials to do so

GET api/DataNodes/{id}?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}&includeHiddenDevices={includeHiddenDevices}

Get a specific DataNode by ID

GET api/DataNodes/VersionInformation?hardwareType={hardwareType}&bootloaderType={bootloaderType}&bootloaderMajor={bootloaderMajor}&bootloaderMinor={bootloaderMinor}&bootloaderBeta={bootloaderBeta}&firmwareMajor={firmwareMajor}&firmwareMinor={firmwareMinor}&firmwareHotfix={firmwareHotfix}&firmwareBeta={firmwareBeta}

Finds all DataNodes that match the input Version-related criteria and returns them to the user.

GET api/DataNodes?category={category}&subLevels={subLevels}&includeLatestReadings={includeLatestReadings}&includeHiddenDevices={includeHiddenDevices}

Get DataNodes by Category

GET api/DataNodes?subLevels={subLevels}&includeLatestReadings={includeLatestReadings}&includeHiddenDevices={includeHiddenDevices}

Gets all DataNodes you have access to.

POST api/DataNodes

Creates a new DataNode within a Network

PUT api/DataNodes/Archive?id={id}&minimumLogsToArchive={minimumLogsToArchive}

Performs the Log Archival process on this object and all child objects

PUT api/DataNodes/CheckFirmware?ids[0]={ids[0]}&ids[1]={ids[1]}

Marks the input DataNodes (by integer ID) for checking their Firmware Versions

PUT api/DataNodes/Command?ids[0]={ids[0]}&ids[1]={ids[1]}&cmd[0]={cmd[0]}&cmd[1]={cmd[1]}

Sends a custom command through to the input DataNodes

PUT api/DataNodes/CustomCommand

Sends any number of Custom Commands through to specified DataNodes, depending on the input

PUT api/DataNodes/DisableReadings?ids[0]={ids[0]}&ids[1]={ids[1]}

Used to disable performing network readings for the input DataNode IDs

PUT api/DataNodes/EnableReadings?ids[0]={ids[0]}&ids[1]={ids[1]}

Used to enable performing network readings for the input DataNode IDs

PUT api/DataNodes/SetPollingInterval?ids[0]={ids[0]}&ids[1]={ids[1]}&schedule[0]={schedule[0]}&schedule[1]={schedule[1]}&log[0]={log[0]}&log[1]={log[1]}

Sets the Schedule and Log Polling Interval properties of the input DataNodes to the respective input values

PUT api/DataNodes?includeHiddenDevices={includeHiddenDevices}

Update DataNode

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.

APIDescription
DELETE api/Devices/{id}

Delete a ConnectedDevice if you have the Credentials to do so

DELETE api/Devices/Logs

Used to delete the Device Log that matches the input Integer ID

GET api/Devices/{id}?includeLatestReading={includeLatestReading}&includeProperties={includeProperties}

Get a specific Device by ID

GET api/Devices/Controllable?includeLatestReading={includeLatestReading}&includeProperties={includeProperties}

Gets all Devices you have access to that are controllable

GET api/Devices/Logs?id={id}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR}&includeDeviceProperties={includeDeviceProperties}

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}&includeDeviceProperties={includeDeviceProperties}

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/Schedulable?includeLatestReading={includeLatestReading}&includeProperties={includeProperties}

Gets all Devices you have access to that are schedulable

GET api/Devices?includeLatestReading={includeLatestReading}&includeProperties={includeProperties}

Gets all Devices you have access to.

POST api/Devices

Creates a new Device

POST api/Devices/{id}/Reading

Posts a new Reading for the input Device ID

POST api/Devices/Logs/Bulk

Used to post bulk Device logs. This must be done with the body of the call set to form-data.Data must be supplied in an appropriately formatted text file with the key "data". The file must be less than 5 MB.Log mapping information must be supplied as a Base64-encoded JSON Body based on with the key "mapping".Optionally a DateTime Offset may be provided with the key "offset", with the format of hh:mm:ss.This is to be used by System Administrators only

POST api/Devices?decimalPlaces={decimalPlaces}

Converts the stored info to info for sending via API

PUT api/Devices

Update the information for one particular Device

PUT api/Devices/DisableBandActions/{id}

Disables Band Actions on the device indicated by the provided ID

PUT api/Devices/EnableBandActions/{id}

Enables Band Actions on the device indicated by the provided ID

PUT api/Devices/Logs

No documentation available.

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

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

PUT api/Devices/TurnOff?ids[0]={ids[0]}&ids[1]={ids[1]}

If possible, turn off Devices by passed in IDs

PUT api/Devices/TurnOn?ids[0]={ids[0]}&ids[1]={ids[1]}

If possible, turn on Devices by passed in IDs

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

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.

APIDescription
DELETE api/CalculatedDevices/{id}

Delete a CalculatedDevice if you have the Credentials to do so

DELETE api/CalculatedDevices/Logs

Used to delete the CalculatedDevice Log that matches the input Integer ID

GET api/CalculatedDevices/{id}?subLevels={subLevels}&includeLatestReading={includeLatestReading}&includeDeviceProperties={includeDeviceProperties}

Get a specific CalculatedDevice by ID

GET api/CalculatedDevices/Logs?id={id}&numberOfEntries={numberOfEntries}&startDate={startDate}&endDate={endDate}&includeNR={includeNR}&includeDeviceProperties={includeDeviceProperties}

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}&includeDeviceProperties={includeDeviceProperties}

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/CalculatedDevices?calculatedDeviceType={calculatedDeviceType}&subLevels={subLevels}&includeLatestReading={includeLatestReading}&includeDeviceProperties={includeDeviceProperties}

Get all CalculatedDevices you have access to, by CalculatedDevice type

GET api/CalculatedDevices?category={category}&subLevels={subLevels}&includeLatestReading={includeLatestReading}&includeDeviceProperties={includeDeviceProperties}

Get CalculatedDevices by Category

GET api/CalculatedDevices?subLevels={subLevels}&includeLatestReading={includeLatestReading}&includeDeviceProperties={includeDeviceProperties}

Gets all CalculatedDevices you have access to.

POST api/CalculatedDevices

Creates a new CalculatedDevice

POST api/CalculatedDevices/{id}/Reading?includeDeviceProperties={includeDeviceProperties}

Posts a new Reading for the input CalculatedDevice ID

PUT api/CalculatedDevices

Update the information for a specific CalculatedDevice

PUT api/CalculatedDevices/BackCalculate/{id}?startDate={startDate}&endDate={endDate}&overwriteExisting={overwriteExisting}&includeDeviceProperties={includeDeviceProperties}&evaluateReliantDevices={evaluateReliantDevices}

Handles back-calculating readings for a specified Calculated Device (covering a date range specified by the inputs) and returns the new readings.Note: This will cache and return all new readings at the end of the call, which can have a high impact on memory usage. If back-calculating data over a large span of time, consider using BackCalculate2.

PUT api/CalculatedDevices/BackCalculate2/{id}?startDate={startDate}&endDate={endDate}&overwriteExisting={overwriteExisting}&includeDeviceProperties={includeDeviceProperties}&evaluateReliantDevices={evaluateReliantDevices}

Handles back-calculating readings for a specified Calculated Device (covering a date range specified by the inputs) and returns the number of new readings made.Note: It is recommended to use this if back-calculating a large quantity of data. This does not return the new readings in the response, only the number of new readings made. If back-calculating data over a small span of time or the results are desired, consider using BackCalculate.

PUT api/CalculatedDevices/DisableBandActions/{id}

Disables Band Actions on the device indicated by the provided ID

PUT api/CalculatedDevices/EnableBandActions/{id}

Enables Band Actions on the device indicated by the provided ID

PUT api/CalculatedDevices/Logs

No documentation available.

PUT api/CalculatedDevices/StartBackCalculate/{id}?startDate={startDate}&endDate={endDate}&overwriteExisting={overwriteExisting}&includeDeviceProperties={includeDeviceProperties}

Handles starting the process of back-calculating readings for a specified Calculated Device (covering a date range specified by the inputs). Calling this endpoint will have it return immediately to notify if the process has started or not.Note: It is recommended to use this if back-calculating a large quantity of data. This does not return the new readings in the response, only the number of new readings made. If back-calculating data over a small span of time or the results are desired, consider using BackCalculate.

ConfiguredAlert

Controller for the alert page

APIDescription
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.

Alert

Controller for the alert page

APIDescription
GET api/Alert

Gets all Alerts you have access to

GET api/Alert/{id}

Gets an Alert by Guid ID

GET api/Alert/GetByFilter?alertType={alertType}&message={message}&isSent={isSent}&requiresAcknowledgement={requiresAcknowledgement}&acknowledgedDate={acknowledgedDate}&category={category}&subCategory={subCategory}

GET: Alerts

GET api/Alert/Subscriptions

Gets the Alert Subscriptions for the filtered user (if applicable) or otherwise the current user

GET api/Alert/Subscriptions/{id}

Gets an Alert Subscription by ID

GET api/Alert/UnacknowledgedAlerts

Retrieves a list of all Unacknowledged Alerts for the filtered user (if applicable) or otherwise the current user

POST api/Alert

Creates a new instance of an Alert in the database.

POST api/Alert/Acknowledge

Acknowledges any number of Alerts based on the input details provided within

POST api/Alert/Acknowledge/{id}

Acknowledges (Resets) the Alert that matches the input ID. This clears the Alert and allows the alert to trigger again.

POST api/Alert/Ignore/{id}

Ignores the Alert that matches the input ID. This keeps the Alert active but flags it as ignored

AlertSubscriptions

Controller for Alert Subscriptions

APIDescription
DELETE api/AlertSubscriptions/{id}

Delete an AlertSubscription if you have the Credentials to do so

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/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

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

Groups

This is an abstract structure that contains one or many SubGroups

APIDescription
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.

GET api/Groups/{id}?subLevels={subLevels}

Get a specific Group by ID

GET api/Groups?subLevels={subLevels}

Gets all Groups you have access to.

POST api/Groups

Create a Group

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

PUT api/Groups?subLevels={subLevels}

Update a Group

SubGroups

This is an abstract structure that contains one or many devices

APIDescription
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.

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

PUT api/SubGroups

Update a SubGroup

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/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

Timetables

This is the Controller for handling Timetable-related actions, such as creating and editing

APIDescription
DELETE api/Timetables/{id}

Delete a Timetable if you have the Credentials to do so

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

PUT api/Timetables/Disable/{id}

Disables the Timetable indicated by the input ID

PUT api/Timetables/Disable?ids[0]={ids[0]}&ids[1]={ids[1]}

Disables any number of Timetables indicated by the input IDs

PUT api/Timetables/Enable/{id}

Enables the Timetable indicated by the input ID

PUT api/Timetables/Enable?ids[0]={ids[0]}&ids[1]={ids[1]}

Enables any number of Timetables indicated by the input IDs

Programs

This is an abstract structure that contains one or many Groups, which in turn contain one or many Steps. This is used to create/spawn Schedules for sending to DataNodes, similar to a Template but with much more detail included.

APIDescription
DELETE api/Programs/{id}

Delete a if you have the Credentials to do so, and all that fall under it

GET api/Programs/{id}?subLevels={subLevels}

Get a specific by ID

GET api/Programs/Groups/{id}?subLevels={subLevels}

Get a specific by ID

GET api/Programs/Steps/{id}

Get a specific by ID

GET api/Programs?subLevels={subLevels}

Gets all you have access to.

POST api/Programs

Create a

PUT api/Programs

Update a

PUT api/Programs/CreateSchedule/{id}?startDate={startDate}&status={status}&clientID={clientID}

Creates a based on the input ID

PUT api/Programs/DisableValidation/{id}?subLevels={subLevels}

Disables Validation at the Parent level

PUT api/Programs/EnableValidation/{id}?subLevels={subLevels}

Enables Validation at the Parent level

PUT api/Programs/Groups/DisableValidation/{id}?subLevels={subLevels}

Disables Validation at the Group level

PUT api/Programs/Groups/EnableValidation/{id}?subLevels={subLevels}

Enables Validation at the Group level

PUT api/Programs/Steps/DisableValidation/{id}

Disables all Validation rules at the Step level

PUT api/Programs/Steps/DisableValidationAfter/{id}

Disables ValidationAfter at the Step level

PUT api/Programs/Steps/DisableValidationBefore/{id}

Disables ValidationBefore at the Step level

PUT api/Programs/Steps/DisableValidationDuring/{id}

Disables ValidationDuring at the Step level

PUT api/Programs/Steps/EnableValidation/{id}

Enables all Validation rules at the Step level

PUT api/Programs/Steps/EnableValidationAfter/{id}

Enables ValidationAfter at the Step level

PUT api/Programs/Steps/EnableValidationBefore/{id}

Enables ValidationBefore at the Step level

PUT api/Programs/Steps/EnableValidationDuring/{id}

Enables ValidationDuring at the Step level

Schedules

This is an abstract structure that contains one or many Groups, which in turn contain one or many Steps

APIDescription
DELETE api/Schedules/{id}?forceDelete={forceDelete}

Delete a Schedule if you have the permission to do so, and all steps within it

DELETE api/Schedules?scheduleStatus={scheduleStatus}

Deletes all Schedules of the input Status Group, i.e. all Drafts

GET api/Schedules/{id}?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Get a specific Schedule by ID based on the inputs, if you have access to it.

GET api/Schedules?deviceID={deviceID}&numberOfLogs={numberOfLogs}&subLevels={subLevels}

Get all active Schedules you have access to that use the input Device ID, based on the inputs.

GET api/Schedules?networkID={networkID}&numberOfLogs={numberOfLogs}&subLevels={subLevels}

Get all active Schedules you have access to that use the input Network ID, based on the inputs.

GET api/Schedules?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Gets all Schedules you have access to, based on the inputs

GET api/Schedules?scheduleStatusGroup={scheduleStatusGroup}&numberOfLogs={numberOfLogs}&subLevels={subLevels}

Gets all Schedules you have access to that fall under the Status Group specified, based on the inputs.

POST api/Schedules?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Create a new Schedule.

PUT api/Schedules

Update an existing Schedule.

PUT api/Schedules/AcknowledgeError?scheduleID={scheduleID}&stepIDs[0]={stepIDs[0]}&stepIDs[1]={stepIDs[1]}&numberOfLogs={numberOfLogs}

No documentation available.

PUT api/Schedules/AdjustStep

No documentation available.

PUT api/Schedules/Approve?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Approve schedules

PUT api/Schedules/Cancel?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Cancel a schedule

PUT api/Schedules/CancelStep?scheduleID={scheduleID}&stepIDs[0]={stepIDs[0]}&stepIDs[1]={stepIDs[1]}&numberOfLogs={numberOfLogs}

Handles skipping/cancelling a Step within a Schedule. Any Steps that are linked to the input Step will have their dates adjusted accordingly.

PUT api/Schedules/DisableValidation/{id}?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Disables Validation at the Parent level

PUT api/Schedules/EnableValidation/{id}?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Enables Validation at the Parent level

PUT api/Schedules/FastApprove?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Approve schedules

PUT api/Schedules/FastCancel?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Cancel a schedule

PUT api/Schedules/ForceCancel?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Cancel a Schedule using the "Force Cancel" methodology

PUT api/Schedules/Groups/DisableValidation/{id}?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Disables Validation at the Group level

PUT api/Schedules/Groups/EnableValidation/{id}?numberOfLogs={numberOfLogs}&subLevels={subLevels}

Enables Validation at the Group level

PUT api/Schedules/Pause/{id}?numberOfLogs={numberOfLogs}

Handles pausing the Schedule indicated by the input ID

PUT api/Schedules/QueueApprove?ids[0]={ids[0]}&ids[1]={ids[1]}&numberOfLogs={numberOfLogs}

Check and approve a Schedule to be added onto the Schedule Queue, respecting the Send Period for that Schedule.

PUT api/Schedules/ResendStep?scheduleID={scheduleID}&stepIDs[0]={stepIDs[0]}&stepIDs[1]={stepIDs[1]}&numberOfLogs={numberOfLogs}

No documentation available.

PUT api/Schedules/ResetError?scheduleID={scheduleID}&stepIDs[0]={stepIDs[0]}&stepIDs[1]={stepIDs[1]}&numberOfLogs={numberOfLogs}

No documentation available.

PUT api/Schedules/Resume/{id}?numberOfLogs={numberOfLogs}&newStartDate={newStartDate}

Handles resuming the Schedule indicated by the input ID

PUT api/Schedules/SkipStep?scheduleID={scheduleID}&stepIDs[0]={stepIDs[0]}&stepIDs[1]={stepIDs[1]}&numberOfLogs={numberOfLogs}

Handles skipping/cancelling a Step within a Schedule. Any Steps that are linked to the input Step will have their dates adjusted accordingly.

PUT api/Schedules/Steps/DisableValidation/{id}?numberOfLogs={numberOfLogs}

Disables all Validation rules at the Step level

PUT api/Schedules/Steps/DisableValidationAfter/{id}?numberOfLogs={numberOfLogs}

Disables ValidationAfter at the Step level

PUT api/Schedules/Steps/DisableValidationBefore/{id}?numberOfLogs={numberOfLogs}

Disables ValidationBefore at the Step level

PUT api/Schedules/Steps/DisableValidationDuring/{id}?numberOfLogs={numberOfLogs}

Disables ValidationDuring at the Step level

PUT api/Schedules/Steps/EnableValidation/{id}?numberOfLogs={numberOfLogs}

Enables all Validation rules at the Step level

PUT api/Schedules/Steps/EnableValidationAfter/{id}?numberOfLogs={numberOfLogs}

Enables ValidationAfter at the Step level

PUT api/Schedules/Steps/EnableValidationBefore/{id}?numberOfLogs={numberOfLogs}

Enables ValidationBefore at the Step level

PUT api/Schedules/Steps/EnableValidationDuring/{id}?numberOfLogs={numberOfLogs}

Enables ValidationDuring at the Step level

UserAccess

API Controller for User Access. Used to allow or deny access to various systems for an individual user

APIDescription
DELETE api/UserAccess/{id}

Deletes a UserAccess item

DELETE api/UserAccess?userName={userName}&objectID={objectID}&objectType={objectType}

Deletes a user access item

GET api/UserAccess

Gets all of user access items

GET api/UserAccess/{id}

Get by a specific User Access integer ID

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

Creates User Access settings for a user

PUT api/UserAccess

Updates User Access settings for a user

Batch

Controller for the batch page

APIDescription
GET Batch/AlertCleanup

Performs a Cleanup of all Alerts in the API, archiving any that meet the right criteria for archival.

GET Batch/HandleCalculatedDeviceTimescales?timescale={timescale}

Handles the evaluation of CalculatedDevice Timescale readings based on the input

GET Batch/LogCleanup?clientID={clientID}

Performs the Log Cleanup process, depending on the input. If a ClientID is provided, it will perform it for that Client only. If no ClientID is provided, it will perform it for all Clients.

GET Batch/Poll

Performs a Poll of all configured networks in the API.

GET Batch/RunScheduleMonitor

Runs the Schedule Monitor, which will scan over all active Schedules and perform any actions it deems necessary to maintain the Schedules.

GET Batch/SendPendingAlerts

Sends out all pending Alerts to their appropriate end points, i.e. sends out emails and text messages where needed, if they've not already been sent.

GET Batch/VersionSweep

Performs a sweep of all DataNode Versions in the API. If any are found where their records need to be updated, it will update them.

Admin

Controller for the Admin interface

APIDescription
DELETE api/Admin/Config?name={name}

Deletes a Configuration setting from the database with the matching name

GET api/Admin/ClientReport

Returns a Client Report

GET api/Admin/Config

Get all currently cached Configuration settings

GET api/Admin/Test

Test endpoint

POST api/Admin/Config

Creates a new Configuration settings in the database

PUT api/Admin/Config

Edits the Configuration settings on the database

PUT api/Admin/Config/Reload

Reloads the Configuration settings from the database

CommsInterfaces

This is the Controller for handling Comms Interface-related actions, such as creating and editing

APIDescription
DELETE api/CommsInterfaces/{id}

Delete a Comms Interface if you have the Credentials to do so

GET api/CommsInterfaces

Gets all Comms Interfaces you have access to.

GET api/CommsInterfaces/{id}

Get a specific Comms Interface by ID

GET api/CommsInterfaces/Unclaimed

Gets all Comms Interfaces you have access to that are currently not claimed by any Networks

GET api/CommsInterfaces?gatewayID={gatewayID}

Gets a Comms Interface by the input Gateway ID

GET api/CommsInterfaces?imei={imei}

Gets a Comms Interface by the input IMEI

GET api/CommsInterfaces?macAddress={macAddress}

Gets a Comms Interface by the input MAC Address

GET api/CommsInterfaces?type={type}

Gets all Comms Interfaces you have access to that have a CommsType that matches the input type

POST api/CommsInterfaces

Create a Comms Interface

PUT api/CommsInterfaces

Update a Comms Interface

Equations

This is the Controller for handling Equation-related actions, such as accessing the publicly available or Client-owned Equations

APIDescription
DELETE api/Equations/{id}

Delete an Equation by its integer ID

GET api/Equations/{id}?subLevels={subLevels}

Gets an Equation that matches the input ID

GET api/Equations?subLevels={subLevels}

Gets all Equation items

POST api/Equations

Creates a new Equation

PUT api/Equations

Updates an existing Equation

Conditions

This is the Controller for handling Condition-related actions (ConditionTree, ConditionBranch, ConditionNode), such as creating and editing

APIDescription
DELETE api/Conditions/Branches/{id}

Delete a ConditionBranch if you have the Credentials to do so

DELETE api/Conditions/Leaves/{id}

Delete a ConditionLeaf if you have the Credentials to do so

DELETE api/Conditions/Trees/{id}

Delete a ConditionTree if you have the Credentials to do so

GET api/Conditions/Branches/{id}?subLevels={subLevels}

Get a specific ConditionBranch by ID

GET api/Conditions/Leaves/{id}

Get a specific ConditionLeaf by ID

GET api/Conditions/Trees/{id}?subLevels={subLevels}

Get a specific ConditionTree by ID

GET api/Conditions/Trees?subLevels={subLevels}

Gets all ConditionTrees you have access to.

POST api/Conditions/Trees

Create a ConditionTree

PUT api/Conditions/Branches?subLevels={subLevels}

Update a ConditionBranch

PUT api/Conditions/Leaves

Update a ConditionLeaf

PUT api/Conditions/Trees/Test/{id}

Test the current evaluation of a Tree using the latest applicable readings

PUT api/Conditions/Trees?subLevels={subLevels}

Update a ConditionTree

SIMs

This is the Controller for handling SIM-related actions, such as creating and editing

APIDescription
DELETE api/SIMs/{id}

Delete a SIM if you have the Credentials to do so

GET api/SIMs

Gets all SIMs you have access to.

GET api/SIMs/{id}

Get a specific SIM by ID

GET api/SIMs/Unclaimed

Gets all SIMs that are unclaimed (i.e. do not belong to a CommsInterface)

GET api/SIMs?phoneNumber={phoneNumber}

Get a specific SIM by Phone Number

GET api/SIMs?serialNumber={serialNumber}

Get a specific SIM by Serial Number

GET api/SIMs?state={state}

Get all SIM Card that fall into the input

POST api/SIMs

Create a SIM

PUT api/SIMs

Update a SIM

Enums

This is the Controller for handling Enum-related actions, such as accessing the current lists and adding new enums

APIDescription
DELETE api/Enums/DeviceType?internalName={internalName}

Delete a customisable enum by internal name

DELETE api/Enums/DeviceType?value={value}

Delete a customisable enum by value

DELETE api/Enums/ReadingType?internalName={internalName}

Delete a customisable enum by internal name

DELETE api/Enums/ReadingType?value={value}

Delete a customisable enum by value

DELETE api/Enums/ReadingUnitType?internalName={internalName}

Delete a customisable enum by internal name

DELETE api/Enums/ReadingUnitType?value={value}

Delete a customisable enum by value

GET api/Enums/DeviceType

Gets all enums

GET api/Enums/ReadingType

Gets all enums

GET api/Enums/ReadingUnitType

Gets all enums

POST api/Enums/DeviceType

Creates a new object

POST api/Enums/ReadingType

Creates a new object

POST api/Enums/ReadingUnitType

Creates a new object

PUT api/Enums/DeviceType

Updates an existing enum

PUT api/Enums/ReadingType

Updates an existing enum

PUT api/Enums/ReadingUnitType

Updates an existing enum