POST request. Use it to mirror the status of a service into a chat room, a ticketing
system, or an internal status board.
Read Status pages first for components, incidents, maintenance, and the
subscriber management view.
How a subscription works
1
Register the endpoint
Submit the endpoint URL on the public page or over the API. The subscription starts as
pending.
2
Receive the confirmation request
MoleSignal sends one
status_page_subscription_confirmation request to the endpoint. The
endpoint must answer with a 2xx status, otherwise the registration fails.3
Confirm with the token
Open the
confirm_url from the request, or send the token to the confirmation endpoint. The
subscription becomes active.4
Receive updates
Each change published after the confirmation is delivered as one request. Changes published
before the confirmation are not sent.
Endpoint requirements
MoleSignal resolves the host again for every delivery and applies the same address rules each
time.
Subscribe
On the public page, select Subscribe, set Delivery channel to Webhook, enter the endpoint URL, and select Send confirmation. Over the API, send the request to the origin that serves the status page:component_ids with the id of each component, as the
public page lists them at GET /api/v1/public/status-pages/<slug>. Leave it out, or send an empty
list, for the whole page. A group is not a component that can be chosen: name the components in it.
The call needs no authentication. A successful registration returns 202 Accepted:
Subscription links are built from
http.external_url, or from the custom domain of the page when
one is active. Registration fails with 503 while http.external_url is empty.Request format
Every request to the endpoint has the same shape.
Requests carry no signature header. To recognize genuine requests, include a hard-to-guess value in
the path or the query string of the registered URL, and reject requests that lack it. The
management view shows a webhook target as scheme and host only, such as
https://hooks.example.com/***.
Route on type. Ignore unknown fields and unknown type values, so that the endpoint keeps working
when a payload gains a field.
Confirmation request
MoleSignal sends this payload once per registration:
Confirm the subscription by opening
confirm_url, or by sending the token:
200 OK:
400 with the error code invalid_argument.
Manage request
When an endpoint that is already active is registered again, MoleSignal sends it the link that manages the subscription instead of a new confirmation, at most once every 10 minutes:confirm_url.
Update payloads
All timestamps are integers in microseconds since the Unix epoch, in UTC. Component names, incident titles, and messages are sent exactly as the page team wrote them and are not translated. A subscription that chose components receives only the updates that name one of them. An update published with Notify subscribers off sends nothing. Every update payload also carries the links of the subscription:Incident and maintenance updates
MoleSignal sendsincident_update for every update published on an incident or on maintenance.
Planned maintenance uses the same payload with incident_kind set to maintenance. Drafts send
nothing.
An incident update:
For maintenance,
started_at is the planned start time, in every update. It changes when the team
reschedules the maintenance. After the work starts it still holds the planned time: the actual
start is the occurred_at of the in_progress update. Maintenance has no planned end time, so
ended_at is null until the work is completed or cancelled.
With automatic start on, which is the default, MoleSignal publishes the
in_progress update at
the planned start time and sends it as an incident_update. With automatic start off, nothing is
sent at that time: the next request follows the next update that the team publishes.Maintenance reminders
MoleSignal sendsmaintenance_reminder before scheduled maintenance starts. The lead time is set
on each maintenance and is 60 minutes by default. A reminder is not an update: it does not appear
in the timeline of the maintenance.
One reminder is sent for each planned start time, so rescheduled maintenance is reminded of again
before its new start time. No reminder is sent when the maintenance was announced or rescheduled
after its reminder time, when its lead time is
0, or when it has left the scheduled status.
Component status changes
MoleSignal sendscomponent_status_changed when the status of a component that the page shows is
changed. The status a component is created with sends nothing. Hidden and archived components send
nothing.
An incident does not send
component_status_changed for the components it affects. The
incident_update payload names them in component_names.
A component that is hidden when a change is published is not named to subscribers. Its status
changes send nothing, and
incident_update leaves it out of component_names. An incident or
maintenance that affects only hidden components is still sent, with an empty component_names.
Hiding or showing a component sends nothing by itself.Postmortems
MoleSignal sendspostmortem_published when the postmortem of a resolved incident is published, or
its revision is published, with Notify subscribers on.
page_name, page_slug, started_at, ended_at, and component_names are as in incident_update.
Delivery and retries
A retried delivery repeats the same body. Payloads carry no delivery identifier, so deduplicate on
type, incident_id or component_id, and occurred_at. Order the updates of one incident by
occurred_at.
Updates are no longer queued for the endpoint once the subscription ends, the page is archived, or
the page is switched to private.
Page managers find each delivery under Status pages → Subscribers → Deliveries, with its
attempts, state, and last error. Delivered and failed records are removed after the delivery
retention of the page: 30, 60, 90, 180, or 365 days.
Unsubscribe
Openunsubscribe_url from the confirmation request, or send the token:
200 OK with "accepted": true. Deliveries that are still waiting for the
endpoint are cancelled.
A user with status_pages.manage can also revoke a subscriber under Status pages → Subscribers,
or select Resend confirmation for a pending one. Resending issues a new token.
Status pages
Create pages, publish incidents and maintenance, and manage subscribers.
Webhook notification connectors
Send alert notifications to Slack, Lark, or a generic webhook.