OverviewGetting StartedAPI Reference

PulseAPI Documentation

PulseAPI monitors your API endpoints and alerts you when things go wrong. These docs cover setup, the REST API, and key concepts.

Key Concepts

Endpoints

URLs you want to monitor. Each endpoint is checked at a configurable interval (1 min to 1 hour) via HTTP.

Checks

Individual monitoring probes. Each check records status code, response time, and optional assertion results.

Alerts

Triggered automatically after 2+ consecutive failures. Recovery alerts fire when the endpoint comes back. Slow response alerts are rate-limited to 1/hour.

Status Pages

Public-facing pages showing endpoint health, uptime bars, and incidents. Support custom domains and branding.

Incidents

Track outages with timeline updates, severity levels, and postmortems. Subscribers are notified automatically.

Base URL

https://api.pulseapi.tech

All API endpoints are relative to this base URL.

Public endpoints (no auth required)

These endpoints serve the same data your customers see on the hosted status page. Safe to call from the browser; perfect for embedding status into your own app, README, or docs.

GET/status/:slugStatus data

JSON with page metadata, overall status, endpoint statuses, uptime arrays, incidents, and components.

SSE/sse/status/:slugRealtime stream (SSE)

Server-Sent Events stream — receive status changes, new incidents, and check results the instant they happen. No polling.

GET/badge/:slug/uptime.svgEmbeddable badges

Shields.io-compatible SVG badges for uptime percentage, current status, and average response time. Drop into any README or landing.

Realtime example

const es = new EventSource('https://api.pulseapi.tech/sse/status/acme')

es.addEventListener('status:changed', (e) => {
  const payload = JSON.parse(e.data)
  updateBanner(payload.status)
})

es.addEventListener('incident:created', (e) => {
  showNotification(JSON.parse(e.data))
})

Quick Example

# Create an API key in Dashboard > Settings > API Keys, then:

# List your endpoints
curl -H "Authorization: pk_live_abc123..." \
  https://api.pulseapi.tech/endpoints

# Create a new endpoint
curl -X POST https://api.pulseapi.tech/endpoints \
  -H "Authorization: pk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name":"My API","url":"https://api.example.com/health","method":"GET","checkInterval":300,"timeout":10}'

# Check uptime stats
curl -H "Authorization: pk_live_abc123..." \
  "https://api.pulseapi.tech/endpoints/ENDPOINT_ID/stats?period=24h"

Ready to start? Read the Getting Started or jump to the API Reference.