API Documentation
Build with the pyrx.uptime API
Full REST API for managing monitors, retrieving data, and integrating with your infrastructure. Automate everything from monitor creation to incident response.
RESTful API
Standard REST endpoints with JSON request/response bodies. Predictable resource-based URLs and HTTP methods.
API Key Auth
Authenticate with scoped API keys. Create read-only keys for dashboards and read-write keys for automation.
OpenAPI Spec
Full OpenAPI 3.1 specification available for code generation. Generate typed clients in any language.
Webhooks
Receive real-time event notifications via webhooks. HMAC-signed payloads for security verification.
Authentication
Simple API key authentication
Generate API keys from your dashboard with granular scopes. Include the key in the Authorization header of every request.
Read-only keys: Safe for dashboards and monitoring tools. Cannot create or modify resources.
Read-write keys: Full access for automation and CI/CD. Can create, update, and delete resources.
Request Header
Authorization: Bearer pyrx_live_abc123...
# Example request
curl -X GET "https://api.pyrx.uptime.dev/v1/monitors" \
-H "Authorization: Bearer pyrx_live_abc123..." \
-H "Content-Type: application/json"
# Response
{
"data": [...],
"pagination": {
"page": 1,
"per_page": 25,
"total": 42
}
}Quick Start
Get started in any language
curl -X GET "https://api.pyrx.uptime.dev/v1/monitors" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"import requests
response = requests.get(
"https://api.pyrx.uptime.dev/v1/monitors",
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
monitors = response.json()["data"]
for monitor in monitors:
print(f"{monitor['name']}: {monitor['status']}")const response = await fetch(
"https://api.pyrx.uptime.dev/v1/monitors",
{
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
}
);
const { data: monitors } = await response.json();
monitors.forEach(m => console.log(`${m.name}: ${m.status}`));req, _ := http.NewRequest("GET",
"https://api.pyrx.uptime.dev/v1/monitors", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result struct {
Data []struct {
Name string `json:"name"`
Status string `json:"status"`
} `json:"data"`
}
json.NewDecoder(resp.Body).Decode(&result)Endpoints
API reference
Key endpoints for the pyrx.uptime REST API.
/v1/monitorsList all monitors/v1/monitorsCreate a monitor/v1/monitors/:idGet monitor details/v1/monitors/:idUpdate a monitor/v1/monitors/:idDelete a monitor/v1/monitors/:id/checksGet check history/v1/incidentsList incidents/v1/status-pagesList status pages/v1/heartbeats/:id/pingHeartbeat pingStart building with the API
Get your API key and start integrating in minutes. Full documentation and code examples included.
No credit card required. Free plan available forever.