Personal access tokens & API
How to create tokens, common endpoints, idempotency, rate limits.
Creating a token
Section titled “Creating a token”Settings → API tokens → Generate token. Pick a name and a scope (currently single-scope: full org-level read/write). Pulse shows the token once; copy it then.
Using a token
Section titled “Using a token”curl -fsS https://pulse.example.com/api/v1/monitors \ -H "Authorization: Bearer pat_..."Tokens carry the issuing user’s permissions in their active org. Revoke from the same page.
Common endpoints
Section titled “Common endpoints”GET /api/v1/healthzGET /api/v1/monitorsPOST /api/v1/monitorsGET /api/v1/monitors/:idPATCH /api/v1/monitors/:idDELETE /api/v1/monitors/:id
GET /api/v1/incidentsPOST /api/v1/incidents # manual declarePOST /api/v1/incidents/:id/ackPOST /api/v1/incidents/:id/resolve
GET /api/v1/alerts/rulesPOST /api/v1/alerts/rules
GET /api/v1/status-pagesPOST /api/v1/status-pagesPOST /api/v1/status-pages/:id/incidents # link / publishDELETE /api/v1/status-pages/:id/incidents/:incid
GET /api/v1/overview # dashboard payloadGET /api/v1/metrics # Prometheus exposition
GET /api/v1/public/:slug # public status JSON bundleGET /status/:slug # public status HTML (no auth)GET /status/:slug/rss.xml # RSS feed (no auth)Idempotency
Section titled “Idempotency”State-changing endpoints accept Idempotency-Key (any string up to 128 chars). Pulse caches the response keyed by (key, org, method, path) for 24 hours; replays return the original response. Use for retries during incidents.
Rate limits
Section titled “Rate limits”- Unauthenticated: 30 req/min/IP.
- Authenticated: 300 req/min/user.
- Heartbeat endpoint: per-token, unmetered (it’s the whole point).
Exceeds return 429 Too Many Requests with Retry-After.