Docs API Reference

API Reference

Programmatic access to all is0k data. Integrate monitoring status into your own dashboards, tools, and workflows.

Interactive Swagger Docs → Base URL: https://api.is0k.com/api/v1
API access is available on Pro, Business, and Enterprise plans. Upgrade your plan →

Authentication

All API requests require authentication via an API key. Generate API keys from your dashboard under Settings → API Keys.

Pass the key in the Authorization header:

curl https://api.is0k.com/api/v1/monitors \
  -H "Authorization: Bearer is0k_live_xxxxxxxxxxxx"
Security: API keys are shown only once at creation time. Store them securely (e.g., environment variables). If a key is compromised, delete it and create a new one. Keys are stored as SHA-256 hashes — we cannot recover them.

Endpoints

Monitors

GET /monitors List all monitors
POST /monitors Create a monitor
GET /monitors/:id Get a monitor
PUT /monitors/:id Update a monitor
DELETE /monitors/:id Delete a monitor
POST /monitors/:id/pause Pause a monitor
POST /monitors/:id/resume Resume a monitor
GET /monitors/:id/checks List check history (paginated)
GET /monitors/:id/stats Get uptime stats

Alert Channels

GET /alert-channels List alert channels
POST /alert-channels Create an alert channel
PUT /alert-channels/:id Update an alert channel
DELETE /alert-channels/:id Delete an alert channel
POST /alert-channels/:id/test Send a test notification

Status Pages

GET /status-pages List status pages
POST /status-pages Create a status page
PUT /status-pages/:id Update a status page
DELETE /status-pages/:id Delete a status page

Incidents

GET /incidents List incidents
POST /incidents Create an incident
PUT /incidents/:id Update an incident
POST /incidents/:id/updates Add an incident update

Rate Limits

API requests are rate limited per API key. Rate limit headers are included in every response:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1735689600
Plan Requests / minute
Pro 100 req/min
Business 500 req/min
Enterprise Custom

Response Format

All API responses use a consistent JSON envelope:

// Success
{
  "data": { ... },
  "error": null
}

// Error
{
  "data": null,
  "error": {
    "code": "MONITOR_NOT_FOUND",
    "message": "Monitor with ID mon_abc123 not found"
  }
}