/ docs / quickstart
From no account to a monitor checking your site, in three API calls: create a key, list monitors, create one.
Sign in and open Settings → API Keys, then create one. Give it write scope if you intend to create or change monitors; read scope is enough to list and inspect them.
The secret is shown once, at creation, and never again — Fettle stores only a hash of it. Copy it somewhere safe before closing the dialog. If you lose it, rotate the key rather than creating a second one.
Nothing else to configure: the key identifies both you and your organization. Replace fettle_your_key_here with the secret you just copied.
curl -s https://api.fettle.sh/v1/monitors \
-H "Authorization: Bearer fettle_your_key_here"A 401 here means the key is wrong, revoked or expired. A 403 means the key is valid but not allowed to do this — most often a read key on a write route.
The smallest useful body: a name, what to check, how often, and from where. Every other setting has a default.
curl -s -X POST https://api.fettle.sh/v1/monitors \
-H "Authorization: Bearer fettle_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Docs",
"type": "HTTP",
"target": "https://example.com",
"interval_seconds": 300,
"regions": ["eu-central"]
}'Two limits are worth knowing before the first 422: your plan sets a floor on interval_seconds (120 seconds on Free), and a cap on how many regions one monitor may use. The exact numbers for every plan are on the pricing page.
Checks start on the next scheduler tick. Uptime, average response time and incident counts come back for the 24-hour, 7-day and 30-day windows in one call.
curl -s https://api.fettle.sh/v1/monitors/{monitor_id}/stats \
-H "Authorization: Bearer fettle_your_key_here"