API Reference - StatusPulse

Enterprise-grade uptime monitoring for DevOps

Generate API Key Browse SDKs

Endpoints

Interact with the StatusPulse platform using our versioned REST API. All requests are made over HTTPS to api.statuspulse.io/v1 and require Bearer token authentication. Resources are scoped to your organization tenant.

GET /v1/monitors

Retrieve Monitor Inventory

Fetch all active and paused monitors across your account. Supports filtering by region (us-east-1, eu-west-2, ap-southeast-1), protocol (HTTPS, TCP, ICMP, DNS), and check interval (30s, 60s, 300s). Returns up to 100 records per page with cursor-based pagination.

POST /v1/incidents

Create & Manage Incidents

Programmatically trigger maintenance windows or report service degradation. Assign severity levels (P1-Critical, P2-High, P3-Low), attach affected components, and push real-time status updates to connected Slack, PagerDuty, and Teams channels.

PATCH /v1/status-pages

Update Public Status Pages

Modify theme settings, component visibility, and subscriber email templates. Supports webhook-driven auto-updates when monitor states change, ensuring your customer-facing dashboard reflects 99.99% uptime SLA compliance in real time.

Examples

Copy-paste ready cURL commands and JSON payloads to integrate StatusPulse into your CI/CD pipelines, infrastructure-as-code deployments, and incident response workflows.

Authentication

Bearer Token Flow

Include your organization secret in the Authorization header. Tokens are scoped to read-only or admin privileges. Rotate keys quarterly via the dashboard or using the POST /v1/auth/rotate endpoint to maintain audit compliance.

cURL Request

Provision a New HTTPS Check

curl -X POST https://api.statuspulse.io/v1/monitors -H "Authorization: Bearer sk_live_8f3a9c2d1e" -H "Content-Type: application/json" -d '{"name": "checkout-api", "url": "https://api.acme-corp.com/health", "interval_seconds": 60, "regions": ["us-west-2", "eu-central-1"]}'

JSON Response

Payload Structure

Returns a 201 Created status with a JSON object containing monitor_id, created_at timestamp, current_state (operational, degraded, down), and a direct link to the public status component. Rate limited to 200 requests per minute per API key.

Errors

StatusPulse uses conventional HTTP response codes to indicate success or failure. All error responses return a JSON body with a machine-readable error code, a human-readable message, and a request_id for support ticket correlation.

401 Unauthorized

Invalid or Expired Token

The provided Bearer token does not match any active API keys in your StatusPulse tenant. Verify your sk_live_ prefix and ensure the key hasn't been revoked in the Security & Access settings.

422 Unprocessable Entity

Validation Failure

Request payload contains invalid monitor configuration. Common triggers include non-standard port ranges, malformed health-check URLs, duplicate monitor names, or exceeding the 255-character limit on component labels.

429 Too Many Requests

Rate Limit Exceeded

You have surpassed the 200 requests per minute threshold for your current tier. Implement exponential backoff starting at 500ms and monitor the X-RateLimit-Remaining and X-RateLimit-Reset headers to avoid service interruption.