API Reference - RESTful API for Automation
Zero-downtime reliability for modern cloud apps
Endpoints
Provision uptime monitors, query historical performance data, and configure alert routing through our versioned REST interface. All responses are JSON-encoded with consistent pagination and error handling.
POST /v2/monitors
Create HTTP, TCP, or SSL certificate monitors. Supports custom intervals (30s to 24h), geographic distribution across 14 global probe locations, and maintenance window scheduling. Returns `201 Created` with a unique monitor ID.
GET /v2/monitors/{id}/status
Fetch real-time health metrics including response time (ms), TLS expiry days, and consecutive success/failure counts. Returns structured uptime percentages for 24h, 7d, and 30d windows with `200 OK`.
PUT /v2/alerts/{id}/routing
Update notification channels for incident escalation. Integrate with PagerDuty, Slack, or custom webhook endpoints. Configure deduplication windows and severity thresholds (P1 to P3) to prevent alert fatigue.
Auth
All StatusPulse API requests require a valid API key passed in the `Authorization` header. Keys are scoped to your organization and support fine-grained read/write permissions aligned with RBAC policies.
Header Configuration
Generate keys in Settings > API Access. Keys follow the format sp_live_ for production and sp_test_ for sandbox environments. Rotate keys quarterly to comply with SOC 2 Type II standards.
Authorization: Bearer sp_live_8a9f2c1d4e5b6f7g8h9i0j1k2l3m4n5o
Rate limits: 1,200 requests/minute for standard tier, 5,000 requests/minute for enterprise. Exceeding limits returns 429 Too Many Requests with a Retry-After header.
Examples
Copy-paste ready curl commands to accelerate your integration workflow. All examples use the sp_test_ sandbox key and point to api.statuspulse.io.
Create a Multi-Region HTTP Monitor
curl -X POST https://api.statuspulse.io/v2/monitors \
-H "Authorization: Bearer sp_test_9x8c7v6b5n4m3l2k1j0h" \
-H "Content-Type: application/json" \
-d '{"name": "Checkout API Gateway", "url": "https://checkout.acme-corp.com/health", "interval_seconds": 60, "regions": ["us-east-1", "eu-west-1", "ap-southeast-2"], "expected_status": 200}'
Query 30-Day Uptime History
curl -X GET "https://api.statuspulse.io/v2/monitors/mtr_4f8a2c/status?window=30d&format=csv" \
-H "Authorization: Bearer sp_test_9x8c7v6b5n4m3l2k1j0h" \
-o uptime_report_oct2024.csv
Pause Monitoring During Deploys
curl -X POST https://api.statuspulse.io/v2/monitors/mtr_4f8a2c/maintenance \
-H "Authorization: Bearer sp_test_9x8c7v6b5n4m3l2k1j0h" \
-H "Content-Type: application/json" \
-d '{"start": "2024-11-15T02:00:00Z", "end": "2024-11-15T04:00:00Z", "reason": "Scheduled database migration v4.2.1"}