API Overview
The Uptime REST API lets you programmatically manage monitors, alerts, status pages, and more.
The Uptime API is a RESTful API that allows you to manage all aspects of your monitoring infrastructure programmatically.
Base URL
All API requests should be made to:
https://uptime.sergiodxa.com/api/v1Authentication
All API requests require authentication via an API key passed in the Authorization header. See Authentication for details on generating and using API keys.
Response Format
All responses are returned as JSON. Successful responses include a data field, while a failure is an RFC 9457 problem details document served as application/problem+json. See Errors for the format and every problem type.
Identifiers
Every resource is identified by a prefixed string such as mon_01h455vb4pex5vsknk084sn02q. The prefix names the kind of resource the id points at — mon_ for an HTTP monitor, alt_ for an alert, sp_ for a status page — and each resource page lists the prefix it uses.
Send these ids back exactly as you received them, in both path segments and request bodies. An id whose prefix names another resource is refused rather than resolved, so a monitor id can never be mistaken for an alert id. Endpoints answer a 400 validation-error problem for an id they cannot read, except where a resource page documents otherwise.
OpenAPI Document
The whole API is described by an OpenAPI 3.1 document at https://uptime.sergiodxa.com/api/v1/openapi.json (add ?format=yaml for YAML). It needs no API key, and any OpenAPI tool can read it to generate a client or explore the endpoints. Each resource page's scopes, errors and schemas come from the same document.
Available Resources
Status - Check API health and your account status
Ping - Run a one-off HTTP, DNS or TCP check without creating a monitor
HTTP Monitors - Monitor websites and HTTP endpoints
DNS Monitors - Watch a domain's DNS records for changes
TCP Monitors - Monitor TCP ports and services
Flow Monitors - Run a multi-request spec on a schedule
Cron Jobs - Monitor scheduled tasks and cron jobs
Alerts - Configure alert channels and notifications
Status Pages - Manage public and private status pages
Maintenance Windows - Schedule maintenance periods
Team - Manage team members and permissions
Invites - Send and manage team invitations
API Keys - Create and revoke API keys
Updating Resources
Resources are updated with PATCH and an RFC 7396 JSON merge patch, sent as Content-Type: application/merge-patch+json (application/json is read the same way):
A field you include is set to its new value; a field you leave out keeps its value.
nullremoves a field: a nullable field is cleared, and a field with a default takes that default.The patched resource must satisfy the same rules as a new one, so a required field cannot be removed.
Arrays are replaced whole.
Any other media type answers 415 with an Accept-Patch header. The PUT endpoints that predate PATCH keep working with their own rules, described on each resource's page.
Pagination
Every endpoint that returns a list serves one page at a time and advertises the next in the Link header. See Pagination for how to walk a list from end to end.
Rate Limits
The two ping endpoints are rate limited, and their responses report the quota in RateLimit headers. See Rate Limits for the limits and how to handle a 429.