changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "created_at": {
+ "description": "Date of creation for the entity",
+ "format": "date-time",
+ "type": "string"
+ },
+ "display_name": {
+ "default": null,
+ "description": "Public name of the monitor on status pages, defaults to the monitor name",
+ "examples": [
+ "Website"
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "Monitor ID",
+ "examples": [
+ 1
+ ],
+ "type": "integer"
+ },
+ "incident_confirmations": {
+ "default": 3,
+ "description": "Number of uninterrupted failed checks required to create an incident",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
+ "examples": [
+ 1
+ ],
+ "type": "integer"
+ },
+ "interval": {
+ "default": 60,
+ "description": "Monitoring interval in seconds",
+ "enum": [
+ 30,
+ 60,
+ 120,
+ 180,
+ 300,
+ 600,
+ 900,
+ 1800,
+ 3600
+ ],
+ "examples": [
+ 60
+ ],
+ "type": "integer"
+ },
+ "last_checked_at": {
+ "description": "Date of the last performed check with a 30s accuracy",
+ "format": "date-time",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "description": "Monitor name",
+ "examples": [
+ "Website"
+ ],
+ "type": "string"
+ },
+ "paused": {
+ "description": "Whether the monitor is currently paused",
+ "examples": [
+ true
+ ],
+ "type": "boolean"
+ },
+ "project_id": {
+ "description": "Parent project ID",
+ "examples": [
+ 1
+ ],
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "Monitoring protocol",
+ "enum": [
+ "http",
+ "tcp",
+ "icmp"
+ ],
+ "type": "string"
+ },
+ "recovery_confirmations": {
+ "default": 3,
+ "description": "Number of uninterrupted successful checks required to resolve an incident",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
+ "examples": [
+ 1
+ ],
+ "type": "integer"
+ },
+ "region_threshold": {
+ "default": 1,
+ "description": "Number of regions that must fail before an incident is confirmed, cannot exceed the number of selected regions",
+ "examples": [
+ 1
+ ],
+ "type": "integer"
+ },
+ "regions": {
+ "description": "List of regions where monitoring checks are performed",
+ "items": {
+ "enum": [
+ "as-jpn-hnd",
+ "as-sgp-sin",
+ "as-tha-bkk",
+ "eu-deu-fra",
+ "eu-fra-cdg",
+ "eu-gbr-lhr",
+ "eu-swe-arn",
+ "ng-nld-ams",
+ "na-mex-mex",
+ "na-usa-iad",
+ "na-usa-sea",
+ "oc-aus-syd",
+ "sa-bra-gru"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "request": {
+ "anyOf": [
+ {
+ "properties": {
+ "body": {
+ "description": "HTTP request body for POST, PUT and PATCH requests",
+ "examples": [
+ "Hello, World!"
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "follow_redirects": {
+ "default": true,
+ "description": "Follow redirects",
+ "examples": [
+ true
+ ],
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "headers": {
+ "description": "Additional HTTP headers to add to the request",
+ "items": {
+ "properties": {
+ "name": {
+ "description": "Header name, the User-Agent, Signature, Signature-Input and Signature-Agent headers are not allowed",
+ "examples": [
+ "X-Phare-Says"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Header value",
+ "examples": [
+ "Hello world!"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "method": {
+ "description": "HTTP request method",
+ "enum": [
+ "HEAD",
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "OPTIONS"
+ ],
+ "type": "string"
+ },
+ "tls_skip_verify": {
+ "default": false,
+ "description": "Skip SSL verification",
+ "examples": [
+ false
+ ],
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "url": {
+ "description": "HTTP request url",
+ "examples": [
+ "https://docs.phare.io/introduction"
+ ],
+ "type": "string"
+ },
+ "user_agent_secret": {
+ "description": "A secret value to be used in the User-Agent header for authenticating the request",
+ "examples": [
+ "definitely-not-a-bot"
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "title": "HTTP protocol",
+ "type": "object"
+ },
+ {
+ "properties": {
+ "connection": {
+ "description": "Connection type for TCP protocol",
+ "enum": [
+ "plain",
+ "tls"
+ ],
+ "type": "string"
+ },
+ "host": {
+ "description": "TCP request hostname or IP address",
+ "examples": [
+ "8.8.8.8"
+ ],
+ "type": "string"
+ },
+ "port": {
+ "description": "TCP request port, between 1 and 65535",
+ "examples": [
+ "80"
+ ],
+ "type": "string"
+ },
+ "tls_skip_verify": {
+ "default": false,
+ "description": "Skip TLS verification",
+ "examples": [
+ false
+ ],
+ "type": [
+ "boolean",
+ "null"
+ ]
+ }
+ },
+ "title": "TCP protocol",
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "host": {
+ "description": "ICMP request hostname or IP address",
+ "examples": [
+ "8.8.8.8"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "ICMP protocol",
+ "type": "object"
+ }
+ ],
+ "description": "Monitoring request, depends of the chosen protocol",
+ "type": "object"
+ },
+ "response_time": {
+ "description": "75th percentile (P75) response time of successful checks over the last 7 days, in milliseconds",
+ "examples": [
+ 123
+ ],
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "status": {
+ "description": "Monitor current status",
+ "enum": [
+ "fetching",
+ "online",
+ "offline",
+ "partial",
+ "paused"
+ ],
+ "type": "string"
+ },
+ "success_assertions": {
+ "description": "Required for the HTTP protocol, with at least one assertion, and ignored for the TCP and ICMP protocols. A check is successful when all its assertions are true.",
+ "items": {
+ "anyOf": [
+ {
+ "properties": {
+ "operator": {
+ "description": "Operator to use for the assertion",
+ "enum": [
+ "in",
+ "not_in"
+ ],
+ "examples": [
+ "in"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of assertion, only one status code assertion is allowed",
+ "enum": [
+ "status_code"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "A comma-separated list of status code values, you can use x as a wildcard for any digit.",
+ "examples": [
+ "2xx,30x,418"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "Status code assertion",
+ "type": "object"
+ },
+ {
+ "properties": {
+ "operator": {
+ "description": "Operator to use for the assertion",
+ "enum": [
+ "equals",
+ "not_equals"
+ ],
+ "examples": [
+ "equals"
+ ],
+ "type": "string"
+ },
+ "selector": {
+ "description": "The name of the header to assert",
+ "examples": [
+ "Content-Type"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of assertion",
+ "enum": [
+ "response_header"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the header to assert",
+ "examples": [
+ "application/json"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "Response header assertion",
+ "type": "object"
+ },
+ {
+ "properties": {
+ "operator": {
+ "description": "Operator to use for the assertion",
+ "enum": [
+ "contains",
+ "not_contains"
+ ],
+ "examples": [
+ "contains"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of assertion, not available for HEAD and OPTIONS requests",
+ "enum": [
+ "response_body"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "A word or sentence to check in the response body",
+ "examples": [
+ "Hello, World!"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "Response body assertion",
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "tags": {
+ "description": "Resource tags, made of lowercase letters, numbers, `.`, `_`, `:` and `-`. An organization can have up to 200 tags.",
+ "items": {
+ "examples": [
+ "environment:production"
+ ],
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "timeout": {
+ "default": 20000,
+ "description": "Monitoring timeout in milliseconds",
+ "enum": [
+ 1000,
+ 2000,
+ 3000,
+ 4000,
+ 5000,
+ 6000,
+ 7000,
+ 8000,
+ 9000,
+ 10000,
+ 15000,
+ 20000,
+ 25000,
+ 30000
+ ],
+ "examples": [
+ 20000
+ ],
+ "type": "integer"
+ },
+ "updated_at": {
+ "description": "Date of last update for the entity",
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+}