Pingtower Docs
Docs The service Reports

Reports

A running incident report with a shareable status page. Write it in Markdown from the phone while the incident is still going.

A report belongs to a project and optionally labels one alert. It gets an unguessable public URL at /public/reports/{uuid} on the service’s host, and can be put behind a password.

POST /v1/projects/{id}/reports

{
  "title": "Checkout degraded, 2026-09-01",
  "description": "Gateway timeouts from 03:12 UTC. Payments retried; no orders lost.",
  "alert_id": "…",
  "view_password": "correct-horse"
}
FieldMeaning
titleUp to 256 characters.
descriptionUp to 4096.
alert_idOptional. Must name a live alert when the report is created.
view_passwordOptional. Readers of the public page must enter it. On update: omitted keeps it, "" clears it, a value replaces it.

The response carries public_uuid and password_protected. POST /v1/projects/{id}/reports/{rid}/rotate-uuid invalidates every link handed out so far and mints a new one.

Entries

Entries are the timeline. Each is Markdown, rendered once to sanitized HTML at write time.

POST /v1/projects/{id}/reports/{rid}/entries

{ "title": "Root cause", "content_md": "Upstream gateway rotated its TLS cert …", "entry_type": "analysis" }

entry_type is update, analysis or resolution, default update. PUT and DELETE …/entries/{eid} edit and remove.

The public page

GET /public/reports/{uuid} renders the report and its entries without any credential. A password-protected report shows a prompt; POST /public/reports/{uuid}/authenticate with the password unlocks it. Deleting the report, or its project, makes the page stop resolving.

In the app: Reports → New, then Share for the link.

Last updated 1 Sep 2026 Report a problem with this page