iPerium

Developers

Status API

Query current status, incidents and scheduled maintenance from your own tools, dashboards and monitoring. Read only, JSON, versioned under /api/v1.

You need an API key to call the endpoints. Sign in with the email you subscribed with to request one (you can hold up to 5).

Sign in to request a key

Authentication

Send your key as a bearer token on every request; the X-Api-Key header works as an alternative. Keys look like mnst_... and are shown once at creation.

Authorization: Bearer YOUR_API_KEY
# or
X-Api-Key: YOUR_API_KEY

Quick start

Test your key in ten seconds:

curl -s -H "Authorization: Bearer YOUR_API_KEY" https://iperium-status.managednet.systems/api/v1/status

A 200 with JSON means you are in. A 401 means the key is missing, mistyped or revoked.

GET

/api/v1/status

The full picture: overall status, every visible category and component with its current status and 90-day uptime percentage. A category nests locations (state, data centre or POP), each with its components; a category with no locations carries its components directly. Add ?strip=1 for the per-day uptime cells behind the strips.

curl -s -H "Authorization: Bearer YOUR_API_KEY" \
     https://iperium-status.managednet.systems/api/v1/status
Example response
{
  "overall": { "value": "operational", "label": "Operational" },
  "generated_at": "2026-07-12T06:00:00+00:00",
  "groups": [
    {
      "name": "Broadband (NBN)",
      "slug": "broadband-nbn",
      "description": null,
      "status": { "value": "operational", "label": "Operational" },
      "locations": [
        {
          "name": "Queensland",
          "slug": "broadband-nbn-queensland",
          "status": { "value": "operational", "label": "Operational" },
          "components": [
            {
              "name": "4NER Nerang POI",
              "slug": "broadband-nbn-queensland-4ner-nerang-poi",
              "description": null,
              "status": { "value": "operational", "label": "Operational" },
              "uptime_90d_percent": 99.98
            }
          ]
        }
      ]
    },
    {
      "name": "Core Network",
      "slug": "core-network",
      "description": null,
      "status": { "value": "operational", "label": "Operational" },
      "components": [
        {
          "name": "Core Network",
          "slug": "core-network-core-network",
          "description": null,
          "status": { "value": "operational", "label": "Operational" },
          "uptime_90d_percent": 100
        }
      ]
    }
  ]
}
GET

/api/v1/incidents

Active (published, unresolved) incidents with their update timelines. Add ?window=90 to also include incidents resolved in the last 90 days. Fetch one incident with /api/v1/incidents/{id}.

curl -s -H "Authorization: Bearer YOUR_API_KEY" \
     "https://iperium-status.managednet.systems/api/v1/incidents?window=90"
Example response
{
  "data": [
    {
      "id": 42,
      "title": "Fibre cut in the Brisbane CBD",
      "impact": { "value": "major", "label": "Major" },
      "status": { "value": "monitoring", "label": "Monitoring" },
      "started_at": "2026-07-12T01:12:00+00:00",
      "resolved_at": null,
      "affected_components": [
        {
          "name": "NBN Broadband",
          "slug": "broadband-nbn-nbn-broadband",
          "group": "Broadband (NBN)",
          "status": { "value": "partial_outage", "label": "Partial Outage" }
        }
      ],
      "affected_groups": [
        {
          "name": "Core Network",
          "slug": "core-network",
          "parent": null,
          "status": { "value": "degraded_performance", "label": "Degraded Performance" }
        }
      ],
      "updates": [
        {
          "status": { "value": "monitoring", "label": "Monitoring" },
          "body": "Splicing complete; services are restoring.",
          "published_at": "2026-07-12T03:40:00+00:00"
        }
      ]
    }
  ]
}
GET

/api/v1/maintenance

Scheduled and in-progress maintenance windows (recently ended windows linger for two hours). Emergency work carries "is_emergency": true.

curl -s -H "Authorization: Bearer YOUR_API_KEY" \
     https://iperium-status.managednet.systems/api/v1/maintenance
Example response
{
  "data": [
    {
      "id": 7,
      "title": "Core router upgrade SYD01",
      "body": "Firmware upgrade on the SYD01 core. Brief BGP reconvergence expected.",
      "status": { "value": "scheduled", "label": "Scheduled" },
      "is_emergency": false,
      "scheduled_start": "2026-07-15T14:00:00+00:00",
      "scheduled_end": "2026-07-15T16:00:00+00:00",
      "actual_start": null,
      "actual_end": null,
      "affected_components": [
        {
          "name": "Core Network",
          "slug": "core-network-core-network",
          "group": "Core Network"
        }
      ],
      "affected_groups": []
    }
  ]
}

Rate limits

Each key may make 10 requests per minute. Poll the status endpoint at most every 30 to 60 seconds; it also carries a short CDN cache, so faster polling buys nothing.

Header Meaning
X-RateLimit-Limit Requests allowed per minute (10).
X-RateLimit-Remaining Requests left in the current minute.
Retry-After On a 429: seconds to wait before retrying.

Errors

Errors are JSON with a single message field.

Status Why What to do
401 Missing, invalid or revoked key; or the subscription is inactive. Check the header and the key in your account page.
404 The incident id does not exist or is not published. Use ids from /incidents.
429 Rate limit exceeded. Wait Retry-After seconds; slow the poller.
{ "message": "Invalid or missing API key." }

Conventions

  • All timestamps are ISO 8601 in UTC (convert locally for display).
  • Statuses and impacts carry a stable value for machines and a human label.
  • Collections are wrapped in data; /status is a bare object.
  • The API is read only; new fields may be added without notice, so ignore unknown keys.