This endpoint returns the raw data shown in a particular widget of a given dashboard.
Optional (Querystring) Parameters
aid={aid}
optional, changes the account group context of the current request. If an invalid account group ID is specified as a parameter, the response will come back as an HTTP/400 error.
rows={integer}
optional, the number of elements to receive per page. Only available for Alert List and Test Table Widget.
page={integer}
optional, specifies the page number for the data response. Only available in Test Table widget.
sortProperty={string}
optional, specifies the property to sort by. Only available for Alert List and Test Table Widget. See below for accepted values for each widget.
sortDirection={string}
optional, specifies the direction to sort by. Only available for Alert List and Test Table Widget. The possible values are Ascending
or Descending
. The default value is Descending
.
Request
Response
For most widgets, the data components are aggregated by our services, then reported back in bins. Each bin represents a point on the chart. The granularity of the points shown in the chart is based on the data range shown in the report. Bin sizes are based on the table below:
Report time range | Bin size |
---|
up to 1 day | 5 minutes |
1 day - 14 days | 1 hour |
15 days - 30 days | 2 hours |
31 days - 50 days | 4 hours |
51 days - 93 days | 6 hours |
If your data is grouped, a value will be shown for each data grouping for each bin.
Corresponding data is returned according to the following fields:
Field Name | Data Type | Notes |
---|
dateFrom | dateTime | the start of the data shown in the API output |
dateTo | dateTime | end of the data window shown in the API output |
binSize | integer | duration of each bin |
groupLabels | array of group labels | see groupLabel fields below |
data.points | array of data points | see data point below |
data.cards | array of card data points | see card data point below (Only used for Number Widget) |
data.columns | array of multimetric column points | see multimetric column point below (Only used for Multi Metric Table Widget) |
status | string | Message for not fully configured widget or no data |
Data Point fields:
Field Name | Data Type | Notes |
---|
timestamp | integer | timestamp of the aggregated data point |
numberOfDataPoints | integer | number of test data points aggregated into the widget data point |
value | integer | aggregated value |
groups | array of group property and value | this corresponds to the groups used for the aggregation |
Card Data Point fields:
Field Name | Data Type | Notes |
---|
cardId | integer | unique ID of card |
dateFrom | dateTime | the start of the data shown in the API output |
dateTo | dateTime | end of the data window shown in the API output |
previousValue | double | previous value if compareToPreviousValue was set to true in configuration |
binSize | integer | duration of each bin |
timestamp | integer | timestamp of the aggregated point |
numberOfDataPoints | integer | number of points aggregated into the datapoint |
value | integer | aggregated value |
status | string | Message for not fully configured card or no data |
Multi Metric Column Data Point fields:
Field Name | Data Type | Notes |
---|
columnId | integer | unique ID of column |
binSize | integer | duration of each bin |
status | string | Message for not fully configured card or no data |
points | array of Data Point | List of data points |
Some widgets, such as Agent Status, Alert List, and Test Table, return more specialized data elements. Their fields are described below.
Field Name | Data Type | Notes |
---|
dateFrom | dateTime | the start of the data shown in the API output |
dateTo | dateTime | end of the data window shown in the API output |
binSize | integer | duration of each bin (if applicable) |
groupLabels | array of group labels | see groupLabel fields below (if widget groups by any property) |
data.points | array of data points | see data point below |
data | array of non-aggregated points | see below for Test Table, Alert List and Agent Status |
status | string | Message for not fully configured widget or no data |
The fields in data.point are the following:
Field Name | Data Type | Notes |
---|
timestamp | integer | timestamp of the aggregated data point |
numberOfDataPoints | integer | number of test data points aggregated into the widget data point |
value | float | aggregated value |
groups | array of group property and value | this corresponds to the groups used for the aggregation |
The fields returned in data are dependent on the widget:
Agent Status
Field Name | Data Type | Notes |
---|
summary | object | object with a summary of how many agents are online, offline and disabled |
agents | array | list of agents |
Each agent in the agent status data response will contain these properties
Field Name | Data Type | Notes |
---|
agentId | string | ID of the agent |
status | string | ONLINE , OFFLINE or DISABLED |
ipInfo | object | information about the IP of the agent if Enterprise or operating system version for Endpoint |
agentName | string | name of the agent |
location | object | contains the latitude, longitude and locationName of the agent |
Alert List
This widget accepts the following query params to paginate the response:
rows={integer}
optional, the number of alerts in the response. The default value is the limitBy
configured for the widget.
sortProperty={string}
optional, specifies the property to sort by. The possible values are alertStatus
or startTime
. The default value is alertStatus
Field Name | Data Type | Notes |
---|
totalAlerts | integer | total number of alerts that were active within the timespan configured |
activeAlerts | integer | number of the alerts that are still active |
alerts | array | array of alerts |
Each alert in the alert list data response will contain these properties
Field Name | Data Type | Notes |
---|
active | boolean | true or false |
alertId | integer | id of the alert |
testId | integer | id of the test |
sourceId | integer | id of the agent, monitor or device producing the alert |
sourceName | string | name of the agent, monitor or device producing the alert |
alertRule | string | name of the alert rule that this alert belongs to |
alertType | string | name of the alert type |
startTime | string | date when the alert was first active |
durationInSeconds | integer | number of seconds the alert was active. If it’s still active, this number will increase every second. |
Test Table
This widget accepts the following query params to paginate the response:
rows={integer}
optional, the number of alerts in the response. The default value is 10.
page={integer}
optional, specifies the page number for the data response. The default value is 1.
sortProperty={string}
optional, specifies the property to sort by. The possible values are alertStatus
, testName
or testType
. The ordering may differ from the web application. The default value is alertStatus
.
Field Name | Data Type | Notes |
---|
tests | array | list of test |
Each test in the test table data response will contain these properties
Field Name | Data Type | Notes |
---|
testId | integer | id of the test |
testName | string | name of the test |
target | string | target configured in the test |
testType | string | type of test |
alertStatus | integer | number of active alerts for the test |
isShared | boolean | flag set to true if the test has been shared |
graphlets | array | list of timeseries points for test metrics in the last 12 hours |
Each graphlet object will contain these properties
Field Name | Data Type | Notes |
---|
metric | string | name of the metric |
testId | integer | id of the test |
points | array | list of x and y datapoints where x is the timestamp of the point and y is the value |
Example
$ curl https://api.thousandeyes.com/v7/dashboards/2/vlvb1.json \
-u {email}:{authToken}
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 02 Sep 2019 18:00:00 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-store
X-Organization-Rate-Limit-Limit: 240
X-Organization-Rate-Limit-Remaining: 235
X-Organization-Rate-Limit-Reset: 1492076520
Strict-Transport-Security: max-age=31536000
X-Server-Name: 1-2
Body
{
"dateFrom": "2019-08-28 19:00:00",
"dateTo": "2019-09-04 19:00:00",
"groupLabels": [
{
"groupProperty": "Agents",
"groupLabels": [
{
"groupId": "1",
"groupLabel": "Singapore"
}
]
}
],
"binSize": 3600,
"data": {
"points": [
{
"timestamp": 1567620000,
"numberOfDataPoints": 23304,
"value": 100.00000833068279,
"groups": [
{
"groupProperty": "Agents",
"groupValue": "1"
}
]
}
]
}
}
{
"groupLabels": [],
"data": {
"cards": [
{
"cardId": "lrxxr",
"dateFrom": "2019-08-28 18:00:00",
"dateTo": "2019-09-04 18:00:00",
"binSize": 3600,
"timestamp": 1567616400,
"numberOfDataPoints": 24192,
"value": 100.0
}
]
}
}
{
"dateFrom": "2019-08-28 19:00:00",
"dateTo": "2019-09-04 19:00:00",
"groupLabels": [],
"data": {
"columns": [
{
"columnId": "938to",
"binSize": 3600,
"points": [
{
"timestamp": 1567620000,
"numberOfDataPoints": 456189,
"value": 100.0,
"groups": []
}
]
},
{
"columnId": "qqd2w",
"binSize": 3600,
"points": [
{
"timestamp": 1567620000,
"numberOfDataPoints": 4863654,
"value": 4715.388999999999,
"groups": []
}
]
}
]
}
}
Color Grid
{
"dateFrom": "2020-01-16 22:15:00",
"dateTo": "2020-01-16 23:15:00",
"groupLabels": [],
"binSize": 300,
"data": {
"points": [
{
"timestamp": 1579216200,
"numberOfDataPoints": 3270,
"value": 344.00582535755046,
"groups": [
{
"groupProperty": "Continents",
"groupValue": "AS"
}
]
},
{
"timestamp": 1579216200,
"numberOfDataPoints": 5082,
"value": 156.37737466049668,
"groups": [
{
"groupProperty": "Continents",
"groupValue": "EU"
}
]
},
...
]
}
}
Alert List
{
"dateFrom": "2020-01-16 22:28:52",
"dateTo": "2020-01-16 23:28:52",
"data": {
"alertsData": {
"totalAlerts": 590,
"activeAlerts": 483,
"alerts": [
{
"alertId": 2004945,
"testId": 56512,
"ruleId": 281724,
"alertSource": "AI Team Web Http Test 2",
"alertRule": "AI dynamic baseline verification 11-21",
"alertType": "Web - HTTP Server",
"startTime": "2020-01-16 23:28:05",
"durationInSeconds": 47,
"active": true
},
{
"alertId": 2004941,
"testId": 67035,
"ruleId": 202156,
"alertSource": "A2A uni CEA-13201 T10 Copy",
"alertRule": "Delay always on",
"alertType": "Network - Path Trace",
"startTime": "2020-01-16 23:26:07",
"durationInSeconds": 165,
"active": true
},
...
]
}
}
}
Test Table
{
"pages": {
"next": "https://api.thousandeyes.com/v7/dashboards/5e2f669636256d0053617499/cogto?page=2"
},
"dateFrom": "2020-01-30 17:04:10",
"dateTo": "2020-01-31 05:04:10",
"binSize": 300,
"data": {
"tests": [
{
"testId": 68256,
"testName": "$$$",
"target": "https://www.google.com",
"testType": "Web - HTTP Server",
"alertStatus": 24,
"isShared": true,
"graphlets": [
{
"metric": "Availability",
"testId": 68256,
"points": [
{
"x": 1580403900,
"y": 0.0
},
...
]
},
{
"metric": "Response Time",
"testId": 68256,
"points": [
{
"x": 1580406780,
"y": 128.249
},
...
]
}
]
},
...
]
}
}
Agent Status
{
"dateTo": "2020-01-31 05:07:18",
"binSize": 300,
"data": {
"summary": {
"online": 10,
"offline": 2,
"disabled": 3
},
"agents": [
{
"agentId": "6522",
"status": "OFFLINE",
"ipInfo": {
"publicIp": "172.58.92.31",
"privateIp": "172.17.0.3"
},
"agentName": "0c3898000117",
"location": {
"latitude": 37.77493,
"longitude": -122.41942,
"locationName": "San Francisco, California, US"
}
},
...
]
}
}
For error responses, see the response status codes documentation.