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 Name | Parameter Type | Value | Description | Mandatory Request | 
|---|---|---|---|---|
scheduleRunConfigs | - | No | ||
rate | - | No | ||
value | number | Minutes: 1 - 60 Hours: 1 - 24 Days: "null"  | No | |
unit | String | Minutes, Hours, or Days | No | |
daysOfWeek | String | "SUN", "MON", "TUES", "WED", "THUR", "FRI", "SAT" | No | |
timeRange | String | Between hh:mm AM/PM to hh:mm AM/PM | No | |
timezone | String | "UTC" | GMT +/-hh:mm | No | 
startTime | String | dd/mm/yyyy hh:mm AM/PM | No | |
endTime | String | dd/mm/yyyy hh:mm AM/PM | No | |
description | String | Job name | Name of the job | Yes | 
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 | 
url | String | "null" or URL to monitor | The URL that you want to monitor. When you use this parameter, the value of the   | Yes | 
script | String |    | 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   | Yes | 
contentType | String | "null" or "INLINE_PYTHON_3" | If the  If the   | Yes | 
script | String | "null" or Python script | Python-based selenium script for the scripted jobs | Yes | 
credentialPlaceholders | String | Yes | ||
apiMetadata | String | Script object of the web monitoring job | No | |
browserCodes | String | Use the following Synthetic internal browser codes: 
  | Yes | |
chromeVersions | String | Chrome browser version 86 | Yes | |
locationCodes | String | Synthetic internal location codes of each agent location. See Location Codes.  | Yes | |
captureVisualMetrics | Boolean | true or false  | No | |
simulateMobileBrowser | Boolean | true or false  | No | |
networkProfile  | String | "name": "Native", "downloadKbps": 5000, "uploadKbps": 1000, "roundtripTimeMillis": 28, "packetLossPercent": 0, "isDefault": false | No | |
name  | String | Custom, Pixel, iPad, iPhone SE | Name of the device | No | 
description  | String | If the name is Custom:  If the name field is not Custom:   | 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.36 | No | 
downloadKbps | Number | Number | Download bandwidth in kbps | No | 
uploadKbps | Number | Number | Upload bandwidth in kbps | No | 
roundtripTimeMillis | Number | Number | Latency in milliseconds | No | 
packetLossPercent | Number | 0 - 100 | Packet loss percentage | No | 
isDefault | Boolean | true or false  | No | |
timeoutSeconds | Number | 5 - 300 | Seconds | No | 
performanceCriteria | - | No | ||
retestOnWarning | Boolean | true or false  | Re-test on warning event | No | 
retestOnCritical | Boolean | true or false  | Re-test on critical event | No | 
criterion | String | No | ||
composableConfig | - | You can use this parameter to configure:
  | No | |
numBeforeConfirmedError | Number | 0, 1, 2, 3, 5, or 10 | Number of retries | No | 
resourceErrorDetection | - | No | ||
ignoreWhen | - | No | ||
resourceUrlContains | String | Comma separated list | List of resource URLs | No | 
resourceMimeType | String | No | ||
onlyWhen | - | No | ||
resourceUrlContains | String | Comma separated list | List of resource URLs | No | 
resourceMimeType | String | No | 
Response Status Codes
| Code | Description | 
|---|---|
| 200 | Success | 
| 401 | Unauthorized | 
| 402 | Exceeded job limit | 
| 422 | Validation failure | 
| 429 | Throttled | 
| 500 | Internal server error |