---
title: "Update Alert Routes V2"
method: PUT
path: "/v2/alert_routes/{id}"
tags: ["Alert Routes V2"]
---

# Update Alert Routes V2

`PUT /v2/alert_routes/{id}`

Updates an alert route.

We recommend you create alert routes in the incident.io dashboard where we allow
previewing filter and grouping rules.

## Path parameters

- `id` string, required

## Request body

- AlertRoutesV2UpdateRequestBody
  - `alert_sources` AlertRouteAlertSourcePayloadV2[], required — Which alert sources should this alert route match?
    - `alert_source_id` string, required — The alert source ID that will match for the route
    - `condition_groups` ConditionGroupPayloadV2[], required — What conditions should alerts from this source meet to be included in this alert route?
      - `conditions` ConditionPayloadV2[], required — All conditions in this list must be satisfied for the group to be satisfied
        - `operation` string, required — The name of the operation on the subject
        - `param_bindings` EngineParamBindingPayloadV2[], required — List of parameter bindings
          - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
          - `value` EngineParamBindingValuePayloadV2
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `subject` string, required — The reference of the subject in the trigger scope
  - `auto_decline_enabled` boolean, required — Should triage incidents be declined when alerts are resolved?
  - `condition_groups` ConditionGroupPayloadV2[], required — What condition groups must be true for this alert route to fire?
    - `conditions` ConditionPayloadV2[], required — All conditions in this list must be satisfied for the group to be satisfied
      - `operation` string, required — The name of the operation on the subject
      - `param_bindings` EngineParamBindingPayloadV2[], required — List of parameter bindings
        - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValuePayloadV2
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `subject` string, required — The reference of the subject in the trigger scope
  - `defer_time_seconds` integer, required — How long should the escalation defer time be?
  - `enabled` boolean, required — Whether this alert route is enabled or not
  - `escalation_bindings` AlertRouteEscalationBindingPayloadV2[], required — Which escalation paths should this alert route escalate to?
    - `binding` EngineParamBindingPayloadV2, required
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
  - `expressions` ExpressionPayloadV2[] — The expressions used in this template
    - `else_branch` ExpressionElseBranchPayloadV2
      - `result` EngineParamBindingPayloadV2, required
        - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValuePayloadV2
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `label` string, required — The human readable label of the expression
    - `operations` ExpressionOperationPayloadV2[], required
      - `branches` ExpressionBranchesOptsPayloadV2
        - `branches` ExpressionBranchPayloadV2[], required — The branches to apply for this operation
          - `condition_groups` ConditionGroupPayloadV2[], required — When one of these condition groups are satisfied, this branch will be evaluated
            - `conditions` ConditionPayloadV2[], required — All conditions in this list must be satisfied for the group to be satisfied
              - …
          - `result` EngineParamBindingPayloadV2, required
            - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
              - …
            - `value` EngineParamBindingValuePayloadV2
              - …
        - `returns` ReturnsMetaV2, required
          - `array` boolean, required — Whether the return value should be single or multi-value
          - `type` string, required — Expected return type of this expression (what to try casting the result to)
      - `filter` ExpressionFilterOptsPayloadV2
        - `condition_groups` ConditionGroupPayloadV2[], required — The condition groups to apply in this filter. Only one group needs to be satisfied for the filter to pass.
          - `conditions` ConditionPayloadV2[], required — All conditions in this list must be satisfied for the group to be satisfied
            - `operation` string, required — The name of the operation on the subject
            - `param_bindings` EngineParamBindingPayloadV2[], required — List of parameter bindings
              - …
            - `subject` string, required — The reference of the subject in the trigger scope
      - `navigate` ExpressionNavigateOptsPayloadV2
        - `reference` string, required — The reference that you want to navigate to
      - `operation_type` 'navigate' | 'filter' | 'count' | 'min' | 'max' | 'sum' | 'random' | 'first' | 'parse' | 'branches', required — The type of the operation
      - `parse` ExpressionParseOptsPayloadV2
        - `returns` ReturnsMetaV2, required
          - `array` boolean, required — Whether the return value should be single or multi-value
          - `type` string, required — Expected return type of this expression (what to try casting the result to)
        - `source` string, required — Source expression that is evaluated to a result
    - `reference` string, required — A short ID that can be used to reference the expression
    - `root_reference` string, required — The root reference for this expression (i.e. where the expression starts)
  - `grouping_keys` GroupingKeyV2[], required — Which attributes should this alert route use to group alerts?
    - `id` string, required — Unique identifier of the alert attribute the user wishes to group on
  - `grouping_window_seconds` integer, required — How large should the grouping window be?
  - `incident_condition_groups` ConditionGroupPayloadV2[], required — What condition groups must be true for this alert route to create an incident?
    - `conditions` ConditionPayloadV2[], required — All conditions in this list must be satisfied for the group to be satisfied
      - `operation` string, required — The name of the operation on the subject
      - `param_bindings` EngineParamBindingPayloadV2[], required — List of parameter bindings
        - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValuePayloadV2
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `subject` string, required — The reference of the subject in the trigger scope
  - `incident_enabled` boolean, required — Whether this alert route will create incidents or not
  - `name` string, required — The name of this alert route config, for the user's reference
  - `template` AlertRouteIncidentTemplatePayloadV2
    - `custom_field_priorities` object, required — lookup of the priority options for each custom field in the template
    - `custom_fields` object — Custom field keys mapped to values
    - `incident_mode` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `incident_type` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `name` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `priority_severity` 'severity-first-wins' | 'severity-max', required — option defining whether to cause subsequent alerts to increase the severity
    - `severity` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `start_in_triage` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `summary` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `workspace` EngineParamBindingPayloadV2
      - `array_value` EngineParamBindingValuePayloadV2[] — If set, this is the array value of the step parameter
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `value` EngineParamBindingValuePayloadV2
        - `literal` string — If set, this is the literal value of the step parameter
        - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter

## Response `200`

OK response.

- AlertRoutesV2UpdateResponseBody
  - `alert_route` AlertRouteV2, required
    - `condition_groups` ConditionGroupV2[], required — What condition groups must be true for this alert route to fire?
      - `conditions` ConditionV2[], required — All conditions in this list must be satisfied for the group to be satisfied
        - `operation` ConditionOperationV2, required
          - `label` string, required — Human readable label to be displayed for user to select
          - `value` string, required — Unique identifier for this option
        - `param_bindings` EngineParamBindingV2[], required — Bindings for the operation parameters
          - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
            - `label` string, required — Human readable label to be displayed for user to select
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
          - `value` EngineParamBindingValueV2
            - `label` string, required — Human readable label to be displayed for user to select
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `subject` ConditionSubjectV2, required
          - `label` string, required — Human readable identifier for the subject
          - `reference` string, required — Reference into the scope for the value of the subject
    - `defer_time_seconds` integer, required — How long should the escalation defer time be?
    - `escalation_bindings` AlertRouteEscalationBindingV2[], required — Which escalation paths should this alert route escalate to?
      - `binding` EngineParamBindingV2, required
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
    - `expressions` ExpressionV2[] — The expressions used in this template
      - `else_branch` ExpressionElseBranchV2
        - `result` EngineParamBindingV2, required
          - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
            - `label` string, required — Human readable label to be displayed for user to select
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
          - `value` EngineParamBindingValueV2
            - `label` string, required — Human readable label to be displayed for user to select
            - `literal` string — If set, this is the literal value of the step parameter
            - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `label` string, required — The human readable label of the expression
      - `operations` ExpressionOperationV2[], required
        - `branches` ExpressionBranchesOptsV2
          - `branches` ExpressionBranchV2[], required — The branches to apply for this operation
            - `condition_groups` ConditionGroupV2[], required — When one of these condition groups are satisfied, this branch will be evaluated
              - …
            - `result` EngineParamBindingV2, required
              - …
          - `returns` ReturnsMetaV2, required
            - `array` boolean, required — Whether the return value should be single or multi-value
            - `type` string, required — Expected return type of this expression (what to try casting the result to)
        - `filter` ExpressionFilterOptsV2
          - `condition_groups` ConditionGroupV2[], required — The condition groups to apply in this filter. Only one group needs to be satisfied for the filter to pass.
            - `conditions` ConditionV2[], required — All conditions in this list must be satisfied for the group to be satisfied
              - …
        - `navigate` ExpressionNavigateOptsV2
          - `reference` string, required — The reference within the scope to navigate to
          - `reference_label` string, required — The name of the reference to navigate to
        - `operation_type` 'navigate' | 'filter' | 'count' | 'min' | 'max' | 'sum' | 'random' | 'first' | 'parse' | 'branches', required — The type of the operation
        - `parse` ExpressionParseOptsV2
          - `returns` ReturnsMetaV2, required
            - `array` boolean, required — Whether the return value should be single or multi-value
            - `type` string, required — Expected return type of this expression (what to try casting the result to)
          - `source` string, required — Source expression that is evaluated to a result
        - `returns` ReturnsMetaV2, required
          - `array` boolean, required — Whether the return value should be single or multi-value
          - `type` string, required — Expected return type of this expression (what to try casting the result to)
      - `reference` string, required — A short ID that can be used to reference the expression
      - `returns` ReturnsMetaV2, required
        - `array` boolean, required — Whether the return value should be single or multi-value
        - `type` string, required — Expected return type of this expression (what to try casting the result to)
      - `root_reference` string, required — The root reference for this expression (i.e. where the expression starts)
    - `grouping_keys` GroupingKeyV2[], required — Which attributes should this alert route use to group alerts?
      - `id` string, required — Unique identifier of the alert attribute the user wishes to group on
    - `grouping_window_seconds` integer, required — How large should the grouping window be?
    - `id` string, required — Unique identifier for this alert route config
    - `name` string, required — The name of this alert route config, for the user's reference
    - `template` AlertRouteIncidentTemplateV2
      - `custom_field_priorities` object, required — lookup of the priority options for each custom field in the template
      - `custom_fields` object — Custom field keys mapped to values
      - `incident_mode` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `incident_type` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `name` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `priority_severity` 'severity-first-wins' | 'severity-max', required — binding to use to resolve the workspace to create an incident in
      - `severity` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `summary` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
      - `workspace` EngineParamBindingV2
        - `array_value` EngineParamBindingValueV2[] — If array_value is set, this helps render the values
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter
        - `value` EngineParamBindingValueV2
          - `label` string, required — Human readable label to be displayed for user to select
          - `literal` string — If set, this is the literal value of the step parameter
          - `reference` string — If set, this is the reference into the trigger scope that is the value of this parameter

---

[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)
