Documentation

Your first Ntfyx HTTPS notification: from hello to a service check

Send hello with your app’s HTTPS link, verify delivery, then choose a service-health rule. A dated Android emulator check and practical troubleshooting.

Updated

What we checked on 17 October 2026

#

Start with one message you can identify: hello in MyNotify. Once that works, define what a healthy service response should look like. The HTTP and monitoring references cover the complete options; this example follows the first test and the decisions to make when its result is unexpected.

CheckObserved resultTest environment
First HTTPS messageThe app displayed and copied the same short-key URL, sent it from Send test, and verified the matching MyNotify / hello message. A matching FCM callback, successful decryption and system notification record were observed.Ntfyx 1.5.2, Android 10 / API29 GMS emulator, real staging service.
Uncertain response and retryA persisted test made four GET requests during deliberate response loss, restart and pause/resume. They resolved to one accepted message, confirmed by signature verification, receiver decryption and synchronization.iOS NtfyxCore 1.5.2 PhoneClient running on macOS, real staging service.
Monitor setupAndroid checked preview, creation, its separate system Topic, pause and deletion. The iOS core check also exercised text/JSON previews, private-address rejection and monitor management.Real staging requests; this was not a natural hourly failure-and-recovery run.

1. Send the first hello from the app

#

Use a release with short HTTPS sending links: app 1.5.2 or later. This example starts with a new Inbox and its MyNotify Topic. For an existing Inbox, use the Topic alias in your own link. If an earlier test is still waiting, check that original delivery before starting a new test.

  1. Open HTTPS push for your Topic. Check that a sending link is ready.
  2. Tap Send (Send test in the pictured 1.5.2 release). Keep the app connected while it waits for the matching notification.
  3. In this new Inbox, open MyNotify and check the title and body: MyNotify and hello. Then check whether a system alert was also shown.
Ntfyx Android HTTPS push screen with an Example sending link for MyNotify and hello, plus Send test and Copy link controls.
Android 1.5.2 Example screen. The visible key is a placeholder; this image illustrates the controls and does not record the live staging delivery.

2. Read the result before sending again

#

Request acceptance, a verified Inbox message and a system alert answer three different questions. A response from the API alone is not the end of this test.

What you seeWhat it establishesWhat to do next
Accepted / waitingThe service accepted the request; the app has not yet confirmed its matching message.Let the app synchronize. Use Check delivery if offered before deciding to send a new test.
The matching hello in MyNotifyThe app received and verified that message.Your Inbox path works. If no alert appeared, check notification permission, Topic quiet hours and connectivity. Android push requires Google Play services.
A system notificationThe operating system posted an alert for that message.Opening the notification can take you to the conversation. Delivery does not mean you personally saw or acted on it.

4. Add a health check for a service you operate

#

After the first message works, open Discover → My Monitor. Use a public HTTP or HTTPS health endpoint whose expected response you know. The example.com address in the image is illustrative; substitute your own public endpoint.

  1. Choose Add monitor, enter the address and give it a recognizable name.
  2. Start with HTTP 2xx if a successful status is sufficient. For plain text, select Text. In app 1.5.3, preview the response before entering the exact expected text, such as ok.
  3. Tap Check and inspect the returned status and rule result. Fix an unexpected result before enabling it.
  4. Tap Enable monitoring when the result matches. Future checks run every hour; this is not a continuous uptime probe.
Ntfyx Android Add monitor screen using an Example health address, a Text rule containing ok and an hourly schedule.
Android 1.5.2 Example monitor form. This screenshot does not create a monitor or demonstrate an observed hourly incident.

Choose a rule that distinguishes healthy from unhealthy

#

A text rule checks a case-sensitive substring. If a JSON service can return status: not ok, searching for ok still matches. For that service, choose JSON field, use status as the field and the string ok as the expected value. Every rule also requires a final HTTP 2xx status. These are rule examples, not a recorded incident log.

Response exampleText contains okJSON status equals string ok
HTTP 200 · {"status":"ok"}MatchesMatches
HTTP 200 · {"status":"degraded"}Does not matchDoes not match
HTTP 200 · {"status":"not ok"}Matches: the substring is presentDoes not match
HTTP 503 · {"status":"ok"}Fails the HTTP status requirementFails the HTTP status requirement

How failure confirmation and recovery work

#

A first failed check, while no incident is open, is confirmed 60 seconds later. If that check also fails, one failure alert is queued; continuing failures are recorded and alert again at each subsequent hourly check. The current service records every finalized hourly result, including continuing failures and later recovery.

App 1.5.3 defaults to failure-only alerts: healthy and recovered results stay in the conversation silently. Turn that option off to receive an alert for every result. Each monitor keeps these messages in its own Session inside the system My Monitor Topic.