Developer API

API documentation

Programmatic access to PULSX monitoring. Create, manage, and query monitors via our REST API.

Sign in to issue keys

API access is free for everyone. Create an account to issue your first key from Settings → API.

Authentication

All API requests authenticate with an API key in the Authorization header. Keys start with px_live_ and are issued from your dashboard once you sign up.

Authorization: Bearer px_live_xxxxxxxxxxxx

Note: Keep your API key secret. It can read and modify the resources its scopes cover. Revoke compromised keys immediately from Settings → API.

Scopes

Each key has one or more scopes. Endpoints reject requests whose key is missing the required scope with a 403.

  • monitors:readRead monitors and their status
  • monitors:writeCreate, update, and delete monitors
  • incidents:readRead incidents and their details
  • status:readRead status pages (public)

Base URL

https://pulsx.net/api/v1

Endpoints

GET/api/v1/monitorsmonitors:read

List all your monitors

Response

{
  "success": true,
  "data": {
    "monitors": [...],
    "total": 5
  }
}
POST/api/v1/monitorsmonitors:write

Create a new monitor

Request body

{
  "name": "My Website",
  "url": "https://example.com",
  "type": "http",
  "interval": 5
}

Response

{
  "success": true,
  "data": {
    "id": "cm...",
    "name": "My Website",
    ...
  }
}
GET/api/v1/monitors/:idmonitors:read

Get monitor details with metrics

Response

{
  "success": true,
  "data": {
    "id": "cm...",
    "currentState": { "status": "up", ... },
    "metrics": { "uptime30d": 99.95, ... }
  }
}
PATCH/api/v1/monitors/:idmonitors:write

Update a monitor

Request body

{
  "name": "Updated Name",
  "interval": 1
}
DELETE/api/v1/monitors/:idmonitors:write

Delete a monitor

GET/api/v1/monitors/:id/incidentsincidents:read

List incidents for a monitor

Example: create a monitor

curl -X POST https://pulsx.net/api/v1/monitors \
  -H "Authorization: Bearer px_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Website",
    "url": "https://example.com",
    "type": "http",
    "interval": 5
  }'

Rate limits

  • Per API key1000 req/min

Limits are per key over a sliding one-minute window. Responses include X-RateLimit-Remaining so you can back off before hitting them.

Ready to integrate?

Sign up free to issue your first API key. API access is included for everyone.