Help & guides ›
Advanced monitors
› Multi-step / API monitoring
Multi-step / API monitoring
5 min read · Advanced monitors
Multi-step monitoring runs a sequence of HTTP requests as a single monitor: it logs in, saves a token, uses it in the next step and verifies the response via JSONPath. It is ideal for monitoring APIs and login flows where a single request is not enough. Available on the Pro and Business plans for HTTP type monitors.
Where do I set it up?
- Open the detail of an HTTP monitor.
- In the Multi-step / API monitoring section, paste the JSON with the list of steps and click Save.
- An empty field returns the monitor to the classic single check.
Step format
Steps are a JSON list (max 10). Each step is an object with these fields:
url- the step address (required). It can contain a variable, e.g..method- GET, POST, PUT, PATCH, DELETE, HEAD (GET by default).headers- a headers object (optional).body- the request body as text (optional).expect_status- the expected HTTP status (200 by default).expect_contains- text that must be present in the response.expect_jsonpath+expect_value- the path in the JSON response and the expected value.save- a variable to JSONPath object, the value is saved for the next steps.name- the step name shown in the error message (optional).
Example: login + verification
[
{
"name": "login",
"method": "POST",
"url": "https://api.example.com/auth/login",
"headers": { "Content-Type": "application/json" },
"body": "{\"user\": \"demo\", \"pass\": \"...\"}",
"expect_status": 200,
"save": { "token": "data.access_token" }
},
{
"name": "profile",
"url": "https://api.example.com/me",
"headers": { "Authorization": "Bearer " },
"expect_jsonpath": "user.active",
"expect_value": "True"
}
]
JSONPath
Supports dot notation and array indexes: data.items[0].id, user.name, with an optional $. prefix.
How the status is evaluated: the monitor is Up only if all steps pass. On the first failure it is Down and the error includes the number and name of the step. Response time = the sum of all steps.
Good to know
- A multi-step monitor runs only from the primary region (multi-region consensus is skipped).
- Target addresses must not point to the internal network (the same protection as for regular monitors).
- Variables from
saveare valid only within a single check.
Was this guide helpful?