Status Report Service
Manage incident reports with update timelines. The Status Report Service provides 6 RPC methods.
Create Status Report
Section titled “Create Status Report”import { createOpenStatusClient, StatusReportStatus,} from "@openstatus/sdk-node";
const client = createOpenStatusClient({ apiKey: process.env.OPENSTATUS_API_KEY,});
const { statusReport } = await client.statusReport.v1.StatusReportService .createStatusReport({ title: "API Degradation", status: StatusReportStatus.INVESTIGATING, message: "We are investigating reports of increased latency.", date: "2024-01-15T10:30:00Z", pageId: "page_123", pageComponentIds: ["comp_456"], notify: true, });
console.log(`Status report created: ${statusReport?.id}`);Add Status Report Update
Section titled “Add Status Report Update”Add a new entry to a status report’s timeline.
import { StatusReportStatus } from "@openstatus/sdk-node";
const { statusReport } = await client.statusReport.v1.StatusReportService .addStatusReportUpdate({ statusReportId: "sr_123", status: StatusReportStatus.IDENTIFIED, message: "The issue has been identified as a database connection problem.", date: "2024-01-15T11:00:00Z", notify: true, });List Status Reports
Section titled “List Status Reports”List status reports with optional status filtering and pagination.
import { StatusReportStatus } from "@openstatus/sdk-node";
const { statusReports, totalSize } = await client.statusReport.v1 .StatusReportService.listStatusReports({ limit: 10, offset: 0, statuses: [StatusReportStatus.INVESTIGATING, StatusReportStatus.IDENTIFIED], });
console.log(`Found ${totalSize} status reports`);Get / Update / Delete Status Reports
Section titled “Get / Update / Delete Status Reports”Get Status Report
Section titled “Get Status Report”Returns the full report including the updates timeline.
import { StatusReportStatus } from "@openstatus/sdk-node";
const { statusReport } = await client.statusReport.v1.StatusReportService .getStatusReport({ id: "sr_123" });
console.log(`Title: ${statusReport?.title}`);console.log(`Status: ${StatusReportStatus[statusReport?.status ?? 0]}`);
for (const update of statusReport?.updates ?? []) { console.log(` ${update.date}: [${StatusReportStatus[update.status]}] ${update.message}`);}Update Status Report
Section titled “Update Status Report”const { statusReport } = await client.statusReport.v1.StatusReportService .updateStatusReport({ id: "sr_123", title: "Updated Title", pageComponentIds: ["comp_456", "comp_789"], });Delete Status Report
Section titled “Delete Status Report”const { success } = await client.statusReport.v1.StatusReportService .deleteStatusReport({ id: "sr_123" });