---
title: "PublicIncidentIncidentStatusUpdatedV2 Webhooks"
method: GET
path: "/x-webhooks/public_incident.incident_status_updated_v2"
tags: ["Webhooks"]
---

# PublicIncidentIncidentStatusUpdatedV2 Webhooks

`GET /x-webhooks/public_incident.incident_status_updated_v2`

This webhook is emitted whenever an incident's status changes.

## Response `200`

OK response.

- WebhooksPublicIncidentIncidentStatusUpdatedV2ResponseBody
  - `event_type` 'public_incident.incident_created_v2' | 'private_incident.incident_created_v2' | 'public_incident.incident_updated_v2' | 'private_incident.incident_updated_v2' | 'public_incident.incident_status_updated_v2' | 'public_incident.follow_up_created_v1' | 'private_incident.follow_up_created_v1' | 'public_incident.follow_up_updated_v1' | 'private_incident.follow_up_updated_v1' | 'public_incident.action_created_v1' | 'private_incident.action_created_v1' | 'public_incident.action_updated_v1' | 'private_incident.action_updated_v1' | 'private_incident.membership_granted_v1' | 'private_incident.membership_revoked_v1', required — What type of event is this webhook for?
  - `public_incident.incident_status_updated_v2` IncidentWithStatusChangeV2, required
    - `incident` IncidentV2, required
      - `call_url` string — The call URL attached to this incident
      - `created_at` string, date-time, required — When the incident was created
      - `creator` ActorV2, required
        - `api_key` APIKeyV2
          - `id` string, required — Unique identifier for this API key
          - `name` string, required — The name of the API key, for the user's reference
        - `user` UserV2
          - `email` string — Email address of the user.
          - `id` string, required — Unique identifier of the user
          - `name` string, required — Name of the user
          - `role` 'viewer' | 'responder' | 'administrator' | 'owner' | 'unset', required — DEPRECATED: Role of the user as of March 9th 2023, this value is no longer updated.
          - `slack_user_id` string — Slack ID of the user
      - `custom_field_entries` CustomFieldEntryV2[], required — Custom field entries for this incident
        - `custom_field` CustomFieldTypeInfoV2, required
          - `description` string, required — Description of the custom field
          - `field_type` 'single_select' | 'multi_select' | 'text' | 'link' | 'numeric', required — Type of custom field
          - `id` string, required — Unique identifier for the custom field
          - `name` string, required — Human readable name for the custom field
          - `options` CustomFieldOptionV2[], required — What options are available for this custom field, if this field has options
            - `custom_field_id` string, required — ID of the custom field this option belongs to
            - `id` string, required — Unique identifier for the custom field option
            - `sort_key` integer, required — Sort key used to order the custom field options correctly
            - `value` string, required — Human readable name for the custom field option
        - `values` CustomFieldValueV2[], required — List of custom field values set on this entry
          - `value_catalog_entry` EmbeddedCatalogEntryV2
            - `aliases` string[] — Optional aliases that can be used to reference this entry
            - `external_id` string — An optional alternative ID for this entry, which is ensured to be unique for the type
            - `id` string, required — ID of this catalog entry
            - `name` string, required — Name is the human readable name of this entry
          - `value_link` string — If the custom field type is 'link', this will contain the value assigned.
          - `value_numeric` string — If the custom field type is 'numeric', this will contain the value assigned.
          - `value_option` CustomFieldOptionV2
            - `custom_field_id` string, required — ID of the custom field this option belongs to
            - `id` string, required — Unique identifier for the custom field option
            - `sort_key` integer, required — Sort key used to order the custom field options correctly
            - `value` string, required — Human readable name for the custom field option
          - `value_text` string — If the custom field type is 'text', this will contain the value assigned.
      - `duration_metrics` IncidentDurationMetricWithValueV2[] — Incident duration metrics and their measurements for this incident
        - `duration_metric` IncidentDurationMetricV2, required
          - `id` string, required — Unique ID of this incident duration metric
          - `name` string, required — Unique name of this duration metric
        - `value_seconds` integer — The calculated durations for this metric
      - `external_issue_reference` ExternalIssueReferenceV2
        - `issue_name` string, required — Human readable ID for the issue
        - `issue_permalink` string, required — URL linking directly to the action in the issue tracker
        - `provider` 'asana' | 'click_up' | 'linear' | 'jira' | 'jira_server' | 'github' | 'gitlab' | 'shortcut', required — ID of the issue tracker provider
      - `has_debrief` boolean — If this incident has a debrief attached
      - `id` string, required — Unique identifier for the incident
      - `incident_role_assignments` IncidentRoleAssignmentV2[], required — A list of who is assigned to each role for this incident
        - `assignee` UserV2
          - `email` string — Email address of the user.
          - `id` string, required — Unique identifier of the user
          - `name` string, required — Name of the user
          - `role` 'viewer' | 'responder' | 'administrator' | 'owner' | 'unset', required — DEPRECATED: Role of the user as of March 9th 2023, this value is no longer updated.
          - `slack_user_id` string — Slack ID of the user
        - `role` EmbeddedIncidentRoleV2, required
          - `created_at` string, date-time, required — When the role was created
          - `description` string, required — Describes the purpose of the role
          - `id` string, required — Unique identifier for the role
          - `instructions` string, required — Provided to whoever is nominated for the role. Note that this will be empty for the 'reporter' role.
          - `name` string, required — Human readable name of the incident role
          - `required` boolean — This field is deprecated.
          - `role_type` 'lead' | 'reporter' | 'custom', required — Type of incident role
          - `shortform` string, required — Short human readable name for Slack. Note that this will be empty for the 'reporter' role.
          - `updated_at` string, date-time, required — When the role was last updated
      - `incident_status` IncidentStatusV2, required
        - `category` 'triage' | 'declined' | 'merged' | 'canceled' | 'live' | 'learning' | 'closed' | 'paused', required — 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
        - `created_at` string, date-time, required
        - `description` string, required — Rich text description of the incident status
        - `id` string, required — Unique ID of this incident status
        - `name` string, required — Unique name of this status
        - `rank` integer, required — Order of this incident status
        - `updated_at` string, date-time, required
      - `incident_timestamp_values` IncidentTimestampWithValueV2[] — Incident lifecycle events and when they occurred
        - `incident_timestamp` IncidentTimestampV2, required
          - `id` string, required — Unique ID of this incident timestamp
          - `name` string, required — Unique name of this timestamp
          - `rank` integer, required — Order in which this timestamp should be shown
        - `value` IncidentTimestampValueV2
          - `value` string, date-time — The current value of this timestamp, for this incident
      - `incident_type` IncidentTypeV2
        - `create_in_triage` 'always' | 'optional', required — Whether incidents of this must always, or can optionally, be created in triage
        - `created_at` string, date-time, required — When this resource was created
        - `description` string, required — What is this incident type for?
        - `id` string, required — Unique identifier for this Incident Type
        - `is_default` boolean, required — The default Incident Type is used when no other type is explicitly specified
        - `name` string, required — The name of this Incident Type
        - `private_incidents_only` boolean, required — Should all incidents created with this Incident Type be private?
        - `updated_at` string, date-time, required — When this resource was last updated
      - `mode` 'standard' | 'retrospective' | 'test' | 'tutorial', required — Whether the incident is real, a test, a tutorial, or importing as a retrospective incident
      - `name` string, required — Explanation of the incident
      - `permalink` string — A permanent link to the homepage for this incident
      - `postmortem_document_url` string — Description of the incident
      - `reference` string, required — Reference to this incident, as displayed across the product
      - `severity` SeverityV2
        - `created_at` string, date-time, required — When the action was created
        - `description` string, required — Description of the severity
        - `id` string, required — Unique identifier of the severity
        - `name` string, required — Human readable name of the severity
        - `rank` integer, required — Rank to help sort severities (lower numbers are less severe)
        - `updated_at` string, date-time, required — When the action was last updated
      - `slack_channel_id` string, required — ID of the Slack channel in the organisation Slack workspace. Note that the channel is sometimes created asynchronously, so may not be present when the incident is just created.
      - `slack_channel_name` string — Name of the slack channel
      - `slack_team_id` string, required — ID of the Slack team / workspace. This is only required if you are using a Slack Enterprise Grid with multiple teams.
      - `summary` string — Detailed description of the incident
      - `updated_at` string, date-time, required — When the incident was last updated
      - `visibility` 'public' | 'private', required — Whether the incident should be open to anyone in your Slack workspace (public), or invite-only (private). For more information on Private Incidents see our [help centre](https://help.incident.io/articles/5905558102-can-we-mark-incidents-as-sensitive-and-restrict-access).
      - `workload_minutes_late` number, double — Amount of time spent on the incident in late hours
      - `workload_minutes_sleeping` number, double — Amount of time spent on the incident in sleeping hours
      - `workload_minutes_total` number, double — Amount of time spent on the incident in total
      - `workload_minutes_working` number, double — Amount of time spent on the incident in working hours
    - `message` string — Message that explains the context behind the update
    - `new_status` IncidentStatusV2, required
      - `category` 'triage' | 'declined' | 'merged' | 'canceled' | 'live' | 'learning' | 'closed' | 'paused', required — 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
      - `created_at` string, date-time, required
      - `description` string, required — Rich text description of the incident status
      - `id` string, required — Unique ID of this incident status
      - `name` string, required — Unique name of this status
      - `rank` integer, required — Order of this incident status
      - `updated_at` string, date-time, required
    - `previous_status` IncidentStatusV2, required
      - `category` 'triage' | 'declined' | 'merged' | 'canceled' | 'live' | 'learning' | 'closed' | 'paused', required — 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
      - `created_at` string, date-time, required
      - `description` string, required — Rich text description of the incident status
      - `id` string, required — Unique ID of this incident status
      - `name` string, required — Unique name of this status
      - `rank` integer, required — Order of this incident status
      - `updated_at` string, date-time, required

---

[API](https://skmtc.net/incident/apis/incident-io.md) · [All operations](https://skmtc.net/incident/apis/incident-io/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/incident/incident-io/revisions/602fc25ddd76/schema)
