published on Friday, Sep 11, 2026 by incident-io
published on Friday, Sep 11, 2026 by incident-io
Manage incident statuses.
Each incident has a status, picked from one of the statuses configured in your organisations settings.
Statuses help communicate where an incident is in its lifecycle. You can use statuses when filtering incidents in the dashboard, and in workflows and announcement rules.
Use this data source to look up an existing incident status, either by id or by name. This is useful for referencing statuses that incident.io manages for you, such as Triage or Closed, which can’t be created as an incident.Status resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as incident from "@pulumi/incident";
// Look up a status that incident.io manages for you, by name.
const triage = incident.getStatus({
name: "Triage",
});
// Create an additional status called "Clean-up". Only the live and learning categories
// can be added to: incident.io manages the rest, so they can't be customised.
const cleanUpStatus = new incident.Status("clean_up", {
name: "Clean-up",
description: "Not yet fully finished, but isn't a live incident anymore.",
category: "live",
});
// Reference the status by its ID.
const cleanUp = incident.getStatusOutput({
id: cleanUpStatus.id,
});
import pulumi
import pulumi_incident as incident
# Look up a status that incident.io manages for you, by name.
triage = incident.get_status(name="Triage")
# Create an additional status called "Clean-up". Only the live and learning categories
# can be added to: incident.io manages the rest, so they can't be customised.
clean_up_status = incident.Status("clean_up",
name="Clean-up",
description="Not yet fully finished, but isn't a live incident anymore.",
category="live")
# Reference the status by its ID.
clean_up = incident.get_status_output(id=clean_up_status.id)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Look up a status that incident.io manages for you, by name.
_, err := incident.LookupStatus(ctx, &incident.LookupStatusArgs{
Name: pulumi.StringRef("Triage"),
}, nil)
if err != nil {
return err
}
// Create an additional status called "Clean-up". Only the live and learning categories
// can be added to: incident.io manages the rest, so they can't be customised.
cleanUpStatus, err := incident.NewStatus(ctx, "clean_up", &incident.StatusArgs{
Name: pulumi.String("Clean-up"),
Description: pulumi.String("Not yet fully finished, but isn't a live incident anymore."),
Category: pulumi.String("live"),
})
if err != nil {
return err
}
// Reference the status by its ID.
_ = incident.LookupStatusOutput(ctx, incident.GetStatusOutputArgs{
Id: cleanUpStatus.ID(),
}, nil)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Incident = Pulumi.Incident;
return await Deployment.RunAsync(() =>
{
// Look up a status that incident.io manages for you, by name.
var triage = Incident.GetStatus.Invoke(new()
{
Name = "Triage",
});
// Create an additional status called "Clean-up". Only the live and learning categories
// can be added to: incident.io manages the rest, so they can't be customised.
var cleanUpStatus = new Incident.Status("clean_up", new()
{
Name = "Clean-up",
Description = "Not yet fully finished, but isn't a live incident anymore.",
Category = "live",
});
// Reference the status by its ID.
var cleanUp = Incident.GetStatus.Invoke(new()
{
Id = cleanUpStatus.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.incident.IncidentFunctions;
import com.pulumi.incident.inputs.GetStatusArgs;
import com.pulumi.incident.Status;
import com.pulumi.incident.StatusArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Look up a status that incident.io manages for you, by name.
final var triage = IncidentFunctions.getStatus(GetStatusArgs.builder()
.name("Triage")
.build());
// Create an additional status called "Clean-up". Only the live and learning categories
// can be added to: incident.io manages the rest, so they can't be customised.
var cleanUpStatus = new Status("cleanUpStatus", StatusArgs.builder()
.name("Clean-up")
.description("Not yet fully finished, but isn't a live incident anymore.")
.category("live")
.build());
// Reference the status by its ID.
final var cleanUp = IncidentFunctions.getStatus(GetStatusArgs.builder()
.id(cleanUpStatus.id())
.build());
}
}
resources:
# Create an additional status called "Clean-up". Only the live and learning categories
# can be added to: incident.io manages the rest, so they can't be customised.
cleanUpStatus:
type: incident:Status
name: clean_up
properties:
name: Clean-up
description: Not yet fully finished, but isn't a live incident anymore.
category: live
variables:
# Look up a status that incident.io manages for you, by name.
triage:
fn::invoke:
function: incident:getStatus
arguments:
name: Triage
# Reference the status by its ID.
cleanUp:
fn::invoke:
function: incident:getStatus
arguments:
id: ${cleanUpStatus.id}
Example coming soon!
Using getStatus
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getStatus(args: GetStatusArgs, opts?: InvokeOptions): Promise<GetStatusResult>
function getStatusOutput(args: GetStatusOutputArgs, opts?: InvokeOutputOptions): Output<GetStatusResult>def get_status(id: Optional[str] = None,
name: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetStatusResult
def get_status_output(id: pulumi.Input[Optional[str]] = None,
name: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetStatusResult]func LookupStatus(ctx *Context, args *LookupStatusArgs, opts ...InvokeOption) (*LookupStatusResult, error)
func LookupStatusOutput(ctx *Context, args *LookupStatusOutputArgs, opts ...InvokeOption) LookupStatusResultOutput> Note: This function is named LookupStatus in the Go SDK.
public static class GetStatus
{
public static Task<GetStatusResult> InvokeAsync(GetStatusArgs args, InvokeOptions? opts = null)
public static Output<GetStatusResult> Invoke(GetStatusInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetStatusResult> Invoke(GetStatusInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetStatusResult> getStatus(GetStatusArgs args, InvokeOptions options)
public static Output<GetStatusResult> getStatus(GetStatusArgs args, InvokeOptions options)
public static Output<GetStatusResult> getStatus(GetStatusArgs args, InvokeOutputOptions options)
fn::invoke:
function: incident:index/getStatus:getStatus
arguments:
# arguments dictionarydata "incident_get_status" "name" {
# arguments
}The following arguments are supported:
getStatus Result
The following output properties are available:
- Category string
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - Description string
- Rich text description of the incident status
- Id string
- Unique ID of this incident status
- Name string
- Unique name of this status
- Rank double
- Order of this incident status
- Category string
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - Description string
- Rich text description of the incident status
- Id string
- Unique ID of this incident status
- Name string
- Unique name of this status
- Rank float64
- Order of this incident status
- category string
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - description string
- Rich text description of the incident status
- id string
- Unique ID of this incident status
- name string
- Unique name of this status
- rank number
- Order of this incident status
- category String
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - description String
- Rich text description of the incident status
- id String
- Unique ID of this incident status
- name String
- Unique name of this status
- rank Double
- Order of this incident status
- category string
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - description string
- Rich text description of the incident status
- id string
- Unique ID of this incident status
- name string
- Unique name of this status
- rank number
- Order of this incident status
- category str
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - description str
- Rich text description of the incident status
- id str
- Unique ID of this incident status
- name str
- Unique name of this status
- rank float
- Order of this incident status
- category String
- What category of status it is. All statuses apart from live (renamed in the app to Active) and learning (renamed in the app to Post-incident) are managed by incident.io and cannot be configured. Possible values are:
triage,declined,merged,canceled,live,learning,closed,paused. - description String
- Rich text description of the incident status
- id String
- Unique ID of this incident status
- name String
- Unique name of this status
- rank Number
- Order of this incident status
Package Details
- Repository
- incident incident-io/terraform-provider-incident
- License
- Notes
- This Pulumi package is based on the
incidentTerraform Provider.
published on Friday, Sep 11, 2026 by incident-io