Documentation

Everything you need to get started with CaneCron.

1 Quick start

Create an account — click "Start free" above. No credit card needed.

Add a website monitor — from the dashboard, click "+ Add monitor", select "Website / API", enter your URL, and choose a check interval.

Add a cron monitor — select "Cron job" instead. You'll get a unique ping URL. Add it to the end of your cron script.

2 Cron job monitoring

After creating a cron monitor, you'll receive a unique ping URL like:

https://canecron.com/ping/your-unique-token

Add one line to the end of your cron script:

curl -fsS --retry 3 https://canecron.com/ping/your-unique-token

If your script runs successfully, it pings CaneCron. If the ping doesn't arrive on time — you get an alert.

Languages other than bash:

Python: requests.get("https://canecron.com/ping/TOKEN")

Node.js: fetch("https://canecron.com/ping/TOKEN")

PHP: file_get_contents("https://canecron.com/ping/TOKEN")

3 Website & API monitoring

CaneCron checks your URL at the interval you choose (1, 5, 10, 30, or 60 minutes).

UP — your site responds with an HTTP 2xx status code.

DOWN — your site returns an error, times out, or doesn't respond.

When a monitor goes from UP to DOWN, you'll receive an instant email alert.

API REST API reference

CaneCron offers a REST API to manage your monitors and read incident data programmatically. API access is included with the Pro plan.

Base URL

https://canecron.com/api/v1

Authentication

Generate an API key under Settings → API keys. The key is shown only once — store it securely. Pass it as a Bearer token on every request:

Authorization: Bearer YOUR_API_KEY

Rate limit

Up to 60 requests per minute per key. Exceeding this returns 429 Too Many Requests.

Endpoints

GET/monitorsList all your monitors
POST/monitorsCreate a monitor
GET/monitors/{id}Get a single monitor
PATCH/monitors/{id}Update a monitor
DELETE/monitors/{id}Delete a monitor
GET/monitors/{id}/logsRecent check logs (last 100)
GET/incidentsList incidents (last 100)

Example — list monitors

curl https://canecron.com/api/v1/monitors \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

{
  "data": [
    {
      "id": 1,
      "name": "My Website",
      "url": "https://example.com",
      "type": "http",
      "interval": 5,
      "status": "up",
      "uptime_percentage": 99.95,
      "last_checked_at": "2026-06-13T18:26:00+00:00",
      "created_at": "2026-04-13T18:03:36+00:00"
    }
  ]
}

Creating a monitor

curl -X POST https://canecron.com/api/v1/monitors \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"My API","url":"https://api.example.com","interval":5}'

Response codes

  • 200 / 201 — success
  • 401 — missing or invalid API key
  • 403 — your plan doesn't include API access
  • 404 — resource not found, or not owned by you
  • 422 — validation error (check your input)
  • 429 — rate limit exceeded

4 Alerts

Alerts are sent to your account email address when a monitor goes from UP to DOWN. You'll also receive a recovery alert when the monitor returns to UP.

Email (all plans) — sent to your account email by default. You can change the alert email in Settings → Alerts.

Slack (Starter and up) — paste an incoming webhook URL in Settings → Alerts and your down/recovery alerts post straight to your chosen channel. Takes about a minute to set up.

SMS (Pro & Business — coming soon) — text alerts to your phone for critical incidents. Monthly message limits will be announced when this launches.

Include error details — turn this on in the Alerts page to get the HTTP status code, response time, and error message inside the alert email. Useful for triaging quickly without opening the dashboard.

5 Private network monitoring

Monitor internal services that aren't publicly accessible — admin panels, staging servers, Docker containers, local APIs. A lightweight agent runs inside your network and reports back to CaneCron.

How it works

Your agent checks internal URLs every few minutes and sends the results to CaneCron over HTTPS. The connection is always outbound from your network — CaneCron never needs inbound access. Authentication uses two keys: an API key (identifies the monitor) and a secret key (proves identity).

Setup

1. Create a "Private network" monitor in the dashboard

2. Save both keys (API key + secret key) — the secret is shown only once

3. Run the agent script on your private server:

#!/bin/bash API_KEY="cck_your_api_key_here" SECRET="ccs_your_secret_key_here" URLS="https://admin.example.com,http://localhost:8080" INTERVAL=300 # seconds (5 minutes) while true; do CHECKS="[" FIRST=true IFS=',' read -ra URL_ARRAY <<< "$URLS" for url in "${URL_ARRAY[@]}"; do url=$(echo "$url" | xargs) CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 -L -k "$url" 2>/dev/null || echo "000") [ "$CODE" -ge 200 ] 2>/dev/null && [ "$CODE" -lt 400 ] 2>/dev/null && ST="up" || ST="down" [ "$FIRST" = true ] && FIRST=false || CHECKS="$CHECKS," CHECKS="$CHECKS{\"url\":\"$url\",\"status\":\"$ST\",\"code\":$CODE}" done CHECKS="$CHECKS]" curl -s -X POST "https://canecron.com/api/agent/report" \ -H "Content-Type: application/json" \ -d "{\"api_key\":\"$API_KEY\",\"secret\":\"$SECRET\",\"checks\":$CHECKS}" sleep $INTERVAL done

Docker alternative

docker run -d --restart=always \ -e CANECRON_API_KEY="cck_your_api_key_here" \ -e CANECRON_SECRET="ccs_your_secret_key_here" \ -e CANECRON_URLS="https://admin.example.com,http://localhost:8080" \ -e CANECRON_INTERVAL="300" \ --name canecron-agent \ canecron/agent

Silence detection

If the agent stops reporting entirely (server crash, Docker down, network failure), CaneCron detects the silence and sends an alert. This means even if your entire private server goes offline, you'll know.

6 Public status page

Every paid account gets a public status page you can share with customers. It shows the current status and 90-day uptime history for all monitors you choose to make public.

Your URL: canecron.com/status/your-handle

How to set up — go to Settings → Status page, pick which monitors to include, choose a public handle, and you're live. Share the link with customers, embed it in your help center, or link from your footer.

White-label (Business plan) — remove the "Powered by CaneCron" footer and use a custom domain like status.yourcompany.com via CNAME.

7 Desktop app

CaneCron has a native desktop app for macOS, Windows, and Linux. Same dashboard you use in the browser, but in its own window — useful when you want monitoring always visible without losing it among 30 browser tabs.

Download — head to canecron.com/download and pick your platform.

The app stays signed in across sessions and runs from your system tray on Windows/Linux or menu bar on macOS.

T Team management

Every CaneCron account has a team. On the Business plan you can invite others to your team so they share access to the same monitors, incidents, and alerts.

Inviting members

Go to Settings → Team and click Invite members. Enter the person's email address and send the invite. They'll receive an email with a link to join your team. Invitations expire after 7 days, and you can cancel a pending invite at any time.

Roles

Owner — manages billing, invites and removes members, and controls the team. Each team has one owner.

Member — full access to the team's monitors, incidents, and alerts, but cannot manage billing or other members.

Accepting an invitation

Click the link in the invitation email. If you already have a CaneCron account, log in and you'll join the team. If not, create an account with the invited email address and you'll be added automatically.

Leaving or removing members

Members can leave a team at any time from the Team page. Owners can remove members. A team always keeps at least one owner — to leave a team you own, transfer ownership or delete the team first.

8 Account & security

Two-factor authentication (2FA) — go to Settings → Security and enable two-step authentication. Works with any TOTP app: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden. Scan the QR code, enter the 6-digit code to confirm, and 2FA is on. You'll be asked for a code every time you sign in.

Changing your password — Settings → Personal details → enter your current password and a new one. You'll stay signed in on this device; other sessions get logged out.

Sign-in history — Settings → Security → Security history shows every login attempt, device, and IP. Export to CSV if you need it for compliance or audits.

Deleting your account — Settings → Personal details → bottom of the page. Permanent — monitors, history, and billing details are removed. If you have an active subscription, cancel it first or you'll keep being billed until the period ends.

TZ Times & timezones

CaneCron stores every event — checks, cron pings, incidents, and log entries — in UTC internally, but always displays them in your timezone so the times make sense at a glance.

Automatic detection

Your timezone is detected automatically from your browser. You don't need to configure anything to get started — times across the dashboard, logs, and incidents will already be shown in your local time.

Changing your timezone

To view or override it, go to Settings → Personal details → Timezone and pick any timezone from the list. This is useful if you travel, or if your team operates in a different region from where you happen to be browsing.

For example: if your website goes down at 2:30 PM your local time, that is exactly the time you'll see on the incident — not a server time in another zone. So when you're responding to an outage, you can trust the times without doing any conversion in your head.

9 Subscription & billing

Changing plans — Billing → Plan → Change plan. Pick a new plan in the slideover. Upgrades take effect immediately; downgrades take effect at the end of the current billing period so you don't lose paid time.

Cancelling — Billing → Plan → Cancel subscription. You keep full access until the end of your current billing period (e.g. cancel on the 15th of a monthly cycle, keep access until the 30th). After that, your account drops to the Free plan automatically. No data is lost.

Payment methods — Billing → Plan → Manage payment method opens Stripe's secure portal where you can update your card, view past charges, and download receipts.

Invoices — Billing → Invoices lists every invoice with a PDF download link. Invoices are emailed automatically after each successful charge.

VAT / Tax ID for EU businesses — Billing → Billing details lets you add your company VAT ID. For valid EU B2B VAT numbers, invoices use reverse-charge VAT (0% VAT shown, with a note that the customer accounts for VAT in their own country).

Refunds — refunds are handled case by case. If you accidentally subscribed or weren't satisfied, email us within 14 days and we'll sort it out.

10 Plans & limits

Free — for personal projects

10 monitors, 5-minute checks, email alerts, cron monitoring, private network monitoring.


Starter — €7/mo — for freelancers & developers

Unlimited monitors, 1-minute checks, email + Slack alerts, cron monitoring, private network monitoring, 30-day to 2-year history depending on plan, public status page.


Pro — €19/mo — for small teams

Everything in Starter, plus SMS alerts, team members (3 seats), API access, 1-year history.


Business — €49/mo — for growing companies

Everything in Pro, plus unlimited team members, priority support, custom check intervals, white-label status page, 2-year history.

11 Frequently asked questions

How quickly do I get an alert when something goes down?

Email alerts are sent within seconds of CaneCron detecting a failure. The actual time depends on your check interval — if you're on the Free plan with 5-minute checks, the worst case is ~5 minutes between the outage starting and the alert. On Starter (1-minute checks), it's under 60 seconds.

Where are your check servers located?

Checks currently run from our European infrastructure (Helsinki, Finland). Multi-region checking is on the roadmap.

What happens to my monitors if I cancel?

You keep full access until the end of your billing period. After that, your account drops to Free — your monitors stay (up to the 10-monitor Free limit), but advanced features (1-minute checks, longer history, status page) revert to Free tier limits. No data is deleted.

Do you support IPv6?

Yes. CaneCron resolves both IPv4 (A records) and IPv6 (AAAA records). If your site is reachable on either, checks will work.

Can I export my data?

Yes. Security history exports to CSV from Settings → Security. Monitor logs are exportable from each monitor's logs page. A full account export is on the roadmap — email us if you need one now and we'll send a dump.

Do you have a free trial for paid plans?

The Free plan IS the trial — it's free forever with 10 monitors and email alerts. When you need 1-minute checks, unlimited monitors, or a status page, you can upgrade in one click. No surprises, no time-limited trial.

Is there an API?

API access is included with the Pro plan. It lets you create, update, and delete monitors programmatically, and fetch incident and check data. See the API reference for full details.

What if CaneCron itself goes down?

Fair question. We monitor our own infrastructure aggressively and publish our uptime publicly. We're also working on independent dead-man's-switch alerts that fire if our check infrastructure itself stops working, so you'd hear about any outage on our side too.

How is CaneCron different from UptimeRobot or Cronitor?

UptimeRobot does website monitoring but not cron jobs. Cronitor does cron monitoring but starts at $49/month. CaneCron does both in one tool at €7/month, plus private network monitoring (a feature competitors charge $49+ for or don't offer at all).

Can I run CaneCron self-hosted?

Not currently. We focus on the hosted version so we can ship features fast. If you need self-hosted for compliance reasons, get in touch — for the right use case we'd consider it.

Question not answered here? Email us and we'll add it.