Guide

Status Pages

Pro plan feature

A public status page for your services — components, incidents, and a live timeline.

Overview

Every Ollum project on the Pro plan gets a public status page at ollum.dev/s/[slug] (or your custom status domain). It shows the health of your services in real time — which components are up, which are degraded, and any active or resolved incidents.

The status page is accessible from Dashboard → [Project] → Status. Free and Indie users see an upgrade prompt.

Components

Components represent the individual services you want to track — for example API, Dashboard, Webhooks, or Database. Each component has a name and a status.

To add a component: type a name in the input at the top of the Status page and press Add. To change a status, use the dropdown next to the component — changes appear on the public page immediately.

Component statuses
OperationalEverything working normally.
DegradedSlower than normal or partial functionality.
Partial OutageSome requests failing.
Major OutageService is down or completely unavailable.
MaintenancePlanned maintenance window.

Incidents

Create an incident when something goes wrong. Go to Dashboard → Status → New Incident. Fill in:

TitleA short description of what is happening — e.g. API elevated error rates. Shown prominently on the public page.
SeverityMinor, Major, or Critical. Sets the urgency tone on the public page.
Initial messageWhat you know so far. This becomes the first entry in the incident timeline.
Affected componentsWhich of your components are impacted. Their status indicators update on the public page.

Incident timeline

As the situation evolves, post updates from the incident detail page. Each update has a status that shows the current stage of the response:

InvestigatingYou are aware of the issue and actively looking into it.
IdentifiedRoot cause found. Fix is in progress.
MonitoringFix deployed. Watching for stability before closing.
ResolvedIssue is fully resolved. This status closes the incident.

Updates appear in reverse-chronological order on the public page. Posting a Resolved update closes the incident and moves it to the history section.

Public status page

Your status page is live at ollum.dev/s/[slug]. Share it with your users, link to it from your app or documentation, and bookmark it yourself for quick reference during incidents.

Overall status bannerShows All systems operational when every component is operational, or the worst-case status otherwise — e.g. Partial outage.
Component gridEach component with its current status and a colored indicator. Updates in real time.
Active incidentsShown prominently at the top — title, severity, and the latest timeline update.
Incident historyResolved incidents listed below the active section, with their full timelines.
You can point a custom domain at your status page. Go to Projects & Settings → Custom domain and configure the Status Domain card.

API reporting

Push status reports from your own infrastructure using the REST API. Hook this up to your uptime monitors or alerting systems so incidents are drafted automatically when your monitors fire.

Endpoint

http
POST https://ollum.dev/api/v1/{slug}/report
Authorization: Bearer <api-key>
Content-Type: application/json

Request body

componentNamestringrequired

Name of the affected component exactly as it appears on your status page. Max 256 characters.

errorstringrequired

Human-readable description of the error. Ollum uses this to draft the incident message. Max 8,192 characters.

severityenum

"degraded" (default), "partial_outage", or "major_outage".

Example

bash
curl -X POST https://ollum.dev/api/v1/my-project/report \
  -H "Authorization: Bearer gl_xxxx..." \
  -H "Content-Type: application/json" \
  -d '{
    "componentName": "API",
    "error": "p99 latency exceeded 5s for 3 consecutive minutes",
    "severity": "degraded"
  }'

Response · 200 OK

json
{ "ok": true, "status": "draft" }

status: "draft" means the incident was queued. It is processed asynchronously and creates a draft incident on your status page — review and publish from Dashboard → Status. Rate-limited to 10 req/min.

Full REST API reference — API Reference →