{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"public_id": {
"type": "string",
"description": "The public ID of the test to edit."
},
"config": {
"type": "object",
"description": "Configuration object for a Synthetic browser test.",
"properties": {
"assertions": {
"type": "array",
"description": "Array of assertions used for the test."
},
"configVariables": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of variables used for the test."
},
"request": {
"type": "object",
"description": "Object describing the Synthetic test request."
},
"setCookie": {
"type": "string",
"description": "Cookies to be used for the request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax."
},
"variables": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of variables used for the test steps."
}
},
"required": [
"request",
"assertions"
]
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of locations used to run the test."
},
"message": {
"type": "string",
"description": "Notification message associated with the test. Message can either be text or an empty string."
},
"monitor_id": {
"type": "integer",
"description": "The associated monitor ID."
},
"name": {
"type": "string",
"description": "Name of the test."
},
"options": {
"type": "object",
"description": "Object describing the extra options for a Synthetic test.",
"properties": {
"accept_self_signed": {
"type": "boolean",
"description": "For SSL tests, whether or not the test should allow self signed certificates."
},
"allow_insecure": {
"type": "boolean",
"description": "Allows loading insecure content for an HTTP request in an API test."
},
"blockedRequestPatterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of URL patterns to block."
},
"checkCertificateRevocation": {
"type": "boolean",
"description": "For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP."
},
"ci": {
"type": "object",
"description": "CI/CD options for a Synthetic test."
},
"device_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "For browser test, array with the different device IDs used to run the test."
},
"disableAiaIntermediateFetching": {
"type": "boolean",
"description": "For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA."
},
"disableCors": {
"type": "boolean",
"description": "Whether or not to disable CORS mechanism."
},
"disableCsp": {
"type": "boolean",
"description": "Disable Content Security Policy for browser tests."
},
"enableProfiling": {
"type": "boolean",
"description": "Enable profiling for browser tests."
},
"enableSecurityTesting": {
"type": "boolean",
"description": "Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used."
},
"follow_redirects": {
"type": "boolean",
"description": "For API HTTP test, whether or not the test should follow redirects."
},
"httpVersion": {
"type": "string",
"description": "HTTP version to use for a Synthetic test.",
"enum": [
"http1",
"http2",
"any"
]
},
"ignoreServerCertificateError": {
"type": "boolean",
"description": "Ignore server certificate error for browser tests."
},
"initialNavigationTimeout": {
"type": "integer",
"description": "Timeout before declaring the initial step as failed (in seconds) for browser tests."
},
"min_failure_duration": {
"type": "integer",
"description": "Minimum amount of time in failure required to trigger an alert."
},
"min_location_failed": {
"type": "integer",
"description": "Minimum number of locations in failure required to trigger an alert."
},
"monitor_name": {
"type": "string",
"description": "The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs."
},
"monitor_options": {
"type": "object",
"description": "Object containing the options for a Synthetic test as a monitor (for example, renotification)."
},
"monitor_priority": {
"type": "integer",
"description": "Integer from 1 (high) to 5 (low) indicating alert severity."
},
"noScreenshot": {
"type": "boolean",
"description": "Prevents saving screenshots of the steps."
},
"restricted_roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of role identifiers that can be pulled from the Roles API, for restricting read and write access. This field is deprecated. Use the restriction policies API to manage permissions."
},
"retry": {
"type": "object",
"description": "Object describing the retry strategy to apply to a Synthetic test."
},
"rumSettings": {
"type": "object",
"description": "The RUM data collection settings for the Synthetic browser test. **Note:** There are 3 ways to format RUM settings: `{ isEnabled: false }` RUM data is not collected. `{ isEnabled: true }` RUM data is collected from the Synthetic test's default application. `{ isEnabled: true, applicationId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\", clientTokenId: 12345 }` RUM data is collected using the specified application."
},
"scheduling": {
"type": "object",
"description": "Object containing timeframes and timezone used for advanced scheduling."
},
"tick_every": {
"type": "integer",
"description": "The frequency at which to run the Synthetic test (in seconds)."
}
}
},
"status": {
"type": "string",
"description": "Define whether you want to start (`live`) or pause (`paused`) a Synthetic test.",
"enum": [
"live",
"paused"
]
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allowFailure": {
"type": "boolean",
"description": "A boolean set to allow this step to fail."
},
"alwaysExecute": {
"type": "boolean",
"description": "A boolean set to always execute this step even if the previous step failed or was skipped."
},
"exitIfSucceed": {
"type": "boolean",
"description": "A boolean set to exit the test if the step succeeds."
},
"isCritical": {
"type": "boolean",
"description": "A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails."
},
"name": {
"type": "string",
"description": "The name of the step."
},
"noScreenshot": {
"type": "boolean",
"description": "A boolean set to skip taking a screenshot for the step."
},
"params": {
"type": "object",
"description": "The parameters of the step."
},
"public_id": {
"type": "string",
"description": "The public ID of the step."
},
"timeout": {
"type": "integer",
"format": "int64",
"description": "The time before declaring a step failed."
},
"type": {
"type": "string",
"enum": [
"assertCurrentUrl",
"assertElementAttribute",
"assertElementContent",
"assertElementPresent",
"assertEmail",
"assertFileDownload",
"assertFromJavascript",
"assertPageContains",
"assertPageLacks",
"assertRequests",
"click",
"drag",
"drop",
"extractFromJavascript",
"extractFromEmailBody",
"extractVariable",
"goToEmailLink",
"goToUrl",
"goToUrlAndMeasureTti",
"hover",
"playSubTest",
"pressKey",
"refresh",
"runApiTest",
"scroll",
"selectOption",
"typeText",
"uploadFiles",
"wait"
],
"description": "Step type used in your Synthetic test."
}
}
},
"description": "Array of steps for the test."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of tags attached to the test."
},
"type": {
"type": "string",
"description": "Type of the Synthetic test, `browser`.",
"enum": [
"browser"
]
}
},
"required": [
"PCID",
"public_id",
"config",
"locations",
"message",
"name",
"options",
"type"
]
}