'\" t .\" Automatically generated by Pandoc 3.12.1 .\" .TH "" "" "" "" .SH OpenStatus CLI .SS CLI interface \- openstatus OpenStatus CLI lets you manage your status pages and uptime monitors from the command line. Declare and run incidents, post public status updates, define monitors as code, and run on\-demand checks. Get started: openstatus login Save your API token openstatus incident declare Declare an incident openstatus incident list View incidents openstatus status\-report create Post a public status update openstatus status\-report list View status reports openstatus maintenance create Schedule a maintenance window openstatus maintenance list View maintenance windows openstatus monitors apply Sync monitors from config openstatus monitors list List your monitors openstatus run Run synthetic tests openstatus pl list List your private locations https://docs.openstatus.dev | https://github.com/openstatusHQ/cli/issues/new. .PP Manage status pages, monitors, and incidents from the terminal. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] [COMMAND] [COMMAND FLAGS] [ARGUMENTS...] .EE .PP Global flags: .PP .TS tab(@); lw(14.2n) lw(21.2n) lw(4.7n) cw(11.8n) cw(18.1n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-json\f[R] T}@T{ Output results as JSON T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-no\-color\f[R] T}@T{ Disable colored output T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-quiet\f[R] (\f[CR]\-q\f[R]) T}@T{ Suppress non\-error output T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-debug\f[R] T}@T{ Enable debug output T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]check\f[R] command (aliases: \f[CR]c\f[R]) Run an HTTP check against a URL from 28 global regions. .RS .PP openstatus check openstatus check https://openstat.us openstatus check https://openstat.us \-X POST \-H `Authorization: Bearer \&...' \-d `{\(lqping\(rq:true}' openstatus check https://openstat.us \-d \(atpayload.json openstatus check https://openstat.us \(entiming openstatus check https://openstat.us \(enjson | jq `.summary' .RE .PP Run a one\-shot HTTP check against a URL from 28 global regions. The check is executed by the public OpenStatus speed checker. No API token is required. Results stream to the terminal as they arrive from each region. Output is sorted in the order regions report back (roughly fastest first). Pass \(entiming to see DNS/Connection/TLS/TTFB/Transfer phase breakdowns. Pass \(enjson for a machine\-readable single object including all phase data. Rate limit: 3 requests per 60 seconds. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] check [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(12.7n) lw(32.0n) lw(4.4n) cw(8.3n) cw(12.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-method=\(dq\&...\(dq\f[R] (\f[CR]\-X\f[R]) T}@T{ HTTP method T}@T{ string T}@T{ \f[CR]\(dqGET\(dq\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-header=\(dq\&...\(dq\f[R] (\f[CR]\-H\f[R]) T}@T{ Header in \(lqKey: Value\(rq form (repeatable) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-body=\(dq\&...\(dq\f[R] (\f[CR]\-d\f[R]) T}@T{ Request body. Use \(atfilename to read a file, \(at\- for stdin T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-timing\f[R] T}@T{ Show DNS/Connection/TLS/TTFB/Transfer phases T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors\f[R] command (aliases: \f[CR]m\f[R]) Manage your monitors. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors [ARGUMENTS...] .EE .SS \f[CR]monitors apply\f[R] subcommand Create or update monitors. .RS .PP openstatus monitors apply openstatus monitors apply \(enconfig custom.yaml \-y openstatus monitors apply \(endry\-run .RE .PP Creates or updates monitors according to the OpenStatus configuration file. Compares your openstatus.yaml with the current state and applies changes. DEPRECATED: this command is deprecated. Prefer managing your monitors with Terraform via `openstatus terraform generate'. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors apply [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(14.8n) lw(28.1n) lw(4.1n) cw(10.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-config=\(dq\&...\(dq\f[R] (\f[CR]\-c\f[R]) T}@T{ The configuration file containing monitor information T}@T{ string T}@T{ \f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-dry\-run\f[R] (\f[CR]\-n\f[R]) T}@T{ Show what would be changed without applying T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors create\f[R] subcommand Create monitors. .RS .PP openstatus monitors create openstatus monitors create \(enconfig custom.yaml \-y .RE .PP Create the monitors defined in the openstatus.yaml file. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors create [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(14.8n) lw(28.1n) lw(4.1n) cw(10.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-config=\(dq\&...\(dq\f[R] (\f[CR]\-c\f[R]) T}@T{ The configuration file containing monitor information T}@T{ string T}@T{ \f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors delete\f[R] subcommand Delete a monitor. .RS .PP openstatus monitors delete openstatus monitors delete 12345 \-y .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors delete [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors import\f[R] subcommand Import all your monitors. .RS .PP openstatus monitors import openstatus monitors import \(enoutput monitors.yaml .RE .PP Import all your monitors from your workspace to a YAML file; it will also create a lock file to manage your monitors with `apply'. DEPRECATED: the monitors.yaml config file is deprecated for import. Prefer managing monitors declaratively with `openstatus monitors apply'. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors import [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.3n) lw(18.3n) lw(5.0n) cw(13.2n) cw(15.1n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-output=\(dq\&...\(dq\f[R] (\f[CR]\-o\f[R]) T}@T{ The output file name T}@T{ string T}@T{ \f[CR]\(dqopenstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors info\f[R] subcommand Get a monitor information. .RS .PP openstatus monitors info openstatus monitors info 12345 openstatus monitors info 12345 \(entime\-range 7d .RE .PP Fetch the monitor information including configuration, live status per region, and summary metrics. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.6n) lw(26.4n) lw(4.6n) cw(8.6n) cw(13.8n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-time\-range=\(dq\&...\(dq\f[R] T}@T{ Time range for summary metrics (1d, 7d, 14d) T}@T{ string T}@T{ \f[CR]\(dq1d\(dq\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors list\f[R] subcommand List all monitors. .RS .PP openstatus monitors list openstatus monitors list \(enall .RE .PP List all monitors. The list shows all your monitors attached to your workspace. It displays the ID, name, URL, and kind of each monitor. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.1n) lw(25.3n) lw(4.7n) cw(8.8n) cw(14.1n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-all\f[R] T}@T{ List all monitors including inactive ones T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]monitors logs\f[R] subcommand List HTTP response logs for a monitor. .RS .PP openstatus monitors logs openstatus monitors logs 12345 openstatus monitors logs 12345 \(enlimit 10 openstatus monitors logs 12345 \(enlimit 5 \(enoffset 5 openstatus monitors logs 12345 \(enfrom 2026\-05\-06T00:00:00Z \(ento 2026\-05\-07T00:00:00Z .RE .PP List HTTP response logs for a monitor from the 14\-day retention window. Supports pagination and time filtering. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors logs [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.2n) lw(24.9n) lw(4.7n) cw(8.9n) cw(14.2n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of logs to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-offset=\(dq\&...\(dq\f[R] T}@T{ Number of logs to skip for pagination T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-from=\(dq\&...\(dq\f[R] T}@T{ Start of time window (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-to=\(dq\&...\(dq\f[R] T}@T{ End of time window (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]monitors log\-info\f[R] subcommand Get detailed HTTP response log for a monitor. .RS .PP openstatus monitors log\-info openstatus monitors log\-info 12345 abc\-def\-ghi .RE .PP Fetch a single HTTP response log with full details including timing phases, response headers, and assertion results. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors log\-info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]monitors trigger\f[R] subcommand Trigger a monitor execution. .RS .PP openstatus monitors trigger openstatus monitors trigger 12345 .RE .PP Trigger a monitor execution on demand. This command allows you to launch your tests on demand. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] monitors trigger [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]status\-report\f[R] command (aliases: \f[CR]sr\f[R]) Manage status reports. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report [ARGUMENTS...] .EE .SS \f[CR]status\-report list\f[R] subcommand List all status reports. .RS .PP openstatus status\-report list openstatus status\-report list \(enstatus investigating \(enlimit 10 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(14.1n) lw(33.1n) lw(3.9n) cw(7.3n) cw(11.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-status=\(dq\&...\(dq\f[R] T}@T{ Filter by status (investigating, identified, monitoring, resolved) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of reports to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-report info\f[R] subcommand Get status report details. .RS .PP openstatus status\-report info openstatus status\-report info 12345 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]status\-report create\f[R] subcommand Create a status report. .RS .PP openstatus status\-report create \(entitle \(lqAPI Degradation\(rq \(enstatus investigating \(enmessage \(lqInvestigating increased latency\(rq \(enpage\-id 123 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report create [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(8.3n) lw(48.3n) lw(2.3n) cw(4.3n) cw(6.9n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ Title of the status report T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-status=\(dq\&...\(dq\f[R] T}@T{ Initial status (investigating, identified, monitoring, resolved) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-message=\(dq\&...\(dq\f[R] T}@T{ Initial message describing the incident T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-page\-id=\(dq\&...\(dq\f[R] T}@T{ Status page ID to associate with this report T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-component\-ids=\(dq\&...\(dq\f[R] T}@T{ Comma\-separated page component IDs (legacy; mutually exclusive with \(enimpact) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-impact=\(dq\&...\(dq\f[R] T}@T{ Per\-component impact, repeatable: \(enimpact = (level: operational, degraded, partial_outage, major_outage). Mutually exclusive with \(encomponent\-ids T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-notify\f[R] T}@T{ Notify subscribers about this status report T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-date=\(dq\&...\(dq\f[R] T}@T{ Date when the event occurred (RFC 3339 format, defaults to now) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-incident\-id=\(dq\&...\(dq\f[R] T}@T{ ID of an incident to link the report to T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-report update\f[R] subcommand Update status report metadata. .RS .PP openstatus status\-report update [\(entitle \(lqNew title\(rq] [\(encomponent\-ids id1,id2] .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report update [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(14.8n) lw(31.2n) lw(4.1n) cw(7.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ New title for the report T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-component\-ids=\(dq\&...\(dq\f[R] T}@T{ Comma\-separated page component IDs (replaces existing list) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-report delete\f[R] subcommand Delete a status report. .RS .PP openstatus status\-report delete openstatus status\-report delete 12345 \-y .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report delete [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-report add\-update\f[R] subcommand Add an update to a status report. .RS .PP openstatus status\-report add\-update \(enstatus resolved \(enmessage \(lqIssue has been resolved\(rq .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-report add\-update [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(8.4n) lw(48.0n) lw(2.3n) cw(4.3n) cw(6.9n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-status=\(dq\&...\(dq\f[R] T}@T{ New status (investigating, identified, monitoring, resolved) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-message=\(dq\&...\(dq\f[R] T}@T{ Message describing what changed T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-date=\(dq\&...\(dq\f[R] T}@T{ Date for the update (RFC 3339 format, defaults to now) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-impact=\(dq\&...\(dq\f[R] T}@T{ Per\-component impact, repeatable: \(enimpact = (level: operational, degraded, partial_outage, major_outage). Can also add new affected components T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-notify\f[R] T}@T{ Notify subscribers about this update T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident\f[R] command (aliases: \f[CR]inc\f[R], \f[CR]incidents\f[R]) Declare and run incidents. .PP Incidents are the internal response to an outage: severity, commander, lifecycle (open \-> mitigated \-> resolved, or canceled), timeline notes, a linked public status report and the postmortem. Use `openstatus status\-report' for the public communication on a status page. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident [ARGUMENTS...] .EE .SS \f[CR]incident list\f[R] subcommand List incidents. .RS .PP openstatus incident list openstatus inc list \(enactive openstatus inc list \(enstatus open,mitigated \(enlimit 10 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(13.6n) lw(34.3n) lw(3.8n) cw(7.0n) cw(11.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-status=\(dq\&...\(dq\f[R] T}@T{ Filter by status, comma\-separated (open, mitigated, resolved, canceled) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-active\f[R] T}@T{ Only incidents that are not closed T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-closed\f[R] T}@T{ Only closed incidents T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of incidents to return (1\-100, defaults to 50) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-offset=\(dq\&...\(dq\f[R] T}@T{ Number of incidents to skip T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident info\f[R] subcommand Get incident details and timeline. .RS .PP openstatus incident info openstatus inc info 42 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]incident declare\f[R] subcommand (aliases: \f[CR]create\f[R]) Declare a new incident. .RS .PP openstatus incident declare \(entitle \(lqCheckout API returns 502\(rq \(enseverity major openstatus inc declare \(entitle \(lqDatabase down\(rq \(enseverity critical \(encommander jane\(atexample.com \(enslack ID=$(openstatus inc declare \(entitle \(lqLogin errors\(rq \(enseverity minor \-q) .RE .PP Declare a new incident in the open status. Run without \(entitle or \(enseverity in an interactive terminal to be prompted. In scripts, pass every required flag. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident declare [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.4n) lw(29.7n) lw(4.2n) cw(8.0n) cw(12.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ Title of the incident (1\-256 characters) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-severity=\(dq\&...\(dq\f[R] T}@T{ Severity of the incident (critical, major, minor) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-summary=\(dq\&...\(dq\f[R] T}@T{ Short human summary T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-commander=\(dq\&...\(dq\f[R] T}@T{ Email of the workspace member leading the response T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-started\-at=\(dq\&...\(dq\f[R] T}@T{ When the impact began (RFC 3339, defaults to now) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-status\-report\-id=\(dq\&...\(dq\f[R] T}@T{ ID of an existing status report to link T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-slack\f[R] T}@T{ Open a dedicated Slack channel when Slack is connected T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident update\f[R] subcommand Edit an incident\(cqs title, severity, summary, commander or start time. .RS .PP openstatus incident update [flags] openstatus inc update 42 \(enseverity critical openstatus inc update 42 \(encommander jane\(atexample.com openstatus inc update 42 \(enclear\-summary .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident update [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.7n) lw(23.7n) lw(4.9n) cw(9.1n) cw(14.6n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ New title (1\-256 characters) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-severity=\(dq\&...\(dq\f[R] T}@T{ New severity (critical, major, minor) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-summary=\(dq\&...\(dq\f[R] T}@T{ New summary T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-clear\-summary\f[R] T}@T{ Remove the summary T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-commander=\(dq\&...\(dq\f[R] T}@T{ Email of the new commander T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-clear\-commander\f[R] T}@T{ Unassign the commander T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-started\-at=\(dq\&...\(dq\f[R] T}@T{ New start of impact (RFC 3339) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident set\-status\f[R] subcommand Move an incident to a new status. .RS .PP openstatus incident set\-status \(enstatus [\(ennote \(lq\&...\(rq] openstatus inc set\-status 42 \(enstatus mitigated \(ennote \(lqRolled back the deploy\(rq .RE .PP Allowed transitions: open \-> mitigated, resolved or canceled; mitigated \-> resolved, open or canceled; resolved \-> open. Canceled is terminal and closes the incident. A linked status report is not updated: post the public update with `openstatus status\-report add\-update'. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident set\-status [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.7n) lw(28.8n) lw(4.3n) cw(8.1n) cw(13.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-status=\(dq\&...\(dq\f[R] T}@T{ Target status (open, mitigated, resolved, canceled) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-note=\(dq\&...\(dq\f[R] T}@T{ Note recorded on the timeline with the change T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident mitigate\f[R] subcommand Mark an incident as mitigated. .RS .PP openstatus incident mitigate [\(ennote \(lq\&...\(rq] openstatus inc mitigate 42 \(ennote \(lq\&...\(rq .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident mitigate [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.5n) lw(26.7n) lw(4.6n) cw(8.5n) cw(13.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-note=\(dq\&...\(dq\f[R] T}@T{ Note recorded on the timeline with the change T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident resolve\f[R] subcommand Mark an incident as resolved. .RS .PP openstatus incident resolve [\(ennote \(lq\&...\(rq] openstatus inc resolve 42 \(ennote \(lq\&...\(rq .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident resolve [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.5n) lw(26.7n) lw(4.6n) cw(8.5n) cw(13.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-note=\(dq\&...\(dq\f[R] T}@T{ Note recorded on the timeline with the change T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident reopen\f[R] subcommand Reopen a mitigated or resolved incident. .RS .PP openstatus incident reopen [\(ennote \(lq\&...\(rq] openstatus inc reopen 42 \(ennote \(lq\&...\(rq .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident reopen [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.5n) lw(26.7n) lw(4.6n) cw(8.5n) cw(13.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-note=\(dq\&...\(dq\f[R] T}@T{ Note recorded on the timeline with the change T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident cancel\f[R] subcommand Cancel an incident (closes it). .RS .PP openstatus incident cancel [\(ennote \(lq\&...\(rq] openstatus inc cancel 42 \(ennote \(lq\&...\(rq .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident cancel [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.5n) lw(26.7n) lw(4.6n) cw(8.5n) cw(13.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-note=\(dq\&...\(dq\f[R] T}@T{ Note recorded on the timeline with the change T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident note\f[R] subcommand Add a note to an incident timeline. .RS .PP openstatus incident note \(enmessage \(lqRolled back the deploy\(rq echo \(lqmulti\-line markdown\(rq | openstatus inc note 42 \(enmessage \- .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident note [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(13.9n) lw(33.6n) lw(3.8n) cw(7.2n) cw(11.5n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-message=\(dq\&...\(dq\f[R] (\f[CR]\-m\f[R]) T}@T{ Note text in markdown (1\-10000 characters); use \- to read from stdin T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident link\-report\f[R] subcommand Link a public status report to an incident. .RS .PP openstatus incident link\-report openstatus inc link\-report 42 123 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident link\-report [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]incident unlink\-report\f[R] subcommand Remove the link to an incident\(cqs status report. .RS .PP openstatus incident unlink\-report openstatus inc unlink\-report 42 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident unlink\-report [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]incident close\f[R] subcommand Close a resolved incident. .RS .PP openstatus incident close openstatus inc close 42 \(enskip\-postmortem \-y .RE .PP Close a resolved incident. A closed incident is read\-only except for its postmortem. Requires an approved postmortem, or \(enskip\-postmortem. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident close [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.8n) lw(23.3n) lw(4.9n) cw(9.2n) cw(14.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-skip\-postmortem\f[R] T}@T{ Close without an approved postmortem T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident delete\f[R] subcommand Delete an incident declared by mistake. .RS .PP openstatus incident delete openstatus inc delete 42 \-y .RE .PP Delete an incident declared by mistake. Only allowed while the incident is open and was never mitigated, resolved or closed; cancel it otherwise. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident delete [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident postmortem\f[R] subcommand (aliases: \f[CR]pm\f[R]) Read, write and approve an incident\(cqs postmortem. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident postmortem [ARGUMENTS...] .EE .SS \f[CR]incident postmortem show\f[R] subcommand Show the postmortem of an incident. .RS .PP openstatus incident postmortem show openstatus inc pm show 42 > postmortem.md .RE .PP In a terminal, prints the review status and the markdown body through your pager. When piped, prints only the markdown body, so it can be edited and sent back with `openstatus inc pm edit \(enfile postmortem.md'. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident postmortem show [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]incident postmortem edit\f[R] subcommand Write or replace the postmortem of a resolved incident. .RS .PP openstatus incident postmortem edit \(enfile postmortem.md cat postmortem.md | openstatus inc pm edit 42 \(enfile \- openstatus inc pm edit 42 \(encontent \(lq## Summary \&...\(rq .RE .PP Replaces the whole markdown body. An approved postmortem stays approved. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident postmortem edit [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.0n) lw(28.1n) lw(4.4n) cw(8.3n) cw(13.2n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-file=\(dq\&...\(dq\f[R] T}@T{ Markdown file to upload; use \- to read from stdin T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-content=\(dq\&...\(dq\f[R] T}@T{ Markdown body passed inline T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]incident postmortem approve\f[R] subcommand Approve the postmortem, optionally closing the incident. .RS .PP openstatus incident postmortem approve openstatus inc pm approve 42 \(enclose \-y .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] incident postmortem approve [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-close\f[R] T}@T{ Also close the incident T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]maintenance\f[R] command (aliases: \f[CR]mt\f[R]) Manage maintenance windows. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance [ARGUMENTS...] .EE .SS \f[CR]maintenance list\f[R] subcommand List all maintenance windows. .RS .PP openstatus maintenance list openstatus maintenance list \(enpage\-id abc \(enlimit 10 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.1n) lw(27.8n) lw(4.4n) cw(8.3n) cw(13.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-page\-id=\(dq\&...\(dq\f[R] T}@T{ Filter by status page ID T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of maintenances to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]maintenance info\f[R] subcommand Get maintenance window details. .RS .PP openstatus maintenance info openstatus maintenance info 12345 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]maintenance create\f[R] subcommand Create a maintenance window. .RS .PP openstatus maintenance create \(entitle \(lqDB Migration\(rq \(enmessage \(lqUpgrading database\(rq \(enfrom 2026\-04\-01T10:00:00Z \(ento 2026\-04\-01T12:00:00Z \(enpage\-id 123 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance create [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.4n) lw(29.7n) lw(4.2n) cw(8.0n) cw(12.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ Title of the maintenance T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-message=\(dq\&...\(dq\f[R] T}@T{ Message describing the maintenance T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-from=\(dq\&...\(dq\f[R] T}@T{ Start time of the maintenance window (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-to=\(dq\&...\(dq\f[R] T}@T{ End time of the maintenance window (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-page\-id=\(dq\&...\(dq\f[R] T}@T{ Status page ID to associate with this maintenance T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-component\-ids=\(dq\&...\(dq\f[R] T}@T{ Comma\-separated page component IDs T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-notify\f[R] T}@T{ Notify subscribers about this maintenance T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]maintenance update\f[R] subcommand Update a maintenance window. .RS .PP openstatus maintenance update [\(entitle \(lqNew title\(rq] [\(enmessage \(lqNew message\(rq] [\(enfrom \&...] [\(ento \&...] .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance update [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(14.8n) lw(31.2n) lw(4.1n) cw(7.7n) cw(12.3n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-title=\(dq\&...\(dq\f[R] T}@T{ New title for the maintenance T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-message=\(dq\&...\(dq\f[R] T}@T{ New message for the maintenance T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-from=\(dq\&...\(dq\f[R] T}@T{ New start time (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-to=\(dq\&...\(dq\f[R] T}@T{ New end time (RFC 3339 format) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-component\-ids=\(dq\&...\(dq\f[R] T}@T{ Comma\-separated page component IDs (replaces existing list) T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]maintenance delete\f[R] subcommand Delete a maintenance window. .RS .PP openstatus maintenance delete openstatus maintenance delete 12345 \-y .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] maintenance delete [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(18.6n) lw(21.2n) lw(5.1n) cw(9.6n) cw(15.4n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-auto\-accept\f[R] (\f[CR]\-y\f[R]) T}@T{ Automatically accept the prompt T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-page\f[R] command (aliases: \f[CR]sp\f[R]) Manage status pages. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-page [ARGUMENTS...] .EE .SS \f[CR]status\-page list\f[R] subcommand List all status pages. .RS .PP openstatus status\-page list openstatus status\-page list \(enlimit 10 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-page list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.1n) lw(25.3n) lw(4.7n) cw(8.8n) cw(14.1n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of pages to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]status\-page info\f[R] subcommand Get status page details. .RS .PP openstatus status\-page info openstatus status\-page info 12345 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] status\-page info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]notification\f[R] command (aliases: \f[CR]n\f[R]) Manage notifications. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] notification [ARGUMENTS...] .EE .SS \f[CR]notification list\f[R] subcommand List all notifications. .RS .PP openstatus notification list openstatus notification list \(enlimit 10 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] notification list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.0n) lw(28.1n) lw(4.4n) cw(8.3n) cw(13.2n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of notifications to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]notification info\f[R] subcommand Get notification details. .RS .PP openstatus notification info openstatus notification info 12345 .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] notification info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]private\-locations\f[R] command (aliases: \f[CR]pl\f[R]) Manage private locations. .PP Private locations are self\-hosted checker agents that run monitors from inside your own network. This command lists them, shows their details, and creates new ones. Public regions (Fly.io, Koyeb, Railway) are not listed here; they appear in `openstatus monitors info' and `openstatus check'. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] private\-locations [ARGUMENTS...] .EE .SS \f[CR]private\-locations list\f[R] subcommand List all private locations. .RS .PP openstatus private\-locations list openstatus pl list openstatus pl list \(enlimit 10 .RE .PP List the private locations in your workspace, with the health of each agent and the number of monitors it runs. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] private\-locations list [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.5n) lw(29.4n) lw(4.3n) cw(8.0n) cw(12.8n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-limit=\(dq\&...\(dq\f[R] T}@T{ Maximum number of private locations to return (1\-100) T}@T{ int T}@T{ \f[CR]0\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]private\-locations info\f[R] subcommand Get private location details. .RS .PP openstatus private\-locations info openstatus pl info pl_1a2b3c openstatus pl info pl_1a2b3c \(enshow\-token .RE .PP Fetch a private location including the monitors it runs and its agent token. The token is masked unless \(enshow\-token is passed. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] private\-locations info [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(16.6n) lw(26.4n) lw(4.6n) cw(8.6n) cw(13.8n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-show\-token\f[R] T}@T{ Reveal the agent token instead of masking it T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]private\-locations create\f[R] subcommand Create a private location. .RS .PP openstatus private\-locations create \(enname office\-paris openstatus pl create \(enname office\-paris \(enmonitor\-ids 12345,12346 openstatus pl create \(enname office\-paris \(enmetadata env=prod \(enmetadata team=infra .RE .PP Create a private location and print its agent token. The token is shown in full because you need it to configure the agent; retrieve it later with `openstatus pl info \(enshow\-token'. Run without \(enname in an interactive terminal to be prompted, including a picker for the monitors to attach. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] private\-locations create [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.5n) lw(29.4n) lw(4.3n) cw(8.0n) cw(12.8n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-name=\(dq\&...\(dq\f[R] T}@T{ Name of the private location T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-monitor\-ids=\(dq\&...\(dq\f[R] T}@T{ Monitor IDs to attach, comma\-separated or repeated T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-metadata=\(dq\&...\(dq\f[R] T}@T{ Key/value label, repeatable: \(enmetadata = T}@T{ string T}@T{ T}@T{ \f[I]none\f[R] T} .TE .SS \f[CR]run\f[R] command (aliases: \f[CR]r\f[R]) Run your uptime tests. .RS .PP openstatus run openstatus run \(enconfig custom\-config.yaml .RE .PP Run the uptime tests defined in the config.openstatus.yaml. The config file should be in the following format: tests: ids: \- monitor\-id\-1 \- monitor\-id\-2. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] run [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(17.2n) lw(17.2n) lw(4.7n) cw(16.6n) cw(14.2n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-config=\(dq\&...\(dq\f[R] T}@T{ The configuration file T}@T{ string T}@T{ \f[CR]\(dqconfig.openstatus.yaml\(dq\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]whoami\f[R] command (aliases: \f[CR]w\f[R]) Get your workspace information. .RS .PP openstatus whoami .RE .PP Get your current workspace information. Displays the workspace name, slug, and plan. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] whoami [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(19.3n) lw(19.3n) lw(5.3n) cw(10.0n) cw(16.0n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} .TE .SS \f[CR]login\f[R] command Save your API token. .RS .PP openstatus login .RE .PP Saves your OpenStatus API token for use in subsequent commands. Get your API token from the OpenStatus dashboard. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] login [ARGUMENTS...] .EE .SS \f[CR]logout\f[R] command Remove saved API token. .RS .PP openstatus logout .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] logout [ARGUMENTS...] .EE .SS \f[CR]terraform\f[R] command (aliases: \f[CR]tf\f[R]) Generate Terraform configuration. .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] terraform [ARGUMENTS...] .EE .SS \f[CR]terraform generate\f[R] subcommand (aliases: \f[CR]gen\f[R]) Generate Terraform configuration from workspace resources. .RS .PP openstatus terraform generate [\(enoutput\-dir ./openstatus\-terraform/] .RE .PP Usage: .IP .EX $ openstatus [GLOBAL FLAGS] terraform generate [COMMAND FLAGS] [ARGUMENTS...] .EE .PP The following flags are supported: .PP .TS tab(@); lw(15.4n) lw(22.3n) lw(4.2n) cw(15.4n) cw(12.7n). T{ Name T}@T{ Description T}@T{ Type T}@T{ Default value T}@T{ Environment variables T} _ T{ \f[CR]\-\-access\-token=\(dq\&...\(dq\f[R] (\f[CR]\-t\f[R]) T}@T{ OpenStatus API Access Token T}@T{ string T}@T{ T}@T{ \f[CR]OPENSTATUS_API_TOKEN\f[R] T} T{ \f[CR]\-\-output\-dir=\(dq\&...\(dq\f[R] (\f[CR]\-o\f[R]) T}@T{ Directory to write Terraform files into T}@T{ string T}@T{ \f[CR]\(dq./openstatus\-terraform/\(dq\f[R] T}@T{ \f[I]none\f[R] T} T{ \f[CR]\-\-force\f[R] (\f[CR]\-f\f[R]) T}@T{ Overwrite existing files in \(enoutput\-dir T}@T{ bool T}@T{ \f[CR]false\f[R] T}@T{ \f[I]none\f[R] T} .TE