Docs

FAQ and troubleshooting

Fixes for the common problems with checks, pings and alerts, plus straight answers about data, billing and support.

This page helps you fix the most common problems with checks, pings and alerts, and answers the questions people ask before they rely on FlatLyne. Each answer is short and links to the page with the full detail.

Troubleshooting

My check shows down, but the job ran

Something between your job and FlatLyne went wrong, or the check's schedule doesn't match the job's. Work through these in order:

  • The ping didn't arrive. A wrong URL, or a ping URL that's been revoked or has expired, gets a 404 and records nothing. A firewall or proxy that blocks outbound HTTPS has the same effect. See Ping URLs.
  • The ping reported a failure. A ping to /fail, or to an exit-code URL with a non-zero code, marks the check down straight away, even when the job "ran". See Failures, exit codes and start pings.
  • The time zone is wrong. A cron check works out its next expected time in the check's own time zone. If your crontab runs in a different zone, FlatLyne expects the ping at the wrong hour. See Schedules, grace and timezones.
  • The grace period is too short. FlatLyne marks a check down once the expected time plus the grace period has passed. If your job sometimes runs long, raise the grace period. See Schedules, grace and timezones.

curl hides errors unless you pass -f

Without -f (--fail), curl exits 0 even when FlatLyne returns a 404, so your job never notices that the ping failed. Use curl -fsS --retry 3 so errors show up in your job's output. Reliability tips has more.

My ping returns 404

FlatLyne doesn't recognise the credential in the URL. The token was never valid, has been revoked or regenerated (Pro and Business), or has expired. For a ping key URL, the same applies to the key, and so does a slug that no check in the project has. The response is deliberately identical in every case, so someone guessing URLs can't tell a real but revoked token from one that never existed. Copy the URL again from the check's page in the dashboard. See Ping URLs.

My ping returns 429 or 403

A 429 means the check got more than 3 pings within a minute, and FlatLyne dropped the extra ones. Ping once per run, plus an optional start ping. A 403 means the check was paused when your plan changed. See My checks were paused after my plan changed.

Alerts arrive an hour off, or at the wrong time

This is almost always a time zone mismatch on a cron check. FlatLyne reads the cron expression in the check's time zone, so if your server's cron daemon uses a different zone, every expected time shifts by the difference. If one of the zones observes daylight saving time and the other doesn't, the check can be right for half the year and an hour off for the other half. Set the check's time zone to the one your cron daemon uses. Interval checks don't use a time zone. See Schedules, grace and timezones.

Times in alert emails include a time zone abbreviation, which may not be your local zone.

I'm not getting alerts

Go through what actually controls delivery:

  • The check has never been pinged. A new check stays in the New state until its first ping and can't go down before then. Send one ping to start monitoring.
  • The check is paused. A paused check isn't monitored, so it never goes down from a missed ping.
  • It's still in grace. FlatLyne alerts when a check goes down and when it recovers from down. Entering grace is silent.
  • Email recipients. With no email channel set up, alert emails go to every member of the project. Once you set up the email channel, only the members you list get them, and turning the channel off stops email alerts completely.
  • Slack, PagerDuty, WhatsApp, phone calls and webhooks only fire once you've connected that channel and it's turned on.

Each alert is sent once, with no retry. If Slack, PagerDuty, Twilio (WhatsApp and calls), your webhook endpoint or the mail provider fails at that moment, that alert is lost. Plan limits only stop you adding more channels. They never silence the channels you already have. See Alert channels.

A check I paused came back on its own

That's expected. Pause check has no matching resume button: a check you paused yourself resumes the next time your job sends a success ping. A start ping leaves it paused, and a fail ping marks it down and sends an alert. If you want a check to stay quiet, stop the job from pinging it. See Failures, exit codes and start pings.

My checks were paused after my plan changed

When a Pro subscription ends, whether you cancelled, it expired or a payment failed, your account goes back to Free and FlatLyne pauses every check in every project you own. Nothing is deleted. While a check is paused this way, every ping to it gets 403 and isn't recorded, so your jobs' curl -f calls fail and cron reports the error. To turn a check back on, open it and select Activate check. That works up to the Free plan's check limit. The check restarts as New and waits for its next ping. See Pricing for the Free limits.

FAQ

Is there an uptime guarantee or SLA?

No. FlatLyne is a small, new service run by one person, and there's no service level agreement. Pings and alerts are best-effort and can be late or missing during outages or when a provider we depend on fails. Don't make FlatLyne the only way you'd find out that something important has failed. See the Terms of Service.

How long do you keep pings?

FlatLyne keeps the most recent 100 pings per check on Free, or 1,000 on Pro, and deletes older ones as new pings arrive. The limit follows the plan of the project's owner. The check's page shows the latest 50. The total ping count and the date of the first ping are kept for the life of the check. See the Privacy Policy.

What happens when I delete a check?

Open the check and select Delete check. Owners and members can do this on any plan. Read-only members can't. It removes the check, its ping URL and its ping history. The ping URL stops working straight away and gets 404. Its slug URL gets 404 too, so stop the job first. Deletion is immediate and permanent, though copies in backups last up to 14 days.

What happens when I delete a project?

Only the project's owner can delete it, from Settings with Delete project. It removes the project and everything in it: checks, pings, ping URLs, ping keys, API keys, alert channels, members and invitations. Deletion is immediate and permanent, though copies in backups last up to 14 days.

What happens when I delete my account?

You delete it from account settings by typing your email address to confirm. FlatLyne deletes every project you own, with everything in it, and removes you from projects you're only a member of. Those projects stay with their owners. If you're on Pro, the subscription is cancelled straight away and the unused part of the period isn't refunded. If the cancellation fails, your account isn't deleted, so you're never left paying for an account that no longer exists. See the Refund Policy and Privacy Policy.

Can I monitor jobs behind a firewall?

Yes, as long as the machine can make outbound HTTPS requests to api.flatlyne.com on port 443. Pings only go out from your side, so FlatLyne never needs to reach your machine. We don't publish a fixed list of IP addresses, so allow the hostname rather than an IP. See Reliability tips.

Do you store my job's output?

Only what your job sends in the ping's request body. FlatLyne stores the first 10 KB of the body with each ping, along with the time, ping type, exit code, source IP and user agent. Don't send passwords, tokens or personal data. See Failures, exit codes and start pings.

Do you sell my data? Where is it hosted?

We don't sell your data, and we don't use it for advertising. The API and its Postgres database run on Amazon Web Services in us-east-1 (United States), the website and dashboard run on Vercel, and alert emails are sent through Amazon SES. The Privacy Policy lists every provider.

How do I report a security issue?

Email [email protected] with steps to reproduce. Give us time to fix it before you disclose it, and only test against accounts and data that are yours. See Security.

How do I get help, or ask about billing?

Start with these docs. On Pro and Business, you can also email [email protected] about a bug or a product question, and Business emails are answered first. On Free, the docs are the support.

Billing questions go to [email protected] on any plan. Include your account email and the date and amount of the charge, and send it within 30 days of the charge if you're asking for a refund. See the Refund Policy.

Privacy and security go to [email protected] on any plan. See Security.

Still stuck?

To start from the beginning, follow the Quickstart. On Pro and Business, email [email protected] with the check's name and what you expected to happen.