Legacy Keynote Synthetic Monitoring API

Authentication

Access to MyKeynote APIs is restricted to authenticated and authorized users only. Each time a user makes a call, they must be recognized as having valid access to do so. All MyKeynote APIs that access Keynote data require a user access to be authenticated using basic authentication.

Basic authentication

In Basic Authentication the user provides an API key with each request.

The API key can be obtained from https://api.keynote.com using MyKeynote login credentials.

Aspects of basic authentication with the MyKeynote API

  • The client application must store the user's API key.
  • The client application must send the user's API key with every request.
  • The user has no ability to restrict any application from using their account if they obtain their API key until they revoke or refresh said key.

Possible API URL examples using basic authentication:

https://api.keynote.com/keynote/api/[apimethod]?api_key=[key]&timestamp=<keynote specified timestamp>&[any api specific parameters — name value pair]

Requests

The MyKeynote API system uses RESTFul APIs with GET method submission.

Base query

RESTful APIs function off a base query which will be something like the following:

https://api.keynote.com/keynote/api/<method>?[parameters]

Universal parameters

The only required parameter is API key. All parameters are in lower case.

Parameters:

api_key Key used to identify the requester. It is obtained from Keynote using a customer's MyKeynote login credentials. Example: 478231d7-b053-734a-b532-d0cb9378c32f
format Optional Response format (xml or json) Example: xml or json; xml is the default.

Responses

JSON responses can be formatted using JSONP ("JSON with padding"—see wiki:jsonr for more information on JSONP). To get responses in JSONP format, the callback parameter is used in the request. Example:

http://api.keynote.com/keynote/api/getslotmetadata?api_key=[api_key]&format=json&callback=Foo

The response from this request will be encapsulated within Foo( ).

Errors and status codes

If an API call was denied execution, the HTTP status code of the response will tell you why:

  • Quota exceeded - 403. A status of 403 is returned in the header when the customer has exceeded their API quota threshold for either the hour or day.
  • Missing parameter - 400
  • More than one hour of data attempted for scatter plot - 400
  • Invalid api_key - 400
  • Generic HTTP errors may also be reported. If you aren’t familiar with these codes then go here for a good reference.

Alternatively, API calls that execute but return no data due to errors in query parameters will receive a valid HTTP response (HTTP status 200), but a payload including an <Errors></Errors> element, describing the situation.

Universal response variables

The variables defined below appear in a variety of response types:

perf_data Response time denominated in seconds
avail_data Page or slot availability as a percentage of time
duration and time range All time durations or time ranges will be in seconds by default.
dates All date values are specified using the format YYYY-MON-DD HH:MI AM. Example: 2009-JUN-25 07:49 PM
units For values that are not covered by the above categories, there will be a unit attribute as part of the response describing it.

Meta-data API

getagentmetadata

This API retrieves active Agents and slots running on these Agents at the time of the request.

Request:
https://api.keynote.com/keynote/api/getagentmetadata?api_key=[your_api_key]&[optional_parameter]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<agent_list>

  <agent id="12345"  name="Europe_Agent_1" carrier="Mobistar"  product="ApP" location="Europe:Belgium:Brussels">

  <slot_list>

  <slot id="123456"  alias="Slot_Alias_1 (ApP)"/>

  <slot id="123457"  alias="Slot_Alias_2 (ApP)"/>

  </slot_list>

  </agent>

  </agent_list>

JSON response example:

{

  "agent" : [ {

    "id" : "12345",

    "name" : " Europe_Agent_1 ",

    "carrier" : "Mobistar",

    "product" : "ApP",

    "location" : "Europe:Belgium:Brussles",

    "slot_list" : [ {

      "id" : "123456",

      "alias" : "Slot_Alias_1 (ApP)"

    }, {

      "id" : "123457",

      "alias" : " Slot_Alias_2 (ApP)"

    }]

  }]

}

getslotmetadata

The slotmetadata method deals with getting slot details as well details about Keynote agent infrastructure.

A Keynote measurement slot is a specific measurement script that Keynote runs for you. Each slot includes configuration details such as the transaction script to be run, locations to be measured from, measurement frequency, etc.

Request:
https://api.keynote.com/keynote/api/getslotmetadata?api_key=[your_api_key]&scope=[scope_level]&[other optional parameter]

XML Request Example:

https://api.keynote.com/keynote/api/getslotmetadata?api_key=[api key]&format=xml

JSON Request Example:

https://api.keynote.com/keynote/api/getslotmetadata?api_key=[api key]&format=json
Parameters:
scope login — lists of slots assigned to given login usergroup — lists of slots assigned to a given user group (an optional user group name must be provided for requests with this scope)—authenticated user needs appropriate permission to make this request. agreement — list of slots belonging to given agreement (need to provide optional agreement ID with request for this scope)—authenticated user needs to have appropriate permission to do this request. company — list of slots belonging to entire company of user—appropriate permission required. history – Y or N. Set this to Y to include a historical view of slots including expired slots. Example: agreement
format Optional Response format Options are xml or json. XML is the default.
Response:

List of slot details on format chosen as JSON or XML

The response to a getslotmetadata request includes a URL at the end that can be used to access Alarm metadata for this slot.

getalarmmetadata

This API deals with retrieval of alarms details for a given user.

Request:
https://api.keynote.com/keynote/api/getalarmmetadata?api_key=<your_api_key>&format=xml&[other optional parameter]
Response:

List of alarm details on format chosen as JSON or XML

Graph data API

This API enables retrieval of MyKeynote graph data. In addition to requesting graph data on demand you can also retrieve graphs that you have saved in MyKeynote.

getgraphdata

Request:
https://api.keynote.com/keynote/api/getgraphdata?api_key=[your_api_key]&[other optional parameters]

The response to a getgraphdata request contains a URL at the end that can be used to retrieve slot meta data.

XML Request Example:

https://api.keynote.com/keynote/api/getgraphdata?api_key=[api key]&format=xml

JSON Request Example:

https://api.keynote.com/keynote/api/getgraphdata?api_key=[api key]&format=json
Parameters:
transerror Optional Describes errors at summary level and at each page level. https://api.keynote.com/keynote/api/getgraphdata?api_key=[your_api_key&graphtype=transerror&slotidlist=[list_of_slots]&[optional_parameter]
slotidlist Optional Comma-separated list of slot IDs Example: 123456, 987654, 345987
savedgraphname Optional Saved graph name or live for on demand. Follow case and spacing as MyKeynote graph name. Example: MySavedGraph
format Optional Output format for results Examples: xml or json
graphtype Optional Type of Keynote graph data to be retrieved Supported graph types: time, agent, agenttime, backbone, city, country, region, scatter
If graphtype agenttime is specified, data will be in time history format by agent.
timemode Optional Whether the time period is relative or absolute Example values: relative or absolute
relativehours Optional This parameter specifies the x-axis on a graph in seconds, i.e., how far back in time is included. This parameter is used in conjunction with a relative time scale, not an absolute. (Absolute time mode uses the absolutetimestart and absolutetimeend parameters.)
This parameter requires you to specify the number of seconds. Example: 3600
absolutetimestart Optional Time for the start of measurement Example values: 2011-JAN-11 07:49 AM
absolutetimeend Optional Time for the end of measurement. Example values: 2011-JAN-12 07:49 AM
timezone Optional Three letter time zone code abbreviation, e.g., pst, est Default is pst.
Timezone list
DST    [GMT-12:00] Eniwetok, Kwajelein
SST    [GMT-11:00] Midway Island, Samoa
HST    [GMT-10:00] Hawaii
AKST   [GMT-09:00] Alaska
PST    [GMT-08:00] Pacific Time (US & Canada);  Tijuana
MST1   [GMT-07:00] Arizona
CCST   [GMT-06:00] Saskatchewan
MXST   [GMT-06:00] Mexico City, Teguciagalpa
CST    [GMT-06:00] Central Time (US & Canada)
EST1   [GMT-05:00] Indiana (East), Bogota, Lima, Quito
EST    [GMT-05:00] Eastern Time (US & Canada)
SAWST  [GMT-04:00] Caracas, La Paz
NST    [GMT-03:30] Newfoundland
SAEST  [GMT-03:00] Buenos Aires, Georgetown
ESAST  [GMT-03:00] Brasilia
MAST   [GMT-02:00] Mid-Atlantic
AZST   [GMT-01:00] Azores, Cape Verde Is.
UTC    [GMT] Casablanca, Monrovia
GMT    [GMT] Greenwich Mean Time:  Dublin,  Edinburgh,
Lisbon, London
RST    [GMT+01:00] Amsterdam, Copenhagen, Madrid,  
Paris, Vilnius
CEST2  [GMT+01:00] Bratislava, Budapest, Ljubljana,
Prague,  Warsaw
WEST   [GMT+01:00] Brussels, Berlin, Bern, Rome,  
Stockholm, Vienna
SAST   [GMT+02:00] Harare, Pretoria
IST    [GMT+02:00] Israel
GTBST  [GMT+02:00] Athens, Istanbul, Minsk
EEST   [GMT+02:00] Bucharest
AUSEST [GMT+10:00] Canberra, Melbourne, Sydney
CPST   [GMT+11:00] Magadan, Solomon Is., New Caledonia
FST    [GMT+12:00] Fiji, Kamchatka, Marshall Is.
NZST   [GMT+12:00] Auckland, Wellington
MST    [GMT-07:00] Mountain Time (US & Canada)
AST    [GMT-04:00] Atlantic Time (Canada)
CEST1  [GMT+01:00] Belgrade, Sarajevo, Skopje, Sofia, Zagreb
EKST   [GMT+05:00] Ekaterinburg
AUSCST [GMT+09:30] Darwin
EGST   [GMT+02:00] Cairo
FLEST  [GMT+02:00] Helsinki, Riga, Tallinn
ARST   [GMT+03:00] Baghdad, Kuwait, Riyadh
EAST   [GMT+03:00] Nairobi
RUSST  [GMT+03:00] Moscow, St. Petersburg, Volgograd
IRST   [GMT+03:30] Tehran
ABST   [GMT+04:00] Abu Dhabi, Muscat
CAUCST [GMT+04:00] Baku, Tbilisi
AFST   [GMT+04:30] Kabul
WAST   [GMT+05:00] Islamabad, Karachi, Tashkent
INST   [GMT+05:30] Bombay, Calcutta, Madras, New Delhi
CAST   [GMT+06:00] Almaty, Dhaka
SLST   [GMT+06:00] Colombo
SEAST  [GMT+07:00] Bangkok, Hanoi, Jakarta
CHST   [GMT+08:00] Beijing, Chongqing, Hong Kong,  Urumqi
WAUSST [GMT+08:00] Perth
SNGST  [GMT+08:00] Singapore
TAIST  [GMT+08:00] Taipei
TST    [GMT+09:00] Osaka, Sapporo, Tokyo
KST    [GMT+09:00] Seoul
YST    [GMT+09:00] Yakutsk
CAUST  [GMT+09:30] Adelaide
EAUSST [GMT+10:00] Brisbane
WPST   [GMT+10:00] Guam, Port Moresby
VST    [GMT+10:00] Vladivostok
TSMST  [GMT+10:00] Hobart
bucket Optional Bucket is specific to Time History (Performance Trend) graph. It specifies the length of time each data point on the graph represents. For example, 3600 says that each data point on the graph will be 1 hour (3600 seconds) of duration. Example values: 3600
agentlist Optional Use to filter data for specific agent IDs. A comma-separated list of agent IDs can be used. The default is ALL (i.e., do not specify agent IDs).
pagecomponent Optional One-letter code to specify a page component; default is T (Total Measurement Time). List of components Page-level components: These components are available on the page (action) level only. This means the transpagelistparameter must be specified in the request.
  • D - DNS
  • I - Initial Connection
  • J - DOM Interactive Time
  • W - DOM Load Time
  • V - DOM Complete Time
  • K - DOM Content Load Time
  • G - DOM Unload Time
  • F - First Byte Download Time
  • B - Base Page Download Time
  • S - SSL Time
  • L - Client Time
  • R - Redirection Time
  • E - Request Time
  • C - Content Download Time
  • X - IE Paint Start Time
  • @ - Time to Interactive Page
  • O - Page Level Custom Component 1
  • P - Page Level Custom Component 2
  • Q - Page Level Custom Component 3
Page- or slot-level components: These components are available at the page (action) or slot level.
  • U - User Time
  • T - Total Measurement Time (Network time)
  • N - Cached Measurement Time (Only for TxP)
  • Y -  Bytes Downloaded
  • M - Object Count
  • H - Throughput
  • A - Connection Count
percentile Value between from 1 to 99 to be specified for averagemethod = PERCSTAT).
transpagelist Optional Used to specify one or more transaction pages to be included. Default is summary data (not individual page data). For example, to select "initial time" for page 5 on slot 845480: https://api.keynote.com/keynote/api/getgraphdata?api_key=[api key]slotidlist=845480&format=json&transpagelist=845480:5&pagecomponent=i
Each item in the transpagelist will require a corresponding item in the slotidlist field. Sometimes this means you will duplicate a slotid. For example if you want to retrieve multiple pages from a single slot, you will need to specify the slotid once for each page you request.
basepageonly Optional Hides txnPageElement from getgraphdata response for graphtype=scatter. This serves to return page- or slot-level details only. Example value: true Default value is: false.
longterm Optional If longterm=Y is specified, data covering up to the last two years may be retrieved. In this mode, you must specify absolute time ranges in days only (not hours or minutes). Example: http://api2.keynote.com/keynote/api/getgraphdata?api_key=[api key]&format=json&slotidlist=1263285%2C1256635&timemode=absolute&bucket=86400&timezone=est&callback=%3F&absolutetimestart=2013-Aug-06&absolutetimeend=2013-Aug-13&longterm=Y
Response:

Dashboard API

getdashboarddata

This API retrieves MyKeynote Dashboard list view or grid view data for supported Keynote services (except Mobile Device Perspective and Mobile Application Monitoring). This is the same information found in MyKeynote.

Request:
https://api.keynote.com/keynote/api/getdashboarddata?api_key=[api key]&type=list&format=xml
Parameters:
type The type of dashboard data to request, list or grid. List is the default, and will be used if no type is specified.
format Optional Response format Options are xml or json. XML is the default.
Response:

MDP/Mobile App Monitoring dashboard API

getmdpdashboarddata

This API enables you to retrieve MyKeynote Mobile Device Perspective or Mobile App Monitoring dashboard data.

Request:
https://api.keynote.com/keynote/api/getmdpdashboarddata?type=list&api_key=<your_api_key>&type=list&period=86400&timezone=PST
Parameters:
type list or grid - specifies the type of dashboard data to retrieve.
format Optional Response format Options are xml or json. XML is the default.
period Time period in seconds
timezone Time zone for data to be retrieved Default is pst.
Response:

Alarm API

These APIs provide programmatic access to Keynote alarm features.

suspendalarm

This API enables you to suspend configured alarms for a specified period.

Request:
https://api.keynote.com/keynote/api/suspendalarm?apikey=[yourapikey]&alarmidlist=[listofalarmids]&mwindowhour=[suspensiondurationinhours]&[optional_parameter]
Parameters:
alarmidlist Comma-separated list of alarm IDs to be suspended—this can be retrieved using getalarmmetadata.)
mwindow_hour Duration in hours for suspending alarms specified in parameter “alarmidlist”
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<status_object>
<status>alarm_ids 445955 has been suspended successfully.</status> </status_object>

JSON response example:

{ "status": "alarm_ids 445955 has been suspended successfully.",
}

runalarms

This API allows you to issue requests to compute and generate an alert on demand.

Request:
https://api.keynote.com/keynote/api/runalarms?api_key=[your_api_key]&[parameters]
Parameters:
alarm_id Alarm ID for which on demand alert is being requested
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<alarm_status alarm_id="123456"  status="success"/>

JSON response example:

{

    "alarm_id"  : "123456",

    "status" :  "success"

getalarmlogs

This API allows you to retrieve recently generated alerts.

Request:
https://api.keynote.com/keynote/api/getalarmlogs?api_key=[your_api_key]&[parameters]
Parameters:
timemode Optional Whether the time period is relative or absolute. relative is the default.
relativehours Optional Used in conjunction with parameter timemode=relative and specifies how long back in seconds to go back to retrieve alert logs. Default value is 1800.
absolutetimestart Used in conjunction with parameter timemode=absolute and specifies the starting time for retrieving alert logs. Example value: 2014-APR-29 05:00 PM
absolutetimeend Used in conjunction with parameter timemode=absolute and specifies the ending time for retrieving alert logs. Example value: 2014-APR-30 05:00 PM
timezone Optional Timezone specific to the user issuing the API request. Default value is PST .
format Optional Response format Options are xml or json. XML is the default.
Response:

createalarm

This API allows you to create a new alarm for a given slot.

Request:
https://api.keynote.com/keynote/api/createalarm?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
slot_id Slot ID for which alarm is being created.
alarm_alias Alias to be assigned to alarm being created
critical_email Comma-separated list of email IDs to which critical alert should be sent
warning_email Comma-separated list of email IDs to which warning alert should be sent
city_alert_flag Required parameter if alert is to be based on City; value is “Y”.
agent_alert_flag Required parameter if alert is to be based on Agent; value is “Y”.
usealarmfordashboard Optional Whether alarm is to be used for Dashboard; default value is “N”.
enable_warning_alert Optional Whether Warning Alert is to be enabled; default value is “N”.
timezone Optional Time zone for which alarm is being created; default value is “PST”.
perf_flag Optional Whether Performance Alarms should be enabled; default value is “Y”.
perf_warning_threshold Optional Warning threshold for Performance alerts; default value is “3”.
perf_critical_threshold Optional Critical threshold for Performance alerts; default value is “4”.
component Optional List of components allowed for various types of services (Y denotes component is supported; N denotes component is not supported):
TxP ApP MWP MDP MAM STR
T Total Measurement Time Y Y Y Y Y N
D DNS Lookup Y Y Y N N N
S SSL Y Y Y N N N
I Initial Connection Y Y Y N N N
R Redirection Y Y Y N N N
E Request Time Y Y Y N N N
F First Byte Download Y Y Y N N N
B Base Page Download Y Y Y N N N
L Client Time Y Y Y N N N
C Content Download Y Y Y N N N
U Total User Experience Time Y Y N N N N
N Cached Measurement Time Y Y N N N N
G DOM Unload Time Y N N N N N
J DOM Interactive Time Y N N N N N
K DOM Content Load Time Y N N N N N
V DOM Complete Time Y N N N N N
W DOM Load Time Y N N N N N
X IE Paint Start Time Y N N N N N
FS Full Screen Time Y N N N N N
@ Time to Interactive Page Y N N N N N
O Custom Component 1 Y Y N N N N
P Custom Component 2 Y Y N N N N
Q Custom Component 3 Y Y N N N N
TF Total Frustration Time N N N N N Y
RT Resolve Time N N N N N Y
CT Connect Time N N N N N Y
BT Buffer Time N N N N N Y
PT Playback Time N N N N N Y
RBT Rebuffer Time N N N N N Y
BR Average Bit Rate N N N N N Y
M Total Element Count Y Y N N N N
CC Cookie Count Y N N N N N
DC Domain Count Y N N N N N
A Connection Count Y N N N N N
BE Browser Error Count Y N N N N N
FR Frame Rate N N N N N Y
PR Packets Received N N N N N Y
PL Packets Lost N N N N N Y
TP Total Packets N N N N N Y
Y Total Bytes Downloaded Y Y N N N N
H Throughput Y N N N N N
TxP ApP
MWP MDP
MAM STR
T Total Measurement Time
Y Y
Y Y
Y N
D DNS Lookup
Y Y
Y N
N N
S SSL
Y Y
Y N
N N
I Initial Connection
Y Y
Y N
N N
R Redirection
Y Y
Y N
N N
E Request Time
Y Y
Y N
N N
F First Byte Download
Y Y
Y N
N N
B Base Page Download
Y Y
Y N
N N
L Client Time
Y Y
Y N
N N
C Content Download
Y Y
Y N
N N
U Total User Experience Time
Y Y
N N
N N
N Cached Measurement Time
Y Y
N N
N N
G DOM Unload Time
Y N
N N
N N
J DOM Interactive Time
Y N
N N
N N
K DOM Content Load Time
Y N
N N
N N
V DOM Complete Time
Y N
N N
N N
W DOM Load Time
Y N
N N
N N
X IE Paint Start Time
Y N
N N
N N
FS Full Screen Time
Y N
N N
N N
@ Time to Interactive Page
Y N
N N
N N
O Custom Component 1
Y Y
N N
N N
P Custom Component 2
Y Y
N N
N N
Q Custom Component 3
Y Y
N N
N N
TF Total Frustration Time
N N
N N
N Y
RT Resolve Time
N N
N N
N Y
CT Connect Time
N N
N N
N Y
BT Buffer Time
N N
N N
N Y
PT Playback Time
N N
N N
N Y
RBT Rebuffer Time
N N
N N
N Y
BR Average Bit Rate
N N
N N
N Y
M Total Element Count
Y Y
N N
N N
CC Cookie Count
Y N
N N
N N
DC Domain Count
Y N
N N
N N
A Connection Count
Y N
N N
N N
BE Browser Error Count
Y N
N N
N N
FR Frame Rate
N N
N N
N Y
PR Packets Received
N N
N N
N Y
PL Packets Lost
N N
N N
N Y
TP Total Packets
N N
N N
N Y
Y Total Bytes Downloaded
Y Y
N N
N N
H Throughput
Y N
N N
N N
perf_warning_dynamic_threshold Optional Dynamic threshold warning baseline; default value is “-1” (None).
perf_critical_dynamic_threshold Optional Dynamic threshold critical baseline; default value is “-1” (None).
perf_escalation_alert_count Optional Number of Performance alerts per severity level; default value is “2”.
perf_escalation_interval Optional Performance alarm escalation interval in seconds; default value is “30”.
perf_escalation_email Optional Comma-separated list of email IDs to which performance escalation email should be sent; default value is blank.
perf_enable_ siteok_alert Optional Whether performance site alert should be enabled; default value is “Y”.
avail_flag Optional Whether Availability Alarms should be enabled; default value is “Y”.
avail_warning_threshold Optional Warning threshold in percentage for Availability alerts; default value is “90”.
avail_critical_threshold Optional Critical threshold in percentage for Availability alerts; default value is “80”.
avail_transaction_errors Optional Comma-separated list of Transaction errors to be included for Availability alarm; default value is “All”.
avail_escalation_alert_count Optional Number of Availability alerts per severity level; default value is “2”.
avail_escalation_interval Optional Availability alarm escalation interval in seconds; default value is “30”.
avail_escalation_email Optional Comma-separated list of email IDs to which availability escalation email should be sent; default value is blank.
avail_enable_ siteok_alert Optional Whether availability site alert should be enabled; default value is “Y”.
page_sequence Optional Specific page for which alarm is being configured; default value is “-1” (Total).
alarm_based_on Optional Whether alarm is based on time or data points; expected values are “time” or “datapoints”; default value is “time”.
alarm_based_on_interval Used in conjunction with parameter “alarm_based_on”.
  • Expected values in seconds if alarm_based_on is defined as “time”: 300 / 900 / 1800 / 3600 / 7200; default value is “300”.
  • Expected values if alarm_based_on is defined as “datapoints”: any value from 1 to 20. This is a compulsory parameter if alarm_based_on is defined as "datapoints."
count_contenterror Optional Whether content error should be counted as page error; default value is “N”.
include_detail_alarm Optional Whether detail alarm will be included; default value is “N”.
number_of_cities_meet_threshold Optional Used in conjunction with parameter city_alert_flag=Y; parameter to be passed is positive numerical value between 0 and 26; default value is “-1” (Aggregate).
number_of_agents_meet_threshold Optional Used in conjunction with parameter agent_alert_flag=Y; parameter to be passed is positive numerical value between 0 and 60; default value is “-1” (Aggregate).
agents_list Optional Used in conjunction with parameter agent_alert_flag=Y; parameter to be passed is a comma-separated list of agent IDs retrieved from API call “getagentmetadata” corresponding to same API key; default value is “-1” (All).
state_management_flag Optional Whether State Management Flag is enabled; default value is “N”.
Response:

editalarm

This API function allows you to edit an existing alarm.

Request:
https://api.keynote.com/keynote/api/editalarm?api_key=[your_api_key]&[parameters]

At least one optional parameter needs to be included in this API call.

Parameters:
format Optional Response format Options are xml or json. XML is the default.
alarm_id Alarm ID corresponding to alarm to be edited
alarm_alias Optional Value to replace existing Alarm alias
critical_email Optional Comma-separated list of email IDs to replace email IDs to which critical alert should be sent
warning_email Optional Comma-separated list of email IDs to replace email IDs to which warning alert should be sent
enable_warning_alert Optional Parameter to update current value of whether Warning Alert is enabled; values are “N” or “Y”.
timezone Optional Parameter to update current value of time zone defined for alarm
perf_flag Optional Parameter to update current value of whether Performance Alarms are enabled; values are “N” or “Y”.
perf_warning_threshold Optional Parameter to update current value of warning threshold in seconds for Performance alerts
perf_critical_threshold Optional Parameter to update current value of critical threshold in seconds for Performance alerts
usealarmfordashboard Optional Parameter to update whether alarm is to be used for dashboard; values are “N” or “Y”.
component Optional Parameter to update current value of page component assigned to the alarm, based on the service – component combinations allowed.
TxP ApP MWP MDP MAM STR
T Total Measurement Time Y Y Y Y Y N
D DNS Lookup Y Y Y N N N
S SSL Y Y Y N N N
I Initial Connection Y Y Y N N N
R Redirection Y Y Y N N N
E Request Time Y Y Y N N N
F First Byte Download Y Y Y N N N
B Base Page Download Y Y Y N N N
L Client Time Y Y Y N N N
C Content Download Y Y Y N N N
U Total User Experience Time Y Y N N N N
N Cached Measurement Time Y Y N N N N
G DOM Unload Time Y N N N N N
J DOM Interactive Time Y N N N N N
K DOM Content Load Time Y N N N N N
V DOM Complete Time Y N N N N N
W DOM Load Time Y N N N N N
X IE Paint Start Time Y N N N N N
FS Full Screen Time Y N N N N N
@ Time to Interactive Page Y N N N N N
O Custom Component 1 Y Y N N N N
P Custom Component 2 Y Y N N N N
Q Custom Component 3 Y Y N N N N
TF Total Frustration Time N N N N N Y
RT Resolve Time N N N N N Y
CT Connect Time N N N N N Y
BT Buffer Time N N N N N Y
PT Playback Time N N N N N Y
RBT Rebuffer Time N N N N N Y
BR Average Bit Rate N N N N N Y
M Total Element Count Y Y N N N N
CC Cookie Count Y N N N N N
DC Domain Count Y N N N N N
A Connection Count Y N N N N N
BE Browser Error Count Y N N N N N
FR Frame Rate N N N N N Y
PR Packets Received N N N N N Y
PL Packets Lost N N N N N Y
TP Total Packets N N N N N Y
Y Total Bytes Downloaded Y Y N N N N
H Throughput Y N N N N N
TxP ApP
MWP MDP
MAM STR
T Total Measurement Time
Y Y
Y Y
Y N
D DNS Lookup
Y Y
Y N
N N
S SSL
Y Y
Y N
N N
I Initial Connection
Y Y
Y N
N N
R Redirection
Y Y
Y N
N N
E Request Time
Y Y
Y N
N N
F First Byte Download
Y Y
Y N
N N
B Base Page Download
Y Y
Y N
N N
L Client Time
Y Y
Y N
N N
C Content Download
Y Y
Y N
N N
U Total User Experience Time
Y Y
N N
N N
N Cached Measurement Time
Y Y
N N
N N
G DOM Unload Time
Y N
N N
N N
J DOM Interactive Time
Y N
N N
N N
K DOM Content Load Time
Y N
N N
N N
V DOM Complete Time
Y N
N N
N N
W DOM Load Time
Y N
N N
N N
X IE Paint Start Time
Y N
N N
N N
FS Full Screen Time
Y N
N N
N N
@ Time to Interactive Page
Y N
N N
N N
O Custom Component 1
Y Y
N N
N N
P Custom Component 2
Y Y
N N
N N
Q Custom Component 3
Y Y
N N
N N
TF Total Frustration Time
N N
N N
N Y
RT Resolve Time
N N
N N
N Y
CT Connect Time
N N
N N
N Y
BT Buffer Time
N N
N N
N Y
PT Playback Time
N N
N N
N Y
RBT Rebuffer Time
N N
N N
N Y
BR Average Bit Rate
N N
N N
N Y
M Total Element Count
Y Y
N N
N N
CC Cookie Count
Y N
N N
N N
DC Domain Count
Y N
N N
N N
A Connection Count
Y N
N N
N N
BE Browser Error Count
Y N
N N
N N
FR Frame Rate
N N
N N
N Y
PR Packets Received
N N
N N
N Y
PL Packets Lost
N N
N N
N Y
TP Total Packets
N N
N N
N Y
Y Total Bytes Downloaded
Y Y
N N
N N
H Throughput
Y N
N N
N N
perf_warning_dynamic_threshold Optional Parameter to update current value of dynamic threshold warning baseline.
perf_critical_dynamic_threshold Optional Parameter to update current value of dynamic threshold critical baseline.
perf_escalation_alert_count Optional Parameter to update current value of number of Performance alerts per severity level
perf_escalation_interval Optional Parameter to update current value of performance alarm escalation interval in seconds.
perf_escalation_email Optional Comma-separated list of email IDs to replace email IDs to which performance escalation email should be sent
perf_enable_site_alert_ok Optional Parameter to update current value of whether performance site alert is enabled
avail_flag Optional Parameter to update current value of whether Performance Alarms are enabled; values are “N” or “Y”.
avail_warning_threshold Optional Parameter to update current value of warning threshold in percentage for Availability alerts
avail_critical_threshold Optional Parameter to update current value of critical threshold in percentage for Availability alerts
avail_transaction_errors Optional Comma-separated list of Transaction errors to replace values currently assigned to Availability alarm
avail_escalation_alert_count Optional Parameter to update current value of number of Availability alerts per severity level
avail_escalation_interval Optional Parameter to update current value of availability alarm escalation interval in seconds
avail_escalation_email Optional Comma-separated list of email IDs to replace email IDs to which availability escalation email should be sent
avail_enable_ siteok_alert Optional Parameter to update current value of whether availability site alert should be enabled
page_sequence Optional Parameter to update current value of specific page for which alarm is being configured
alarm_based_on_interval Used in conjunction with parameter “alarm_based_on”.
  • Expected values in seconds if alarm_based_on is defined as “time”: 300 / 900 / 1800 / 3600 / 7200.
  • Expected values if alarm_based_on is defined as “datapoints”: any value from 1 to 20.
count_contenterror Optional Parameter to update current value of whether content error should be counted as page error
include_detail_alarm Optional Parameter to update current value of whether detail alarm will be included
number_of_cities_meet_threshold Optional Used if alarm is based on City, to update current value of number of cities meeting threshold; parameter to be passed is positive numerical value between 0 and 26.
number_of_agents_meet_threshold Optional Used if alarm is based on Agent, to update current value of number of agents meeting threshold; parameter to be passed is positive numerical value between 0 and 60.
agents_list Optional Used if alarm is based on Agent; parameter to be passed is comma-separated list of agent IDs to update current selection of Agents assigned to the alarm.
Response:

XML response example:

<alarmEditResponce>

   <message>Alarm updated successfully</message>

   <status>success</status>

</alarmEditResponce>

JSON response example:

{

   "message": "Alarm updated successfully",

   "status": "success"

}

deletealarm

This API allows you to delete an existing alarm.

Request:
https://api.keynote.com/keynote/api/deletealarm?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
alarm_id Alarm ID corresponding to alarm to be deleted
Response:

XML response example:

<alarmConfigureDeleteSummary>

   <alarm_status>

      <AlarmID>875595</AlarmID>

      <Status_message>Alarm Deleted Successfully</Status_message>

      <Status>Success</Status>

   </alarm_status>

</alarmConfigureDeleteSummary>

JSON response example:

{

   "alarm_status": [   {

      "Status_message": "Alarm Deleted Successfully",

      "AlarmID": "875620",

      "Status": "Success"

   }],

}

resumealarm

This API function allows you to resume a suspended alarm.

Request:
https://api.keynote.com/keynote/api/resumealarm?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
alarm_id Alarm ID corresponding to suspended alarm
Response:

XML response example:

<alarmConfigureResumeSummary>

   <alarm_status>

      <AlarmID>791620</AlarmID>

      <Status>Alarm Resumed Successfully</Status>

      <Status_message>Success</Status_message>

   </alarm_status>

</alarmConfigureResumeSummary>

JSON response example:

{
   "alarm_status": [   {

      "Status": "Alarm Resumed Successfully",

      "AlarmID": "791620",

      "Status_message": "Success"

   }],

}

getalarmsummary

This API function allows the user to retrieve a list of alarms create by the user.

Request:
http://api.keynote.com/keynote/api/getalarmsummary?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<alarmConfigureSummary>
   <alarm_slots alarmId="123456" keynServiceId="2" slotId="567890">
      <alarm_activated>N</alarm_activated>
      <alarm_alias>Alarm 1</alarm_alias>
      <availflag>N</availflag>
      <detail>Y</detail>
      <maintenance_flg>N</maintenance_flg>
      <perfflag>N</perfflag>
      <slot_alias>Slot 1</slot_alias>
      <suspended_flg>N</suspended_flg>
   </alarm_slots>
</alarmConfigureSummary>

JSON response example:

{

     "alarm_slots":    [

              {

           "detail": "Y",

           "alarm_alias": "Alarm 1",

           "alarm_id": 123456,

           "availflag": "N",

           "perfflag": "N",

           "slot_alias": "Slot 1",

           "slot_id": 567890,

           "suspended_flg":  "N",

           "maintenance_flg":  "N",

           "keyn_service_id": 2,

           "alarm_activated":  "N"

                  }

           ],

    }

getalarmformats

This API function allows the user to retrieve a list of existing alarm email formats created by the user.

Request:
http://api.keynote.com/keynote/api/getalarmformats?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<baseline_summary>

<alarm_format>

<FORMAT_ID>123456</FORMAT_ID>

<FORMAT_ALIAS>Format 1</FORMAT_ALIAS>

<USER_ID>567890</USER_ID>

<LOGIN_NAME>login1</LOGIN_NAME>

<CUSTOM_TEXT>Subject text</CUSTOM_TEXT>

<SUBJECT_FORMAT>ESC:ALIAS:WC:PA</SUBJECT_FORMAT>

<MESSAGE_TEXT>DT:ALIAS:PA:3E:3A:LINK:URL</MESSAGE_TEXT>

<CUSTOM_TEXT_BODY>Body text</CUSTOM_TEXT_BODY>

</alarm_format> </baseline_summary>

JSON response example:

{

   "alarm_format":    [

            {

         "user_ID": 56890,

         "custom_TEXT": "Subject text",

         "format_ALIAS": "Format 1",

         "format_ID": 123456,

         "message_TEXT": "DT:ALIAS:PA:3E:3A:LINK:URL",

         "subject_FORMAT": "ESC:ALIAS:WC:PA",

         "custom_TEXT_BODY": "Body text",

         "login_NAME": "login1"

       },

     ],

}

getmwindows

This API function allows the user to retrieve a list of existing maintenance windows created by the user.

Request:
http://api.keynote.com/keynote/api/getmwindows?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<alarmMWindowSummary>
<MWindowBean>
<start_day>Monday</start_day>
<duration_format>0.50 hr</duration_format>
<duration>0.5</duration>
<mwindow_id>123456</mwindow_id>
<login_name>login1</login_name>
<mwindow_type>RELATIVE</mwindow_type>
<mwindow_name>Default</mwindow_name>
<start_hour_format>12 AM</start_hour_format>
<start_hour>0</start_hour>
<timezone_format>Pacific Time</timezone_format>
<timezone>PST</timezone>
<user_id>567890</user_id>
</MWindowBean>
<MWindowBean>
<start_day>07/12/2014</start_day>
<duration_format>0.50 hr</duration_format>
<duration>0.5</duration>
<mwindow_id>123457</mwindow_id>
<login_name>login1</login_name>
<mwindow_type>ABSOLUTE</mwindow_type>
<mwindow_name>mwindow1</mwindow_name>
<start_hour_format>12 AM</start_hour_format>
<start_hour>0</start_hour>
<timezone_format>Dateline Time</timezone_format>
<timezone>DST</timezone>
<user_id>567890</user_id>
</MWindowBean> </alarmMWindowSummary>

JSON response example:

{

   "MWindowBean":    [

            {

         "mwindow_id": 123456,

         "start_hour_format": "12 AM",

         "duration_format": "0.50 hr",

         "timezone_format": "Pacific  Time",

         "login_name": "login1",

         "timezone": "PST",

         "user_id": 567890,

         "start_day": "Monday",

         "duration": "0.5",

         "start_hour": "0",

         "mwindow_type": "RELATIVE",

         "mwindow_name": "Default"

       },

            {

         "mwindow_id": 123457,

         "start_hour_format": "12 AM",

         "duration_format": "0.50 hr",

         "timezone_format": "Dateline  Time",

         "login_name": "login1",

         "timezone": "DST",

         "user_id": 567890,

         "start_day": "07/12/2014",

         "duration": "0.5",

         "start_hour": "0",

         "mwindow_type": "ABSOLUTE",

         "mwindow_name": "test"

       }

         ]

}

getbaselines

This API function allows the user to retrieve a list of existing baselines created by the user.

Request:
http://api.keynote.com/keynote/api/getbaselines?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<baseline_summary>
<baseline>
<baseline_type_id>Hour of the week</baseline_type_id>
<user_id>567890</user_id>
<agent_or_group_id>-12345</agent_or_group_id>
<num_weeks>4</num_weeks>
<keyn_service_id>2</keyn_service_id>
<detail>N</detail>
<shared>N</shared>
<baseline_slot>
<slot_id>123456</slot_id>
<slot_name>Slot1</slot_name>
<shared_script_id>0</shared_script_id>
<trans_id>234567</trans_id>
<baseline_id>456789</baseline_id>
<page_seq>-1</page_seq>
</baseline_slot>
<baseline_slot>
<slot_id>123456</slot_id>
<slot_name> Slot1</slot_name>
<shared_script_id>0</shared_script_id>
<trans_id>234567</trans_id>
<baseline_id>456790</baseline_id>
<page_seq>1</page_seq>
</baseline_slot> </baseline>
</baseline_summary>

JSON response example:

{

   "baseline_summary":    [

            {

         "baseline_type_id": "Hour of the week",

         "user_id": 567890,

         "agent_or_group_id": -12345,

         "num_weeks": 4,

         "keyn_service_id": 2,

         "detail": "N",

         "shared": "N",

         "baseline_slot":          [

                        {

               "slot_id": 123456,

               "slot_name": "Slot1",

               "shared_script_id": 0,

               "trans_id": 234567,

               "baseline_id": 456789,

               "page_seq": -1

                       },

                        {

               "slot_id": 123456,

               "slot_name": "Slot1",

               "shared_script_id": 0,

               "trans_id": 234567,

               "baseline_id": 456790,

               "page_seq": 1

                         }

              }

   ]

}

createalarmformat

This API function allows the user to create a new alarm email format.

Request:
http://api.keynote.com/keynote/api/createalarmformat?api_key=[your_api_key]&[parameters]

At least one parameter for subject line (starting with “s_”) and one parameter for body (starting with “eb_”) will need to be included in the API request.

Parameters:
format Optional Response format Options are xml or json. XML is the default.
format_alias Alias to be assigned to email format being created; this is a mandatory parameter.
s_esc Optional Whether Escalation Prefix is to be included in the subject line; default value is “N.”
s_url Optional Whether URL is to be included in the subject line; default value is “N.”
s_slotalias Optional Whether Slot Alias is to be included in the subject line; default value is “N.”
s_alarmalias Optional Whether Alarm Alias is to be included in the subject line; default value is “N.”
s_wcstatus Optional Whether Warning/Critical Status is to be included in the subject line; default value is “N.”
s_apstatus Optional Whether Performance/Availability Values are to be included in the subject line; default value is “N.”
s_custom Optional Whether Custom Text is to be included in the subject line; default value is “N.”
s_custom_text Custom text to be included in subject line; this is a mandatory parameter if s_custom has been defined as “Y.”
email_format Optional Whether Email Format is in Plain Text or HTML—default value is Plain Text; allowed value for HTML format is “HTML.”
eb_date Optional Whether Date/Time is to be included in the email body; default value is “N.”
eb_slotalias Optional Whether Slot Alias is to be included in the email body; default value is “N.”
eb_3error Optional Whether Top 3 Errors are to be included in the email body; default value is “N.”
eb_alarmalias Optional Whether Alarm Alias is to be included in the email body; default value is “N.”
eb_3agents Optional Whether Three Slowest Agents are to be included in the email body; default value is “N.”
eb_apstatus Optional Whether Performance/Availability values are to be included in the email body; default value is “N.”
eb_custom Optional Whether Custom Text is to be included in the email body; default value is “N.”
eb_custom_text Custom text to be included in the email body; this is a mandatory parameter if eb_custom has been defined as “Y.”
eb_url Optional Whether Base Page Detail is to be included in the email body; default value is “N.”
eb_linkalarmdata Optional Whether Link to Alarm Data is to be included in the email body; default value is “N.”
Response:

XML response example:

<CreateEmailFormat>

  <status>Success</status>

  <format_Id>6799265</format_Id>

</CreateEmailFormat>

JSON response example:

 "status": "Success",

  "format_Id": 6799270,

}

editalarmformat

This API function allows the user to edit an existing alarm email format.

Request:
http://api.keynote.com/keynote/api/editalarmformat?api_key=[your_api_key]&[parameters]

At least one parameter for subject line (starting with “s”) and one parameter for body (starting with “eb_”) will need to be retained when editing alarm email formats.

Parameters:
format Optional Response format Options are xml or json. XML is the default.
format_id ID of the alarm email format being edited; this is a mandatory parameter.
format_alias Optional Parameter to replace existing alias
s_esc Optional Parameter to update whether Escalation Prefix is to be included in subject line; values are “Y” or “N.”
s_url Optional Parameter to update whether URL is to be included in subject line; values are “Y” or “N.”
s_slotalias Optional Parameter to update whether Slot Alias is to be included in subject line; values are “Y” or “N.”
s_alarmalias Optional Parameter to update whether Alarm Alias is to be included in subject line; values are “Y” or “N.”
s_wcstatus Optional Parameter to update whether Warning/Critical Status is to be included in subject line; values are “Y” or “N.”
s_apstatus Optional Parameter to update whether Performance/Availability Values are to be included in subject line; values are “Y” or “N.”
s_custom Optional Parameter to update whether Custom Text is to be included in subject line; values are “Y” or “N.”
s_custom_text Custom text to be included in subject line; this is a mandatory parameter if s_custom has been defined as “Y.”
email_format Optional Parameter to update whether Email Format is in Plain Text or HTML; values are “HTML” or “text.”
eb_date Optional Parameter to update whether Date/Time is to be included in the email body; values are “Y” or “N.”
eb_slotalias Optional Parameter to update whether Slot Alias is to be included in the email body; values are “Y” or “N.”
eb_3error Optional Parameter to update whether Top 3 Errors are to be included in the email body; values are “Y” or “N.”
eb_alarmalias Optional Parameter to update whether Alarm Alias is to be included in the email body; values are “Y” or “N.”
eb_3agents Optional Parameter to update whether Three Slowest Agents are to be included in the email body; values are “Y” or “N.”
eb_apstatus Optional Parameter to update whether Performance/Availability values are to be included in the email body; values are “Y” or “N.”
eb_custom Optional Parameter to update whether Custom Text is to be included in the email body; values are “Y” or “N.”
eb_custom_text Custom text to be included in the email body; this is a mandatory parameter if eb_custom has been defined as “Y.”
eb_url Optional Parameter to update whether Base Page Detail me is to be included in the email body; values are “Y” or “N.”
eb_linkalarmdata Optional Parameter to update whether Link to Alarm Data is to be included in the email body; values are “Y” or “N.”
Response:

XML response example:

<UpdateEmailFormat>
   <status>Successfully updated email format</status>
   <user_id>567890</user_id>
   <format_id>123456</format_id>
   <format_alias>Alias1</format_alias>
   <subject_format>subject line parameters included in email format</subject_format>
   <subject_custom_text>value of subject line custom text</subject_custom_text>
   <message_text> email body parameters included in email format </message_text>
   <custom_text_body> value of custom text in email body</custom_text_body>
</UpdateEmailFormat>

JSON response example:

{
   "status": "Successfully updated email format",
   "user_id": 5687890,
   "format_id": 123456,
   "format_alias": "Alias1",
   "subject_format": "subject line parameters included in email format",
   "subject_custom_text": " value of subject line custom text ",
   "message_text": " email body parameters included in email format ",
   "custom_text_body": " value of custom text in email body ",
}

createmwindow

This API function allows the user to create a new maintenance window.

Request:
http://api.keynote.com/keynote/api/createmwindow?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
mwindowtype Optional Whether Relative or Absolute mwindow is being created; default is Relative.
mwindowname Name to be assigned to mwindow; this is a required parameter for an Absolute mwindow.
startday Day(s) on which mwindow will be active; this is a required parameter for Relative mwindow - expected values are: Monday to Sunday, Weekends, Weekdays, Alldays.
date Date from which mwindow will be active; this is a required parameter for Absolute mwindow.
starttime Hour from which mwindow will be active; this is a required parameter; supported format is HourAM and HourPM (e.g., 9AM, 10PM).
duration Time duration of the mwindow; expected values are: 0.5, 1 to 24, 48, 72, 96, 120, 144, 168; this is a required parameter.
timezone Time zone for which mwindow is being created; this is a required parameter.
Response:

XML response example:

<alarmMWindowCreateBean>

   <MWindowBean>
      <day_id>date (for Absolute mwindow) / day (for Relative mwindow)</day_id>
      <duration_id>120</duration_id>
      <id>611855</id>
      <mwindowStatus>
         <Status>MWindow Created successfully</Status>
         <Status_message>Success!!!</Status_message>
      </mwindowStatus>
      <mwindow_name>mwindow 1 (only for Absolute mwindow)</mwindow_name>
      <startTimeID>10</startTimeID>
      <tz_id>PST</tz_id>
      <user_id>567890</user_id>
      <mWindow_type>ALARM</mWindow_type>
   </MWindowBean>
</alarmMWindowCreateBean>

JSON response example:

{

   "MWindowBean":    {
      "id": 611855,
      "user_id": 567890,
      "startTimeID": "10",
      "mwindow_name": "mwindow 1 (only for Absolute mwindow)",
      "day_id": " date (for Absolute mwindow) / day (for Relative mwindow)",
      "duration_id": "120",
      "tz_id": "PST",
      "mWindow_type": "ALARM",
      "mwindowStatus":       {
         "Status": "MWindow Created successfully",
         "Status_message": "Success!!!"
      }
   }
}

editmwindow

This API function allows the user to edit an existing maintenance window.

Request:
http://api.keynote.com/keynote/api/editmwindow?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
mwindowid Optional ID of mwindow to be updated; this is a required parameter.
mwindowname Optional Parameter to update mwindow name for Absolute mwindow
startday Optional Parameter to update
  1. Day(s) on which mwindow will be active for Relative mwindow - expected values are: Monday to Sunday, Weekends, Weekdays, Alldays.
  2. Date from which mwindow will be active for Absolute mwindow
starttime Optional Parameter to update hour from which mwindow will be active; supported format is HourAM and HourPM (e.g., 9AM, 10PM).
duration Optional Parameter to update time duration of the mwindow; expected values are: 0.5, 1 to 24, 48, 72, 96, 120, 144, 168.
timezone Optional Parameter to update time zone for the mwindow
Response:

XML response example:

<update_maintenance_window status="Updated Successfully">
   <window_update>
      <start_day>date (for Absolute mwindow) / day (for Relative mwindow)</start_day>
      <duration>3</duration>
      <mwindow_id>611895</mwindow_id>
      <mwindow_type>ALARM</mwindow_type>
      <mwindow_name>mwindow 1</mwindow_name>
      <start_hour>11</start_hour>
      <timezone>EST</timezone>
      <user_id>567890</user_id>
   </window_update>
</update_maintenance_window>

JSON response example:

{

   "status": "Updated Successfully",
   "window_update":    {
      "mwindow_id": 611895,
      "timezone": "GMT",
      "user_id": 567890,
      "start_day": " date (for Absolute mwindow) / day (for Relative mwindow)",
      "duration": "3",
      "start_hour": "11",
      "mwindow_type": "ALARM",
      "mwindow_name": "mwindow09142014 1"
   }
}

createbaseline

This API function allows the user to create a new alarm baseline.

Request:
http://api.keynote.com/keynote/api/createbaseline?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
slot_id Slot ID for which baseline is being created; this is a a required parameter.
baseline_type Optional Type of baseline being created Allowed values are O (Overall) and W (Hour of the week); default value is O.
time_period Optional Baseline computation period Allowed values are 4, 5 and 6; default value is 4.
Response:

XML response example:

<baseline_slot> <status>Success</status> <slot_id>1234567</slot_id> </baseline_slot>

JSON response example:

{ "status": "Success", "slot_id": 1234567 }

editbaseline

This API function allows the user to edit an existing alarm baseline

Request:
http://api.keynote.com/keynote/api/editbasline?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
slot_id Slot ID for which baseline is being updated; this is a required parameter.
baseline_type Optional Parameter to update existing value of type of baseline Allowed values are O (Overall) and W (Hour of the week).
time_period Optional Parameter to update existing value of baseline computation period Allowed values are 4, 5, and 6.
Response:

XML response example:

<baseline_slot> <status>Success</status> <slot_id>1234567</slot_id> </baseline_slot>

JSON response example:

{ "status": "Success", "slot_id": 1234567 }

masscreatealarm

This API function allows the user to create alarms of same configuration for multiple measurements (slots).

Request:
http://api.keynote.com/keynote/api/masscreatealarm?api_key=[your_api_key]&[parameters]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
slotidlist Slot IDs for which alarm is being created
alarm_alias Alias to be assigned to alarm being created
critical_email Comma-separated list of email IDs to which critical alert should be sent
warning_email Comma-separated list of email IDs to which warning alert should be sent
city_alert_flag Required parameter if alert is to be based on City; value is “Y”.
agent_alert_flag Required parameter if alert is to be based on Agent; value is “Y”.
usealarmfordashboard Optional Whether alarm is to be used for Dashboard; default value is “N”.
enable_warning_alert Optional Whether Warning Alert is to be enabled; default value is “N”.
timezone Optional Time zone for which alarm is being created; default value is “PST”.
perf_flag Optional Whether Performance Alarms should be enabled; default value is “Y”.
perf_warning_threshold Optional Warning threshold in seconds for Performance alerts; default value is “3”.
perf_critical_threshold Optional Critical threshold in seconds for Performance alerts; default value is “4”.
component Optional One-letter code to specify a page component. Default is T (Total Measurement Time). List of components allowed for various types of services (Y denotes component is supported; N denotes component is not supported):
TxP ApP MWP MDP MAM STR
T Total Measurement Time Y Y Y Y Y N
D DNS Lookup Y Y Y N N N
S SSL Y Y Y N N N
I Initial Connection Y Y Y N N N
R Redirection Y Y Y N N N
E Request Time Y Y Y N N N
F First Byte Download Y Y Y N N N
B Base Page Download Y Y Y N N N
L Client Time Y Y Y N N N
C Content Download Y Y Y N N N
U Total User Experience Time Y Y N N N N
N Cached Measurement Time Y Y N N N N
G DOM Unload Time Y N N N N N
J DOM Interactive Time Y N N N N N
K DOM Content Load Time Y N N N N N
V DOM Complete Time Y N N N N N
W DOM Load Time Y N N N N N
X IE Paint Start Time Y N N N N N
FS Full Screen Time Y N N N N N
@ Time to Interactive Page Y N N N N N
O Custom Component 1 Y Y N N N N
P Custom Component 2 Y Y N N N N
Q Custom Component 3 Y Y N N N N
TF Total Frustration Time N N N N N Y
RT Resolve Time N N N N N Y
CT Connect Time N N N N N Y
BT Buffer Time N N N N N Y
PT Playback Time N N N N N Y
RBT Rebuffer Time N N N N N Y
BR Average Bit Rate N N N N N Y
M Total Element Count Y Y N N N N
CC Cookie Count Y N N N N N
DC Domain Count Y N N N N N
A Connection Count Y N N N N N
BE Browser Error Count Y N N N N N
FR Frame Rate N N N N N Y
PR Packets Received N N N N N Y
PL Packets Lost N N N N N Y
TP Total Packets N N N N N Y
Y Total Bytes Downloaded Y Y N N N N
H Throughput Y N N N N N
TxP ApP
MWP MDP
MAM STR
T Total Measurement Time
Y Y
Y Y
Y N
D DNS Lookup
Y Y
Y N
N N
S SSL
Y Y
Y N
N N
I Initial Connection
Y Y
Y N
N N
R Redirection
Y Y
Y N
N N
E Request Time
Y Y
Y N
N N
F First Byte Download
Y Y
Y N
N N
B Base Page Download
Y Y
Y N
N N
L Client Time
Y Y
Y N
N N
C Content Download
Y Y
Y N
N N
U Total User Experience Time
Y Y
N N
N N
N Cached Measurement Time
Y Y
N N
N N
G DOM Unload Time
Y N
N N
N N
J DOM Interactive Time
Y N
N N
N N
K DOM Content Load Time
Y N
N N
N N
V DOM Complete Time
Y N
N N
N N
W DOM Load Time
Y N
N N
N N
X IE Paint Start Time
Y N
N N
N N
FS Full Screen Time
Y N
N N
N N
@ Time to Interactive Page
Y N
N N
N N
O Custom Component 1
Y Y
N N
N N
P Custom Component 2
Y Y
N N
N N
Q Custom Component 3
Y Y
N N
N N
TF Total Frustration Time
N N
N N
N Y
RT Resolve Time
N N
N N
N Y
CT Connect Time
N N
N N
N Y
BT Buffer Time
N N
N N
N Y
PT Playback Time
N N
N N
N Y
RBT Rebuffer Time
N N
N N
N Y
BR Average Bit Rate
N N
N N
N Y
M Total Element Count
Y Y
N N
N N
CC Cookie Count
Y N
N N
N N
DC Domain Count
Y N
N N
N N
A Connection Count
Y N
N N
N N
BE Browser Error Count
Y N
N N
N N
FR Frame Rate
N N
N N
N Y
PR Packets Received
N N
N N
N Y
PL Packets Lost
N N
N N
N Y
TP Total Packets
N N
N N
N Y
Y Total Bytes Downloaded
Y Y
N N
N N
H Throughput
Y N
N N
N N
perf_warning_dynamic_threshold Optional Dynamic threshold warning baseline; default value is “-1” (None).
perf_critical_dynamic_threshold Optional Dynamic threshold critical baseline; default value is “-1” (None).
perf_escalation_alert_count Optional Number of Performance alerts per severity level; default value is “2”.
perf_escalation_interval Optional Performance alarm escalation interval in seconds; default value is “30”.
perf_escalation_email Optional Comma-separated list of email ids to which performance escalation email should be sent; default value is blank.
perf_enable_siteok_alert Optional Whether performance site alert should be enabled; default value is “Y”.
avail_flag Optional Whether Availability Alarms should be enabled; default value is “Y”.
avail_warning_threshold Optional Warning threshold in percentage for Availability alerts; default value is “90”.
avail_critical_threshold Optional Critical threshold in percentage for Availability alerts; default value is “80”.
avail_transaction_errors Optional Comma-separated list of Transaction errors to be included for Availability alarm; default value is “All”.
avail_escalation_alert_count Optional Number of Availability alerts per severity level; default value is “2”.
avail_escalation_interval Optional Availability alarm escalation interval in seconds; default value is “30”.
avail_escalation_email Optional Comma-separated list of email IDs to which availability escalation email should be sent; default value is blank.
avail_enable_siteok_alert Optional Whether availability site alert should be enabled; default value is “Y”.
page_sequence Optional Specific page for which alarm is being configured; default value is “-1” (Total).
alarm_based_on Optional Whether alarm is based on time or datapoints; expected values are “time” or “datapoints”; default value is “time”.
alarm_based_on_interval Used in conjunction with parameter “alarm_based_on”.
  • Expected values in seconds if alarm_based_on is defined as “time”: 300 / 900 / 1800 / 3600 / 7200; default value is “300”.
  • Expected values if alarm_based_on is defined as “datapoints”: any value from 1 to 20. This is a compulsory parameter if alarm_based_on is defined as "datapoints."
count_contenterror Optional Whether content error should be counted as page error; default value is “N”.
include_detail_alarm Optional Whether detail alarm will be included; default value is “N”.
number_of_cities_meet_threshold Optional Used in conjunction with parameter city_alert_flag=Y; parameter to be passed is positive numerical value between 0 and 26; default value is “-1” (Aggregate).
number_of_agents_meet_threshold Optional Used in conjunction with parameter agent_alert_flag=Y; parameter to be passed is positive numerical value between 0 and 60; default value is “-1” (Aggregate).
state_management_flag Optional Whether State Management Flag is enabled; default value is “N”.
Response:

masseditalarm

This API function allows the user to edit alarms of same configuration for multiple measurements (slots).

Request:
http://api.keynote.com/keynote/api/masseditalarm?api_key=[your_api_key]&[parameters]
Parameters:
alarm_id Alarm IDs corresponding to alarms to be edited
critical_email Optional Comma-separated list of email IDs to replace email IDs to which critical alert should be sent
warning_email Optional Comma-separated list of email IDs to replace email IDs to which warning alert should be sent
usealarmfordashboard Optional Parameter to update whether alarm is to be used for dashboard; values are “N” or “Y”.
enable_warning_alert Optional Parameter to update current value of whether Warning Alert is enabled; values are “N” or “Y”.
timezone Optional Parameter to update current value of time zone defined for alarm
perf_flag Optional Parameter to update current value of whether Performance Alarms are enabled; values are “N” or “Y”.
perf_warning_threshold Optional Parameter to update current value of warning threshold in seconds for Performance alerts
perf_critical_threshold Optional Parameter to update current value of critical threshold in seconds for Performance alerts
perf_escalation_alert_count Optional Parameter to update current value of number of Performance alerts per severity level
perf_escalation_interval Optional Parameter to update current value of performance alarm escalation interval in seconds.
perf_escalation_email Optional Comma-separated list of email IDs to replace email IDs to which performance escalation email should be sent
perf_enable_siteok_alert Optional Parameter to update current value of whether performance site alert is enabled
avail_flag Optional Parameter to update current value of whether Performance Alarms are enabled; values are “N” or “Y”.
avail_warning_threshold Optional Parameter to update current value of warning threshold in percentage for Availability alerts
avail_critical_threshold Optional Parameter to update current value of critical threshold in percentage for Availability alerts
avail_transaction_errors Optional Comma-separated list of Transaction errors to replace values currently assigned to Availability alarm
avail_escalation_alert_count Optional Parameter to update current value of number of Availability alerts per severity level
avail_escalation_interval Optional Parameter to update current value of availability alarm escalation interval in seconds
avail_escalation_email Optional Comma-separated list of email IDs to replace email IDs to which availability escalation email should be sent
avail_enable_siteok_alert Optional Parameter to update current value of whether availability site alert should be enabled
page_sequence Optional Parameter to update current value of specific page for which alarm is being configured
Response:

XML response example:

<update_mass_alarm>
   <message>Successfully updated mass alarm : 6799665,6799670</message>
</update_mass_alarm>

Transaction error API

gettranserrorinfo

This API function displays details of all TxP/ApP Error Codes, and how it affects availability.

Request:
https://api.keynote.com/keynote/api/gettranserrorinfo?api_key=[your_api_key]&[optional_parameter]
Parameters:
format Optional Response format Options are xml or json. XML is the default.
Response:

XML response example:

<error_info>
  <error  affects_availability="Y" external_error_code="50017"  external_error_name="Error code too long" internal_error_code="50017"  internal_error_name="Error occurred but the error code length is too big  to be set in the database"/>
  <error  affects_availability="N" external_error_code="-99900"  external_error_name="Miscellaneous Errors"  internal_error_code="-70302" internal_error_name="Null pointer  encountered."/>
  ………..
</error_info>

JSON response example:

{
  "error" : [ {
    "external_error_code" : "50017",
    "internal_error_code" : "50017",
    "external_error_name" : "Error code too long",
    "internalErrorVame" : "Error occurred but the error code length is too big to be set in the database",
    "affects_availability" : "Y"
  }, {
    "external_error_code" : "-99900",
    "internal_error_code" : "-70302",
    "external_error_name" : "Miscellaneous Errors",
    "internalErrorVame" : "Null pointer encountered.",
"affects_availability" : "N"
  }]
………
} 

Technical Q&A

If you need technical help trying to accomplish a specific task with the API, we recommend you check out and communicate with other users in the Keynote Open Q&A Forum.