Every endpoint of the ShxrkSystems REST API, grouped by resource.
Base URLs
| API |
Base URL |
| Uptime API |
https://api.shxrk.systems/api/v1/uptime |
| Uptime API v2 (beta features) |
https://api.shxrk.systems/api/v2/uptime |
| Core API (account, tokens, billing) |
https://api.shxrk.systems/api/v1 |
All endpoints accept and return JSON. IDs are UUIDs. Authenticate with Authorization: Bearer sk_shx_... — see Authentication. Write access follows the authenticated user's permissions; status-page member roles (admin, editor, viewer) apply on member-shared pages.
Errors return { "error": "<message>" } with a matching HTTP status — 400 invalid input, 401 missing/invalid credentials, 403 insufficient permission or plan limit, 404 not found, 429 rate limited.
Interactive: browse schemas and send test requests in the API Explorer, or import /openapi.json into Postman/Insomnia.
Account & API tokens
| Method |
Path |
Description |
| GET |
/api/v1/user/api-tokens |
List your tokens (never exposes secrets) |
| POST |
/api/v1/user/api-tokens |
Create a token — plaintext returned once |
| DELETE |
/api/v1/user/api-tokens/:id |
Revoke a token immediately |
| GET |
/api/v1/billing/status |
Current plan, seats and usage |
| GET |
/api/v1/notifications |
In-app notifications |
| GET |
/api/v1/overview |
Uptime dashboard overview (also under /uptime/overview) |
| GET |
/uptime/tier-info |
Your plan's tier and limits |
Monitors
| Method |
Path |
Description |
| GET |
/monitors |
List monitors (?status_page_id= to filter) |
| POST |
/monitors |
Create a monitor |
| GET |
/monitors/:id |
Monitor detail |
| PUT |
/monitors/:id |
Update a monitor |
| DELETE |
/monitors/:id |
Delete a monitor |
| GET |
/monitors/:id/latency-baseline |
Learned latency baseline |
| PUT |
/monitors/order |
Reorder monitors (monitors: [{id, order}], single transaction) |
Create/update fields (all optional except name, type, target on create):
| Field |
Type |
Notes |
status_page_id |
uuid |
Owning status page |
group_id |
uuid |
Monitor group |
type |
enum |
http ping tcp udp dns smtp pop3 imap telnet postgres mysql redis ssl domain agent heartbeat api game_server composite — plus agent-executed infra types: docker podman docker_swarm kubernetes proxmox vmware ceph rabbitmq kafka mqtt snmp network_device |
target |
string |
URL, host, host:port or query target |
interval |
int |
Seconds between checks (plan-limited) |
http_method |
enum |
GET POST PUT DELETE PATCH HEAD OPTIONS |
http_headers / http_body |
string |
Custom request headers / body |
expected_status |
int |
Expected HTTP status code |
expected_body_match_type |
enum |
contains exact regex not_contains |
expected_body / expected_keywords |
string |
Body / keyword assertions |
latency_threshold_ms |
int |
Over this the monitor reports degraded |
follow_redirects / verify_ssl |
bool |
HTTP behavior flags |
failure_threshold |
int |
1–20 consecutive failures before down |
recovery_threshold |
int |
1–20 consecutive successes before up |
degraded_timeout_seconds |
int |
Stale-after timeout for push monitors |
expected_interval |
int |
Heartbeat interval in seconds (10–86400) |
auto_create_incident / auto_publish_incident |
bool |
Incident automation |
incident_severity |
enum |
minor major critical |
game_type |
enum |
fivem minecraft rust cs2 ark valheim custom |
query_method |
enum |
query rest_api push tcp_connect |
query_port |
int |
Game query port |
regions |
string[] |
Checking regions (plan-limited) |
Status pages
| Method |
Path |
Description |
| GET |
/status-pages |
List your status pages |
| POST |
/status-pages |
Create (name, slug, description, custom_domain, show_branding, …) |
| GET |
/status-pages/check-slug |
Slug availability (?slug=) |
| GET |
/status-pages/member-of |
Pages you are a member of |
| GET / PUT / DELETE |
/status-pages/:id |
Read / update / delete |
| PUT |
/status-pages/:id/ssl |
Custom-domain SSL config |
| PUT |
/status-pages/:id/legal |
Imprint / privacy links |
| GET |
/status-pages/:id/monitors |
Monitors on the page |
| GET |
/status-pages/:id/groups |
Groups on the page |
| GET |
/status-pages/:id/incidents |
Incidents on the page |
| GET |
/status-pages/:id/incidents/stats |
Incident statistics |
| GET |
/status-pages/:id/maintenance |
Maintenance windows |
| GET |
/status-pages/:id/seats |
Seat usage |
Members
| Method |
Path |
Description |
| GET |
/status-pages/:id/members |
List members |
| POST |
/status-pages/:id/members |
Invite by email (email, role: admin/editor/viewer/custom, capabilities for custom) |
| POST |
/status-pages/members/accept |
Accept an invitation |
| PUT |
/status-pages/:id/members/:member_id |
Change role |
| DELETE |
/status-pages/:id/members/:member_id |
Remove member |
| DELETE |
/status-pages/:id/members/invitations/:invitation_id |
Cancel a pending invite |
SLA
| Method |
Path |
Description |
| GET |
/status-pages/:id/sla |
SLA summary |
| GET / PUT |
/status-pages/:id/sla-targets |
SLA targets |
| GET |
/status-pages/:id/sla/export |
Export SLA report |
| GET / PUT |
/status-pages/:id/sla-policy |
Assigned SLA policy |
| GET / POST |
/sla-policies |
List / create policies |
| GET / PUT / DELETE |
/sla-policies/:id |
Manage a policy |
On-call
| Method |
Path |
Description |
| GET / PUT / DELETE |
/status-pages/:id/on-call |
Active on-call policy |
| GET / POST |
/status-pages/:id/on-call/policies |
Policies |
| PUT / DELETE |
/status-pages/:id/on-call/policies/:policyId |
Manage a policy |
| GET / POST |
/status-pages/:id/on-call/schedules |
Rotation schedules |
| GET / PUT / DELETE |
/status-pages/:id/on-call/schedules/:scheduleId |
Manage a schedule |
Event rules (v1 + v2)
| Method |
Path |
Description |
| GET / POST |
/status-pages/:id/events/rules |
List / create rules |
| PUT / DELETE |
/status-pages/:id/events/rules/:rule_id |
Manage a rule |
| GET |
/status-pages/:id/events/log |
Custom event log |
| POST |
/status-pages/:id/events/emit |
Emit a custom event |
Rule fields: event_name, display_name, classification (public/team_only), conditions (JSON), alert_channels, cooldown_seconds, is_enabled, optional monitor_id, agent_id, incident_template_id.
Incident templates (v1 + v2)
| Method |
Path |
Description |
| GET / POST |
/status-pages/:id/incident-templates |
List / create templates |
| PUT / DELETE |
/status-pages/:id/incident-templates/:template_id |
Manage a template |
Alert setup (status-page webhooks)
| Method |
Path |
Description |
| GET / POST |
/status-pages/:id/alert-setup |
List / add alert webhook |
| PUT / DELETE |
/status-pages/:status_page_id/alert-setup/:id |
Update / remove |
| POST |
/status-pages/:status_page_id/alert-setup/:id/test |
Test delivery |
Discord
| Method |
Path |
Description |
| POST |
/status-pages/:id/discord/token |
Discord bot link token |
| GET |
/status-pages/:id/discord/status-channels |
Linked status channels |
| DELETE |
/discord/status-channels/:id |
Unlink a status channel |
Groups
| Method |
Path |
Description |
| GET |
/groups |
List (?status_page_id= to filter) |
| POST |
/groups |
Create (name, status_page_id) |
| PUT |
/groups/order |
Reorder (status_page_id, groups: [{id, order}]) |
| PUT / DELETE |
/groups/:id |
Rename / delete |
Agents
| Method |
Path |
Description |
| GET |
/agents |
List agents |
| POST |
/agents |
Create (name, hostname, status_page_id) |
| GET |
/agents/token |
Generate an install token |
| GET |
/agents/:agent_id |
Agent detail |
| GET |
/agents/:agent_id/detail |
Extended detail |
| GET |
/agents/:agent_id/metrics |
Recent metrics |
| PUT / DELETE |
/agents/:agent_id |
Update / delete |
Public agent endpoints (/agents/version, /agents/install, /agents/handshake, /agents/enroll, /agents/metrics, /agents/events, /agents/discoveries, /agents/monitors, /agents/commands, /monitors/:id/status) are used by the agent binary itself with its own credentials (X-Agent-Token).
Incidents
| Method |
Path |
Description |
| GET |
/incidents |
List |
| POST |
/incidents |
Create (status_page_id, title, severity, monitor_ids, is_public, …) |
| GET / PUT / DELETE |
/incidents/:id |
Read / update / delete |
| POST |
/incidents/:id/updates |
Add timeline update |
| POST |
/incidents/:id/publish |
Make public on the status page |
| POST |
/incidents/:id/unpublish |
Hide from the status page |
Severity: minor major critical. Status: investigating identified monitoring resolved.
Maintenance
| Method |
Path |
Description |
| GET |
/maintenance |
List windows |
| POST |
/maintenance |
Create (status_page_id, title, start_time, end_time, targets, recurrence fields) |
| GET / PUT / DELETE |
/maintenance/:id |
Manage a window |
| GET / POST |
/maintenance/:id/updates |
Timeline updates |
| PUT / DELETE |
/maintenance/:id/updates/:update_id |
Manage an update |
Recurrence: recurrence_type (none/daily/weekly/monthly), recurrence_interval, recurrence_end_date, recurrence_day_of_week, recurrence_day_of_month.
Webhooks (account level)
| Method |
Path |
Description |
| GET |
/webhooks |
List webhooks |
| POST |
/webhooks |
Create (name, url, provider, secret, events, status_page_id) |
| GET / PUT / DELETE |
/webhooks/:id |
Manage |
| POST |
/webhooks/:id/test |
Test delivery |
| PATCH |
/webhooks/:id/toggle |
Toggle is_active |
| PATCH |
/webhooks/:id/team-only |
Toggle team_only |
Providers: discord slack telegram generic — see Webhooks.
| Method |
Path |
Description |
| GET / POST |
/notify-contacts |
List / create notify contacts |
| DELETE |
/notify-contacts/:id |
Remove a contact |
| GET |
/subscribers |
Status-page subscribers |
Audit
| Method |
Path |
Description |
| GET |
/audit-logs · /audit/logs |
Audit log (?monitor_id= or ?status_page_id=, ?event_type=, limit, offset) |
| GET |
/audit/stats |
Aggregate stats |
| GET |
/audit/status-page/:id/daily-events |
Daily event rollups |
| GET |
/audit/monitor/:id/events |
Monitor event timeline |
Referrals
| Method |
Path |
Description |
| GET |
/referrals/stats |
Referral stats and credits |
| POST |
/referrals/redeem |
Redeem credits |
| POST |
/referrals/click |
Track a referral click (public) |
API monitoring (v1 + v2)
| Method |
Path |
Description |
| POST |
/api-monitoring/push |
Push metrics (push-key auth, unauthenticated user route) |
| GET |
/api-monitoring/monitors/:id |
Config + state |
| PUT |
/api-monitoring/monitors/:id/config |
Update widgets, thresholds, interval |
| GET |
/api-monitoring/monitors/:id/metrics |
Recent pushed metrics |
| POST |
/api-monitoring/monitors/:id/regenerate-key |
Rotate push key |
See API Monitoring for the push payload.
Game server monitoring (v2, beta)
Requires beta access — all routes under /api/v2/uptime.
| Method |
Path |
Description |
| GET |
/game-server/monitors |
List |
| GET |
/game-server/monitors/:id |
Detail |
| PUT |
/game-server/monitors/:id/config |
Update config |
| GET |
/game-server/monitors/:id/metrics |
Recent metrics |
| GET |
/game-server/monitors/:id/plugin |
Download the server plugin |
| POST |
/game-server/monitors/:id/regenerate-key |
Rotate push key |
| POST |
/game-server/push |
Push metrics (push-key auth) |
See Game Server Monitoring for the push payload.
Push endpoints
Token-authenticated — no user session needed, each credential is scoped to a single monitor:
| Method |
Path |
Description |
| POST |
/heartbeat/:monitor_id |
Heartbeat push — Authorization: Bearer <hb_ token> or ?token= |
| POST |
/api-monitoring/push |
API metric push — Authorization: Bearer <push_key> |
| POST |
/api/v2/uptime/game-server/push |
Game server metric push — Authorization: Bearer <push_key> |
Agent endpoints
Used by the agent binary itself with its own credentials (not user tokens):
| Method |
Path |
Description |
| GET |
/agents/version |
Version manifest for self-update |
| GET |
/agents/install |
Install script download |
| POST |
/agents/handshake |
Agent registration/handshake |
| POST |
/agents/enroll |
Enrollment-token registration |
| POST |
/agents/metrics |
Metric ingestion |
| POST |
/agents/events |
Security event ingestion |
| POST |
/agents/discoveries |
Discovered service ingestion |
| GET |
/agents/monitors |
Monitor list for the agent |
| GET |
/agents/commands |
Pending commands poll |
| POST |
/agents/commands/:id/ack |
Command acknowledgement |
| POST |
/monitors/:id/status |
Check-result submission (X-Agent-Token) |
Health
| Method |
Path |
Description |
| GET |
/health |
Service health (also /api/v1/uptime/health) |