The short answers to things people most commonly ask, and the things that trip people up. Every question below maps back to a full doc page somewhere else on this site — follow the links for the long version.
If your question isn't here, open a ticket in the Support section of the dashboard.
Getting started & account
Is Observare open for sign-ups?
Observare is in closed beta as of early 2026. When registrations are paused you'll see an amber notice on the /register page explaining the current state and pointing you at the contact form. If you've got a real use case, drop us a note — we open slots regularly.
Why do you ask for a card on a free trial?
Card details are collected up front at signup and stored against a Stripe customer, but you are not charged during the 7-day trial. Stripe automatically takes the first £5 payment on day 7 unless you cancel first. The card-up-front pattern keeps spam signups out while keeping the trial genuinely free for anyone who changes their mind.
See the Subscription page for the full trial mechanics.
I signed up but never got the confirmation email. Now what?
Confirmation links live for 24 hours from the moment they're generated. If it's been longer than that, the link is already expired.
Check in this order:
- Spam/junk folder. The email comes from
no-reply@observare.co.uk. - Filter rules. If you have aggressive filters, the confirmation email may have been auto-archived.
- Typo in your email address. Log back in to Observare and verify the address under Account — if it's wrong, the confirmation email went to a non-existent inbox.
- Link expired. If the 24-hour window has passed, you'll need to start the password-reset flow (which sends a fresh email) or contact support to have the account re-confirmed.
I forgot my password. How do I reset it?
Click Forgot password? on the login page. Enter your account email and we'll send a reset link to that address. The reset link lives for 1 hour — shorter than the confirmation link because it has more leverage.
The reset email is sent regardless of whether the address exists on the system, so the form never tells you "no account with that email" (that would leak which emails have accounts).
I lost access to my 2FA authenticator.
Today, contact support. We don't store backup codes automatically, and the only way to disable 2FA from the dashboard is to enter a current 6-digit code — which you don't have if you've lost the authenticator.
Before you enable 2FA on any account that matters, make sure your authenticator app is backed up somewhere (1Password sync, Authy cloud backup, or a written-down copy of the manual key from the setup screen).
Is account deletion reversible?
No. Clicking Delete Account and confirming with your password runs an immediate, irreversible delete that cascades through your sessions, tokens, alert channels, every monitor you've ever configured, webhook endpoints, stored webhook events, support tickets, and ping/check history. There is no soft-delete, no grace period, no recovery.
If you just want to stop being billed without losing your data, cancel from the Subscription page instead — cancellation leaves everything intact.
Monitoring — general
Where are the checks run from?
From Observare's own infrastructure — a single region today. We don't do multi-region confirmation. Instead, when a monitor fails for the first time we schedule a second check 30 seconds later from the same location. Only if both checks fail does the monitor get marked down. This catches transient network hiccups without needing a multi-region setup.
What monitor types are available?
Four: Uptime (HTTP/HTTPS), SSL (certificate expiry and chain), Port (raw TCP or UDP), and Cron heartbeat (passive). Each has a dedicated doc page under Monitoring in the sidebar.
How many monitors can I run?
30 per type, 120 total. You can run 30 uptime monitors and 30 SSL monitors and 30 port monitors and 30 cron heartbeats on the same account — the caps are independent. Hitting the cap on one type doesn't stop you adding monitors of a different type.
Stripe webhook endpoints are a separate feature with their own 10-endpoint cap.
How long is monitor data kept?
- Uptime / SSL / Port / Cron checks: 90 days. Older records are deleted automatically once a day.
- Webhook logger events: 60 days.
Can I pause a monitor?
Yes. Open the monitor detail page and click Pause. The monitor stops being checked entirely — no requests go out, no data is recorded, no alerts fire. Click Resume to bring it back. Useful during deploys and maintenance.
Uptime monitoring
My site is up in my browser but Observare says it's down. Why?
Most commonly one of:
- WAF or bot filter rejecting the checker. Cloudflare, AWS WAF, or bot-detection rules sometimes block non-browser user-agents. Observare identifies itself as
Observare/1.0 (https://observare.io)— allowlist that UA, or contact support if you need the checker IP. - Expected status code mismatch. The checker does a strict equality match, not a 2xx range. If your endpoint returns 204 or 301 and the monitor is configured for the default 200, every check fails. Set the expected status to match what your endpoint actually returns.
- Certificate chain problem. HTTPS monitors fail if the chain doesn't validate, even if the site loads fine in browsers with cached intermediate certs. Pair the uptime monitor with an SSL monitor to get a clearer picture.
- Intermittent DNS or connectivity from Observare's hosting provider to yours. Check the monitor's failure log — if you see
dns_failureorconnection_refusedspread over time, that's a transport problem rather than your service being down.
Can I add custom headers, change the HTTP method, or POST a body?
No. The uptime checker sends a plain GET with a hardcoded User-Agent and nothing else. No custom headers, no custom methods, no request body. If your health check needs authentication or a non-GET verb, the workarounds are:
- Expose a public, unauthenticated health endpoint that doesn't need a header.
- Use a token-in-URL pattern like
/health?token=long-random-string— the secret is in the URL which is kept private. - Use a port monitor against port 443 if you just need to know "something is listening".
Custom request config is on the roadmap but not built yet.
Can I monitor an HTTPS endpoint with a self-signed cert?
Not as an uptime monitor — the checker validates certificates against trusted root CAs and treats a self-signed cert as an ssl_error failure. Use a port monitor against port 443 to confirm the socket opens; that check doesn't validate the cert at all.
What intervals can I pick?
5, 10, or 15 minutes, hard-coded. No 1-minute tier, no custom interval. Same three intervals on every plan — intervals don't change with the £5/month subscription.
SSL monitoring
Why not just use Certificate Transparency logs?
CT logs tell you what certificates were issued. They don't tell you what's being served on :443 right now. An expired cert can still show up in CT logs as "valid"; only a real TLS handshake tells you what visitors actually see. Observare opens an actual TLS connection and reads the peer certificate.
My cert auto-renews with Let's Encrypt. Do I still need SSL monitoring?
Yes. Auto-renewal is a script that can silently break — permission changes, missed cron runs, CA rate limits, renewed-but-not-reloaded, and so on. The 30-day warning is your early signal that renewal hasn't happened yet, while you still have a month to fix it before visitors start seeing browser warnings.
How often are SSL monitors checked?
Once every 24 hours, regardless of how many thresholds you've configured. SSL state changes slowly so there's no value in checking more often than daily.
Port monitoring
Does a successful TCP check mean my service is actually working?
No — it only means something is accepting TCP connections on that port. A TCP check confirms the three-way handshake completes. It doesn't speak the protocol, doesn't read a banner, doesn't verify that it's actually your service (vs. a rogue listener bound to the port).
For protocol-level certainty use an HTTP uptime check against a proper health endpoint.
UDP monitoring seems flaky. Why?
UDP is connectionless, so there's nothing analogous to a TCP handshake to confirm. Observare sends an empty datagram and counts it as success unless an ICMP "port unreachable" comes back within the timeout. That's the best UDP gives you. It doesn't prove anything is listening, just that nothing rejected the packet.
For high-confidence UDP monitoring you'd typically need application-level probes that Observare doesn't do. TCP + an HTTP health endpoint is more reliable when both are available.
Cron heartbeats
What happens if my job runs twice in a window?
Observare records both pings and counts the monitor as healthy. The only thing that matters for alerts is "did at least one successful ping arrive before next_expected + grace_period". Multiple pings in the same window don't cause problems.
Can I use this without a traditional Unix cron?
Yes. Heartbeats work for anything that can make an outbound HTTP request: systemd timers, Kubernetes CronJobs, GitHub Actions schedules, AWS/GCP/Azure scheduled functions, at jobs, a manual script on your laptop. If the job can curl https://observare.io/ping/<token> at the end, Observare knows it ran.
My job sometimes takes much longer than usual. What do I do?
Set a generous grace period on the monitor — big enough to cover the worst-case runtime. Grace is the window between "ping expected" and "alert fires if nothing arrived", so a job that normally takes 5 minutes but occasionally takes 25 is fine with a 30-minute grace.
There's no separate "alert if runtime exceeds X" feature today. The /ping/<token> endpoint is a single success signal — it doesn't measure elapsed time.
My cron expression is in local time but the schedule seems wrong.
Check the timezone on the monitor. Cron expressions are evaluated in the timezone you picked (IANA format — Europe/London, America/New_York, etc.). 0 2 * * * with timezone = Europe/London is 2am London time, not 2am UTC. If the timezone is set to UTC (the default) and you meant something else, every expected ping is off by however far you are from UTC.
I just created the monitor and haven't installed the cron line yet. Will I get "missed ping" alerts?
No. New monitors stay in a pending state until the first ping arrives, and the missed-ping worker specifically skips pending monitors. You won't get a false alarm between creating the monitor and setting up the cron job.
Alert channels
I'm not getting email alerts. Walk me through what to check.
In this order:
- Spam / junk folder. Alerts come from
alerts@observare.io. Add it to your safe sender list. - Have you added an Email channel at all? Nothing is auto-configured — if your Alert Channels page is empty, no alerts can be sent anywhere. See Setting up alert channels.
- Did you click the verification link? Each email channel sends a "confirm you own this inbox" link when you add it. Until you click that link, the channel stays unverified and won't receive alerts.
- Is the channel assigned to the monitor? Alert channels are account-wide — creating one doesn't automatically attach it to monitors. Open the monitor, hit Edit, and tick the channel boxes.
- Send a test alert. The Alert Channels page has a per-channel test button (paper-plane icon). Click it and Observare sends a real test email through that specific channel. If the test lands, the channel is fine and the problem is monitor-side; if the test doesn't land, the problem is channel-side.
I'm not getting SMS alerts. Walk me through what to check.
- Is the phone number verified? Unverified SMS channels never send. The channel row on the Alert Channels page shows a "Verified" or "Unverified" pill — if it's unverified, click Verify and enter the 6-digit code that arrives by text. Codes expire after 10 minutes and you have 3 attempts.
- Are you over the 50/month cap? Each account gets a hard cap of 50 SMS per calendar month. Once you've hit it, further SMS attempts are rejected by the server until the month rolls over. Move noisy monitors to Email and keep SMS for critical ones.
- Send a test SMS from the Alert Channels page. The per-channel test button sends a real SMS and will tell you immediately whether the channel works.
- Is the channel assigned to the monitor? Same as email — you need to attach it to specific monitors.
I sent a test alert but my phone number isn't verified. What happens?
The server refuses the test with "Phone number not verified. Verify the channel before sending a test alert." Verify the number first (6-digit code) and then try again.
Stripe webhook logger
Does Observare forward webhooks to my endpoint automatically?
No. The webhook logger is a capture-and-inspect tool, not a proxy. When Stripe posts to your receiver URL, Observare stores the event, verifies the signature, and that's it. Your existing Stripe endpoint (if you have one) is entirely separate — configure it directly in Stripe as a second endpoint if you want both to receive events.
If you want Observare to re-send a stored event to a URL of your choice, that's the Replay feature — manual, per-event, on-demand.
Can I replay an event more than once?
Yes. Each replay increments the event's replay_count and is logged separately, so you can see how many times you've replayed and what each response was. Just make sure your webhook handler is idempotent first.
My replay keeps failing with "URL must resolve to a public IPv4 address". Why?
Observare's replay engine has an SSRF guard that blocks URL replays to:
- RFC1918 private ranges (
10/8,172.16/12,192.168/16) - Loopback (
127/8) - Link-local and cloud metadata (
169.254/16, which includes169.254.169.254) - Any hostname that resolves only to IPv6
This is deliberate — it stops the replay engine from being turned into a probe against internal services.
If you want to replay to a local dev server, switch the endpoint's replay mode to cURL instead of URL. cURL mode generates a ready-to-run curl command with a valid signature that you paste into your own terminal — no SSRF constraint because the request is coming from your machine, not from Observare's server.
Why does the receiver return 200 OK on signature failure?
Because returning 4xx would make Stripe retry the same broken event for three days. The signature failure is your configuration problem (wrong secret, rotated without updating), not a transport problem — retrying won't fix it and the retries would flood the event log. So Observare:
- Stores the event with
signature_verified = false - Returns 200 to Stripe so it stops retrying
- Fires a
[SIG FAIL]alert via your configured channels (if you opted in when you created the endpoint) so you notice
You fix the signing secret in Observare, the next event arrives cleanly, and the sig-fail state clears itself automatically.
Status pages
How do I create a status page?
Go to Tools → Status Pages in the sidebar and click Add Status Page. Give it a name and a title, then pick which monitors to show. The public URL is live immediately.
Can I use my own domain for the status page?
Not yet — status pages are served at observare.io/status/<token>. Custom domain support (pointing status.example.com at Observare) is on the roadmap as a future enhancement.
Can I have different status pages for different projects?
Yes. Each account can create up to 5 status pages, each with its own branding, monitor selection, and optional password. Useful for agencies managing multiple clients or teams with separate production and staging environments.
Can visitors see my private monitors?
No. Only the monitors you explicitly select for a status page are shown. Everything else stays private. Your visitors won't know the unselected monitors exist.
How do I switch between light and dark mode?
Open the status page's settings (click the page from the list). Under Branding, pick Dark or Light from the theme toggle. You can also set a custom background colour that overrides the theme default.
Is there an API for my status page data?
Yes. Every public (non-password-protected) status page has a JSON API at:
GET https://observare.io/api/public/status/<token>Returns the overall status, monitor list with uptime percentages, and 14-day incident history. Useful for embedding status data in your own tools.
How often does the status page update?
The public page sets a 30-second cache header, so visitors see fresh data within half a minute without manually refreshing. Monitor checks run on their normal intervals (5/10/15 minutes for uptime and port, daily for SSL, 30 seconds for cron heartbeat detection).
Billing & subscription
How do I cancel my subscription?
Open the Subscription page and click Manage Billing. This redirects to the Stripe Customer Portal, where you click Cancel subscription. Stripe uses "cancel at period end" semantics — you keep full access until your next renewal date, then the subscription quietly ends.
You can reactivate from the same portal any time before the cancellation date if you change your mind.
Do you offer annual billing?
Not yet. Monthly only at £5/month. No discounts, no per-seat pricing, no enterprise tier. One plan, one price, everything included.
How do I update my card?
Open the Subscription page → Manage Billing → update card details in the Stripe Customer Portal. Card entry is handled entirely by Stripe so your card number never touches Observare's servers.
Where are my past invoices?
All in the Stripe Customer Portal. Subscription → Manage Billing → Billing history.
I cancelled. Do my monitors keep running?
Today — yes, they do. Cancelling your subscription via Stripe sets your subscription_status to cancelled but the monitor workers don't currently check subscription status, so your monitors continue to run until you explicitly Delete Account from the Account page. This is a known lifecycle gap we're planning to address. In the meantime, if you want everything wiped after cancellation, delete your account manually.
Support & getting help
How do I get help?
Open the Support section in the sidebar and click New Ticket. Pick the category that best fits your issue (General / Billing / Technical / Account / Feature Request / Bug Report), write a clear subject, and describe the issue in as much detail as you can — including monitor IDs, error messages, timestamps, and anything else that would help us triage without having to ask follow-up questions.
See the Support doc page for the full walkthrough.
How long will it take to get a reply?
Target is 24 hours. It's not a contractual SLA — just what we aim for. Most tickets get a first response within a few hours during UK working hours.
Can I attach a screenshot or log file to a ticket?
Not today — tickets are text-only, no file uploads. For screenshots, upload them to a public host (imgur, GitHub Gist, etc.) and paste the link into the message. For logs, paste the relevant lines directly into the message body (up to the 5000-character limit). If the log is huge, summarise the interesting parts and include just those.
I raised a ticket through the contact form on the marketing site. Why should I use the in-app Support section instead?
The contact form on observare.co.uk/contact is there as a fallback for people who can't log in (e.g. password reset issues). If you can log in, the in-app Support section is the right place — it gives you a searchable ticket history, a conversation thread, and automatic email notifications when we reply.
Still stuck?
Open a ticket in the Support section of the dashboard. Include the monitor ID, incident ID, webhook event ID, or whatever identifier is closest to the thing you're asking about — we can pull it up in the logs directly and get you an answer faster.
If you can't log in at all (e.g. forgotten password + 2FA issue), use the contact form on the marketing site and we'll sort it out.