Update a Report
Last updated on 29 June, 2022You can use LogicMonitor’s REST API to programmatically update your LogicMonitor Reports.
As with all of our API calls, authentication is required.
Note that the following report types are not being released now, but are expected to be released in the next release or two:
- Audit Log Report
- Alert Forecasting Report
HTTP Method: PUT
URI: /report/reports/{id}
You may include the following parameters in your PUT request:
Property |
Description |
Required? |
Type |
Example |
name | The name of the report | Yes | String | “name”:”Collector Task Trends” |
description | The description of the report | No | String | “description”:”My Report Description” |
type | Alert | Alert SLA | Alert trends | Alert threshold | Host inventory | Host metric trends | Host CPU | Interface Bandwidth | Website Service Overview | Service Level Agreement | Netflow device metric | Yes | String | “type”:”Host metric trends” |
groupId | The Id of the group the report is in, where Id=0 is the root report group | No. Defaults to 0. | Integer | “groupId”:0 |
format | HTML | PDF | CSV. The format of the report | No | String | “format”:”HTML” |
delivery | none | email. Whether or not the report is configured to be delivered via email | No | String | “delivery”:”email” |
recipients | If the report is configured to be delivered via email, this object provides the recipients that the report will be delivered to. Each recipeint needs to include:
|
Only if delivery=email | JSON Object | “recipients”:[{“type”:”admin”,”method”:”email”,”addr”:”sarah”,”comment”:””},{“type”:”admin”,”method”:”email”,”addr”:”Bill”,”comment”:””},{“type”:”arbitrary”,”method”:”email”,”addr”:”[email protected]”,”comment”:””}] |
schedule | A cron schedule that indicates when the report will be delivered via email. | Only if delivery=email | String | “schedule”:”45 9 * * *” |
Alerts Report Parameters
You must additionally include the following parameters for all reports of type Alert:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report. Options include: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 24 hours” |
groupFullPath | The group filter used to determine which alerts will appear in the report. Glob expressions supported. | No. Defaults to all groups. | String | “groupFullPath”:”*” |
deviceDisplayName | The device filter used to determine which alerts will appear in the report. Glob expressions supported. | No. Defaults to all devices. | String | “deviceDisplayName”:”*” |
dataSourceInstanceName | The instance filter used to determine which alerts will appear in the report. Glob expressions supported. | No. Defaults to all instances. | String | “dataSourceInstanceName”:”*” |
dataPoint | The group filter used to determine which alerts will appear in the report. Glob expression supported. | No. Defaults to all dataPoints. | String | “dataPoint”:”*” |
level | all | error | critical
|
No. Defaults to all. | String | “level”:”all” |
sortedBy | count | host | dataPoint | level | startOn | ackedOn. How displayed alerts will be sorted in the report. Note that if summaryOnly is set to true, you are limited to sortedBy= count | host | dataPoint. If summaryOnly is set to false, you cannot set sortedBy = count. | No. Defaults to host. | String | “sortedBy”:”count” |
includePreexist |
|
No. Defaults to true. | Boolean | “includePreexist”:false |
activeOnly |
|
No. Defaults to false. | Boolean | “activeOnly”:false |
summaryOnly |
|
No. Defaults to false. | Boolean | “summaryOnly”:true |
ackFilter | all | acked | nonacked
|
No. Defaults to all. | String | “ackFilter”:”all” |
sdtFilter | all | sdt | nonsdt
|
No. Defaults to all. | String | “sdtFilter”:”all” |
timing | overlap | start – Any alerts active during the specified dateRange will be displayed in the report if time=overlap. If time=start, only alerts that started during the specified dateRange will be displayed in the report. | No. Defaults to “overlap”. | String | “timing”:”overlap” |
dataSource | All alerts displayed in the report must have been triggered for the Datasources specified in this filter. | No. Defaults to all. | String | “dataSource”:”*” |
rule | All alerts displayed in the report must have been routed to the Rules specified in this filter. | No. Defaults to all. | String | “rule”:”*” |
chain | All alerts displayed in the report must have been routed to the Escalation Chains specified in this filter. | No. Defaults to all. | String | “chain”:”*” |
columns | The columns that will be displayed in the report. You should specify the columns in the order in which you’d like them to be displayed. All column names need to be included in this object, but each column should have an associated isHidden field that indicates whether it is displayed or not. NOTE that if summaryOnly is set to true you can only include these columns:
If summaryOnly is set to false you can include these columns:
|
No. Defaults to all displayed. | JSON Object | “columns”:[{“name”:”Severity”,”isHidden”:false},{“name”:”Group”,”isHidden”:false},{“name”:”Device”,”isHidden”:false},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Thresholds”,”isHidden”:false},{“name”:”Value”,”isHidden”:false},{“name”:”Began”,”isHidden”:false},{“name”:”End”,”isHidden”:false},{“name”:”Rule”,”isHidden”:false},{“name”:”Chain”,”isHidden”:false},{“name”:”Acked”,”isHidden”:false},{“name”:”Acked By”,”isHidden”:false},{“name”:”Acked On”,”isHidden”:false},{“name”:”Notes”,”isHidden”:false},{“name”:”In SDT”,”isHidden”:false}] |
Alert SLA Report Parameters
You must additionally include the following parameters for all reports of type Alert SLA:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 14 days” |
hostsVal | The devices OR groups (use full path) selected for the report, where multiple entities are separated by commas. Note that glob is supported. | Yes | String | “hostsVal”:”Production/Server,AWS” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | Yes | String | “hostsValType”:”host” |
dataSource | The datasource instance selected for the report, in the format DatasourceName-InstanceName (If it is a single instance datasource you can just leave it at DatasourceName) | Yes | String | “dataSource”:”HTTP_Page-C:” |
dataPoint | The datapoints selected for the report, where multiple datapoints are separated by commas | No. Defaults to all. | String | “dataPoint”:”ResponseTime,Status” |
alertLevel | Warn | Error | Critical. The minimum severity of the alert statuses you’d like to evaluate for the specified devices and device groups. | No. Defaults to warn | String | “alertLevel”:”Warn” |
alertRule | The name of the Alert Rule that the datapoint alert you’re evaluating will be routed to. Note that if you do not select the correct alert rule, no matching alerts will be displayed | No. | String | “alertRule”:”Prod Server Error/Critical” |
Alert Threshold Report Parameters
You must additionally include the following parameters for all reports of type Alert threshold:
Property |
Description |
Required? |
Type |
Example |
groupFullPath | The full path of the group whose member devices you are going to include in the report. Glob expressions supported. | No. Defaults to all. | String | “groupFullPath”:”Production/Servers” |
deviceDisplayName | The display name of the device(s) to be included in the report. Glob expressions supported. | No. Defaults to all. | String | “deviceDisplayName”:”ip-172-31-33-214.us-west-2.compute.internal” |
dataSourceInstanceName | The name of the datasource instance to be included in the report, where the syntax should be dataSourceDisplayName-InstanceName. If you’re referencing a single instance datasource, you can just specify dataSourceDisplayName. Glob expressions supported. | No. Defaults to all. | String | “dataSourceInstanceName”:”*” |
dataPoint | The datapoint to be included in the report. Glob expressions supported. | No. Defaults to all. | String | “dataPoint”:”*” |
sortedBy | host | datasource | datapoint
|
No. Defaults to host. | String | “sortedBy” : “datasource” |
excludeGlobal |
|
No. Defaults to true. | Boolean | “excludeGlobal”:true |
Alert Trends Report Parameters
You must additionally include the following parameters for all reports of type Alert trends:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 7 days” |
metrics | The devices and groups that will be included in the report, where each device/group should be represented with two fields: itemType and itemVal. Glob is supported. | Yes | JSON Object | “metrics”:[{“itemType”:”host”,”itemVal”:”ip-172-31-33-214.us-west-2.compute.internal”},{“itemType”:”group”,”itemVal”:”Website”},{“itemType”:”host”,”itemVal”:”ip-172-31-37-162.us-west-2.compute.interal”}] |
Device Inventory Report Parameters
You must additionally include the following parameters for all reports of type Host inventory:
Property |
Description |
Required? |
Type |
Example |
hostsVal | The devices OR groups (full path) selected for the report, where multiple entities are separated by commas | Yes | String | “hostsVal”:”AWS/EC2″ |
hostsValType | host | group. The type of entities specified in the hostsVal field. | Yes | String | “hostsValType”:”group” |
sortedBy | Specify a property that is included in the ‘properties’ list that should be used to sort the devices/groups displayed in the report | Yes | String | “sortedBy”:”system.aws.publicIpAddress” |
properties | The properties that should be displayed in the report | Yes | JSON Object | “properties”:[“system.aws.publicIpAddress”,”system.aws.resourceid”,”system.aws.region”,”system.aws.stateName”] |
Device Metric Report Parameters
You must additionally include the following parameters for all reports of type Host metric trends:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 24 hours. | String | “dateRange”:”Last 14 days” |
hostsVal | The name of the devices OR groups selected for the report, where multiple entities are separated by commas. Glob expressions are supported. | Yes | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | Yes | String | “hostsValType”:”host” |
sortedBy | host | instance | metric
|
No. Defaults to host. | String | “sortedBy”:”host” |
rowFormat | 0 | 1 | 2 | 3
|
No. Defaults to 0. | Integer | “rowFormat”:1 |
limitedNum | 0 | 10
|
No. Defaults to 0. | Integer | “limitedNum”:0 |
metrics | The datapoint that will be included in the report, where each datapoint is specified by three fields: dataSourceFullName (no glob), instances (glob is okay) and metric (not glob) | Yes | JSON Object | “metrics”:[{“dataSourceFullName”:”Data Collecting Task (Collector Data Collecting Task)”,”instances”:”script”,”metric”:”SuccessExecuteTime”}] |
columns | The columns that will be displayed in the report. You should specify the columns in the order in which you’d like them to be displayed. All column names need to be included in this object, but each column should have an associated isHidden field that indicates whether it is displayed or not. | No. Defaults to displaying all columns. | JSON Object | “columns”:[{“name”:”Device”,”isHidden”:true},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Start”,”isHidden”:true},{“name”:”End”,”isHidden”:true},{“name”:”Min”,”isHidden”:false},{“name”:”Max”,”isHidden”:false},{“name”:”Average”,”isHidden”:false},{“name”:”Change(%)”,”isHidden”:false}] |
Interface Bandwidth Report Parameters
You must additionally include the following parameters for all reports of type Interfaces Bandwidth:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report. Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 14 days” |
hostsVal | The devices OR groups selected for the report, where multiple entities are separated by commas | Yes | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | Yes | String | “hostsValType”:”host” |
rowFormat | 0 | 1
|
No. Defaults to 0. | Integer | “rowFormat”:1 |
Netflow Report Parameters
You must additionally include the following parameters for all reports of type Netflow device metric:
Property |
Description |
Required? |
Type |
Example |
hostsVal | The devices OR groups (full path) selected for the report, where multiple entities are separated by commas. Glob is accepted. | Yes | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal” |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 2 hours” |
Server CPU Report Parameters
You must additionally include the following parameters for all reports of type Host CPU:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 2 hours” |
hostsVal | The devices or groups selected for the report, where multiple devices or groups are separated by commas | Yes | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
top10Only | true | false
|
No. Defaults to false. | Boolean | “top10Only”:false |
displayGraphs | true | false. Whether or not CPU graphs should be displayed at the end of the report | No. Defaults to false. | Boolean | “displayGraphs”:true |
SLA Report Parameters
You must additionally include the following parameters for all reports of type Service Level Agreement:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to last 2 hours. | String | “dateRange”:”Last 30 days” |
metrics | The datapoints and corresponding SLA thresholds that will be included in the report, where each metric can include seven fields: groupName, deviceName, dataSourceFullName, dataSourceId, instances, metric and threshold. Threshold should comprise of an operator and a number separated by a space, where valid operators are >, <, !=, =, >= and <=. | Yes | JSON Object | “metrics”:[{“groupName”:”*”,”deviceName”:”*”,”dataSourceId”:368,”instances”:”*”,”metric”:”UptimeMinutes”,”threshold”:”> 0″}] |
dayInOneWeek | The days of the week that the SLA report should take into account, where multiple values are separated by commas and * refers to all days of the week | Yes | String | “dayInOneWeek”:”*” |
periodInOneDay | The hours of each selected day that the SLA report should take into account, where * refers to all hours | Yes | String | “periodInOneDay”:”*” |
displaySummary | If true, the SLA summary (total %) will be displayed | No. Defaults to false. | Boolean | “displaySummary”:false |
unmonitoredTime | 0|1|2 – How the time we have no data for the device should be counted, where 1 = ignore no data (subtract from total time), 2 = count as violation (subtract from uptime), 3 = count as available (add to uptime) | No. Defaults to false. | Integer | “unmonitoredTime”:1 |
displayWithAvailability | If true, only devices with less than 100% availability will be displayed in the report. | No. Defaults to false. | Boolean | “displayWithAvailability”:false |
columns | The columns to be included in the report | No. Defaults to all. | JSON Object | “columns”:[{“name”:”Device”,”isHidden”:false},{“name”:”Datasource”,”isHidden”:false},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Threshold”,”isHidden”:false},{“name”:”Available”,”isHidden”:false},{“name”:”Unavailable”,”isHidden”:false}] |
Website Service Overview Report Parameters
You must additionally include the following parameters for all reports of type Website Service Overview:
Property |
Description |
Required? |
Type |
Example |
servicesVal | The services OR service groups (full path) selected for the report, where multiple entities are separated by commas | Yes | String | “servicesVal”:”CName_check” |
servicesValType | service | group. The type of entities specified in the servicesVal field. | Yes | String | “servicesValType”:”service” |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 2 hours” |
displayType | 1 | 2
|
No. Defaults to 1. | Integer | “displayType”:1 |
includeTypes | The information that should be included in the report. Options include 1: availability, 2: alerts, 3: graphs | Yes | JSON Object | “includeTypes”:[1,2,3] |
Examples
The following examples illustrate updating various reports in the account api.logicmonitor.com:
- Example Request 1: Alert Report
- Example Request 2: Alert SLA Report
- Example Request 3: Alert Trends Report
- Example Response
Example Request 1- Alert Report
The following Python script will update the Alert report with id 185 in api.logicmonitor.com:
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='PUT'
resourcePath = '/report/reports/185'
data = '{"type":"Alert","name":"MyAlertReport","format":"PDF","groupFullPath":"Website","level":"error","activeOnly":true}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#Get current time in milliseconds
epoch = str(int(time.time() * 1000))
#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath
print requestVars
#Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(hmac1.encode())
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}
#Make request
response = requests.put(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Example Request 2- Alert SLA Report
The following Python script will update the Alert SLA report with id 186 in api.logicmonitor.com:
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='PUT'
resourcePath = '/report/reports/186'
data = '{"type":"Alert SLA","name":"MyAlertSLAReport","hostsVal":"Website","hostsValType":"group","dataSource":"NetSNMPCPUwithCores","alertRule":"Prod Server Error/Critical","alertLeve":"Error"}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#Get current time in milliseconds
epoch = str(int(time.time() * 1000))
#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath
print requestVars
#Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(hmac1.encode())
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}
#Make request
response = requests.put(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Example Request 3- Alert Threshold Report
The following Python script will update the Alert Threshold report with id 187 in api.logicmonitor.com:
#!/bin/env python
import requests
import json
import hashlib
import base64
import time
import hmac
#Account Info
AccessId ='YQQ75w6Mxx9zWIeAMq5H'
AccessKey ='f)!Z}%spR=6en+4^s2$t32r-3=NpdQ]2T{-deI)8'
Company = 'api'
#Request Info
httpVerb ='PUT'
resourcePath = '/report/reports/187'
data = '{"type":"Alert threshold","name":"MyAlertThresholdReport","format":"PDF","groupFullPath":"Website","deviceDisplayName":"ip-172-31-37-162.us-west-2.compute.interal", "dataSourceInstanceName":"HTTP-80"}'
#Construct URL
url = 'https://'+ Company +'.logicmonitor.com/santaba/rest' + resourcePath
#Get current time in milliseconds
epoch = str(int(time.time() * 1000))
#Concatenate Request details
requestVars = httpVerb + epoch + data + resourcePath
print requestVars
#Construct signature
hmac1 = hmac.new(AccessKey.encode(),msg=requestVars.encode(),digestmod=hashlib.sha256).hexdigest()
signature = base64.b64encode(hmac1.encode())
#Construct headers
auth = 'LMv1 ' + AccessId + ':' + signature.decode() + ':' + epoch
headers = {'Content-Type':'application/json','Authorization':auth}
#Make request
response = requests.put(url, data=data, headers=headers)
#Print status and body of response
print('Response Status:',response.status_code)
print('Response Body:',response.content)
Example Response
The following is an example response to one of the example requests above:
Response Status: 200
Response Body: {
"status" : 200,
"errmsg" : "OK",
"data" : {
"id" : 185,
"name" : "MyAlertReport",
"description" : "",
"type" : "Alert",
"groupId" : 0,
"format" : "PDF",
"delivery" : "none",
"recipients" : [ ],
"schedule" : "",
"lastmodifyUserId" : 131,
"lastmodifyUserName" : "sarah",
"enableViewAsOtherUser" : false,
"userPermission" : "write",
"lastGenerateOn" : 0,
"lastGenerateSize" : 0,
"lastGeneratePages" : 0,
"customReportTypeId" : 0,
"reportLinkNum" : 0,
"dateRange" : "last 2 hours",
"groupFullPath" : "Website",
"deviceDisplayName" : "*",
"dataSourceInstanceName" : "*",
"dataPoint" : "*",
"level" : "error",
"sortedBy" : "host",
"includePreexist" : true,
"activeOnly" : true,
"summaryOnly" : false,
"ackFilter" : "all",
"sdtFilter" : "all",
"timing" : "overlap",
"dataSource" : "*",
"rule" : "*",
"chain" : "*",
"columns" : [ {
"name" : "Severity",
"isHidden" : false
}, {
"name" : "Group",
"isHidden" : false
}, {
"name" : "Device",
"isHidden" : false
}, {
"name" : "Datasource",
"isHidden" : false
}, {
"name" : "Instance",
"isHidden" : false
}, {
"name" : "Datapoint",
"isHidden" : false
}, {
"name" : "Thresholds",
"isHidden" : false
}, {
"name" : "Value",
"isHidden" : false
}, {
"name" : "Began",
"isHidden" : false
}, {
"name" : "End",
"isHidden" : false
}, {
"name" : "Rule",
"isHidden" : false
}, {
"name" : "Chain",
"isHidden" : false
}, {
"name" : "Acked",
"isHidden" : false
}, {
"name" : "Acked By",
"isHidden" : false
}, {
"name" : "Acked On",
"isHidden" : false
}, {
"name" : "Notes",
"isHidden" : false
}, {
"name" : "In SDT",
"isHidden" : false
} ]
}
}