# Statuscake

StatusCake is a website monitoring platform that provides observability for applications, offering features like uptime monitoring, page speed monitoring, SSL monitoring, and more.

- **Category:** server monitoring
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 30
- **Triggers:** 0
- **Slug:** `STATUSCAKE`
- **Version:** 20260316_00

## Tools

### Create Contact Group

**Slug:** `STATUSCAKE_CREATE_CONTACT_GROUP`

Tool to create a contact group for alert notifications in StatusCake. Use when you need to set up a new group of notification recipients for monitoring alerts. The group can include email addresses, mobile numbers, integrations, and a webhook URL. At minimum, provide a name; other notification methods are optional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the contact group. This is a required field. |
| `ping_url` | string | No | URL or IP address of an HTTP GET endpoint to push uptime events to. Currently only supports HTTP GET endpoints. |
| `integrations` | array | No | List of integration IDs to associate with this contact group. Integration IDs can be obtained from your StatusCake integrations. |
| `mobile_numbers` | array | No | List of international format mobile phone numbers for SMS notifications (e.g., +1234567890). |
| `email_addresses` | array | No | List of email addresses to receive notifications. Each email will be notified when associated tests trigger alerts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Heartbeat Test

**Slug:** `STATUSCAKE_CREATE_HEARTBEAT_TEST`

Tool to create a heartbeat check in StatusCake. Use when you need to set up monitoring for services that send periodic pings. A heartbeat check monitors whether your service is sending regular "heartbeat" pings to StatusCake. If the service fails to send a ping within the specified period, StatusCake will alert you through the configured contact groups. This is ideal for monitoring cron jobs, backup processes, or any scheduled tasks that should run at regular intervals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | No | Name of the hosting provider or location for organizational purposes. |
| `name` | string | Yes | Name of the heartbeat check. This is the identifier you'll see in the StatusCake dashboard. |
| `tags` | array | No | List of tags to assign to the heartbeat check for organization and filtering. |
| `paused` | boolean | No | Whether the check should be paused (not actively monitoring). Set to true to create the check in a paused state. Defaults to false (active monitoring). |
| `period` | integer | Yes | Number of seconds since the last ping before the check is considered down. Minimum 30 seconds, maximum 172800 seconds (48 hours). |
| `contact_groups` | array | No | List of contact group IDs to notify when the heartbeat check fails. Each ID should be a string (e.g., '355190'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create PageSpeed Test

**Slug:** `STATUSCAKE_CREATE_PAGESPEED_TEST`

Tool to create a new pagespeed check in StatusCake. Use when you need to set up performance monitoring for a website URL with specific check frequency and region. Returns the ID of the newly created test.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the pagespeed check. |
| `paused` | boolean | No | Whether the check should be paused. Default is false (check will run). |
| `region` | string ("AU" | "CA" | "DE" | "FR" | "IN" | "JP" | "NL" | "SG" | "UK" | "US" | "USW") | Yes | Region on which to run checks. Valid values: AU, CA, DE, FR, IN, JP, NL, SG, UK, US, USW. |
| `check_rate` | integer ("60" | "300" | "600" | "900" | "1800" | "3600" | "86400") | Yes | Number of seconds between checks. Valid values: 60 (1 minute), 300 (5 minutes), 600 (10 minutes), 900 (15 minutes), 1800 (30 minutes), 3600 (1 hour), 86400 (1 day). |
| `website_url` | string | Yes | URL, FQDN, or IP address of the website under test. |
| `alert_bigger` | integer | No | An alert will be sent if the size of the page is larger than this value (kb). A value of 0 prevents alerts being sent. |
| `alert_slower` | integer | No | An alert will be sent if the load time of the page exceeds this value (ms). A value of 0 prevents alerts being sent. |
| `alert_smaller` | integer | No | An alert will be sent if the size of the page is smaller than this value (kb). A value of 0 prevents alerts being sent. |
| `contact_groups` | array | No | List of contact group IDs to notify on alerts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Uptime Test

**Slug:** `STATUSCAKE_CREATE_UPTIME_TEST`

Tool to create a new uptime monitoring check in StatusCake. Use when you need to set up monitoring for a website or server. Supports various check types including HTTP, PING, TCP, DNS, and more. Returns the ID of the newly created test.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | No | Name of the hosting provider. |
| `name` | string | Yes | Name of the uptime check. |
| `port` | integer | No | Destination port for TCP checks. |
| `tags` | array | No | List of tags to assign to the test. |
| `paused` | boolean | No | Whether the check should be paused (not run). Default is false. |
| `dns_ips` | array | No | List of IP addresses to compare against returned DNS records (for DNS check type). |
| `regions` | array | No | List of regions on which to run checks. The values can be retrieved from the STATUSCAKE_GET_ALL_LOCATIONS action. If not specified, the API will use default regions. |
| `timeout` | integer | No | The number of seconds to wait to receive the first byte (5-75). Default is 15. |
| `use_jar` | boolean | No | Whether to enable cookie storage. Default is false. |
| `post_raw` | string | No | Raw HTTP POST string to send to the server. |
| `post_body` | string | No | JSON object as string representing the payload submitted with the request. Setting this updates the check to use the HTTP POST verb. |
| `test_type` | string ("DNS" | "HEAD" | "HTTP" | "PING" | "SMTP" | "SSH" | "TCP") | Yes | Uptime check type (DNS, HEAD, HTTP, PING, SMTP, SSH, or TCP). |
| `check_rate` | integer ("0" | "30" | "60" | "300" | "900" | "1800" | "3600" | "86400") | Yes | Number of seconds between checks. Use 0 to pause, 30 for 30s, 60 for 1min, 300 for 5min, 900 for 15min, 1800 for 30min, 3600 for 1hr, 86400 for 1 day. |
| `dns_server` | string | No | FQDN or IP address of the nameserver to query (for DNS check type). |
| `user_agent` | string | No | Custom user agent string set when testing. |
| `do_not_find` | boolean | No | Whether to consider the check as down if the find_string content is present within the response. Default is false. |
| `find_string` | string | No | String to look for within the response. Considered down if not found. |
| `website_url` | string | Yes | URL or IP address of the server under test. |
| `confirmation` | integer | No | Number of confirmation servers to confirm downtime before an alert is triggered (0-3). Default is 2. |
| `trigger_rate` | integer | No | The number of minutes to wait before sending an alert (0-60). Default is 0. |
| `custom_header` | string | No | JSON object as string representing headers to be sent when making requests (e.g., '{"User-Agent": "CustomAgent"}'). |
| `basic_password` | string | No | Basic authentication password for the target website. |
| `basic_username` | string | No | Basic authentication username for the target website. |
| `contact_groups` | array | No | List of contact group IDs to notify on status changes. |
| `final_endpoint` | string | No | Specify where the redirect chain should end. |
| `include_header` | boolean | No | Include header content in string match search. Default is false. |
| `enable_ssl_alert` | boolean | No | Whether to send an alert if the SSL certificate is soon to expire. Default is false. |
| `follow_redirects` | boolean | No | Whether to follow redirects when testing. Default is false. |
| `status_codes_csv` | string | No | Comma separated list of status codes that trigger an alert (e.g., '400,401,403,404,500'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact Group

**Slug:** `STATUSCAKE_DELETE_CONTACT_GROUP`

Tool to delete a contact group. Use when you need to remove an existing contact group by its ID after confirming its existence.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_group_id` | string | Yes | The unique identifier of the contact group to delete. Contact group IDs can be retrieved using the Get All Contact Groups action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Heartbeat Test

**Slug:** `STATUSCAKE_DELETE_HEARTBEAT_TEST`

Permanently deletes a StatusCake heartbeat check. Use this to remove heartbeat monitoring tests that are no longer needed. This operation is irreversible - the heartbeat check and all its historical data will be removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier of the heartbeat check to delete. Obtain this from the STATUSCAKE_GET_HEARTBEAT_CHECKS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete PageSpeed Test

**Slug:** `STATUSCAKE_DELETE_PAGESPEED_TEST`

Permanently deletes a StatusCake PageSpeed test. Use this to remove PageSpeed tests that are no longer needed. This operation is irreversible - the test and all its historical data will be removed. The operation is idempotent - deleting an already-deleted test will still return success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier of the PageSpeed test to delete. Obtain this from the STATUSCAKE_GET_ALL_PAGESPEED_TESTS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete SSL Test

**Slug:** `STATUSCAKE_DELETE_SSL_TEST`

Tool to delete an SSL check with the given ID. Use when you need to permanently remove an SSL monitoring test from StatusCake.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier of the SSL check to delete. Obtain this from the STATUSCAKE_GET_SSL_CHECKS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Test

**Slug:** `STATUSCAKE_DELETE_TEST`

Permanently deletes a StatusCake uptime monitoring test. Use this to remove tests that are no longer needed. This operation is irreversible - the test and all its historical data will be removed. The operation is idempotent - deleting an already-deleted test will still return success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier (numeric ID) of the uptime test to delete. Obtain this from the STATUSCAKE_GET_ALL_TESTS action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Contact Groups

**Slug:** `STATUSCAKE_GET_ALL_CONTACT_GROUPS`

Retrieves a paginated list of contact groups for alert notifications. Contact groups define who receives alerts when monitoring tests fail. Returns group names, email addresses, mobile numbers, and integrations. Use this to find existing contact groups before creating new ones or to verify notification recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). Defaults to 1 if omitted. |
| `limit` | integer | No | Maximum number of contact groups to return per page (1-100). Defaults to 25 if omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Monitoring Locations

**Slug:** `STATUSCAKE_GET_ALL_LOCATIONS`

Retrieves all available uptime monitoring server locations from StatusCake. Use this tool to: - List all monitoring locations to show users available regions - Get region_code values needed when creating or updating uptime checks - Check the current status of monitoring servers - Get IP addresses of monitoring servers for firewall whitelisting Returns ~150 monitoring locations across 30+ countries with their region codes, IP addresses, and availability status.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All PageSpeed Tests

**Slug:** `STATUSCAKE_GET_ALL_PAGESPEED_TESTS`

Tool to retrieve all PageSpeed tests. Use when you need to list existing PageSpeed performance tests in StatusCake after authenticating.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to return (1-based). |
| `page_size` | integer | No | Number of results per page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Tests

**Slug:** `STATUSCAKE_GET_ALL_TESTS`

Tool to retrieve a list of all tests. Use when you need to list your monitoring tests in StatusCake. Results reflect only pre-configured tests; missing results or stale check data do not indicate real-time downtime.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to return (1-based). |
| `tags` | string | No | Comma-separated list of tags to filter tests by. |
| `limit` | integer | No | Number of results per page (1-100). Server default is 25. |
| `uptime` | boolean | No | Include uptime data if true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Group Details

**Slug:** `STATUSCAKE_GET_CONTACT_GROUP_DETAILS`

Tool to retrieve details of a specific contact group. Use when you need group metadata by providing its ID. Example: "Get details for contact group 12345".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_group_id` | string | Yes | The unique identifier for the contact group to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Heartbeat Checks

**Slug:** `STATUSCAKE_GET_HEARTBEAT_CHECKS`

Tool to list heartbeat checks. Use when you need to retrieve all heartbeat monitoring tests for your account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to return (1-based). |
| `per_page` | integer | No | Number of results per page (1-100). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Heartbeat Test

**Slug:** `STATUSCAKE_GET_HEARTBEAT_TEST`

Tool to retrieve details of a specific heartbeat check. Use when you need configuration and status of a heartbeat test by providing its ID. Example: "Get heartbeat test details for 7884186".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier for the heartbeat check to retrieve. Obtain this from the Get Heartbeat Checks action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Pagespeed Test

**Slug:** `STATUSCAKE_GET_PAGESPEED_TEST`

Tool to retrieve details of a specific pagespeed check. Use when you need configuration and status of a pagespeed test by providing its ID. Example: "Get pagespeed test details for 122582".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier for the pagespeed check to retrieve. Obtain this from the Get All Pagespeed Tests action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SSL Check Details

**Slug:** `STATUSCAKE_GET_SSL_CHECK_DETAILS`

Tool to retrieve details of a specific SSL check. Use when you need configuration and status of an SSL test by providing its ID. Example: "Get SSL check details for 123".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier for the SSL check to retrieve. Obtain this from the Get SSL Checks action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SSL Checks

**Slug:** `STATUSCAKE_GET_SSL_CHECKS`

Retrieve a paginated list of SSL checks configured in your StatusCake account. Use this action to: - List all SSL certificate monitors - Check certificate statuses across your monitored domains - Review SSL check configurations and alert settings - Get pagination metadata for navigating large result sets Returns SSL check details including certificate validity dates, cipher information, security scores, and alert configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). Defaults to 1 if omitted. |
| `limit` | integer | No | Number of results per page (1-100). Default is 25 if omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Uptime Test

**Slug:** `STATUSCAKE_GET_UPTIME_TEST`

Tool to retrieve details of a specific uptime test. Use when you need configuration and status of an uptime check by providing its ID. Example: "Get uptime test details for 7884184".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | The unique identifier for the uptime test to retrieve. Obtain this from the Get All Tests action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List PageSpeed Monitoring Locations

**Slug:** `STATUSCAKE_LIST_PAGESPEED_MONITORING_LOCATIONS`

Retrieves all available PageSpeed monitoring server locations from StatusCake. Use when you need to list regions for PageSpeed test configuration or check server availability.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | string | No | Alpha-2 ISO 3166-1 country code to filter locations by country (e.g., 'GB', 'US', 'DE') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Pagespeed Test History

**Slug:** `STATUSCAKE_LIST_PAGESPEED_TEST_HISTORY`

Tool to retrieve pagespeed check history for a given test ID. Use when you need to analyze historical performance data for a specific pagespeed test.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | integer | No | Only results created after this UNIX timestamp will be returned. |
| `limit` | integer | No | The number of results to return from the series. Default is 25. |
| `before` | integer | No | Only results created before this UNIX timestamp will be returned. |
| `test_id` | string | Yes | Pagespeed check ID to retrieve history for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Uptime Test Alerts

**Slug:** `STATUSCAKE_LIST_UPTIME_TEST_ALERTS`

Tool to retrieve a list of alerts for a specific uptime check. Use when you need to view historical alerts and status changes for an uptime test.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | integer | No | Only alerts triggered after this UNIX timestamp will be returned. |
| `limit` | integer | No | The number of uptime alerts to return per page. Default is 25. |
| `before` | integer | No | Only alerts triggered before this UNIX timestamp will be returned. |
| `test_id` | string | Yes | Uptime check ID to retrieve alerts for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Uptime Test History

**Slug:** `STATUSCAKE_LIST_UPTIME_TEST_HISTORY`

Tool to retrieve uptime check history for a given test ID. Use when you need to view historical results of uptime monitoring checks. Supports pagination and time-based filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | integer | No | Only results created after this UNIX timestamp will be returned. |
| `limit` | integer | No | The number of results to return per page. Server default is 25. |
| `before` | integer | No | Only results created before this UNIX timestamp will be returned. |
| `test_id` | string | Yes | The unique identifier for the uptime test to retrieve history for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Uptime Test Periods

**Slug:** `STATUSCAKE_LIST_UPTIME_TEST_PERIODS`

Tool to retrieve a list of uptime check periods for a specific test. Use when you need to view the historical up/down periods for an uptime check.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | integer | No | Only check periods created after this UNIX timestamp will be returned. |
| `limit` | integer | No | The number of uptime check periods to return per page. Default is 25. |
| `before` | integer | No | Only check periods created before this UNIX timestamp will be returned. |
| `test_id` | string | Yes | Uptime check ID to retrieve periods for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact Group

**Slug:** `STATUSCAKE_UPDATE_CONTACT_GROUP`

Updates an existing contact group's configuration in StatusCake. Use this tool when you need to modify the name, email addresses, mobile numbers, or integrations of an existing contact group. At least one field besides contact_group_id should be provided to make meaningful changes. The API uses form-urlencoded data format and returns 204 No Content on success, so the action fetches the updated group details after a successful update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the contact group. If not provided, the existing name is preserved. |
| `integrations` | array | No | List of integration IDs to associate with the group. Replaces existing integrations when provided. |
| `mobile_numbers` | array | No | List of mobile phone numbers for SMS notifications. Replaces existing list when provided. |
| `email_addresses` | array | No | List of email addresses for notifications. Replaces existing list when provided. |
| `contact_group_id` | string | Yes | Unique identifier of the contact group to update (numeric string, e.g. '355190') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Heartbeat Test

**Slug:** `STATUSCAKE_UPDATE_HEARTBEAT_TEST`

Tool to update an existing heartbeat check with new parameters. Use when you need to modify the name, monitoring period, tags, contact groups, host, or pause status of a heartbeat check.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | No | Name of the hosting provider |
| `name` | string | No | Name of the heartbeat check |
| `tags` | array | No | List of tags to assign to the heartbeat check |
| `paused` | boolean | No | Whether the heartbeat check should be paused (not actively monitoring) |
| `period` | integer | No | Number of seconds since the last ping before the check is considered down. Must be between 30 and 172800 (48 hours). |
| `test_id` | string | Yes | Unique identifier of the heartbeat check to update |
| `contact_groups` | array | No | List of contact group IDs to notify when the heartbeat is missed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Pagespeed Test

**Slug:** `STATUSCAKE_UPDATE_PAGESPEED_TEST`

Updates a pagespeed check with the given parameters. Use when you need to modify the configuration of an existing pagespeed monitoring test in StatusCake. At least one field besides test_id should be provided to make meaningful changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the check. If not provided, the existing name is preserved. |
| `paused` | boolean | No | Whether the check should be run. Set to true to pause the check, false to resume it. |
| `region` | string ("AU" | "CA" | "DE" | "FR" | "IN" | "JP" | "NL" | "SG" | "UK" | "US" | "USW") | No | Region options for pagespeed checks. |
| `test_id` | string | Yes | Unique identifier of the pagespeed test to update. Obtain this from the STATUSCAKE_GET_ALL_PAGESPEED_TESTS action. |
| `check_rate` | integer ("60" | "300" | "600" | "900" | "1800" | "3600" | "86400") | No | Check rate options in seconds. |
| `website_url` | string | No | URL, FQDN, or IP address of the website under test. If not provided, the existing URL is preserved. |
| `alert_bigger` | integer | No | An alert will be sent if the size of the page is larger than this value (kb). A value of 0 prevents alerts being sent. |
| `alert_slower` | integer | No | An alert will be sent if the load time of the page exceeds this value (ms). A value of 0 prevents alerts being sent. |
| `alert_smaller` | integer | No | An alert will be sent if the size of the page is smaller than this value (kb). A value of 0 prevents alerts being sent. |
| `contact_groups` | array | No | List of contact group IDs to notify on alerts. Replaces existing contact groups when provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update SSL Test

**Slug:** `STATUSCAKE_UPDATE_SSL_TEST`

Tool to update an SSL check with new configuration parameters. Use when modifying SSL monitoring settings like check frequency, alert preferences, or contact groups. Example: "Update SSL check 123 to check every hour".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `paused` | boolean | No | Whether to pause the SSL check. Set to true to stop monitoring, false to resume. |
| `test_id` | string | Yes | Unique identifier of the SSL check to update. Obtain this from Get SSL Checks action. |
| `alert_at` | array | No | List of days before certificate expiry to send alerts. Must be exactly 3 numerical values (e.g., [1, 7, 30]). |
| `hostname` | string | No | Hostname of the server under test (e.g., 'example.com'). |
| `check_rate` | integer ("300" | "600" | "1800" | "3600" | "86400" | "2073600") | No | Check rate interval in seconds. |
| `user_agent` | string | No | Custom user agent string to use when testing the SSL certificate. |
| `alert_mixed` | boolean | No | Whether to enable alerts when mixed content (HTTP resources on HTTPS page) is found. |
| `website_url` | string | No | URL of the server to test. Must begin with https:// (e.g., 'https://example.com'). |
| `alert_broken` | boolean | No | Whether to enable alerts when SSL certificate issues (e.g., expired, broken chain) are detected. |
| `alert_expiry` | boolean | No | Whether to enable alerts when the SSL certificate is about to expire. |
| `alert_reminder` | boolean | No | Whether to enable alert reminders for this SSL check. |
| `contact_groups` | array | No | List of contact group IDs to notify when alerts are triggered. Replaces existing contact groups when provided. |
| `follow_redirects` | boolean | No | Whether to follow HTTP redirects when testing the SSL certificate. Disabled by default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Uptime Test

**Slug:** `STATUSCAKE_UPDATE_UPTIME_TEST`

Updates an uptime check with the given parameters. Use when you need to modify configuration of an existing uptime monitoring test such as check frequency, URL, tags, contact groups, or other settings. At least one field besides test_id should be provided to make meaningful changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `host` | string | No | Name of the hosting provider |
| `name` | string | No | Name of the check |
| `port` | integer | No | Destination port for TCP checks |
| `tags` | array | No | List of tags to categorize and organize the check |
| `paused` | boolean | No | Whether the check should be run. Set to true to pause the check, false to resume it |
| `dns_ips` | array | No | List of IP addresses to compare against returned DNS records |
| `regions` | array | No | List of regions on which to run checks. The values can be retrieved from the GET /v1/uptime-locations endpoint |
| `test_id` | string | Yes | Uptime check ID to update |
| `timeout` | integer | No | The number of seconds to wait to receive the first byte (5-75) |
| `use_jar` | boolean | No | Whether to enable cookie storage |
| `post_raw` | string | No | Raw HTTP POST string to send to the server |
| `post_body` | string | No | JSON object as string representing the payload submitted with the request. Setting this updates the check to use the HTTP POST verb |
| `check_rate` | string ("test_immediately" | "every_30_seconds" | "every_1_minute" | "every_5_minutes" | "every_15_minutes" | "every_30_minutes" | "every_1_hour" | "every_24_hours") | No | Check rate interval in seconds |
| `dns_server` | string | No | FQDN or IP address of the nameserver to query |
| `user_agent` | string | No | Custom user agent string set when testing |
| `do_not_find` | boolean | No | Whether to consider the check as down if the content is present within the response |
| `find_string` | string | No | String to look for within the response. Check is considered down if not found |
| `website_url` | string | No | URL or IP address of the server under test |
| `confirmation` | integer | No | Number of confirmation servers (0-3) to confirm downtime before an alert is triggered |
| `trigger_rate` | integer | No | The number of minutes to wait before sending an alert |
| `custom_header` | string | No | JSON object as string representing headers to be sent when making requests |
| `basic_password` | string | No | Basic authentication password |
| `basic_username` | string | No | Basic authentication username |
| `contact_groups` | array | No | List of contact group IDs to receive alerts |
| `final_endpoint` | string | No | Specify where the redirect chain should end |
| `include_header` | boolean | No | Include header content in string match search |
| `enable_ssl_alert` | boolean | No | Whether to send an alert if the SSL certificate is soon to expire |
| `follow_redirects` | boolean | No | Whether to follow redirects when testing. Disabled by default |
| `status_codes_csv` | string | No | Comma separated list of status codes that trigger an alert |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
