Status API

Everything shown on the IndySoft status page is also published as JSON and RSS, so your monitoring dashboard, helpdesk, chat widget or script can read our current status directly. No key, no sign-up, and the endpoints stay up even when the rest of our platform does not.

https://status.indysoft.com

How it works

The files below are regenerated and republished every five minutes, and immediately whenever a component changes state or an incident is created, updated or resolved. Each response is a static file served from a CDN with these properties:

Endpoints

Start with summary.json if you want one call that says everything, or status.json if you only need a banner.

EndpointReturns
GET/api/v2/status.jsonOverall indicator and description only. Smallest payload; ideal for a status badge or banner.
GET/api/v2/summary.jsonOverall status, every component with its state, unresolved incidents and upcoming maintenance in one document.
GET/api/v2/components.jsonComponents and component groups (regions) with their current state.
GET/api/v2/incidents.jsonUnresolved incidents plus resolved incidents from the past 90 days, newest first, each with its full update timeline.
GET/api/v2/incidents/unresolved.jsonOnly incidents that are still open.
GET/api/v2/scheduled-maintenances.jsonScheduled, in-progress and recently completed maintenance windows.
GET/api/v2/scheduled-maintenances/upcoming.jsonOnly maintenance that has not completed yet.
GET/status.jsonThe document the status page itself renders: everything above plus a 90-day per-day history for each component. The uptime fields (uptimePercent, uptime30d and the per-day figure) are currently published as null; a customer who needs an uptime figure can request a monthly uptime report. camelCase field names.
GET/history.rssRSS 2.0 feed of incidents and maintenance, one item per incident, updated whenever an update is posted.

Response shape

Every /api/v2/ document starts with a page object and then the section you asked for. A typical status.json:

{
  "page": {
    "id": "indysoft",
    "name": "IndySoft",
    "url": "https://status.indysoft.com",
    "time_zone": "Etc/UTC",
    "updated_at": "2026-09-08T21:26:13.285Z"
  },
  "status": {
    "indicator": "none",
    "description": "All Systems Operational"
  }
}

A component, as it appears in components.json and summary.json:

{
  "id": "7AC3B567230B4CE29381A016CA7BFAD6",
  "name": "Americas",
  "status": "operational",
  "description": "Cloud environments hosted in the US regions",
  "group_id": "group-1",
  "group": false,
  "position": 2,
  "updated_at": "2026-08-30T00:47:57.640Z"
}

An incident, as it appears in incidents.json, incidents/unresolved.json and summary.json. Updates are newest first; shortlink deep-links to the incident on the status page:

{
  "id": "…",
  "name": "Intermittent sign-in failures in Europe",
  "status": "monitoring",
  "impact": "minor",
  "created_at": "2026-09-01T08:12:00.000Z",
  "updated_at": "2026-09-01T09:05:00.000Z",
  "resolved_at": null,
  "shortlink": "https://status.indysoft.com/#incident-…",
  "components": [ { "id": "…", "name": "Europe" } ],
  "incident_updates": [
    { "status": "monitoring", "body": "A fix has been deployed and we are watching sign-in rates.", "created_at": "2026-09-01T09:05:00.000Z" },
    { "status": "identified", "body": "…", "created_at": "2026-09-01T08:30:00.000Z" }
  ]
}

Status values

Overall status.indicator

none means every component is operational. The description field carries the human-readable text shown at the top of the status page ("All Systems Operational", "Partial System Outage" and so on).

Component status

Incident status

Maintenance status

Incident impact

Examples

Command line

curl -s https://status.indysoft.com/api/v2/status.json

# Only the unresolved incidents' titles
curl -s https://status.indysoft.com/api/v2/incidents/unresolved.json | jq -r '.incidents[].name'

Browser or Node.js

const res = await fetch('https://status.indysoft.com/api/v2/summary.json');
const summary = await res.json();

console.log(summary.status.description);           // "All Systems Operational"
for (const c of summary.components.filter(c => !c.group)) {
  console.log(`${c.name}: ${c.status}`);          // "Americas: operational"
}
if (summary.incidents.length) {
  console.log('Open incident:', summary.incidents[0].name, summary.incidents[0].shortlink);
}

PowerShell

$status = Invoke-RestMethod https://status.indysoft.com/api/v2/status.json
if ($status.status.indicator -ne 'none') { Write-Warning $status.status.description }

A one-line status banner for your intranet

Poll status.json once a minute and show the description; colour it by the indicator.

<div id="indysoft-status"></div>
<script>
  async function refresh() {
    const r = await fetch('https://status.indysoft.com/api/v2/status.json', { cache: 'no-store' });
    const { status } = await r.json();
    const el = document.getElementById('indysoft-status');
    el.textContent = 'IndySoft: ' + status.description;
    el.dataset.indicator = status.indicator; // none | minor | major | critical | maintenance
  }
  refresh(); setInterval(refresh, 60000);
</script>

Email updates

Prefer to be told? The subscribe form on the status page sends a confirmation email (double opt-in) and then one email per incident update. The same endpoint is available to your own forms:

EndpointBodyResponse
POSThttps://indyadmin.indysoft.com/api/status-page/public/subscribe { "email": "you@company.com" } as application/json { "accepted": true, "message": "…" }. accepted is false when the address is invalid or subscriptions are paused.

Every email contains an unsubscribe link, and the RSS feed carries the same updates for feed readers and chat tools.

Statuspage compatibility

The /api/v2/ paths, field names and status vocabularies match the Atlassian Statuspage public API, which IndySoft used before hosting its own page. Any tool with a "Statuspage URL" or "base URL" setting works when pointed at https://status.indysoft.com; integrations that only accept a statuspage.io page ID cannot be pointed here.

Using Intercom, Slack or another helpdesk? Most support tools can poll summary.json or subscribe to the RSS feed. If you would like IndySoft's status shown inside a tool that needs something more, contact support and tell us which one.

Changes

We treat these endpoints as a contract. New fields may be added; existing fields under /api/v2/ will not be renamed or removed. /status.json is the page's own document and may gain fields as the page evolves; it will stay backwards compatible for readers that ignore unknown fields.

Questions or a use case we have not covered? Get in touch.