{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-monitor-schema.json", "title": "Monitor", "description": "The information about a monitor.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/oracle-apmsynthetic-api-openapi.yml#/components/schemas/Monitor", "properties": { "availabilityConfiguration": { "$ref": "#/$defs/AvailabilityConfiguration" }, "batchIntervalInSeconds": { "description": "Time interval between two runs in round robin batch mode (SchedulingPolicy - BATCHED_ROUND_ROBIN).", "type": "integer" }, "configuration": { "$ref": "#/$defs/MonitorConfiguration" }, "contentType": { "description": "Content type of the script.", "enum": [ "SIDE", "JS", "PLAYWRIGHT_TS" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/ContentTypes" }, "createdBy": { "description": "Name of the user that created the monitor.", "maxLength": 255, "minLength": 1, "type": "string" }, "definedTags": { "additionalProperties": { "additionalProperties": { "description": "The value of the tag. Only string, integer and boolean types are supported.\n", "type": "object" }, "description": "Key-value pair representing predefined tags' keys and values scoped to a namespace.\nExample: `{\"bar-key\": \"value\"}`\n", "type": "object" }, "description": "Defined tags for this resource. Each key is predefined and scoped to a namespace.\nExample: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`\n", "type": "object" }, "displayName": { "description": "Unique name that can be edited. The name should not contain any confidential information.", "maxLength": 255, "minLength": 1, "type": "string" }, "freeformTags": { "additionalProperties": { "type": "string" }, "description": "Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.\nExample: `{\"bar-key\": \"value\"}`\n", "type": "object" }, "id": { "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the monitor.", "maxLength": 255, "minLength": 1, "type": "string" }, "isIPv6": { "default": false, "description": "If enabled, domain name will resolve to an IPv6 address.", "type": "boolean" }, "isRunNow": { "default": false, "description": "If isRunNow is enabled, then the monitor will run immediately.", "type": "boolean" }, "isRunOnce": { "default": false, "description": "If runOnce is enabled, then the monitor will run once.", "type": "boolean" }, "lastUpdatedBy": { "description": "Name of the user that recently updated the monitor.", "maxLength": 255, "minLength": 1, "type": "string" }, "maintenanceWindowSchedule": { "$ref": "#/$defs/MaintenanceWindowSchedule" }, "monitorType": { "description": "Type of monitor.", "enum": [ "SCRIPTED_BROWSER", "BROWSER", "SCRIPTED_REST", "REST", "NETWORK", "DNS", "FTP", "SQL" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/MonitorTypes" }, "repeatIntervalInSeconds": { "description": "Interval in seconds after the start time when the job should be repeated.\nMinimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor.\n", "type": "integer" }, "schedulingPolicy": { "description": "Scheduling policy to decide the distribution of monitor executions on vantage points.", "enum": [ "ALL", "ROUND_ROBIN", "BATCHED_ROUND_ROBIN" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/SchedulingPolicy" }, "scriptId": { "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the script.\nscriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null.\n", "maxLength": 255, "minLength": 1, "type": "string" }, "scriptName": { "description": "Name of the script.", "maxLength": 255, "minLength": 1, "type": "string" }, "scriptParameters": { "description": "List of script parameters. Example: `[{\"monitorScriptParameter\": {\"paramName\": \"userid\", \"paramValue\":\"testuser\"}, \"isSecret\": false, \"isOverwritten\": false}]`\n", "items": { "$ref": "#/$defs/MonitorScriptParameterInfo" }, "maxItems": 50, "type": "array" }, "status": { "description": "Enables or disables the monitor.", "enum": [ "ENABLED", "DISABLED", "INVALID" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/MonitorStatus" }, "target": { "description": "Specify the endpoint on which to run the monitor.\nFor BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory.\nIf target is specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script (specified by scriptId in monitor) against the specified target endpoint.\nIf target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is.\nFor NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80.\n", "maxLength": 4000, "type": "string", "x-default-description": "null" }, "timeCreated": { "description": "The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)\ntimestamp format.\nExample: `2020-02-12T22:47:12.613Z`\n", "format": "date-time", "type": "string" }, "timeUpdated": { "description": "The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)\ntimestamp format.\nExample: `2020-02-13T22:47:12.613Z`\n", "format": "date-time", "type": "string" }, "timeoutInSeconds": { "description": "Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors.\nIf isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors.\nAlso, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors.\nMonitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that.\n", "maximum": 900, "type": "integer" }, "vantagePointCount": { "description": "Number of vantage points where monitor is running.", "type": "integer" }, "vantagePoints": { "description": "List of public, dedicated and onPremise vantage points where the monitor is running.", "items": { "$ref": "#/$defs/VantagePointInfo" }, "type": "array" } }, "required": [ "id", "displayName", "monitorType", "vantagePoints", "vantagePointCount", "scriptId", "scriptName", "repeatIntervalInSeconds", "timeoutInSeconds", "status", "isRunOnce", "isRunNow", "schedulingPolicy", "batchIntervalInSeconds" ], "type": "object", "$defs": { "AvailabilityConfiguration": { "description": "Monitor availability configuration details.", "properties": { "maxAllowedFailuresPerInterval": { "description": "Maximum number of failed runs allowed in an interval. If an interval has more failed runs than the specified value, then the interval will be classified as UNAVAILABLE.", "format": "int32", "type": "integer" }, "minAllowedRunsPerInterval": { "description": "Minimum number of runs allowed in an interval. If an interval has fewer runs than the specified value, then the interval will be classified as UNKNOWN and will be excluded from the availability calculations.", "format": "int32", "type": "integer" } }, "type": "object" }, "DnsConfiguration": { "description": "Information about the DNS settings.", "properties": { "isOverrideDns": { "default": false, "description": "If isOverrideDns is true, then DNS settings will be overridden.", "type": "boolean" }, "overrideDnsIp": { "description": "Attribute to override the DNS IP value. This value will be honored only if isOverrideDns is set to true.", "maxLength": 45, "minLength": 2, "type": "string" } }, "type": "object" }, "MaintenanceWindowSchedule": { "description": "Details required to schedule maintenance window.", "properties": { "timeEnded": { "description": "End time of the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.\nExample: `2020-02-12T22:47:12.613Z`\n", "format": "date-time", "type": "string" }, "timeStarted": { "description": "Start time of the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.\nExample: `2020-02-12T22:47:12.613Z`\n", "format": "date-time", "type": "string" } }, "type": "object" }, "MonitorConfiguration": { "description": "Details of monitor configuration.", "properties": { "configType": { "description": "Type of configuration.", "enum": [ "BROWSER_CONFIG", "SCRIPTED_BROWSER_CONFIG", "REST_CONFIG", "SCRIPTED_REST_CONFIG", "NETWORK_CONFIG", "DNS_SERVER_CONFIG", "DNS_TRACE_CONFIG", "DNSSEC_CONFIG", "FTP_CONFIG", "SQL_CONFIG" ], "type": "string" }, "dnsConfiguration": { "$ref": "#/$defs/DnsConfiguration" }, "isFailureRetried": { "default": true, "description": "If isFailureRetried is enabled, then a failed call will be retried.", "type": "boolean" } }, "type": "object" }, "MonitorScriptParameter": { "description": "Details of the script parameter that can be used to overwrite the parameter present in the script.\n", "properties": { "paramName": { "description": "Name of the parameter.", "maxLength": 64, "minLength": 1, "type": "string" }, "paramValue": { "description": "Value of the parameter.", "maxLength": 2048, "minLength": 1, "type": "string" } }, "required": [ "paramName", "paramValue" ], "type": "object" }, "MonitorScriptParameterInfo": { "description": "Details of the script parameters in the monitor.\nisOverwritten specifies that the script parameters are overwritten in the monitor.\nIf the user overwrites the parameter value in the monitor, then the overwritten values will be used to run the monitor.\n", "properties": { "isOverwritten": { "description": "If parameter value is default or overwritten.\n", "type": "boolean" }, "isSecret": { "description": "Describes if the parameter value is secret and should be kept confidential.\nisSecret is specified in either CreateScript or UpdateScript API.\n", "type": "boolean" }, "monitorScriptParameter": { "$ref": "#/$defs/MonitorScriptParameter" } }, "required": [ "monitorScriptParameter", "isSecret", "isOverwritten" ], "type": "object" }, "VantagePointInfo": { "description": "Details of the vantage point.", "properties": { "displayName": { "description": "Unique name that can be edited. The name should not contain any confidential information.", "maxLength": 255, "minLength": 1, "type": "string" }, "name": { "description": "Name of the vantage point.", "minLength": 1, "type": "string" }, "workerList": { "description": "List of workers running the assigned monitor.", "items": { "maximum": 255, "minimum": 1, "type": "string" }, "maxItems": 200, "type": "array", "uniqueItems": true } }, "required": [ "name", "displayName" ], "type": "object" } } }