Documentation
Get started with ServerIQ
Everything you need to set up monitoring, configure alerts, and manage your infrastructure.
Quick Start
Create your account
Sign up at app.serveriq.io. You'll land on your dashboard with zero servers — ready to go.
Register a server
Click "Add Server" and give it a name. You'll get a unique server key used to authenticate the monitoring agent.
Install the agent
Install the lightweight ServerIQ agent on your Linux or Windows server. The agent authenticates with your server key and starts streaming metrics immediately.
Configure alerts
Set threshold-based alert rules (e.g. CPU > 90% for 3 consecutive checks). Route notifications to Slack, email, SMS, or webhooks.
Metrics collected
CPU
Usage %, per-core, load averages (1m/5m/15m), I/O wait
Memory
Used/total RAM, swap usage, memory pressure
Disk
Per-partition usage, inode count, RAID status (mdadm)
Network
RX/TX bytes per interface, active connections, ping latency
Processes
Running process list with CPU/memory per process
Events
System event logs (Linux syslog, Windows Event Viewer)
Alerts & Notifications
Create alert rules per server with configurable thresholds. Each rule supports comparison operators (=, >, >=, <, <=, !=), occurrence-based triggering to avoid false alarms, and repeat intervals to prevent notification fatigue.
Notification channels
Alert rule options
Teams & RBAC
Create teams, invite members via email, and assign roles. Each user gets a personal team on signup. Team invitations expire after 7 days.
Roles
- Admin — full access to all resources
- Client — standard access with restrictions
- Custom roles — define your own permission sets
Team features
- Email invitations with accept/decline flow
- Multiple teams per organization
- Shared servers and contacts across teams
- Owner and Member team roles
Security
- Login activity tracking (IP, device, location)
- JWT + refresh token rotation
- API key authentication with SHA-256 hashing
- Cloudflare Turnstile CAPTCHA
API Reference
Every feature is available through the REST API at /api/v2. Authenticate with JWT tokens (interactive) or API keys (programmatic).
# Query server metrics (last hour, 5-minute resolution)
curl -X GET "https://api.serveriq.io/api/v2/servers/1/metrics?\
timeRange=1h&resolution=5m" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
# Response
{
"data": [
{
"timestamp": "2026-03-31T15:00:00Z",
"cpu_usage": 23.4,
"memory_used": 6841237504,
"memory_total": 16777216000,
"disk_usage": 42.1,
"network_rx": 1024000,
"network_tx": 512000
}
]
}Available endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v2/servers | List all servers |
| POST | /api/v2/servers | Register a new server |
| GET | /api/v2/servers/:serverId/metrics | Query server metrics |
| POST | /api/v2/servers/:serverId/alert-rules | Create an alert rule |
| GET | /api/v2/incidents | List incidents |
| PATCH | /api/v2/incidents/:id | Update incident status |
| POST | /api/v2/teams | Create a team |
| POST | /api/v2/team-invitations | Invite a team member |
| GET | /api/v2/contacts | List notification contacts |
| POST | /api/v2/api-keys | Generate an API key |
| GET | /api/v2/activity-logs | Query activity audit log |
Metrics query parameters
| Parameter | Type | Description |
|---|---|---|
| timeRange | string | Relative range: 5m, 15m, 30m, 1h, 3h, 6h, 12h, 24h, 48h, 72h, 7d, 30d |
| start | ISO 8601 | Absolute start timestamp (alternative to timeRange) |
| end | ISO 8601 | Absolute end timestamp (requires start) |
| resolution | string | Downsampling interval: 1m, 5m, 1h, 1d, etc. |
Ready to get started?
Create a free account and start monitoring your first server in minutes.