Quickstart
Create your first monitor with a single request. The API accepts JSON and returns
the object it created, including the assigned id.
Authentication
All requests are authenticated with a bearer token scoped to one account. Tokens are shown once at creation time.
curl -s https://api.alwaysonline123.ru/v1/monitors \
-H "Authorization: Bearer $AO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","interval":30}'
Monitors
A monitor is a URL plus an interval. Supported check types are http,
tcp and icmp. Assertions are optional; without them a
monitor is considered up when the status code is below 400.
{
"id": "mon_8f2c1a",
"url": "https://example.com",
"type": "http",
"interval": 30,
"assertions": { "status": [200, 204], "max_ms": 1500 },
"regions": ["eu-west", "us-east", "ap-south"]
}
Alerts
Alerts fire after two consecutive failures from distinct regions, which removes the most common source of noise. Recovery notifications are sent immediately.
Status page
Status pages are served from a subdomain you control. TLS is issued automatically once the CNAME resolves.
Webhooks
Webhook payloads are signed with HMAC-SHA256 using your endpoint secret. Reject
anything whose X-AO-Signature does not verify.
X-AO-Signature: t=1762089600,v1=5f0d9c0e7c...
Rate limits
Read endpoints allow 600 requests per minute per token; writes allow 60.
Exceeding either returns 429 with a Retry-After header.