NovaTeraLabs

DEVELOPER REFERENCE

NovaTeraLabs API

A read-only API for pulling your own account's data into your own tools — scripts, SIEMs, alerting systems, whatever you already use.

Authentication

Every request needs your account's API key in an X-API-Key header. Find (or regenerate) your key on your dashboard, in the "Connect Your Server" panel.

curl https://novateralabs.com/api/v1/metrics \
  -H "X-API-Key: your-api-key-here"

A missing or invalid key returns 401. An account without an active subscription returns 402 (the owner's own key is always exempt).

Each account can make up to 60 requests per minute. Every response includes RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (seconds until the window resets) headers. Going over returns 429 with a Retry-After header.

GET /api/v1/metrics

Your account's latest reported CPU/RAM/uptime snapshot.

{
  "received": true,
  "cpuLoad": 12.5,
  "ramUsage": 40.2,
  "uptimeMinutes": 1000,
  "reportedAt": "2026-09-21T00:00:00.000Z"
}

If your agent hasn't reported anything yet, this returns { "received": false }.

GET /api/v1/security-events

Your account's currently-reported security events (the same data shown on your dashboard's "Recent security events" list).

{
  "events": [
    {
      "source": "linux",
      "severity": "critical",
      "type": "Auth Log",
      "message": "Failed password for root",
      "ip": "203.0.113.5",
      "timestamp": "2026-09-21T00:00:00.000Z",
      "abuseScore": 87,
      "countryCode": "RU",
      "isMalicious": true
    }
  ]
}

GET /api/v1/compliance-log

Your account's full retained security-event history (up to a year), as JSON. Optional from/to query params (ISO 8601 timestamps) filter by date range. For a downloadable file instead, use the "Download CSV" button on your dashboard.

GET /api/v1/compliance-log?from=2026-01-01T00:00:00.000Z

{
  "events": [
    { "source": "linux", "severity": "critical", "type": "Auth Log",
      "message": "Failed password for root", "ip": "203.0.113.5",
      "isMalicious": true, "timestamp": "2026-09-21T00:00:00.000Z" }
  ]
}