Status page quickstart
By the end of this guide you’ll have a public status page at https://statuspage.siteqwality.com/<account-id>/<page-id> that shows an HTTP check, carries your logo and brand color, and has one published incident. You need an existing HTTP check (create one if you don’t have one).
1. Create the page
Section titled “1. Create the page”-
Go to Manage → Status Pages and click + Create status page.
-
Set the Name, e.g.
Acme Cloud. Subscriber email uses it; the public page shows the Page Title you set when you brand the page. -
Click Create status page, then click the new page in the list to open it. Its public URL is shown at the top.
With an API key exported as SITEQWALITY_API_KEY:
curl -X POST https://api.siteqwality.com/status_page \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "friendly_name": "Acme Cloud" }'Returns the new page’s id. Export it as STATUS_PAGE_ID for the next steps.
2. Add components
Section titled “2. Add components”A component is a public-facing label for one of your monitors. Here you attach HTTP and browser checks; heartbeats and components whose status you set yourself are added on the Layout tab (see Group and order status page components).
-
On the page, open the Monitors tab and click Add monitor. For a browser check, use the Browser Checks tab and Add browser check.
-
Pick the check under Monitor (Browser check for a browser check) and give it a public Name if the internal one is too technical (
prod-api-eu-west-1→API). Click Add to status page. -
Optionally click the pencil on its row, set an SLA target (%) (e.g.
99.9) and click Save changes. For an HTTP check, the page compares the uptime over the range the visitor picked (7, 30, 60 or 90 days) with this target.
Repeat for each monitor you want public.
$HTTP_JOB_ID and $BROWSER_CHECK_ID are your checks’ ids.
# Attach an HTTP checkcurl -X POST https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/http_job/$HTTP_JOB_ID \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "friendly_name": "API" }'
# Attach a browser check, if you have onecurl -X POST https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/browser_check/$BROWSER_CHECK_ID \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "friendly_name": "Checkout flow" }'3. Brand the page
Section titled “3. Brand the page”-
On the page, open the Branding tab.
-
Under Images, click Upload next to Logo and pick your file (PNG, JPEG, SVG or WebP, up to 2 MB). Add a Dark theme logo the same way if your logo needs one. Each file is saved as soon as it uploads.
-
Under Theme, pick a Default Theme (Light, Dark, or System (auto) to follow the visitor’s preference), and set the Primary Color (
#RRGGBB) for the page title and the Accent Color for links and the Subscribe button. -
Under Page Info, set a Page Title (browser tab) and optional Header Text and Footer Text.
-
Click Save branding.
Upload the logo first, then save its key with the other branding fields.
# 1. Get a presigned upload URL for the logoUPLOAD=$(curl -s -X POST https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/branding/upload \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "file_type": "logo", "content_type": "image/png", "file_size_bytes": 24576 }')
UPLOAD_URL=$(echo "$UPLOAD" | jq -r .upload_url)S3_KEY=$(echo "$UPLOAD" | jq -r .s3_key)
# 2. PUT the bytes directly to S3curl -X PUT "$UPLOAD_URL" \ -H "Content-Type: image/png" \ --data-binary @logo.png
# 3. Save the s3_key + branding fieldscurl -X PUT https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/branding \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"page_title\": \"Acme Cloud Status\", \"default_theme\": \"system\", \"logo_s3_key\": \"$S3_KEY\", \"primary_color\": \"#0066ff\", \"accent_color\": \"#00ccaa\" }"4. Publish your first incident
Section titled “4. Publish your first incident”Create an incident by hand to confirm the page shows it. Incidents also reach a page when you publish an existing one or a service publishes one it opened automatically.
-
On the status page, open the Incidents tab and click Report incident.
-
Title:
Investigating elevated API latency. Severity: Minor. The incident starts as investigating. -
In Initial update, paste:
Our monitoring detected increased latency on the API. We're looking into it now.Optionally pick the Affected monitors. -
Click Report incident. The incident appears on the public page within about a minute.
# Create the incident on the status pagecurl -X POST https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/incident \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Investigating elevated API latency", "severity": "minor", "message": "Our monitoring detected increased latency on the API. We are looking into it now.", "affected_http_job_ids": ["<http-job-id>"] }'Returns the incident’s id. Export it as INCIDENT_ID for step 6.
5. Confirm visitors can see it
Section titled “5. Confirm visitors can see it”Open https://statuspage.siteqwality.com/<account-id>/<page-id> in an incognito window. You should see:
- Your logo and brand colors.
- Each component with its current status (Operational with a green dot when healthy, Down in red when failing).
- The open incident at the top, with its updates newest first.
- For each HTTP check, a 90-day uptime bar chart and response-time percentiles. Browser checks show their current status and SLA label only.
Changes reach the page within about a minute, and an open page refreshes itself every 60 seconds.
6. Resolve the incident
Section titled “6. Resolve the incident”Open the incident from the Incidents tab and click Mark resolved. That posts a public Resolved update, emails the page’s subscribers and closes the incident on the page. For a closing message of your own, pick Resolved under Post an update instead, write the message and click Post update.
# A resolved update closes the incident and emails confirmed subscriberscurl -X POST https://api.siteqwality.com/status_page/$STATUS_PAGE_ID/incident/$INCIDENT_ID/update \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "resolved", "message": "Latency has returned to baseline." }'