API Reference - RESTful API for Automation

Zero-downtime reliability for modern cloud apps

Browse Endpoints Run Quickstart
Resource Management

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.

Security & Access

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.

Developer Toolkit

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"}