{
  "service": "cronitor",
  "displayName": "Cronitor",
  "categories": [
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "CRONITOR_API_KEY",
      "description": "Cronitor API key used as the HTTP Basic auth username. Create or view keys from the API Settings page in your Cronitor dashboard: https://cronitor.io/app/settings/api.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://cronitor.io",
  "actions": [
    {
      "id": "cronitor.create_monitor",
      "service": "cronitor",
      "name": "create_monitor",
      "description": "Create one Cronitor monitor.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "job",
              "check",
              "heartbeat",
              "site"
            ],
            "description": "The Cronitor monitor type."
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique key of the Cronitor monitor."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable monitor name."
          },
          "schedules": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Cronitor schedule expression."
            },
            "description": "The cron expressions, interval expressions, or time schedules for this monitor.",
            "minItems": 1
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "The timezone used to evaluate the monitor schedule."
          },
          "assertions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Cronitor assertion expression."
            },
            "description": "Assertions Cronitor evaluates for this monitor.",
            "minItems": 1
          },
          "notify": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Cronitor notification list key or integration target."
                },
                "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
              },
              {
                "type": "object",
                "properties": {
                  "alerts": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "run": {
                        "type": "boolean",
                        "description": "Whether Cronitor should notify when a run event occurs."
                      },
                      "complete": {
                        "type": "boolean",
                        "description": "Whether Cronitor should notify when a complete event occurs."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Lifecycle telemetry events that should trigger notifications."
                  }
                },
                "additionalProperties": false,
                "description": "Occurrence-based Cronitor notification settings."
              }
            ],
            "description": "Cronitor notification list or occurrence-based settings."
          },
          "note": {
            "type": "string",
            "description": "The note attached to the monitor."
          },
          "platform": {
            "type": "string",
            "minLength": 1,
            "description": "The platform associated with the monitor."
          },
          "group": {
            "type": "string",
            "minLength": 1,
            "description": "The group assigned to the monitor."
          },
          "request": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL that Cronitor checks.",
                "format": "uri"
              },
              "method": {
                "type": "string",
                "minLength": 1,
                "description": "The HTTP method used by Cronitor when checking the URL."
              },
              "timeout_seconds": {
                "type": "integer",
                "minimum": 1,
                "description": "The request timeout in seconds."
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A header value sent by Cronitor."
                },
                "description": "HTTP headers sent by Cronitor when checking the URL."
              }
            },
            "additionalProperties": true,
            "description": "The HTTP request configuration used by Cronitor check monitors."
          },
          "grace_seconds": {
            "type": "integer",
            "description": "The grace period in seconds before Cronitor marks the monitor failed."
          },
          "failure_tolerance": {
            "type": "integer",
            "description": "The number of tolerated failures before Cronitor alerts."
          }
        },
        "additionalProperties": false,
        "required": [
          "type",
          "key"
        ],
        "description": "The input payload for creating a Cronitor monitor."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "monitor": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "The unique key of the Cronitor monitor."
              },
              "type": {
                "type": "string",
                "description": "The Cronitor monitor type."
              },
              "name": {
                "type": "string",
                "description": "The human-readable monitor name."
              },
              "schedules": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor schedule expression."
                },
                "description": "The cron expressions, interval expressions, or time schedules for this monitor."
              },
              "timezone": {
                "type": "string",
                "description": "The timezone used to evaluate the monitor schedule."
              },
              "assertions": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor assertion expression."
                },
                "description": "Assertions Cronitor evaluates for this monitor."
              },
              "notify": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  {
                    "type": "object",
                    "properties": {
                      "alerts": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Cronitor notification list key or integration target."
                        },
                        "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                      },
                      "events": {
                        "type": "object",
                        "properties": {
                          "run": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a run event occurs."
                          },
                          "complete": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a complete event occurs."
                          }
                        },
                        "additionalProperties": false,
                        "description": "Lifecycle telemetry events that should trigger notifications."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Occurrence-based Cronitor notification settings."
                  }
                ],
                "description": "Cronitor notification list or occurrence-based settings."
              },
              "note": {
                "type": "string",
                "description": "The note attached to the monitor."
              },
              "platform": {
                "type": "string",
                "description": "The platform associated with the monitor."
              },
              "group": {
                "type": "string",
                "description": "The group assigned to the monitor."
              },
              "request": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL that Cronitor checks.",
                    "format": "uri"
                  },
                  "method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The HTTP method used by Cronitor when checking the URL."
                  },
                  "timeout_seconds": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "The request timeout in seconds."
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A header value sent by Cronitor."
                    },
                    "description": "HTTP headers sent by Cronitor when checking the URL."
                  }
                },
                "additionalProperties": true,
                "description": "The HTTP request configuration used by Cronitor check monitors."
              },
              "grace_seconds": {
                "type": "integer",
                "description": "The grace period in seconds before Cronitor marks the monitor failed."
              },
              "failure_tolerance": {
                "type": "integer",
                "description": "The number of tolerated failures before Cronitor alerts."
              }
            },
            "additionalProperties": true,
            "description": "A monitor resource returned by Cronitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "monitor"
        ],
        "description": "The response returned when creating a Cronitor monitor."
      }
    },
    {
      "id": "cronitor.delete_monitor",
      "service": "cronitor",
      "name": "delete_monitor",
      "description": "Delete a Cronitor monitor by key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique key of the Cronitor monitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "The input payload for deleting a Cronitor monitor."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the delete request completed successfully."
          },
          "monitor": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "The unique key of the Cronitor monitor."
              },
              "type": {
                "type": "string",
                "description": "The Cronitor monitor type."
              },
              "name": {
                "type": "string",
                "description": "The human-readable monitor name."
              },
              "schedules": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor schedule expression."
                },
                "description": "The cron expressions, interval expressions, or time schedules for this monitor."
              },
              "timezone": {
                "type": "string",
                "description": "The timezone used to evaluate the monitor schedule."
              },
              "assertions": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor assertion expression."
                },
                "description": "Assertions Cronitor evaluates for this monitor."
              },
              "notify": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  {
                    "type": "object",
                    "properties": {
                      "alerts": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Cronitor notification list key or integration target."
                        },
                        "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                      },
                      "events": {
                        "type": "object",
                        "properties": {
                          "run": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a run event occurs."
                          },
                          "complete": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a complete event occurs."
                          }
                        },
                        "additionalProperties": false,
                        "description": "Lifecycle telemetry events that should trigger notifications."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Occurrence-based Cronitor notification settings."
                  }
                ],
                "description": "Cronitor notification list or occurrence-based settings."
              },
              "note": {
                "type": "string",
                "description": "The note attached to the monitor."
              },
              "platform": {
                "type": "string",
                "description": "The platform associated with the monitor."
              },
              "group": {
                "type": "string",
                "description": "The group assigned to the monitor."
              },
              "request": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL that Cronitor checks.",
                    "format": "uri"
                  },
                  "method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The HTTP method used by Cronitor when checking the URL."
                  },
                  "timeout_seconds": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "The request timeout in seconds."
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A header value sent by Cronitor."
                    },
                    "description": "HTTP headers sent by Cronitor when checking the URL."
                  }
                },
                "additionalProperties": true,
                "description": "The HTTP request configuration used by Cronitor check monitors."
              },
              "grace_seconds": {
                "type": "integer",
                "description": "The grace period in seconds before Cronitor marks the monitor failed."
              },
              "failure_tolerance": {
                "type": "integer",
                "description": "The number of tolerated failures before Cronitor alerts."
              }
            },
            "additionalProperties": true,
            "description": "A monitor resource returned by Cronitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The response returned when deleting a Cronitor monitor."
      }
    },
    {
      "id": "cronitor.get_monitor",
      "service": "cronitor",
      "name": "get_monitor",
      "description": "Get a Cronitor monitor by key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique key of the Cronitor monitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "key"
        ],
        "description": "The input payload for getting a Cronitor monitor."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "monitor": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "The unique key of the Cronitor monitor."
              },
              "type": {
                "type": "string",
                "description": "The Cronitor monitor type."
              },
              "name": {
                "type": "string",
                "description": "The human-readable monitor name."
              },
              "schedules": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor schedule expression."
                },
                "description": "The cron expressions, interval expressions, or time schedules for this monitor."
              },
              "timezone": {
                "type": "string",
                "description": "The timezone used to evaluate the monitor schedule."
              },
              "assertions": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor assertion expression."
                },
                "description": "Assertions Cronitor evaluates for this monitor."
              },
              "notify": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  {
                    "type": "object",
                    "properties": {
                      "alerts": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Cronitor notification list key or integration target."
                        },
                        "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                      },
                      "events": {
                        "type": "object",
                        "properties": {
                          "run": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a run event occurs."
                          },
                          "complete": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a complete event occurs."
                          }
                        },
                        "additionalProperties": false,
                        "description": "Lifecycle telemetry events that should trigger notifications."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Occurrence-based Cronitor notification settings."
                  }
                ],
                "description": "Cronitor notification list or occurrence-based settings."
              },
              "note": {
                "type": "string",
                "description": "The note attached to the monitor."
              },
              "platform": {
                "type": "string",
                "description": "The platform associated with the monitor."
              },
              "group": {
                "type": "string",
                "description": "The group assigned to the monitor."
              },
              "request": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL that Cronitor checks.",
                    "format": "uri"
                  },
                  "method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The HTTP method used by Cronitor when checking the URL."
                  },
                  "timeout_seconds": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "The request timeout in seconds."
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A header value sent by Cronitor."
                    },
                    "description": "HTTP headers sent by Cronitor when checking the URL."
                  }
                },
                "additionalProperties": true,
                "description": "The HTTP request configuration used by Cronitor check monitors."
              },
              "grace_seconds": {
                "type": "integer",
                "description": "The grace period in seconds before Cronitor marks the monitor failed."
              },
              "failure_tolerance": {
                "type": "integer",
                "description": "The number of tolerated failures before Cronitor alerts."
              }
            },
            "additionalProperties": true,
            "description": "A monitor resource returned by Cronitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "monitor"
        ],
        "description": "The response returned when getting a Cronitor monitor."
      }
    },
    {
      "id": "cronitor.list_monitors",
      "service": "cronitor",
      "name": "list_monitors",
      "description": "List Cronitor monitors in the current account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Cronitor monitors."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "monitors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "description": "The unique key of the Cronitor monitor."
                },
                "type": {
                  "type": "string",
                  "description": "The Cronitor monitor type."
                },
                "name": {
                  "type": "string",
                  "description": "The human-readable monitor name."
                },
                "schedules": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A Cronitor schedule expression."
                  },
                  "description": "The cron expressions, interval expressions, or time schedules for this monitor."
                },
                "timezone": {
                  "type": "string",
                  "description": "The timezone used to evaluate the monitor schedule."
                },
                "assertions": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A Cronitor assertion expression."
                  },
                  "description": "Assertions Cronitor evaluates for this monitor."
                },
                "notify": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Cronitor notification list key or integration target."
                      },
                      "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                    },
                    {
                      "type": "object",
                      "properties": {
                        "alerts": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Cronitor notification list key or integration target."
                          },
                          "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                        },
                        "events": {
                          "type": "object",
                          "properties": {
                            "run": {
                              "type": "boolean",
                              "description": "Whether Cronitor should notify when a run event occurs."
                            },
                            "complete": {
                              "type": "boolean",
                              "description": "Whether Cronitor should notify when a complete event occurs."
                            }
                          },
                          "additionalProperties": false,
                          "description": "Lifecycle telemetry events that should trigger notifications."
                        }
                      },
                      "additionalProperties": false,
                      "description": "Occurrence-based Cronitor notification settings."
                    }
                  ],
                  "description": "Cronitor notification list or occurrence-based settings."
                },
                "note": {
                  "type": "string",
                  "description": "The note attached to the monitor."
                },
                "platform": {
                  "type": "string",
                  "description": "The platform associated with the monitor."
                },
                "group": {
                  "type": "string",
                  "description": "The group assigned to the monitor."
                },
                "request": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "The URL that Cronitor checks.",
                      "format": "uri"
                    },
                    "method": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The HTTP method used by Cronitor when checking the URL."
                    },
                    "timeout_seconds": {
                      "type": "integer",
                      "minimum": 1,
                      "description": "The request timeout in seconds."
                    },
                    "headers": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A header value sent by Cronitor."
                      },
                      "description": "HTTP headers sent by Cronitor when checking the URL."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The HTTP request configuration used by Cronitor check monitors."
                },
                "grace_seconds": {
                  "type": "integer",
                  "description": "The grace period in seconds before Cronitor marks the monitor failed."
                },
                "failure_tolerance": {
                  "type": "integer",
                  "description": "The number of tolerated failures before Cronitor alerts."
                }
              },
              "additionalProperties": true,
              "description": "A monitor resource returned by Cronitor."
            },
            "description": "The monitors returned by Cronitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "monitors"
        ],
        "description": "The response returned when listing Cronitor monitors."
      }
    },
    {
      "id": "cronitor.update_monitor",
      "service": "cronitor",
      "name": "update_monitor",
      "description": "Update one Cronitor monitor by key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "job",
              "check",
              "heartbeat",
              "site"
            ],
            "description": "The Cronitor monitor type."
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "The unique key of the Cronitor monitor."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable monitor name."
          },
          "schedules": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Cronitor schedule expression."
            },
            "description": "The cron expressions, interval expressions, or time schedules for this monitor.",
            "minItems": 1
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "The timezone used to evaluate the monitor schedule."
          },
          "assertions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Cronitor assertion expression."
            },
            "description": "Assertions Cronitor evaluates for this monitor.",
            "minItems": 1
          },
          "notify": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Cronitor notification list key or integration target."
                },
                "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
              },
              {
                "type": "object",
                "properties": {
                  "alerts": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  "events": {
                    "type": "object",
                    "properties": {
                      "run": {
                        "type": "boolean",
                        "description": "Whether Cronitor should notify when a run event occurs."
                      },
                      "complete": {
                        "type": "boolean",
                        "description": "Whether Cronitor should notify when a complete event occurs."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Lifecycle telemetry events that should trigger notifications."
                  }
                },
                "additionalProperties": false,
                "description": "Occurrence-based Cronitor notification settings."
              }
            ],
            "description": "Cronitor notification list or occurrence-based settings."
          },
          "note": {
            "type": "string",
            "description": "The note attached to the monitor."
          },
          "platform": {
            "type": "string",
            "minLength": 1,
            "description": "The platform associated with the monitor."
          },
          "group": {
            "type": "string",
            "minLength": 1,
            "description": "The group assigned to the monitor."
          },
          "request": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL that Cronitor checks.",
                "format": "uri"
              },
              "method": {
                "type": "string",
                "minLength": 1,
                "description": "The HTTP method used by Cronitor when checking the URL."
              },
              "timeout_seconds": {
                "type": "integer",
                "minimum": 1,
                "description": "The request timeout in seconds."
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A header value sent by Cronitor."
                },
                "description": "HTTP headers sent by Cronitor when checking the URL."
              }
            },
            "additionalProperties": true,
            "description": "The HTTP request configuration used by Cronitor check monitors."
          },
          "grace_seconds": {
            "type": "integer",
            "description": "The grace period in seconds before Cronitor marks the monitor failed."
          },
          "failure_tolerance": {
            "type": "integer",
            "description": "The number of tolerated failures before Cronitor alerts."
          }
        },
        "additionalProperties": false,
        "required": [
          "type",
          "key"
        ],
        "description": "The input payload for updating a Cronitor monitor. Provide at least one update field in addition to key."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "monitor": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "The unique key of the Cronitor monitor."
              },
              "type": {
                "type": "string",
                "description": "The Cronitor monitor type."
              },
              "name": {
                "type": "string",
                "description": "The human-readable monitor name."
              },
              "schedules": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor schedule expression."
                },
                "description": "The cron expressions, interval expressions, or time schedules for this monitor."
              },
              "timezone": {
                "type": "string",
                "description": "The timezone used to evaluate the monitor schedule."
              },
              "assertions": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A Cronitor assertion expression."
                },
                "description": "Assertions Cronitor evaluates for this monitor."
              },
              "notify": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Cronitor notification list key or integration target."
                    },
                    "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                  },
                  {
                    "type": "object",
                    "properties": {
                      "alerts": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Cronitor notification list key or integration target."
                        },
                        "description": "Notification list keys or integration targets Cronitor alerts for this monitor."
                      },
                      "events": {
                        "type": "object",
                        "properties": {
                          "run": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a run event occurs."
                          },
                          "complete": {
                            "type": "boolean",
                            "description": "Whether Cronitor should notify when a complete event occurs."
                          }
                        },
                        "additionalProperties": false,
                        "description": "Lifecycle telemetry events that should trigger notifications."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Occurrence-based Cronitor notification settings."
                  }
                ],
                "description": "Cronitor notification list or occurrence-based settings."
              },
              "note": {
                "type": "string",
                "description": "The note attached to the monitor."
              },
              "platform": {
                "type": "string",
                "description": "The platform associated with the monitor."
              },
              "group": {
                "type": "string",
                "description": "The group assigned to the monitor."
              },
              "request": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL that Cronitor checks.",
                    "format": "uri"
                  },
                  "method": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The HTTP method used by Cronitor when checking the URL."
                  },
                  "timeout_seconds": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "The request timeout in seconds."
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A header value sent by Cronitor."
                    },
                    "description": "HTTP headers sent by Cronitor when checking the URL."
                  }
                },
                "additionalProperties": true,
                "description": "The HTTP request configuration used by Cronitor check monitors."
              },
              "grace_seconds": {
                "type": "integer",
                "description": "The grace period in seconds before Cronitor marks the monitor failed."
              },
              "failure_tolerance": {
                "type": "integer",
                "description": "The number of tolerated failures before Cronitor alerts."
              }
            },
            "additionalProperties": true,
            "description": "A monitor resource returned by Cronitor."
          }
        },
        "additionalProperties": false,
        "required": [
          "monitor"
        ],
        "description": "The response returned when updating a Cronitor monitor."
      }
    }
  ]
}
