This page describes the API used to update the Synthetic web monitoring jobs.

Update a Synthetic Job

Updates a synthetic job with the specified JSON payload.

Resource URL

PUT /v1/synthetic/schedule/<id>

Request/Response Format

JSON

Example

{
  "_id": "job_id",
  "version": 2,
  "scheduleRunConfigs": [
    {
      "rate": {
        "value": 15,
        "unit": "MINUTES"
      },
      "daysOfWeek": [
        "SUN",
        "WED",
        "FRI",
        "MON",
        "THUR",
        "SAT",
        "TUES"
      ],
      "timezone": "UTC"
    }
  ],
  "userEnabled": true,
  "systemEnabled": true,
  "type": "ALL_BROWSERS",
  "rate": {
    "value": 15,
    "unit": "MINUTES"
  },
  "daysOfWeek": [
    "SUN",
    "WED",
    "FRI",
    "MON",
    "THUR",
    "SAT",
    "TUES"
  ],
  "timezone": "UTC",
  "description": "appd1",
  "appKey": "appkey",
  "scheduleMode": "NONE",
  "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"
  ],
  "failOnPageError": true,
  "captureVisualMetrics": true,
  "simulateMobileBrowser": false,
  "networkProfile": {
    "name": "Native",
    "downloadKbps": 5000,
    "uploadKbps": 1000,
    "roundtripTimeMillis": 28,
    "packetLossPercent": 0,
    "isDefault": false
  },
  "timeoutSeconds": 30,
  "state": {
    "lastFireTime": "2022-04-01T04:49:46.544Z"
  },
  "projectedUsage": {
    "projectedDailyRuns": 96,
    "projectedMonthlyRuns": 2880
  },
  "performanceCriteria": {
    "retestOnWarning": false,
    "retestOnCritical": false,
    "criterion": []
  },
  "composableConfig": {
    "numBeforeConfirmedError": 0,
    "resourceErrorDetection": {
      "ignoreWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      },
      "onlyWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      }
    }
  },
  "created": "2022-04-01T04:49:46.538Z",
  "updated": "2022-04-01T04:50:13.325Z"
}
JSON
{
  "_id": "job_id",
  "version": 1,
  "scheduleRunConfigs": [
    {
      "rate": {
        "value": 1,
        "unit": "MINUTES"
      },
      "daysOfWeek": [
        "WED",
        "FRI",
        "SUN",
        "SAT",
        "TUES",
        "MON",
        "THUR"
      ],
      "timezone": "UTC"
    }
  ],
  "userEnabled": true,
  "systemEnabled": true,
  "type": "ALL_BROWSERS",
  "rate": {
    "value": 15,
    "unit": "MINUTES"
  },
  "daysOfWeek": [
    "WED",
    "FRI",
    "SUN",
    "SAT",
    "TUES",
    "MON",
    "THUR"
  ],
  "timezone": "UTC",
  "description": "https://appdynamics.com",
  "appKey": "appKey",
  "scheduleMode": "NONE",
  "url": "https://appdynamics.com",
  "browserCodes": [
    "Chrome"
  ],
  "chromeVersions": [
    "86"
  ],
  "locationCodes": [
    "BOM",
    "M50"
  ],
  "failOnPageError": true,
  "captureVisualMetrics": true,
  "simulateMobileBrowser": false,
  "networkProfile": {
    "name": "Native",
    "downloadKbps": 5000,
    "uploadKbps": 1000,
    "roundtripTimeMillis": 28,
    "packetLossPercent": 0,
    "isDefault": false
  },
  "timeoutSeconds": 15,
  "state": {
    "lastFireTime": "2022-04-06T05:57:16.000Z",
    "nextFireTime": "2022-04-06T06:00:16.000Z"
  },
  "projectedUsage": {
    "projectedDailyRuns": 2880,
    "projectedMonthlyRuns": 86400
  },
  "performanceCriteria": {
    "retestOnWarning": false,
    "retestOnCritical": false,
    "criterion": []
  },
  "composableConfig": {
    "numBeforeConfirmedError": 0,
    "resourceErrorDetection": {
      "ignoreWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      },
      "onlyWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      }
    }
  },
  "created": "2022-04-05T05:30:36.426Z",
  "updated": "2022-04-05T05:30:36.426Z"
}
JSON

Enable or Disable a Web Monitoring Job

You can enable or disable a web monitoring job by updating the following values:

Action

Field Name

Value

Enable a web monitoring job

userEnabled

true
Disable a web monitoring jobuserEnabledfalse

Request Parameters

Parameter NameParameter TypeValueDescriptionMandatory Request

id

String

Job ID of a synthetic job

Unique identifier of a synthetic job.

To get the job ID:

  1. Log in to Controller and navigate to User Experience > Browser Apps > <Application Name> > Jobs.
  2. Hover over the job name and click the copy icon to copy the job ID.
Yes
versionnumber

Whenever a job is updated, the value of the version increases by a factor of one.

A job with "version": 5 indicates that it is created and it is updated four times after that.

No
scheduleRunConfigs-

No
  rate-

No
    valuenumber

Minutes: 1 - 60

Hours: 1 - 24

Days: "null"


No
    unitStringMinutes, Hours, or Days
No
  daysOfWeekString"SUN", "MON", "TUES", "WED", "THUR", "FRI", "SAT"
No
  timeRangeString
Between hh:mm AM/PM to hh:mm AM/PMNo
  timezoneString"UTC"GMT +/-hh:mmNo
  startTimeString
dd/mm/yyyy hh:mm AM/PM No
  endTimeString
dd/mm/yyyy hh:mm AM/PMNo
userEnabledBooleantrue or false
No
systemEnabledBoolean
This field gets disabled when the license exhausts. No
typeString

No
rateString

No
  valueNumber

No
  unitString

No
daysOfWeekString

No
timeRangeString

No
timezoneString

No
descriptionString

No
startTimeString

No
endTimeString

No
appKeyStringApplication Key

You can get the application key from the Controller.

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

No
scheduleModeString

No
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.

No
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.

No
  contentTypeString

No
  scriptString

No
  credentialPlaceholdersString

No
apiMetadataStringScript object of the web monitoring job 
No
browserCodesString

Use the following Synthetic internal browser codes:

  • Chrome: Chrome
  • Internet Explorer: IE11
  • Firefox: Firefox
  • Mobile: Chrome.DeviceEmulation

Yes
chromeVersionsStringChrome browser version 86
Yes
locationCodesString

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


Yes
failOnPageErrorBoolean

No
captureVisualMetricsBooleantrue or false
No
simulateMobileBrowserBooleantrue or false
No

networkProfile

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

  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
state-

No
  lastFireTimeString

No
nextFireTimeString

No
projectedUsage-

No
  projectedDailyRunsNumber

No
  projectedMonthlyRunsNumber

No
performanceCriteria-

No
  retestOnWarningBoolean

No
  retestOnCriticalBoolean

No
  criterionString

No
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
      resourceMimeTypeString

No
    onlyWhen-

No
      resourceUrlContainsStringComma separated listList of resource URLsNo
      resourceMimeTypeString

No
createdString

No
updatedString

No

Response Status Codes

Code

Description

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