Skip to main content

Tools

The server offers seven tools. You do not call them yourself: the assistant chooses which to use, and with what arguments, from your question. This page describes what each does, so you can tell what an assistant is able to answer and check what it did.

Every tool is read-only. Each is marked as such, so a client that distinguishes between reading and changing can run them without asking for confirmation.

ToolUse it to
list_checksFind checks, and see which are down.
get_checkSee how one check is configured.
list_incidentsSee when an uptime check was down.
list_check_historySee the individual tests of an uptime check.
list_contact_groupsSee who is alerted, by count.
list_maintenance_windowsSee when alerts are suppressed.
pingCheck that the server is running.

Limits and truncation​

Every listing returns at most 25 results unless a limit is given, and never more than 100. The tools tell the assistant when a listing was cut short, so it can say so rather than present a partial list as the whole:

  • list_checks, list_contact_groups and list_maintenance_windows return a total, the number that matched before the limit, and truncated, which is true when total is larger than the number listed.
  • list_incidents and list_check_history return more, which is true when older results exist beyond those listed.

When a result is truncated, narrow the question rather than ask for more: filter by type, status or tag, or ask about a shorter window of time.

Times​

Times in questions and in results are RFC 3339 timestamps, such as 2026-10-01T09:30:00Z. Times in results are always in UTC, whatever the timezone of the check or of your account. The assistant converts them when it answers, but if a time looks wrong, ask what timezone it assumed.

list_checks​

Lists checks of every type: uptime, pagespeed, SSL and heartbeat. Results are ordered down first, then paused, then up.

ArgumentRequiredMeaning
typeNoOnly checks of this type: uptime, pagespeed, ssl or heartbeat.
statusNoOnly checks in this state: up, down or paused.
tagNoOnly checks carrying this tag.
limitNoThe most checks to return.
include_uptimeNoAlso report each uptime and heartbeat check's uptime percentage.

Each check in the result has an id, type, name, status and tags. status is up, down or paused. It can also be unknown, which is reported for SSL and pagespeed checks that are not paused, because the API does not report whether those are healthy. You cannot filter by unknown.

Uptime percentages are left out unless include_uptime is set, because the API has to work out the figure for every check, which is slow on a large account. When it is set, uptime and heartbeat checks gain an uptime_percent between 0 and 100, rounded to two decimal places. Pagespeed and SSL checks have no uptime percentage, so they never carry one. The assistant is told to set the option only when you ask about uptime, and to narrow by type or tag first.

The id is only unique within a type, so the assistant needs both the type and the id to look at a single check.

get_check​

Returns one check, with the settings that belong to its type.

ArgumentRequiredMeaning
typeYesThe check's type, as returned by list_checks.
idYesThe check's id, as returned by list_checks.

The result has the same fields as a listing, plus settings. A single check comes with its uptime_percent (for uptime and heartbeat checks) without being asked, since looking up one check costs the API little. The settings are:

Check typeSettings
uptimetarget, protocol, interval_seconds
pagespeedtarget, region, interval_seconds
ssltarget, interval_seconds, alert_days
heartbeatperiod_seconds

If no such check exists, the error says so and suggests list_checks, which is usually enough for the assistant to put it right itself.

list_incidents​

Lists the periods during which an uptime check was down, newest first. Only uptime checks have incidents.

ArgumentRequiredMeaning
typeYesThe check's type. Only uptime has incidents.
idYesThe check's id.
afterNoOnly incidents after this time.
beforeNoOnly incidents before this time.
limitNoThe most incidents to return.

Each incident has started_at, ended_at, ongoing and duration_seconds. ended_at is absent while the incident is ongoing, and in that case duration_seconds is how long the check has been down so far.

after must be earlier than before.

list_check_history​

Lists the individual tests an uptime check has run, newest first. Where an incident says when a check was down, the history says what the target answered each time it was tested. Only uptime checks have history; asking for the history of any other type returns an error saying so.

ArgumentRequiredMeaning
typeYesThe check's type. Only uptime has history.
idYesThe check's id.
afterNoOnly tests after this time.
beforeNoOnly tests before this time.
limitNoThe most tests to return.

Each entry has the at time of the test, the location it ran from, the status_code the target answered with and its response_time_ms. The last two are absent when the target did not answer at all.

list_contact_groups​

Lists the contact groups that are alerted when a check fails, ordered by name.

ArgumentRequiredMeaning
limitNoThe most groups to return.

Each group has an id and name, and counts: emails, mobiles and integrations. The addresses and numbers themselves are never returned. See Security.

list_maintenance_windows​

Lists the maintenance windows, during which StatusCake suppresses alerts. Active windows come first, then pending, then paused.

ArgumentRequiredMeaning
stateNoOnly windows in this state: active, pending or paused.
limitNoThe most windows to return.

Each window has an id, name, state, start and end time, how often it repeats, its timezone, the tags it covers and the number of checks covered by name. A window covers a check if the check carries any of the window's tags, or is named in it. Ask for active windows to see what is being silenced right now.

ping​

Confirms that the server is running. It takes no arguments and returns the fixed message pong. It does not contact StatusCake, so it succeeds even when your token is wrong, which makes it useful for telling a server that will not start from a token that is rejected. See Troubleshooting.

What is not available​

The server cannot see everything that the API can. There are no tools for reading page speed or SSL results, uptime performance over time, tests from heartbeat checks, status pages, or the settings that an uptime check sends, such as headers and credentials. Nor are there tools to create, change or delete anything.

Next Steps​

Learn how to ask good questions.