LogTide

Status Page Subscriptions

Let your users subscribe by email to your public status page. They confirm their address once and then hear about status updates and scheduled maintenance without checking the page.

Overview

Subscriptions are offered only when both of these are true, otherwise the subscribe form is hidden and the subscribe endpoint answers 404:

  • the project's status page visibility is Public (not password protected, members only or disabled), and
  • SMTP is configured on the LogTide instance.

Public Status Page

Each project has its own page at /status/<organization-slug>/<project-slug>. It shows the current state of the project's monitors, ongoing and past status updates (the public communications about incidents, written by your team) and scheduled maintenance. Owners and admins can set the page title, description, logo URL and accent color, choose which monitors appear as components with a public display name, group and order, and show monitor types. Visibility is a project setting: public, password protected, members only or disabled.

Status updates are separate from the internal incidents inbox. You can publish an uptime incident to the status page as a pre-filled status update.

Email Subscriptions

Double opt-in

An address receives updates only after its owner clicks the link in a confirmation email.

One-click unsubscribe

Every update email carries a signed unsubscribe link. No account or password involved.

Subscribing

  1. A visitor enters an email address in the subscribe form on the public page.
  2. LogTide sends a confirmation email with a link that is valid for 48 hours and can be used once.
  3. Opening the link activates the subscription.
  • The page answers the same way whether or not the address is already known, so the form cannot be used to find out who is subscribed.
  • Submitting an address that is still waiting for confirmation sends a fresh link, at most once per minute and at most 3 confirmation emails per address in 24 hours. An address that is already confirmed is left alone.
  • Each status page keeps at most 200 unconfirmed addresses. Beyond that, new addresses are silently ignored until old links expire.
  • Addresses that never confirm expire with their link and never count against your subscriber limit.
  • Confirmation and unsubscribe links open a status page that completes the action itself with a POST request, so a mail scanner that only fetches the URL does not subscribe or unsubscribe anyone.

What Subscribers Receive

Confirmed subscribers of a page are emailed when:

Event Email heading
A status update is createdNew incident
A status update gets a new messageIncident update
A status update is resolvedIncident resolved
Scheduled maintenance is createdScheduled maintenance, with its start and end time

The subject line starts with the page title, for example [Acme Status] Resolved: Checkout errors. Internal incidents, alerts and monitor checks never email subscribers; only the status updates and maintenance you publish do. Nothing is sent if the page has stopped being public or SMTP is no longer configured.

Unsubscribing

Each email ends with an Unsubscribe link. The link holds a token signed with your instance's API_KEY_SECRET, so it needs no stored secret per subscriber and cannot be forged. Unsubscribing removes the address immediately. The link keeps working even if the page is no longer public, so nobody gets stuck on your list. Rotating API_KEY_SECRET invalidates links in emails already sent.

Managing Subscribers

In the status page settings, organization owners and admins can see the confirmed subscribers of a page (50 per page, newest first) and remove any of them. Members cannot see subscriber addresses. Changes to the status page configuration, components and subscribers are recorded in the audit log.

Limits

Limit Value
Subscribers per organizationUnlimited by default. Set the status_page.subscribers.max capability to cap it. Only confirmed subscribers count. At the cap, no new confirmation emails are sent and confirmation links stop working.
Subscribe requests5 per minute per client address
Confirmation link lifetime48 hours, single use
Confirmation emails for the same addressAt most one per minute and 3 per 24 hours
Unconfirmed addresses per status page200
Email address length254 characters

API

The public endpoints need no authentication. They are what the status page itself calls.

Endpoint Purpose
POST /api/v1/status/:orgSlug/:projectSlug/subscribeBody { "email": "..." }. Answers 202 whether or not the address is known, new, rate limited or over a limit.
POST /api/v1/status/:orgSlug/:projectSlug/subscribe/confirmBody { "token": "..." }. 400 for an unknown, expired or used link.
POST /api/v1/status/:orgSlug/:projectSlug/unsubscribeBody { "token": "..." }. 400 for an invalid link.
GET /api/v1/status-page/subscribersSigned-in owners and admins: confirmed subscribers of a project (organizationId, projectId, page).
DELETE /api/v1/status-page/subscribers/:idSigned-in owners and admins: remove a subscriber.
curl -X POST http://localhost:8080/api/v1/status/acme/api/subscribe \
  -H "Content-Type: application/json" \
  -d '{ "email": "[email protected]" }'
Esc

Type to search across all documentation pages