Introduction
The WAE Live REST API allows users to perform most of the operations which can be performed via the WAE Live user interface using a REST client.
- Each API will usually accept and return data either in JSON or XML formats. APIs which accept or return only simple data, such as a number, will likely accept or return plain text only.
- WADL and XSD files are provided which describe both the APIs and the data types used by them. These standard descriptor files can be used by clients to validate data or to generate client libraries.
API Overview
The resources, when used together, allow the following operations:- Defining and running report
- POST a reportDefinition to api/jobs.
- The type of the report definition must be one of the many types derived from the ReportDefinition data type, which include:
- Monitor progress using a GET on api/jobs/{id}.
- Report output
- Retrieving report output can be a multi-step process:
- Retrieve a report output table from: reportout/{jobid}.
- Retrieve a row of data graphs from: reportout/{id}/{colIndex}/{rowId}.
- Retrieve chart data for a single attribute, via generated URLs referenced in the report output.
- Retrieving latest object data
- GET from api/objects/{type}.
API Usage Tutorial
REST Resources
This API supports a Representational State Transfer (REST) model for accessing a set of resources through a fixed set of operations. The following resources are accessible through the RESTful model:
- /api/data : Custom data
- /api/definitions : Report definitions
- /api/jobs : Run reports and report history
- NetworkLinkResource
- /api/notes : Object notes
- /api/objects : Network object data
- /services/reportout : Report output
There is also a WADL document describing the REST API.
Data Model
All endpoints act on a common set of data. The data can be represented with difference media (i.e. "MIME") types, depending on the endpoint that consumes and/or produces the data. The data can described by XML Schema, which definitively describes the XML representation of the data, but is also useful for describing the other formats of the data, such as JSON.
This document will describe the data using terms based on XML Schema. Data can be grouped by namespace, with a schema document describing the elements and types of the namespace. Generally speaking, types define the structure of the data and elements are instances of a type. For example, elements are usually produced by (or consumed by) a REST endpoint, and the structure of each element is described by its type.
Namespace "api"
Namespace URI: | (default namespace) |
XSD: | api.xsd |
Data Types
- adHocDefinition
- adHocProperty
- chartData
- columnMetaData
- customProperty
- deviationDefinition
- hasCsvData
- healthDefinition
- job
- jobList
- jobReportOutput
- lagImbalanceDefinition
- lwAggregationOutput
- lwReportObject
- lwReportObjectResult
- lwReportResults
- lwSeriesOutput
- mlUserDefinedProperty
- noteDefinition
- noteKey
- notesHistory
- notesInfo
- objectData
- objectDataList
- objectKey
- objectKeyPair
- objectMeta
- objectType
- pair
- plotType
- reportDefinition
- reportDefinitionList
- seriesMetaData
- tableDefinition
- threshold
- trendingDefinition
- uiReportSummaryTable
- uiSortCriterion
- uiTable