# Status: a free status page for your product or team

Status is a free alternative to Atlassian Statuspage: a public page with your components, incidents, scheduled maintenance and 90 days of uptime history, at an address like https://status-free.openapps.xyz/acme. Post updates from the page, from CI or monitoring, or from an AI assistant. No sign-up and no paid plan.

Make one: https://status-free.openapps.xyz/

## How it works

1. **Name your page.** Type your product or team name and pick an address like status-free.openapps.xyz/acme. It is yours: nobody else can take it.
2. **Add your components.** List the parts people depend on, like Website, API and Dashboard. Each one gets a status and a 90-day history bar.
3. **Post when something happens.** Report an incident, post updates until it is resolved, and schedule maintenance ahead. Visitors see every change live.

You get a private admin link (it ends with `#k=` and a long key). It works on any device without an account. Anyone with it can change the page, so keep it private and share it only with the people who post updates.

## What visitors see

- The overall status at the top, worked out from your components.
- Components in groups, each Operational, Degraded performance, Partial outage, Major outage or Under maintenance.
- Incidents with every update: Investigating, Identified, Monitoring, Resolved. Each incident has its own page to share.
- Scheduled maintenance with start and end, in each visitor's time zone, with "Add to calendar".
- A 90-day history and uptime for every component, built from your incidents.
- Past incidents by month.
- Subscribe by RSS or Atom, or add maintenance to a calendar. Slack's RSS app can post updates to a channel.

## Free, with no catch

Status is free because a page is a few small records, and OpenApps pays for them. The trade: Status does not send email or text messages, does not check your site for you, and pages live on status-free.openapps.xyz rather than your own domain.

Updated October 2026. Statuspage figures as reported in 2026 on its pricing page; they change.

| | Status | Atlassian Statuspage |
|---|---|---|
| Price | Free, no paid plan | Free plan; paid plans $29 to $1,499 a month |
| Status pages | As many as you want | Free plan: up to 2, public only |
| Components | Up to 60 per page | Free plan: 25 |
| Followers | Not counted or capped | Free plan: 100 subscribers; paid: 250 to 25,000 |
| Email and text alerts | No: RSS, Atom and calendar | Email on the free plan |
| People who can post | Anyone with the admin link | Free plan: 2 team members; paid: 5 to 50 |
| Account needed | No | Yes, an Atlassian account |
| API | Free, no account: incidents, components, maintenance, JSON, badge | Rate-limited REST API on the free plan |

Other free plans, as reported in 2026: Instatus Starter has 15 monitors with 2-minute checks, 5 team members and 200 subscribers on one public page without a custom domain. Better Stack's free plan has 10 monitors, 1 status page and 1,000 subscribers. Both check your site for you, which Status does not.

## For CI, monitoring and AI assistants

Making a page needs no key. The owner key that comes back lets a script, a monitor or an assistant set component statuses, open, update and resolve incidents, and schedule maintenance. Reading a page as JSON, RSS, Atom, a calendar or a badge needs nothing.

- Full guide: https://status-free.openapps.xyz/llms.txt
- OpenAPI 3.1: https://status-free.openapps.xyz/openapi.json
- API base: https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api

```
# Make a page (the answer has the admin link and the owner key)
curl -X POST https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages \
  -H 'content-type: application/json' \
  -d '{"slug": "acme", "name": "Acme", "components": ["Website", "API"]}'

# Open an incident and mark the API down
curl -X POST https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages/acme/incidents \
  -H 'x-owner-key: OWNER_KEY' -H 'content-type: application/json' \
  -d '{"title": "API errors", "message": "We are looking into it.", "components": {"api": "major_outage"}}'

# Resolve it: components go back to operational
curl -X POST https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages/acme/incidents/INCIDENT_ID/updates \
  -H 'x-owner-key: OWNER_KEY' -H 'content-type: application/json' \
  -d '{"status": "resolved", "message": "Fixed. Sorry for the trouble."}'

# Anyone: the status as JSON, or a README badge
curl https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages/acme
```

README badge: `[![Status](https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages/acme/badge.svg)](https://status-free.openapps.xyz/acme)`

A free uptime check: this GitHub Actions workflow checks your site every 5 minutes, opens an incident when it is down and resolves it when it is back. GitHub may start scheduled jobs a few minutes late.

```
name: Status check
on:
  schedule:
    - cron: "*/5 * * * *"
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - run: |
          if curl -fsS --max-time 15 https://example.com/ > /dev/null; then s=operational; else s=major_outage; fi
          curl -fsS -X PATCH https://functions.bounded.sh/apps/189c33495e4bbc89bfb2901a/api/pages/acme/components/website \
            -H "x-owner-key: ${{ secrets.STATUS_OWNER_KEY }}" -H "content-type: application/json" \
            -d "{\"status\": \"$s\", \"incident\": \"Website is down\"}"
```

## Questions

**Is there a free alternative to Atlassian Statuspage?**
Yes. Status by OpenApps makes free status pages with components, incidents, scheduled maintenance and 90-day uptime history, with no sign-up and no paid plan. Atlassian Statuspage's free plan allows 2 public pages, 25 components and 100 subscribers, and its paid plans run from $29 to $1,499 a month, as reported in 2026. Status does not send email, though: followers use RSS, Atom or a calendar.

**Is Status really free?**
Yes. There is no paid plan, no trial and no limit on pages, incidents or followers. A page can have up to 60 components. A status page is a few small records, and OpenApps pays for them.

**How do I make a free status page for my startup?**
Type your product name, pick an address like status-free.openapps.xyz/yourname and press Create status page. Add the parts people depend on, like Website and API, then post an incident when something breaks. It takes about a minute and needs no account.

**Does Status check my website automatically?**
No. Status shows what you and your tools post. To keep it up to date on its own, have your monitoring or a scheduled job call the API: the GitHub Actions workflow above checks your site every few minutes, opens an incident when it is down and resolves it when it is back.

**Can people subscribe to status updates?**
Yes, by RSS or Atom (Slack's RSS app can post updates to a channel) and by adding planned maintenance to their calendar. Status does not send email or text messages.

**Can CI, a monitoring script or an AI assistant post incidents?**
Yes. Every page has an HTTP API: with the page's owner key, a script or an assistant can set component statuses, open, update and resolve incidents and schedule maintenance. Reading a page's status as JSON or as a badge needs no key.

**How is uptime worked out?**
From the incidents posted on the page: uptime is the share of the last 90 days a component was not in a partial or major outage. Days before the page existed show as no data.

**Can I use my own domain?**
Not yet. Status pages live at status-free.openapps.xyz/yourname, and the address cannot be taken over by anyone else.

**Who can change my status page?**
Anyone with its admin link or owner key. There are no accounts: keep the link private, and give it to the teammates who post updates.

## More

Status is an OpenApp: free, with public source (https://status-free.openapps.xyz/__bounded/source) and its own agent. More free alternatives to paid apps: https://free-apps.openapps.xyz/
