Create Multiple Synthetic Web Monitoring Jobs API

This page describes the API used to create multiple Synthetic web monitoring jobs using a single API request.

Create Multiple Synthetic Jobs

Creates multiple Synthetic jobs with the specified JSON payload.

Resource URL

POST <api_server_URL>/v1/synthetic/schedule/batch

Request/Response Format

JSON

Example

Request
{
"schedules": [
{
"scheduleRunConfigs": [
{
"rate": {
"value": 15,
"unit": "MINUTES"
},
"daysOfWeek": [
"SUN",
"WED",
"FRI",
"MON",
"THUR",
"SAT",
"TUES"
],
"timezone": "UTC"
}
],
"description": "appd1",
"appKey": "appKey",
"script": {
"contentType": "INLINE_PYTHON_3",
"script": "pageUrl = \"http://www.appdynamics.com\"\ndriver.get(pageUrl)\nassert \"AppDynamics\" in driver.title, \"Title should contain AppDynamics\""
},
"browserCodes": [
"Chrome"
],
"chromeVersions": [
"86"
],
"locationCodes": [
"M50"
],
"captureVisualMetrics": true,
"simulateMobileBrowser": false,
"networkProfile": {
"name": "Native",
"downloadKbps": 5000,
"uploadKbps": 1000,
"roundtripTimeMillis": 28,
"packetLossPercent": 0,
"isDefault": false
},
"timeoutSeconds": 30,
"performanceCriteria": {
"retestOnWarning": false,
"retestOnCritical": false,
"criterion": []
},
"composableConfig": {
"numBeforeConfirmedError": 0,
"resourceErrorDetection": {
"ignoreWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
},
"onlyWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
}
}
}
}
]
}
Response
[
{
"status": "200",
"errorMessage": "null",
"scheduleId": "ID"
},
{
"status": "422",
"errorMessage": "timeout field value exceeds range",
"scheduleId": "null"
}
]

Request Parameters

Parameter NameParameter TypeValueDescriptionMandatory Request
scheduleRunConfigs-No
rate-No
valuenumber

Minutes: 1 - 60

Hours: 1 - 24

Days: "null"

No
unitStringMinutes, Hours, or DaysNo
daysOfWeekString"SUN", "MON", "TUES", "WED", "THUR", "FRI", "SAT"No
timeRangeStringBetween hh:mm AM/PM to hh:mm AM/PMNo
timezoneString"UTC"GMT +/-hh:mmNo
startTimeStringdd/mm/yyyy hh:mm AM/PMNo
endTimeStringdd/mm/yyyy hh:mm AM/PMNo
descriptionStringJob nameName of the jobYes

appKey

String

Application key

You can get the application key from the Controller.

Navigate toUser Experience>Browser Apps. The application key is listed next to the application name.

Yes
urlString"null" or URL to monitor

The URL that you want to monitor.

When you use this parameter, the value of the script parameter must be null.

Yes
scriptString

"null" or python-based selenium script to monitor

If you have a scripted job, specify the python-based selenium script used for simulating the user flow or behavior.

When you use this parameter, the value of the url parameter must be null.

Yes
contentTypeString"null" or "INLINE_PYTHON_3"

If the url value is not null (URL job), the content type is null

If the script value is not null (script job), the content type is "INLINE_PYTHON_3"

Yes
scriptString"null" or Python scriptPython-based selenium script for the scripted jobsYes
credentialPlaceholdersStringYes
apiMetadataStringScript object of the web monitoring jobNo
browserCodesString

Use the following Synthetic internal browser codes:

  • Chrome: Chrome
  • Internet Explorer: IE11
  • Firefox: Firefox
  • Mobile: Chrome.DeviceEmulation
Yes
chromeVersionsStringChrome browser version 86Yes
locationCodesString

Synthetic internal location codes of each agent location. See Location Codes.

Yes
captureVisualMetricsBooleantrue or false No
simulateMobileBrowserBooleantrue or false No

networkProfile

String"name": "Native", "downloadKbps": 5000, "uploadKbps": 1000, "roundtripTimeMillis": 28, "packetLossPercent": 0, "isDefault": falseNo

name

StringCustom, Pixel, iPad, iPhone SEName of the deviceNo

description

String

If the name is Custom: User agent

If the name field is not Custom: "null"

Mozilla/5.0 (Linux; Android 7.0; SAMSUNG SM-G950F Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/5.2 Chrome/51.0.2704.106 Mobile Safari/537.36No
downloadKbpsNumberNumberDownload bandwidth in kbpsNo
uploadKbpsNumberNumberUpload bandwidth in kbpsNo
roundtripTimeMillisNumberNumberLatency in millisecondsNo
packetLossPercentNumber0 - 100Packet loss percentageNo
isDefaultBooleantrue or false No
timeoutSecondsNumber5 - 300SecondsNo
performanceCriteria-No
retestOnWarningBooleantrue or false Re-test on warning eventNo
retestOnCriticalBooleantrue or false Re-test on critical eventNo
criterionStringNo
composableConfig-You can use this parameter to configure:
  • Custom Retry
  • Availability Rules
No
numBeforeConfirmedErrorNumber0, 1, 2, 3, 5, or 10Number of retriesNo
resourceErrorDetection-No
ignoreWhen-No
resourceUrlContainsStringComma separated listList of resource URLsNo
resourceMimeTypeStringNo
onlyWhen-No
resourceUrlContainsStringComma separated listList of resource URLsNo
resourceMimeTypeStringNo

Response Status Codes

Code Description
200Success
401Unauthorized
402Exceeded job limit
422Validation failure
429Throttled
500Internal server error