FrameFlow's Rest API

Rest API Reference Guide

About the REST API

Welcome to the reference guide for FrameFlow's REST API. Our API gives you complete access to our monitoring and alerting engines so you can integrate FrameFlow and the data it collects with your other IT systems.

To install the API, first install FrameFlow, then go to the Tools section of the interface and select Download API.

FrameFlow REST API Documentation

Authentication Methods

POST​/Authentication​/authenticate
Authenticate method that returns a bearer token if authenticated.

Event History Methods

GET​/sites​/{siteId}​/events​/device​/{deviceName}
List events for a specified device.
GET​/sites​/{siteId}​/events​/device​/{deviceName}​/success
List success events for a specified device.
GET​/sites​/{siteId}​/events​/device​/{deviceName}​/info
List info events for a specified device.
GET​/sites​/{siteId}​/events​/device​/{deviceName}​/warning
List warning events for a specified device.
GET​/sites​/{siteId}​/events​/device​/{deviceName}​/error
List error events for a specified device.
GET​/sites​/{siteId}​/events​/device​/{deviceName}​/critical
List critical events for a specified device.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}
List events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}​/success
List success events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}​/info
List info events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}​/warning
List warning events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}​/error
List error events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/devices​/tag​/{tag}​/critical
List critical events for all devices with the specified tag.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}
List events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/success
List success events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/info
List info events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/warning
List warning events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/error
List error events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/critical
List critical events for a specified event monitor.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}
List events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}​/success
List success events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}​/info
List info events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}​/warning
List warning events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}​/error
List error events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitors​/tag​/{tag}​/critical
List critical events for all event monitors with the specified tag.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/{deviceName}​/success
List success events for a specified device and event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/{deviceName}​/info
List info events for a specified device and event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/{deviceName}​/warning
List warning events for a specified device and event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/{deviceName}​/error
List error events for a specified device and event monitor.
GET​/sites​/{siteId}​/events​/monitor​/{monitorId}​/{deviceName}​/critical
List critical events for a specified device and event monitor.
GET​/sites​/{siteId}​/events
List events for a specified site.
GET​/sites​/{siteId}​/events​/success
List success events for a specified site.
GET​/sites​/{siteId}​/events​/info
List info events for a specified site.
GET​/sites​/{siteId}​/events​/warning
List warning events for a specified site.
GET​/sites​/{siteId}​/events​/error
List error events for a specified site.
GET​/sites​/{siteId}​/events​/critical
List critical events for a specified site.

Event Monitor Group Methods

GET​/sites​/{siteId}​/monitors​/groups
Get all the event monitor groups for the specified site.
POST​/sites​/{siteId}​/monitors​/groups
Add a new group.
GET​/sites​/{siteId}​/monitors​/groups​/{groupName}
Get all the event monitor sub groups in the specified group.
GET​/sites​/{siteId}​/monitors​/groups​/{groupName}​/monitors
Get all the event monitors in the specified group.
PUT​/sites​/{siteId}​/monitors​/groups​/{groupName}​/pause​/until​/{dateTime}
Pause all event monitors in a group until the given date.
PUT​/sites​/{siteId}​/monitors​/groups​/{groupName}​/pause​/days​/{days}
Pause all event monitors in a group for a number of days.
PUT​/sites​/{siteId}​/monitors​/groups​/{groupName}​/pause​/hours​/{hours}
Pause all event monitors in a group for a number of hours.
PUT​/sites​/{siteId}​/monitors​/groups​/{groupName}​/pause​/minutes​/{minutes}
Pause all event monitors in a group for a number of minutes.
PUT​/sites​/{siteId}​/monitors​/groups​/{groupName}​/pause​/seconds​/{seconds}
Pause all event monitors in a group for a number of seconds.

Event Monitor Methods

GET​/sites​/{siteId}​/monitors​/status
Get all the event monitors for the specified site.
GET​/sites​/{siteId}​/monitors
Get all the event monitors for the specified site.
POST​/sites​/{siteId}​/monitors
Clone an event monitor.
DELETE​/sites​/{siteId}​/monitors​/{monitorId}
Remove the specified event monitor.
GET​/sites​/{siteId}​/monitors​/{monitorId}
Get details about the specified event monitor.
PUT​/sites​/{siteId}​/monitors​/{monitorId}
Update an event monitor's details.
GET​/sites​/{siteId}​/monitors​/tags​/{tag}
List all event monitors that have the specified tag.
GET​/sites​/{siteId}​/monitors​/{monitorId}​/tags
List all the tags an event monitor has been tagged with.
POST​/sites​/{siteId}​/monitors​/{monitorId}​/tags
Add a tag to an event monitor.
GET​/sites​/{siteId}​/monitors​/paused
List all the paused event monitors.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause
Pause the specified event monitor.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause​/until​/{dateTime}
Pause the specified event monitor until the given date.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause​/days​/{days}
Pause the specified event monitor for a number of days.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause​/hours​/{hours}
Pause the specified event monitor for a number of hours.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause​/minutes​/{minutes}
Pause the specified event monitor for a number of minutes.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/pause​/seconds​/{seconds}
Pause the specified event monitor for a number of seconds.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/run
Flags an event monitor to run. The event monitor will not run if it is currently paused.
GET​/sites​/{siteId}​/monitors​/status​/warning
List all event monitors in a warning state.
GET​/sites​/{siteId}​/monitors​/status​/error
List all event monitors in an error state.
GET​/sites​/{siteId}​/monitors​/status​/critical
List all event monitors in a critical state.
GET​/sites​/{siteId}​/monitors​/status​/info
List all event monitors in an info state.
GET​/sites​/{siteId}​/monitors​/status​/success
List all event monitors in a success state.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/move
Move an event monitor to a different group.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/suppress​/once
Suppresses all devices for one event monitor run.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/suppress​/always
Suppresses all devices for every event monitor run.
PUT​/sites​/{siteId}​/monitors​/{monitorId}​/suppress​/none
Unsuppresses all devices for an event monitor.
GET​/sites​/{siteId}​/monitors​/{monitorId}​/laststatus
List the last status for each device that is being monitored by.

Graph Data Methods

GET​/sites​/{siteId}​/graphs​/device​/{deviceName}
List graphs for a specified device.
GET​/sites​/{siteId}​/graphs​/monitor​/{monitorId}
List graphs for a specified event monitor.
GET​/sites​/{siteId}​/graphs​/monitor​/{monitorId}​/{deviceName}
List graphs for a specified device and event monitor.

Head Quarters Methods

GET​/headquarters​/status
Get all the alerts.
GET​/headquarters​/lostcontact
Get all the sites that have lost contact.

Log Book Methods

GET​/sites​/{siteId}​/logbook
List log book entries for a specified site.
POST​/sites​/{siteId}​/logbook
Add a log book entry.
DELETE​/sites​/{siteId}​/logbook​/{entryId}
Remove the specified log book entry.
GET​/sites​/{siteId}​/logbook​/{entryId}
Get the specified log book entry.
GET​/sites​/{siteId}​/logbook​/device​/{deviceName}
List log book entries for a specified device.
GET​/sites​/{siteId}​/logbook​/monitor​/{monitorId}
List log book entries for a specified event monitor.

Network Device Group Methods

GET​/sites​/{siteId}​/devices​/groups
Get all the device groups for the specified site.
POST​/sites​/{siteId}​/devices​/groups
Add a new group.
GET​/sites​/{siteId}​/devices​/groups​/{groupName}
Get all the device sub groups in the specified group.
GET​/sites​/{siteId}​/devices​/groups​/{groupName}​/devices
Get all the devices in the specified group.

Network Device Methods

GET​/sites​/{siteId}​/devices​/status
Get all the devices for the specified site.
GET​/sites​/{siteId}​/devices
Get all the devices for the specified site.
POST​/sites​/{siteId}​/devices
Add a new device.
DELETE​/sites​/{siteId}​/devices​/{deviceName}
Remove the specified device.
GET​/sites​/{siteId}​/devices​/{deviceName}
Get details about the specified device.
GET​/sites​/{siteId}​/devices​/tags​/{tag}
List all devices with the specified tag.
GET​/sites​/{siteId}​/devices​/{deviceName}​/tags
List all the tags a device has been tagged with.
POST​/sites​/{siteId}​/devices​/{deviceName}​/tags
Add a tag to a device.
GET​/sites​/{siteId}​/devices​/paused
List all the paused devices.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/pause​/days​/{days}
Pause the specified device for a number of days.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/pause​/hours​/{hours}
Pause the specified device for a number of hours.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/pause​/minutes​/{minutes}
Pause the specified device for a number of minutes.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/pause​/seconds​/{seconds}
Pause the specified device for a number of seconds.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/move
Move a device to a different group.
GET​/sites​/{siteId}​/devices​/status​/warning
List all devices in a warning state.
GET​/sites​/{siteId}​/devices​/status​/error
List all devices in an error state.
GET​/sites​/{siteId}​/devices​/status​/critical
List all devices in a critical state.
GET​/sites​/{siteId}​/devices​/status​/info
List all devices in an info state.
GET​/sites​/{siteId}​/devices​/status​/success
List all devices in a success state.
GET​/sites​/{siteId}​/devices​/{deviceName}​/monitors
List all the event monitors that are monitoring the specified device.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/suppress​/once
Suppresses a device once for every event monitor run.
PUT​/sites​/{siteId}​/devices​/{deviceName}​/suppress​/always
Suppresses a device for every event monitor run.
GET​/sites​/{siteId}​/devices​/{deviceName}​/laststatus
List the last status for each event monitor the specified device is being monitored by.

Product Configuration Methods

POST​/configuration​/{siteId}​/export
Exports the current configuration for a site to the Exports folder (usually "C:\Program Files\FrameFlow\Server Monitor").
POST​/configuration​/export
Exports the current configuration to the Exports folder (usually "C:\Program Files\FrameFlow\Server Monitor").

Site Group Methods

GET​/sites​/groups
Get all the site groups for the specified site.
POST​/sites​/groups
Add a new group.
GET​/sites​/groups​/{groupName}
Get all the site sub groups in the specified group.
DELETE​/sites​/groups​/{groupName}
Removes a site group.
GET​/sites​/groups​/{groupName}​/sites
Get all the sites in the specified group.
PUT​/sites​/groups​/{groupName}​/resume
Resume paused sites in a group.
PUT​/sites​/groups​/{groupName}​/pause
Pause all sites in a group.

Site Methods

GET​/sites​/status
Get all the sites.
GET​/sites
Get all the sites.
POST​/sites
Add a new site.
GET​/sites​/{siteId}
Get details about the specified site.
DELETE​/sites​/{siteId}
Remove the specified site.
GET​/sites​/{siteName}
Get details about the specified site.
PUT​/sites​/{siteId}​/move
Move a site to a different group.
PUT​/sites​/{siteId}​/resume
Resume a paused site.
PUT​/sites​/{siteId}​/pause
Pause the specified site.
GET​/sites​/paused
Get all the paused sites.

Syslog Methods

POST​/syslog
Add a new syslog record.

Parameters

No parameters

Request body

The syslog record.

{
        "senderDevice": "string",
        "message": "string",
        "severity": 0,
        "facility": 0,
        "hostName": "string",
        "applicationName": "string",
        "processID": "string",
        "messageID": "string",
        "structureData": "string",
        "timeStamp": "2020-06-19T13:13:50.040Z"
      }

Responses

Code Description
200

The record was added.

401

Not authenticated/Session timed out

Schemas

AuthenticateCredentials
TokenDetails
Status
Event
AddGroup
EventMonitor
RenameGroup
MonitoringItemsType
MonitoringItems
EventMonitorProperties
MonitorDependencies
UpdateEventMonitorProperties
AddTag
MoveEventMonitor
Suppression
MonitoringStatus
LastStatus
GraphDataType
Graph
GraphDataPoint
GraphDataPoints
Alert
Site
LogBookEntry
AddLogBookEntry
UpdateLogBookEntry
Device
AddDevice
DeviceProperties
UpdateDeviceProperties
MoveDevice
Export
AddSite
SiteProperties
MoveSite
Syslog_Severity
Syslog_Facility
AddSyslog