{
  "service": "statuscake",
  "displayName": "StatusCake",
  "categories": [
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "statuscake_api_token",
      "description": "StatusCake API token used with the Authorization Bearer header. View or manage it from the StatusCake account panel.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.statuscake.com",
  "actions": [
    {
      "id": "statuscake.create_uptime_test",
      "service": "statuscake",
      "name": "create_uptime_test",
      "description": "Create a new StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "The hosting provider name recorded for the uptime test."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable name of the uptime test."
          },
          "port": {
            "type": "integer",
            "minimum": 0,
            "description": "The destination port used for TCP uptime tests."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Tags assigned to the uptime test.",
            "minItems": 1
          },
          "paused": {
            "type": "boolean",
            "description": "Whether the uptime test should be paused."
          },
          "dns_ips": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The DNS IP addresses expected from the monitored host.",
            "minItems": 1
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The regions used for the uptime test.",
            "minItems": 1
          },
          "timeout": {
            "type": "integer",
            "minimum": 5,
            "maximum": 75,
            "description": "The timeout in seconds before StatusCake marks the probe as failed."
          },
          "use_jar": {
            "type": "boolean",
            "description": "Whether the uptime test stores cookies between requests."
          },
          "post_raw": {
            "type": "string",
            "minLength": 1,
            "description": "The raw HTTP request body sent by StatusCake for POST-based uptime tests."
          },
          "post_body": {
            "type": "string",
            "minLength": 1,
            "description": "A JSON string payload sent by StatusCake when the uptime test uses POST."
          },
          "test_type": {
            "type": "string",
            "enum": [
              "DNS",
              "HEAD",
              "HTTP",
              "PING",
              "SMTP",
              "SSH",
              "TCP"
            ],
            "description": "The uptime test type accepted by StatusCake."
          },
          "check_rate": {
            "type": "integer",
            "enum": [
              0,
              30,
              60,
              300,
              900,
              1800,
              3600,
              86400
            ],
            "description": "The uptime check interval in seconds accepted by StatusCake."
          },
          "dns_server": {
            "type": "string",
            "minLength": 1,
            "description": "The FQDN or IP address of the DNS server used for DNS uptime tests."
          },
          "user_agent": {
            "type": "string",
            "minLength": 1,
            "description": "The custom user agent string sent by StatusCake when probing the target."
          },
          "do_not_find": {
            "type": "boolean",
            "description": "Whether StatusCake should fail the test when the find_string is present."
          },
          "find_string": {
            "type": "string",
            "minLength": 1,
            "description": "The string that must be present in the response body for the uptime test to pass."
          },
          "website_url": {
            "type": "string",
            "minLength": 1,
            "description": "The URL or IP address of the server monitored by the uptime test."
          },
          "confirmation": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "description": "The number of confirmation servers StatusCake uses before alerting."
          },
          "trigger_rate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60,
            "description": "The number of minutes StatusCake waits before sending an alert."
          },
          "custom_header": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "A JSON string representing the custom headers sent by StatusCake."
              },
              {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A custom header value sent to the monitored server."
                },
                "description": "A string-to-string object representing custom headers."
              }
            ],
            "description": "A JSON string or object representing the custom headers sent by StatusCake."
          },
          "basic_password": {
            "type": "string",
            "minLength": 1,
            "description": "The basic authentication password used by the uptime test."
          },
          "basic_username": {
            "type": "string",
            "minLength": 1,
            "description": "The basic authentication username used by the uptime test."
          },
          "contact_groups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The contact group IDs notified by the uptime test.",
            "minItems": 1
          },
          "follow_redirects": {
            "type": "boolean",
            "description": "Whether StatusCake should follow redirects while probing the target."
          },
          "include_header": {
            "type": "boolean",
            "description": "Whether response headers should be included when matching the response body."
          },
          "status_codes": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "An HTTP status code accepted by StatusCake."
                },
                {
                  "type": "integer",
                  "description": "An HTTP status code accepted by StatusCake."
                }
              ],
              "description": "An HTTP status code accepted by StatusCake for uptime validation."
            },
            "description": "The HTTP status codes considered healthy by the uptime test.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "website_url",
          "test_type",
          "check_rate"
        ],
        "description": "The input payload for creating a StatusCake uptime test."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "test": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier of the uptime test."
              },
              "name": {
                "type": "string",
                "description": "The human-readable name of the uptime test."
              },
              "test_type": {
                "type": "string",
                "description": "The uptime test type returned by StatusCake."
              },
              "website_url": {
                "type": "string",
                "description": "The URL or IP address monitored by the uptime test."
              },
              "check_rate": {
                "type": "integer",
                "description": "The probe interval in seconds."
              },
              "status": {
                "type": "string",
                "description": "The current status of the uptime test."
              },
              "uptime": {
                "type": "number",
                "description": "The uptime percentage reported by StatusCake."
              }
            },
            "additionalProperties": true,
            "description": "A StatusCake uptime test returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "test"
        ],
        "description": "The newly created StatusCake uptime test."
      }
    },
    {
      "id": "statuscake.delete_uptime_test",
      "service": "statuscake",
      "name": "delete_uptime_test",
      "description": "Delete a StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for targeting a single StatusCake uptime test."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the uptime test was deleted successfully."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The deletion acknowledgement returned by the StatusCake provider."
      }
    },
    {
      "id": "statuscake.get_uptime_test",
      "service": "statuscake",
      "name": "get_uptime_test",
      "description": "Get the full configuration and status of a single StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for targeting a single StatusCake uptime test."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "test": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier of the uptime test."
              },
              "name": {
                "type": "string",
                "description": "The human-readable name of the uptime test."
              },
              "test_type": {
                "type": "string",
                "description": "The uptime test type returned by StatusCake."
              },
              "website_url": {
                "type": "string",
                "description": "The URL or IP address monitored by the uptime test."
              },
              "check_rate": {
                "type": "integer",
                "description": "The probe interval in seconds."
              },
              "status": {
                "type": "string",
                "description": "The current status of the uptime test."
              },
              "uptime": {
                "type": "number",
                "description": "The uptime percentage reported by StatusCake."
              }
            },
            "additionalProperties": true,
            "description": "A StatusCake uptime test returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "test"
        ],
        "description": "The StatusCake uptime test lookup result."
      },
      "followUpActions": [
        "statuscake.update_uptime_test",
        "statuscake.delete_uptime_test",
        "statuscake.list_uptime_test_history"
      ]
    },
    {
      "id": "statuscake.list_uptime_locations",
      "service": "statuscake",
      "name": "list_uptime_locations",
      "description": "List available monitoring locations for StatusCake uptime tests.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input parameters are required for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string",
                  "description": "The uptime location region slug."
                },
                "region_code": {
                  "type": "string",
                  "description": "The uptime location region code."
                },
                "country": {
                  "type": "string",
                  "description": "The country name of the uptime location."
                },
                "city": {
                  "type": "string",
                  "description": "The city name of the uptime location."
                },
                "ipv4": {
                  "type": "string",
                  "description": "The IPv4 address of the uptime location."
                },
                "ipv6": {
                  "type": "string",
                  "description": "The IPv6 address of the uptime location."
                }
              },
              "additionalProperties": true,
              "description": "A StatusCake uptime monitoring location."
            },
            "description": "The uptime monitoring locations returned by StatusCake."
          }
        },
        "additionalProperties": false,
        "required": [
          "locations"
        ],
        "description": "The monitoring locations returned by StatusCake."
      }
    },
    {
      "id": "statuscake.list_uptime_test_alerts",
      "service": "statuscake",
      "name": "list_uptime_test_alerts",
      "description": "List alerts triggered for a StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return per page."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records before this UNIX timestamp."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records after this UNIX timestamp."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for listing a paginated StatusCake test sub-resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "alerts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique identifier of the uptime alert."
                },
                "status": {
                  "type": "string",
                  "description": "The uptime status that triggered the alert."
                },
                "status_code": {
                  "type": "integer",
                  "description": "The HTTP status code recorded for the alert."
                },
                "triggered_at": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by the StatusCake API.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "An uptime alert returned by StatusCake."
            },
            "description": "The uptime alerts returned by StatusCake."
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "description": "The URL of the current page."
                  },
                  "next": {
                    "type": "string",
                    "description": "The URL of the next page, when available."
                  }
                },
                "additionalProperties": true,
                "description": "Pagination links returned by StatusCake."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "alerts",
          "links"
        ],
        "description": "The uptime alert list returned by StatusCake."
      }
    },
    {
      "id": "statuscake.list_uptime_test_history",
      "service": "statuscake",
      "name": "list_uptime_test_history",
      "description": "List historical probe results for a StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return per page."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records before this UNIX timestamp."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records after this UNIX timestamp."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for listing a paginated StatusCake test sub-resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The location code where the uptime check was executed."
                },
                "created_at": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by the StatusCake API.",
                  "format": "date-time"
                },
                "performance": {
                  "type": "integer",
                  "description": "The response time in milliseconds."
                },
                "status_code": {
                  "type": "integer",
                  "description": "The HTTP status code returned by the probe."
                }
              },
              "additionalProperties": true,
              "description": "A historical uptime result returned by StatusCake."
            },
            "description": "The historical uptime probe results returned by StatusCake."
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "description": "The URL of the current page."
                  },
                  "next": {
                    "type": "string",
                    "description": "The URL of the next page, when available."
                  }
                },
                "additionalProperties": true,
                "description": "Pagination links returned by StatusCake."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "history",
          "links"
        ],
        "description": "The uptime history returned by StatusCake."
      }
    },
    {
      "id": "statuscake.list_uptime_test_periods",
      "service": "statuscake",
      "name": "list_uptime_test_periods",
      "description": "List uptime or downtime periods recorded for a StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return per page."
          },
          "before": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records before this UNIX timestamp."
          },
          "after": {
            "type": "integer",
            "minimum": 0,
            "description": "Only return records after this UNIX timestamp."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for listing a paginated StatusCake test sub-resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "periods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "The status recorded for the period."
                },
                "created_at": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by the StatusCake API.",
                  "format": "date-time"
                },
                "ended_at": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by the StatusCake API.",
                  "format": "date-time"
                },
                "duration": {
                  "type": "integer",
                  "description": "The duration of the period in milliseconds."
                }
              },
              "additionalProperties": true,
              "description": "A downtime or uptime period returned by StatusCake."
            },
            "description": "The uptime or downtime periods returned by StatusCake."
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "description": "The URL of the current page."
                  },
                  "next": {
                    "type": "string",
                    "description": "The URL of the next page, when available."
                  }
                },
                "additionalProperties": true,
                "description": "Pagination links returned by StatusCake."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "periods",
          "links"
        ],
        "description": "The uptime period list returned by StatusCake."
      }
    },
    {
      "id": "statuscake.list_uptime_tests",
      "service": "statuscake",
      "name": "list_uptime_tests",
      "description": "List uptime tests available in the connected StatusCake account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number of results to return."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of uptime tests to return per page."
          },
          "tags": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of tags used to filter uptime tests."
          },
          "uptime": {
            "type": "boolean",
            "description": "Whether the response should include uptime data."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing StatusCake uptime tests."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique identifier of the uptime test."
                },
                "name": {
                  "type": "string",
                  "description": "The human-readable name of the uptime test."
                },
                "test_type": {
                  "type": "string",
                  "description": "The uptime test type returned by StatusCake."
                },
                "website_url": {
                  "type": "string",
                  "description": "The URL or IP address monitored by the uptime test."
                },
                "check_rate": {
                  "type": "integer",
                  "description": "The probe interval in seconds."
                },
                "status": {
                  "type": "string",
                  "description": "The current status of the uptime test."
                },
                "uptime": {
                  "type": "number",
                  "description": "The uptime percentage reported by StatusCake."
                }
              },
              "additionalProperties": true,
              "description": "A StatusCake uptime test returned by the API."
            },
            "description": "The uptime tests returned by StatusCake."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "description": "The current page number."
                  },
                  "per_page": {
                    "type": "integer",
                    "description": "The number of items returned per page."
                  },
                  "page_count": {
                    "type": "integer",
                    "description": "The total number of pages."
                  },
                  "total_count": {
                    "type": "integer",
                    "description": "The total number of matching items."
                  }
                },
                "additionalProperties": true,
                "description": "Pagination metadata returned by StatusCake."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "tests",
          "pagination"
        ],
        "description": "The uptime test list returned by StatusCake."
      },
      "followUpActions": [
        "statuscake.get_uptime_test"
      ]
    },
    {
      "id": "statuscake.update_uptime_test",
      "service": "statuscake",
      "name": "update_uptime_test",
      "description": "Update an existing StatusCake uptime test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique identifier of the StatusCake uptime test."
          },
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "The hosting provider name recorded for the uptime test."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable name of the uptime test."
          },
          "port": {
            "type": "integer",
            "minimum": 0,
            "description": "The destination port used for TCP uptime tests."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Tags assigned to the uptime test.",
            "minItems": 1
          },
          "paused": {
            "type": "boolean",
            "description": "Whether the uptime test should be paused."
          },
          "dns_ips": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The DNS IP addresses expected from the monitored host.",
            "minItems": 1
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The regions used for the uptime test.",
            "minItems": 1
          },
          "timeout": {
            "type": "integer",
            "minimum": 5,
            "maximum": 75,
            "description": "The timeout in seconds before StatusCake marks the probe as failed."
          },
          "use_jar": {
            "type": "boolean",
            "description": "Whether the uptime test stores cookies between requests."
          },
          "post_raw": {
            "type": "string",
            "minLength": 1,
            "description": "The raw HTTP request body sent by StatusCake for POST-based uptime tests."
          },
          "post_body": {
            "type": "string",
            "minLength": 1,
            "description": "A JSON string payload sent by StatusCake when the uptime test uses POST."
          },
          "test_type": {
            "type": "string",
            "enum": [
              "DNS",
              "HEAD",
              "HTTP",
              "PING",
              "SMTP",
              "SSH",
              "TCP"
            ],
            "description": "The uptime test type accepted by StatusCake."
          },
          "check_rate": {
            "type": "integer",
            "enum": [
              0,
              30,
              60,
              300,
              900,
              1800,
              3600,
              86400
            ],
            "description": "The uptime check interval in seconds accepted by StatusCake."
          },
          "dns_server": {
            "type": "string",
            "minLength": 1,
            "description": "The FQDN or IP address of the DNS server used for DNS uptime tests."
          },
          "user_agent": {
            "type": "string",
            "minLength": 1,
            "description": "The custom user agent string sent by StatusCake when probing the target."
          },
          "do_not_find": {
            "type": "boolean",
            "description": "Whether StatusCake should fail the test when the find_string is present."
          },
          "find_string": {
            "type": "string",
            "minLength": 1,
            "description": "The string that must be present in the response body for the uptime test to pass."
          },
          "website_url": {
            "type": "string",
            "minLength": 1,
            "description": "The URL or IP address of the server monitored by the uptime test."
          },
          "confirmation": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "description": "The number of confirmation servers StatusCake uses before alerting."
          },
          "trigger_rate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60,
            "description": "The number of minutes StatusCake waits before sending an alert."
          },
          "custom_header": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "A JSON string representing the custom headers sent by StatusCake."
              },
              {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A custom header value sent to the monitored server."
                },
                "description": "A string-to-string object representing custom headers."
              }
            ],
            "description": "A JSON string or object representing the custom headers sent by StatusCake."
          },
          "basic_password": {
            "type": "string",
            "minLength": 1,
            "description": "The basic authentication password used by the uptime test."
          },
          "basic_username": {
            "type": "string",
            "minLength": 1,
            "description": "The basic authentication username used by the uptime test."
          },
          "contact_groups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The contact group IDs notified by the uptime test.",
            "minItems": 1
          },
          "follow_redirects": {
            "type": "boolean",
            "description": "Whether StatusCake should follow redirects while probing the target."
          },
          "include_header": {
            "type": "boolean",
            "description": "Whether response headers should be included when matching the response body."
          },
          "status_codes": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "An HTTP status code accepted by StatusCake."
                },
                {
                  "type": "integer",
                  "description": "An HTTP status code accepted by StatusCake."
                }
              ],
              "description": "An HTTP status code accepted by StatusCake for uptime validation."
            },
            "description": "The HTTP status codes considered healthy by the uptime test.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The input payload for updating a StatusCake uptime test."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "test": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier of the uptime test."
              },
              "name": {
                "type": "string",
                "description": "The human-readable name of the uptime test."
              },
              "test_type": {
                "type": "string",
                "description": "The uptime test type returned by StatusCake."
              },
              "website_url": {
                "type": "string",
                "description": "The URL or IP address monitored by the uptime test."
              },
              "check_rate": {
                "type": "integer",
                "description": "The probe interval in seconds."
              },
              "status": {
                "type": "string",
                "description": "The current status of the uptime test."
              },
              "uptime": {
                "type": "number",
                "description": "The uptime percentage reported by StatusCake."
              }
            },
            "additionalProperties": true,
            "description": "A StatusCake uptime test returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "test"
        ],
        "description": "The updated StatusCake uptime test."
      }
    }
  ]
}
