Monitoring
Synthetics
Every other tab is passive: it reports what happened to real traffic. Synthetics is active. It calls your endpoints on a schedule and tells you they're down before a customer does.
Creating a check
Open the Synthetics tab and add a check:
| Setting | What it does | Limits |
|---|---|---|
| Name | What it's called in the list | |
| URL | What to call | |
| Method | HTTP method | Defaults to GET |
| Headers | Sent with the request | Optional |
| Body | Request body | Optional |
| Interval | How often it runs | 1 minute to 24 hours |
| Timeout | Give up after this long | 1 to 60 seconds |
| Max status | Fail above this status code | |
| Max latency | Fail above this latency | Optional |
| Enabled | Pause without deleting |
Generate from your spec
Rather than writing one check per endpoint by hand, generate them from your OpenAPI spec. Generated checks are marked as such, so you can tell them from ones you wrote.
Generating gives you coverage in one click. The useful next step is deleting the checks you don't care about: every check is a request against your API, on an interval, forever.
Assertions
A check passes when the response comes back under Max status and, if set, under Max latency. A timeout fails.
Max status alone only notices hard failures. Most bad days are 200 OK in four seconds. Max latency is what turns a liveness check into a usefulness check.
Running one now
Each check has a Run action that fires it immediately instead of waiting for the next interval. Use it after editing a check rather than watching the clock.
Every run is recorded, so a check has a history you can scroll: what it returned, how long it took, and when it flipped up or down.
Up and down
Transitions stream to the dashboard live, so a check going down appears without a refresh. Results are kept for 30 days.
What to check
A check with a body pointed at a write endpoint writes, every interval, forever. Point checks at read-only or purpose-built endpoints.
Credentials you put in Headers are stored with the check, so use a scoped, revocable one rather than an admin token.