SMS, Telegram or Bale? Choosing Alert Channels Without Alert Fatigue
Which downtime alerts should go by SMS and which to Telegram or Bale, how to route by urgency, and how to keep the important alerts from drowning in noise.
Many APIs can't be tested with one request. You first log in, receive a token, call the endpoint with it and sometimes use an ID from that answer in a third call. A multi-step check runs the whole sequence on a schedule and tells you exactly which step broke.
noc724 checks your websites, servers and APIs around the clock and alerts you by SMS, Telegram or Bale the moment something breaks.
Step 1 POST /api/auth/login { "username": "monitor", "password": "***" }
expect 200, extract access_token = $.token
Step 2 GET /api/orders?limit=1 Authorization: Bearer {access_token}
expect 200, expect $.items.length > 0, extract order_id = $.items[0].id
Step 3 GET /api/orders/{order_id} Authorization: Bearer {access_token}
expect 200, expect $.id == {order_id}If step 1 fails, authentication is broken. If step 2 fails with 401, tokens are issued but not accepted - perhaps a key rotation went wrong. If only step 3 fails, the detail endpoint or its database query is the problem.
Most tools use JSONPath-style expressions to pull values out of responses:
| Expression | Picks |
|---|---|
$.token | a top-level field |
$.data.user.id | a nested field |
$.items[0].id | the first item's ID in a list |
Values can also come from response headers (for example a Location header after a create) or cookies for session-based logins.
status field set to ok.Content-Type: application/json, cache headers where they matter.Multi-step flows tempt you to test "create order" too. If you must test writes:
noc724's multi-step API monitoring runs the steps in order, passes values between them, checks assertions on each one and names the failing step in the alert - by SMS, Telegram or Bale - so the first message already tells you where to look.
As few as needed to prove the flow works - usually two to four. Each extra step is another place for harmless changes to break the check.
Each run logs in again, so expiry between runs doesn't matter. If login is rate-limited, choose an interval that stays well under the limit.
Yes. Use a client-credentials request as the first step to obtain an access token, then call the API with it.
Written by
The noc724 team
Uptime monitoring engineers
We build and run noc724, an uptime monitoring service that checks websites, servers and APIs from several cities in Iran. These guides come from the problems we and our users run into while keeping services online.
Contact the teamExpert on:Synthetic Monitoring
Which downtime alerts should go by SMS and which to Telegram or Bale, how to route by urgency, and how to keep the important alerts from drowning in noise.
Why uptime monitors raise false alarms - network blips, timeouts, rate limits, content changes - and the settings that remove them while keeping real alerts fast.
How to set up a simple on-call rotation and escalation policy so every critical alert is answered, without burning out a small team.