Agencies and teams
Many sites, scoped access
Know when your site goes down.
Kukie.io checks your page from our server as often as every minute and confirms a failure with a second check a minute later. Then it tells you what went wrong and what to do.
How it works
On every check our server requests the page you chose, follows up to 5 redirects and reads the answer. Only one of the 3 outcomes can ever send you an alert.
One plain GET, with no JavaScript, of a page on your own domain.
Redirects are followed, and the page they end on answered.
Then: the next check runs at your interval.
Bot protection answered instead of your content.
Then: no downtime and no alert. The dashboard shows what to allow.
A timeout, a refused connection, a DNS or TLS failure, or a 4xx or 5xx status.
Then: a re-check 60 seconds later, whatever the interval.
Fails again: an incident opens and the alert goes out. Passes: a blip, and nothing is sent.
A 301 to a working page is up. A redirect that ends on an error page is down, and a loop is reported as one. A bare redirect is never taken as proof the site works.
A check runs no JavaScript, so Google Analytics and other tag-based tools never count it. Server-log analytics can filter it by the Kukie-Uptime/1.0 User-Agent.
Check the homepage, or point the monitor at your shop, sign-in or checkout page instead, anywhere on the site's own domain or its www version.
Fewer false alarms
A single failed request proves very little: a deploy restarting PHP, a brief network hiccup, a host rebooting. So we check again a minute later, whatever your interval, and only a second failure opens an incident.
10:00
Up
Checked on schedule
10:15
First failure
Nothing sent yet
10:16
Confirmed
Email and webhook sent
10:31
Still down
No repeat alert
10:46
Back up
31 minutes of downtime
11:01
Up
On schedule again
Incident: 10:15 to 10:46, 31 minutes
The confirming re-check is always 1 minute after the first failure. A site checked every 30 minutes still gets its alert about a minute after going down.
While the site stays down you are not emailed again on every check. The next message is the one saying it is back, and for how long it was gone.
When bot protection answers with a challenge page, your visitors are fine. We report it as blocked, record no downtime and show you what to allow.
Alerts
'Your site is down' is not enough to act on at 7am. Whoever reads the alert, whether you, a developer or a client, knows whether to call the host or check the firewall.
Alerts go to the organisation owner and to up to 5 more addresses per site, such as a developer, an agency inbox or the client. The owner can turn them off in their notification settings, and the extra recipients get them until you remove the address. If one site goes down more than 10 times in a day, further outages are still recorded and sent to the webhook, but no longer emailed.
SSL certificates
An expired certificate does not take your server down. It does something worse: every visitor gets a full-page security warning instead of your site, and automatic renewals can fail without anyone noticing.
Once a day, on the same connection as a regular check, we read the expiry date of the certificate your site serves and warn you at 14 days, 7 days and 1 day left. Renew it, and the next daily read picks up the new date and starts the countdown again.
In your dashboard
Uptime sits next to your consent analytics in each site's dashboard. The status, and anything that needs your attention, sits at the top of every tab.
Uptime for 24 hours, 7 and 30 days, average response time, incidents and SSL days left, coloured green, amber or red so a glance is enough. A day-by-day strip and a response-time chart show the trend.
Every confirmed outage with its start, end, duration and cause, newest first. How far back it goes depends on your plan.
The page to check, the interval, who gets alerts, the webhook and the monthly report. Owners and admins edit them. Everyone else on the site can run a manual check.
Webhook
Email suits most sites. When outages need to reach a chat channel, an on-call rota or your own status tooling, turn on the webhook and we send a small JSON event to your endpoint when something changes.
Every request carries a signature made with your site's own secret, so your endpoint can reject anything we did not send.
monitor.down, monitor.up and ssl.expiring, plus webhook.test from the dashboard to try your endpoint.
Only a 2xx counts. A failed delivery is retried twice with backoff, and the last result shows on the Settings tab.
The address must be publicly reachable and is checked again when each event is sent. A signed body is never sent on to a redirect.
The request
POST https://hooks.example.com/kukie
Content-Type: application/json
X-Kukie-Event: monitor.down
X-Kukie-Delivery: 5f1c0c9e-8a2d-4f7b-9d61-0e3a2c7b41d8
X-Kukie-Signature: sha256=9c4e1f…b07a
{
"id": "5f1c0c9e-8a2d-4f7b-9d61-0e3a2c7b41d8",
"event": "monitor.down",
"occurred_at": "2026-09-28T10:16:04+00:00",
"site": {"id": 12, "domain": "shop.example.com", "url": "https://shop.example.com/"},
"incident": {
"started_at": "2026-09-28T10:15:02+00:00",
"resolved_at": null,
"duration_seconds": null,
"cause": "http",
"status_code": 503
}
}
Verifying it in PHP
$expected = 'sha256=' . hash_hmac('sha256', $rawBody, $secret);
if (! hash_equals($expected, $_SERVER['HTTP_X_KUKIE_SIGNATURE'] ?? '')) {
http_response_code(401);
exit;
}
Plans
Uptime monitoring is included in selected plans. Each plan sets the fastest interval its sites may use and how long incident history is kept, and any site can choose a slower interval for a page that does not need checking every minute.
| Plan | Fastest check | Incident history |
|---|---|---|
| Agency | Every 3 minutes | 30 days |
| Unlimited | Every minute | 30 days |
Every 1 minute, 3 minutes, 5 minutes, 15 minutes, 30 minutes, 60 minutes. Intervals faster than your plan allows stay visible in the settings, with the plan that includes them.
Incidents are kept for 30 days. The response-time chart covers the last 30 days on every plan.
On the 1st of each month the organisation owner gets one email with last month's uptime, incidents and response time for every site that has the report turned on.
Scope
This is uptime monitoring for the people who already look after a site's consent banner: the essentials, done carefully. Here is what it is, and what it is not.
Getting started
There is nothing to install. The site you already manage in Kukie.io is the site we monitor.
Uptime monitoring is a plan feature. On other plans, the site's Uptime page shows which plan includes it.
Open the site's Uptime page, or Site Settings, and turn monitoring on. The first check runs within a minute.
Pick the interval and the page, add extra alert recipients and connect the webhook if your team works in another tool.
The Help Centre guide explains every setting, including what to allow in your firewall so our checker gets through.
Turn monitoring on in the dashboard. There is no code to add and no agent to install, and nothing changes on your site.
Uptime monitoring is part of running many sites from one place. These are its neighbours.
Many sites, scoped access
Async, CDN, config built in
EU storage, hashing, 2FA
Product news, and guides for agencies and teams that look after more than one site.
Kukie.io provides tools to collect and record consent. It is not legal advice, and using it does not by itself make a website compliant with any law.