> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incident.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update

> Update an existing alert route in your account.

🔑 Requires the `alert_route.update` scope.


## OpenAPI

````yaml /openapi/tags/alert-routes-v3.json put /v3/alert_routes/{id}
openapi: 3.0.3
info:
  description: "This is the API reference for incident.io.\n\nIt documents available API endpoints, provides examples of how to use it, and\ninstructions around things like authentication and error handling.\n\nThe API is hosted at:\n\n- https://api.incident.io/\n\nAnd you will need to create an API key via your [incident.io\ndashboard](https://app.incident.io/settings/api-keys) to make requests.\n\n# Making requests\n\nHere are the key concepts required to make requests to the incident.io API.\n\n## Authentication\n\nFor all requests made to the incident.io API, you'll need an API key.\n\nTo create an API key, head to the incident dashboard and visit [API\nkeys](https://app.incident.io/settings/api-keys). When you create the key, you'll be able to choose what actions it\ncan take for your account: choose carefully, as those roles can only be set\nwhen you first create the key. We'll only show you the token once, so make sure\nyou store it somewhere safe.\n\nAPI keys are global to your incident.io account, and can be managed by anyone\nwho has the right permissions. We display the user that created the API key,\nand the API key will remain valid if that user becomes deactivated.\n\nOnce you have the key, you should make requests to the API that set the\n`Authorization` request header using a \"Bearer\" authentication scheme:\n\n```\nAuthorization: Bearer <YOUR_API_KEY>\n```\n\n## Rate Limits\n\nThe incident.io API enforces rate limits to ensure consistent performance for all users.\n\nThe default rate limit is 1200 requests/minute per API key. This limit applies to most endpoints across the API.\n\nSome endpoints have lower rate limits, particularly those that interact with external third-party systems that impose\ntheir own limitations. These specific limits vary by endpoint, and we recommend relying on the rate-limit error\nresponses to understand usage patterns and implement appropriate retry strategies.\n\nWhen you exceed a rate limit, the API will respond with a `429 Too Many Requests` status code, along with a JSON\nresponse that includes information about the limit and when you can retry:\n\n```json\n{\n    \"type\": \"too_many_requests\",\n    \"status\": 429,\n    \"request_id\": \"b839a403-7704-41c1-bf6a-39a2d68caefa\",\n    \"rate_limit\": {\n        \"name\": \"api_key_name\",\n        \"limit\": 1200,\n        \"remaining\": 0,\n        \"retry_after\": \"Thu, 17 Apr 2025 11:17:18 UTC\"\n    },\n    \"errors\": [\n        {\n            \"code\": \"too_many_requests\",\n            \"message\": \"Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.\"\n        }\n    ]\n}\n```\n\nThe response includes:\n* The name of the API key (`name`)\n* The bucket limit (`limit`)\n* The number of requests remaining (`remaining`)\n* When you can retry requests (`retry_after`)\n\n## Errors\n\nWe use standard HTTP response codes to indicate the status or failure of API\nrequests.\n\nThe API response body will be JSON, and contain more detailed information on the\nnature of the error.\n\nAn example error when a request is made without an API key:\n\n```json\n{\n  \"type\": \"authentication_error\",\n  \"status\": 401,\n  \"request_id\": \"8e3cc412-b49d-4957-9073-2c19d2c61804\",\n  \"errors\": [\n    {\n      \"code\": \"missing_authorization_material\",\n      \"message\": \"No authorization material provided in request\"\n    }\n  ]\n}\n```\n\nNote that the error:\n\n- Contains the HTTP status (`401`)\n- References the type of error (`authentication_error`)\n- Includes a `request_id` that can be provided to incident.io support to help\n\tdebug questions with your API request\n- Provides a list of individual errors, which go into detail about why the error\n\toccurred\n\nThe most common error will be a 422 Validation Error, which is returned when the\nrequest was rejected due to failing validations.\n\nThese errors look like this:\n\n```json\n{\n  \"type\": \"validation_error\",\n  \"status\": 422,\n  \"request_id\": \"631766c4-4afd-4803-997c-cd700928fa4b\",\n  \"errors\": [\n    {\n      \"code\": \"is_required\",\n      \"message\": \"A severity is required to open an incident\",\n      \"source\": {\n        \"field\": \"severity_id\"\n      }\n    }\n  ]\n}\n```\n\nThis error is caused by not providing a severity identifier, which should be at\nthe `severity_id` field of the request payload. Errors like these can be mapped to\nforms, should you be integrating with the API from a user-interface.\n\n## Compatibility\n\nWe won't make breaking changes to existing API services or endpoints, but will\nexpect integrators to upgrade themselves to the latest API endpoints within 3\nmonths of us deprecating the old service.\n\nWe will make changes that are considered backwards compatible, which include:\n\n- Adding new API endpoints and services\n- Adding new properties to responses from existing API endpoints\n- Reordering properties returned from existing API endpoints\n- Adding optional request parameters to existing API endpoints\n- Altering the format or length of IDs\n- Adding new values to enums\n\nIt is important that clients are robust to these changes, to ensure reliable\nintegrations.\n\nAs an example, if you are generating a client using an openapi-generator, ensure\nthe generated client is configured to support unknown enum values, often\nconfigured via the `enumUnknownDefaultCase` parameter.\n\nWhen breaking changes are unavoidable, we'll create a new service version on a\nseparate path, and run them in parallel.\n\nFor example:\n\n- https://api.incident.io/v1/incidents\n- https://api.incident.io/v2/incidents\n\nFor any questions, email support@incident.io.\n"
  title: incident.io
  version: 1.0.0
servers:
  - url: https://api.incident.io
security:
  - BearerAuth: []
tags:
  - description: >-
      Configure your alert routes in incident.io.


      Alert routes define how alerts from different sources are processed,
      grouped, and routed to the right teams and people.
    name: Alert Routes V3
paths:
  /v3/alert_routes/{id}:
    put:
      tags:
        - Alert Routes V3
      summary: Update
      description: Update an existing alert route in your account.
      operationId: Alert Routes V3_Update
      parameters:
        - description: Unique identifier of the alert route
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          in: path
          name: id
          required: true
          schema:
            description: Unique identifier of the alert route
            example: 01FCNDV6P870EA6S7TK1DSYDG0
            type: string
      requestBody:
        content:
          application/json:
            example:
              alert_sources:
                - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  condition_groups:
                    - conditions:
                        - operation: one_of
                          param_bindings:
                            - array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                          subject: alert.priority
              condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
              enabled: false
              escalation_config:
                auto_cancel_escalations: false
                escalation_targets:
                  - escalation_paths:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    users:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                when_alert_joins_group:
                  grace_period_seconds: 60
                  mode: on_each_new_alert
              expressions:
                - else_branch:
                    result:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  label: Team Slack channel
                  operations:
                    - branches:
                        branches:
                          - condition_groups:
                              - conditions:
                                  - operation: one_of
                                    param_bindings:
                                      - array_value:
                                          - literal: SEV123
                                            reference: incident.severity
                                        value:
                                          literal: SEV123
                                          reference: incident.severity
                                    subject: alert.priority
                            result:
                              array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                        returns:
                          array: true
                          type: IncidentStatus
                      cast:
                        returns:
                          array: true
                          type: IncidentStatus
                      concatenate:
                        reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                      filter:
                        condition_groups:
                          - conditions:
                              - operation: one_of
                                param_bindings:
                                  - array_value:
                                      - literal: SEV123
                                        reference: incident.severity
                                    value:
                                      literal: SEV123
                                      reference: incident.severity
                                subject: alert.priority
                      navigate:
                        reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                      operation_type: navigate
                      parse:
                        returns:
                          array: true
                          type: IncidentStatus
                        source: metadata.annotations["github.com/repo"]
                  reference: abc123
                  root_reference: incident.status
              grouping_config:
                default:
                  enabled: true
                  grouping_keys:
                    - reference: alert.title
                  window_seconds: 1800
                  window_type: rolling
              incident_config:
                auto_decline_enabled: false
                condition_groups:
                  - conditions:
                      - operation: one_of
                        param_bindings:
                          - array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                        subject: alert.priority
                enabled: false
                template:
                  custom_fields:
                    - binding:
                        array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                      custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      merge_strategy: first-wins
                  incident_mode:
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  incident_type:
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  name:
                    autogenerated: false
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  severity:
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    merge_strategy: first-wins
                  start_in_triage:
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  summary:
                    autogenerated: false
                    binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
              is_private: false
              message_config:
                destinations:
                  - condition_groups:
                      - conditions:
                          - operation: one_of
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject: alert.priority
                    ms_teams_targets:
                      binding:
                        array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                      channel_visibility: public
                    slack_targets:
                      binding:
                        array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                      channel_visibility: public
                template:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              name: Production incidents
              owning_team_ids:
                - 01G0J1EXE7AXZ2C93K61WBPYEH
              version: 1
            schema:
              $ref: '#/components/schemas/AlertRoutesUpdatePayloadV3'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                alert_route:
                  alert_sources:
                    - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      condition_groups:
                        - conditions:
                            - operation:
                                label: Lawrence Jones
                                value: 01FCQSP07Z74QMMYPDDGQB9FTG
                              param_bindings:
                                - array_value:
                                    - literal: SEV123
                                      reference: incident.severity
                                  value:
                                    literal: SEV123
                                    reference: incident.severity
                              subject:
                                label: Priority
                                reference: alert.priority
                  condition_groups:
                    - conditions:
                        - operation:
                            label: Lawrence Jones
                            value: 01FCQSP07Z74QMMYPDDGQB9FTG
                          param_bindings:
                            - array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                          subject:
                            label: Priority
                            reference: alert.priority
                  created_at: '2021-08-17T13:28:57.801578Z'
                  enabled: false
                  escalation_config:
                    auto_cancel_escalations: false
                    escalation_targets:
                      - escalation_paths:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                        users:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                    when_alert_joins_group:
                      grace_period_seconds: 60
                      mode: on_each_new_alert
                  expressions:
                    - else_branch:
                        result:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      label: Team Slack channel
                      operations:
                        - branches:
                            branches:
                              - condition_groups:
                                  - conditions:
                                      - operation:
                                          label: Lawrence Jones
                                          value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                        param_bindings:
                                          - array_value:
                                              - literal: SEV123
                                                reference: incident.severity
                                            value:
                                              literal: SEV123
                                              reference: incident.severity
                                        subject:
                                          label: Priority
                                          reference: alert.priority
                                result:
                                  array_value:
                                    - literal: SEV123
                                      reference: incident.severity
                                  value:
                                    literal: SEV123
                                    reference: incident.severity
                            returns:
                              array: true
                              type: IncidentStatus
                          filter:
                            condition_groups:
                              - conditions:
                                  - operation:
                                      label: Lawrence Jones
                                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                    param_bindings:
                                      - array_value:
                                          - literal: SEV123
                                            reference: incident.severity
                                        value:
                                          literal: SEV123
                                          reference: incident.severity
                                    subject:
                                      label: Priority
                                      reference: alert.priority
                          navigate:
                            reference: '1235'
                            reference_label: Teams
                          operation_type: navigate
                          parse:
                            returns:
                              array: true
                              type: IncidentStatus
                            source: metadata.annotations["github.com/repo"]
                          returns:
                            array: true
                            type: IncidentStatus
                      reference: abc123
                      returns:
                        array: true
                        type: IncidentStatus
                      root_reference: incident.status
                  grouping_config:
                    default:
                      enabled: true
                      grouping_keys:
                        - reference: alert.title
                      window_seconds: 1800
                      window_type: rolling
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  incident_config:
                    auto_decline_enabled: false
                    condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Priority
                              reference: alert.priority
                    enabled: false
                    template:
                      custom_fields:
                        - binding:
                            array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                          custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                          merge_strategy: first-wins
                      incident_mode:
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      incident_type:
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      name:
                        autogenerated: false
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      severity:
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                        merge_strategy: first-wins
                      start_in_triage:
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      summary:
                        autogenerated: false
                        binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                  is_private: false
                  message_config:
                    destinations:
                      - condition_groups:
                          - conditions:
                              - operation:
                                  label: Lawrence Jones
                                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                param_bindings:
                                  - array_value:
                                      - literal: SEV123
                                        reference: incident.severity
                                    value:
                                      literal: SEV123
                                      reference: incident.severity
                                subject:
                                  label: Priority
                                  reference: alert.priority
                        ms_teams_targets:
                          binding:
                            array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                          channel_visibility: abc123
                        slack_targets:
                          binding:
                            array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                          channel_visibility: abc123
                    template:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  name: Production incidents
                  owning_team_ids:
                    - 01G0J1EXE7AXZ2C93K61WBPYEH
                  updated_at: '2021-08-17T13:28:57.801578Z'
                  version: 1
              schema:
                $ref: '#/components/schemas/AlertRoutesUpdateResultV3'
          description: OK response.
components:
  schemas:
    AlertRoutesUpdatePayloadV3:
      example:
        alert_sources:
          - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
            condition_groups:
              - conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: alert.priority
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
        enabled: false
        escalation_config:
          auto_cancel_escalations: false
          escalation_targets:
            - escalation_paths:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              users:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          when_alert_joins_group:
            grace_period_seconds: 60
            mode: on_each_new_alert
        expressions:
          - else_branch:
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            label: Team Slack channel
            operations:
              - branches:
                  branches:
                    - condition_groups:
                        - conditions:
                            - operation: one_of
                              param_bindings:
                                - array_value:
                                    - literal: SEV123
                                      reference: incident.severity
                                  value:
                                    literal: SEV123
                                    reference: incident.severity
                              subject: alert.priority
                      result:
                        array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                  returns:
                    array: true
                    type: IncidentStatus
                cast:
                  returns:
                    array: true
                    type: IncidentStatus
                concatenate:
                  reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                filter:
                  condition_groups:
                    - conditions:
                        - operation: one_of
                          param_bindings:
                            - array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                          subject: alert.priority
                navigate:
                  reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                operation_type: navigate
                parse:
                  returns:
                    array: true
                    type: IncidentStatus
                  source: metadata.annotations["github.com/repo"]
            reference: abc123
            root_reference: incident.status
        grouping_config:
          default:
            enabled: true
            grouping_keys:
              - reference: alert.title
            window_seconds: 1800
            window_type: rolling
        incident_config:
          auto_decline_enabled: false
          condition_groups:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          enabled: false
          template:
            custom_fields:
              - binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                merge_strategy: first-wins
            incident_mode:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            incident_type:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            name:
              autogenerated: false
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            severity:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              merge_strategy: first-wins
            start_in_triage:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            summary:
              autogenerated: false
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
        is_private: false
        message_config:
          destinations:
            - condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
              ms_teams_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: public
              slack_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: public
          template:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        name: Production incidents
        owning_team_ids:
          - 01G0J1EXE7AXZ2C93K61WBPYEH
        version: 1
      properties:
        alert_sources:
          description: Which alert sources this route matches
          example:
            - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
              condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
          items:
            $ref: '#/components/schemas/AlertRouteAlertSourcePayloadV3'
          type: array
        condition_groups:
          description: >-
            Filter: the condition groups that must be true for this route to
            fire
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
        enabled:
          description: Whether this alert route is enabled
          example: false
          type: boolean
        escalation_config:
          $ref: '#/components/schemas/AlertRouteEscalationConfigPayloadV3'
        expressions:
          description: The expressions used by bindings in this route
          example:
            - else_branch:
                result:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              label: Team Slack channel
              operations:
                - branches:
                    branches:
                      - condition_groups:
                          - conditions:
                              - operation: one_of
                                param_bindings:
                                  - array_value:
                                      - literal: SEV123
                                        reference: incident.severity
                                    value:
                                      literal: SEV123
                                      reference: incident.severity
                                subject: alert.priority
                        result:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                    returns:
                      array: true
                      type: IncidentStatus
                  cast:
                    returns:
                      array: true
                      type: IncidentStatus
                  concatenate:
                    reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                  filter:
                    condition_groups:
                      - conditions:
                          - operation: one_of
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject: alert.priority
                  navigate:
                    reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
                  operation_type: navigate
                  parse:
                    returns:
                      array: true
                      type: IncidentStatus
                    source: metadata.annotations["github.com/repo"]
              reference: abc123
              root_reference: incident.status
          items:
            $ref: '#/components/schemas/ExpressionPayloadV3'
          type: array
        grouping_config:
          $ref: '#/components/schemas/AlertGroupingConfigV3'
        incident_config:
          $ref: '#/components/schemas/AlertRouteIncidentConfigPayloadV3'
        is_private:
          description: >-
            Whether this alert route is private. Private alert routes only
            create private incidents from alerts.
          example: false
          type: boolean
        message_config:
          $ref: '#/components/schemas/AlertMessageConfigPayloadV3'
        name:
          description: The name of this alert route, for the user's reference
          example: Production incidents
          type: string
        owning_team_ids:
          description: IDs of teams that own this alert route
          example:
            - 01G0J1EXE7AXZ2C93K61WBPYEH
          items:
            example: abc123
            type: string
          type: array
        version:
          description: >-
            The version this update will create. It must be one more than the
            route's latest version, otherwise the update is rejected - guarding
            against concurrent edits.
          example: 1
          format: int64
          type: integer
      required:
        - version
        - name
        - is_private
        - enabled
        - alert_sources
        - condition_groups
        - grouping_config
        - escalation_config
        - incident_config
        - message_config
        - expressions
      type: object
    AlertRoutesUpdateResultV3:
      example:
        alert_route:
          alert_sources:
            - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
              condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
          condition_groups:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          created_at: '2021-08-17T13:28:57.801578Z'
          enabled: false
          escalation_config:
            auto_cancel_escalations: false
            escalation_targets:
              - escalation_paths:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                users:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
            when_alert_joins_group:
              grace_period_seconds: 60
              mode: on_each_new_alert
          expressions:
            - else_branch:
                result:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              label: Team Slack channel
              operations:
                - branches:
                    branches:
                      - condition_groups:
                          - conditions:
                              - operation:
                                  label: Lawrence Jones
                                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                param_bindings:
                                  - array_value:
                                      - literal: SEV123
                                        reference: incident.severity
                                    value:
                                      literal: SEV123
                                      reference: incident.severity
                                subject:
                                  label: Priority
                                  reference: alert.priority
                        result:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                    returns:
                      array: true
                      type: IncidentStatus
                  filter:
                    condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Priority
                              reference: alert.priority
                  navigate:
                    reference: '1235'
                    reference_label: Teams
                  operation_type: navigate
                  parse:
                    returns:
                      array: true
                      type: IncidentStatus
                    source: metadata.annotations["github.com/repo"]
                  returns:
                    array: true
                    type: IncidentStatus
              reference: abc123
              returns:
                array: true
                type: IncidentStatus
              root_reference: incident.status
          grouping_config:
            default:
              enabled: true
              grouping_keys:
                - reference: alert.title
              window_seconds: 1800
              window_type: rolling
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          incident_config:
            auto_decline_enabled: false
            condition_groups:
              - conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Priority
                      reference: alert.priority
            enabled: false
            template:
              custom_fields:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  merge_strategy: first-wins
              incident_mode:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              incident_type:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              name:
                autogenerated: false
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              severity:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                merge_strategy: first-wins
              start_in_triage:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              summary:
                autogenerated: false
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
          is_private: false
          message_config:
            destinations:
              - condition_groups:
                  - conditions:
                      - operation:
                          label: Lawrence Jones
                          value: 01FCQSP07Z74QMMYPDDGQB9FTG
                        param_bindings:
                          - array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                        subject:
                          label: Priority
                          reference: alert.priority
                ms_teams_targets:
                  binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  channel_visibility: abc123
                slack_targets:
                  binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  channel_visibility: abc123
            template:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          name: Production incidents
          owning_team_ids:
            - 01G0J1EXE7AXZ2C93K61WBPYEH
          updated_at: '2021-08-17T13:28:57.801578Z'
          version: 1
      properties:
        alert_route:
          $ref: '#/components/schemas/AlertRouteV3'
      required:
        - alert_route
      type: object
    AlertRouteAlertSourcePayloadV3:
      example:
        alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
      properties:
        alert_source_id:
          description: The alert source ID that will match for the route
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        condition_groups:
          description: >-
            What conditions should alerts from this source meet to be included
            in this alert route?
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
      required:
        - alert_source_id
        - condition_groups
      type: object
    ConditionGroupPayloadV3:
      example:
        conditions:
          - operation: one_of
            param_bindings:
              - array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            subject: alert.priority
      properties:
        conditions:
          description: >-
            All conditions in this list must be satisfied for the group to be
            satisfied
          example:
            - operation: one_of
              param_bindings:
                - array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionPayloadV3'
          type: array
      required:
        - conditions
      type: object
    AlertRouteEscalationConfigPayloadV3:
      example:
        auto_cancel_escalations: false
        escalation_targets:
          - escalation_paths:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            users:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
        when_alert_joins_group:
          grace_period_seconds: 60
          mode: on_each_new_alert
      properties:
        auto_cancel_escalations:
          description: Should we auto cancel escalations when all alerts are resolved?
          example: false
          type: boolean
        escalation_targets:
          description: Targets for escalation
          example:
            - escalation_paths:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              users:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/AlertRouteEscalationTargetPayloadV3'
          type: array
        when_alert_joins_group:
          $ref: '#/components/schemas/AlertRouteWhenAlertJoinsGroupPayloadV3'
      required:
        - escalation_targets
        - auto_cancel_escalations
      type: object
    ExpressionPayloadV3:
      example:
        else_branch:
          result:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        label: Team Slack channel
        operations:
          - branches:
              branches:
                - condition_groups:
                    - conditions:
                        - operation: one_of
                          param_bindings:
                            - array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                          subject: alert.priority
                  result:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
              returns:
                array: true
                type: IncidentStatus
            cast:
              returns:
                array: true
                type: IncidentStatus
            concatenate:
              reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
            filter:
              condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
            navigate:
              reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
            operation_type: navigate
            parse:
              returns:
                array: true
                type: IncidentStatus
              source: metadata.annotations["github.com/repo"]
        reference: abc123
        root_reference: incident.status
      properties:
        else_branch:
          $ref: '#/components/schemas/ExpressionElseBranchPayloadV3'
        label:
          description: The human readable label of the expression
          example: Team Slack channel
          type: string
        operations:
          example:
            - branches:
                branches:
                  - condition_groups:
                      - conditions:
                          - operation: one_of
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject: alert.priority
                    result:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                returns:
                  array: true
                  type: IncidentStatus
              cast:
                returns:
                  array: true
                  type: IncidentStatus
              concatenate:
                reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
              filter:
                condition_groups:
                  - conditions:
                      - operation: one_of
                        param_bindings:
                          - array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                        subject: alert.priority
              navigate:
                reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
              operation_type: navigate
              parse:
                returns:
                  array: true
                  type: IncidentStatus
                source: metadata.annotations["github.com/repo"]
          items:
            $ref: '#/components/schemas/ExpressionOperationPayloadV3'
          type: array
        reference:
          description: A short ID that can be used to reference the expression
          example: abc123
          type: string
        root_reference:
          description: >-
            The root reference for this expression (i.e. where the expression
            starts)
          example: incident.status
          type: string
      required:
        - label
        - reference
        - root_reference
        - operations
      type: object
    AlertGroupingConfigV3:
      example:
        default:
          enabled: true
          grouping_keys:
            - reference: alert.title
          window_seconds: 1800
          window_type: rolling
      properties:
        default:
          $ref: '#/components/schemas/GroupingSettingsV3'
      required:
        - default
      type: object
    AlertRouteIncidentConfigPayloadV3:
      example:
        auto_decline_enabled: false
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
        enabled: false
        template:
          custom_fields:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              merge_strategy: first-wins
          incident_mode:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          incident_type:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          name:
            autogenerated: false
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          severity:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            merge_strategy: first-wins
          start_in_triage:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          summary:
            autogenerated: false
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
      properties:
        auto_decline_enabled:
          description: >-
            Should triage incidents be declined when alerts are resolved?
            Required when incident creation is enabled, and must be unset
            otherwise.
          example: false
          type: boolean
        condition_groups:
          description: >-
            What condition groups must be true for this alert route to create an
            incident? Only set when incident creation is enabled.
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
        enabled:
          description: Whether incident creation is enabled for this alert route
          example: false
          type: boolean
        template:
          $ref: '#/components/schemas/AlertRouteIncidentTemplatePayloadV3'
      required:
        - enabled
      type: object
    AlertMessageConfigPayloadV3:
      example:
        destinations:
          - condition_groups:
              - conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: alert.priority
            ms_teams_targets:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              channel_visibility: public
            slack_targets:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              channel_visibility: public
        template:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        destinations:
          description: The destinations (Slack/Teams channels) alert messages are sent to
          example:
            - condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
              ms_teams_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: public
              slack_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: public
          items:
            $ref: '#/components/schemas/AlertMessageDestinationPayloadV3'
          type: array
        template:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      required:
        - destinations
      type: object
    AlertRouteV3:
      properties:
        alert_sources:
          description: Which alert sources this route matches
          example:
            - alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
              condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
          items:
            $ref: '#/components/schemas/AlertRouteAlertSourceV3'
          type: array
        condition_groups:
          description: >-
            Filter: the condition groups that must be true for this route to
            fire
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
        created_at:
          description: When this alert route was created
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        enabled:
          description: Whether this alert route is enabled
          example: false
          type: boolean
        escalation_config:
          $ref: '#/components/schemas/AlertRouteEscalationConfigV3'
        expressions:
          description: The expressions used by bindings in this route
          example:
            - else_branch:
                result:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              label: Team Slack channel
              operations:
                - branches:
                    branches:
                      - condition_groups:
                          - conditions:
                              - operation:
                                  label: Lawrence Jones
                                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                param_bindings:
                                  - array_value:
                                      - literal: SEV123
                                        reference: incident.severity
                                    value:
                                      literal: SEV123
                                      reference: incident.severity
                                subject:
                                  label: Priority
                                  reference: alert.priority
                        result:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                    returns:
                      array: true
                      type: IncidentStatus
                  filter:
                    condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Priority
                              reference: alert.priority
                  navigate:
                    reference: '1235'
                    reference_label: Teams
                  operation_type: navigate
                  parse:
                    returns:
                      array: true
                      type: IncidentStatus
                    source: metadata.annotations["github.com/repo"]
                  returns:
                    array: true
                    type: IncidentStatus
              reference: abc123
              returns:
                array: true
                type: IncidentStatus
              root_reference: incident.status
          items:
            $ref: '#/components/schemas/ExpressionV3'
          type: array
        grouping_config:
          $ref: '#/components/schemas/AlertGroupingConfigV3'
        id:
          description: Unique identifier for this alert route
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        incident_config:
          $ref: '#/components/schemas/AlertRouteIncidentConfigV3'
        is_private:
          description: >-
            Whether this alert route is private. Private alert routes only
            create private incidents from alerts.
          example: false
          type: boolean
        message_config:
          $ref: '#/components/schemas/AlertMessageConfigV3'
        name:
          description: The name of this alert route, for the user's reference
          example: Production incidents
          type: string
        owning_team_ids:
          description: IDs of teams that own this alert route
          example:
            - 01G0J1EXE7AXZ2C93K61WBPYEH
          items:
            example: abc123
            type: string
          type: array
        updated_at:
          description: When this alert route was last updated
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        version:
          description: The version of this alert route
          example: 1
          format: int64
          type: integer
      required:
        - id
        - name
        - is_private
        - enabled
        - alert_sources
        - condition_groups
        - grouping_config
        - escalation_config
        - incident_config
        - message_config
        - expressions
        - version
      type: object
    ConditionPayloadV3:
      example:
        operation: one_of
        param_bindings:
          - array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        subject: alert.priority
      properties:
        operation:
          description: The name of the operation on the subject
          example: one_of
          type: string
        param_bindings:
          description: List of parameter bindings
          example:
            - array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingPayloadV3'
          type: array
        subject:
          description: The reference of the subject in the trigger scope
          example: alert.priority
          type: string
      required:
        - subject
        - operation
        - param_bindings
      type: object
    AlertRouteEscalationTargetPayloadV3:
      example:
        escalation_paths:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        users:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        escalation_paths:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
        users:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      type: object
    AlertRouteWhenAlertJoinsGroupPayloadV3:
      example:
        grace_period_seconds: 60
        mode: on_each_new_alert
      properties:
        grace_period_seconds:
          description: >-
            How long to wait before escalating once an alert joins the group, in
            seconds. Only applies when mode is 'on_each_new_alert', and must be
            unset when mode is 'on_priority_increase'. Must be between 0 and
            3600 (1 hour).
          example: 60
          format: int32
          maximum: 3600
          minimum: 0
          type: integer
        mode:
          description: >-
            When a subsequent alert joins an existing group, when should we
            escalate again?
          enum:
            - on_priority_increase
            - on_each_new_alert
          example: on_each_new_alert
          type: string
      required:
        - mode
      type: object
    ExpressionElseBranchPayloadV3:
      example:
        result:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        result:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      required:
        - result
      type: object
    ExpressionOperationPayloadV3:
      example:
        branches:
          branches:
            - condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          returns:
            array: true
            type: IncidentStatus
        cast:
          returns:
            array: true
            type: IncidentStatus
        concatenate:
          reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
        filter:
          condition_groups:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
        navigate:
          reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
        operation_type: navigate
        parse:
          returns:
            array: true
            type: IncidentStatus
          source: metadata.annotations["github.com/repo"]
      properties:
        branches:
          $ref: '#/components/schemas/ExpressionBranchesOptsPayloadV3'
        cast:
          $ref: '#/components/schemas/ExpressionCastOptsPayloadV3'
        concatenate:
          $ref: '#/components/schemas/ExpressionConcatenateOptsPayloadV3'
        filter:
          $ref: '#/components/schemas/ExpressionFilterOptsPayloadV3'
        navigate:
          $ref: '#/components/schemas/ExpressionNavigateOptsPayloadV3'
        operation_type:
          description: The type of the operation
          enum:
            - navigate
            - filter
            - concatenate
            - count
            - min
            - max
            - sum
            - random
            - first
            - parse
            - branches
            - cast
          example: navigate
          type: string
        parse:
          $ref: '#/components/schemas/ExpressionParseOptsPayloadV3'
      required:
        - operation_type
      type: object
    GroupingSettingsV3:
      example:
        enabled: true
        grouping_keys:
          - reference: alert.title
        window_seconds: 1800
        window_type: rolling
      properties:
        enabled:
          description: Whether grouping is enabled
          example: true
          type: boolean
        grouping_keys:
          description: >-
            Which attributes should this alert route use to group alerts? Only
            set when grouping is enabled.
          example:
            - reference: alert.title
          items:
            $ref: '#/components/schemas/GroupingKeyV3'
          type: array
        window_seconds:
          description: >-
            How long the grouping window is, in seconds. Must be between 60 (1
            minute) and 172800 (48 hours). Only set when grouping is enabled.
          example: 1800
          format: int32
          maximum: 172800
          minimum: 60
          type: integer
        window_type:
          description: >-
            Controls how the grouping window behaves. 'rolling' keeps the window
            open for window_seconds after the most recent alert, so the group
            stays open as long as alerts keep arriving. 'fixed' opens the window
            when the first alert arrives and always closes window_seconds later,
            regardless of any subsequent alerts. Only set when grouping is
            enabled.
          enum:
            - rolling
            - fixed
          example: rolling
          type: string
      required:
        - enabled
      type: object
    AlertRouteIncidentTemplatePayloadV3:
      example:
        custom_fields:
          - binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
            merge_strategy: first-wins
        incident_mode:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        incident_type:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        name:
          autogenerated: false
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        severity:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          merge_strategy: first-wins
        start_in_triage:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        summary:
          autogenerated: false
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
      properties:
        custom_fields:
          description: Custom fields configuration
          example:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              merge_strategy: first-wins
          items:
            $ref: '#/components/schemas/AlertRouteCustomFieldBindingPayloadV3'
          type: array
        incident_mode:
          $ref: '#/components/schemas/AlertRouteTemplateBindingPayloadV3'
        incident_type:
          $ref: '#/components/schemas/AlertRouteTemplateBindingPayloadV3'
        name:
          $ref: '#/components/schemas/AlertRouteAutoGeneratedTemplateBindingPayloadV3'
        severity:
          $ref: '#/components/schemas/AlertRouteSeverityBindingPayloadV3'
        start_in_triage:
          $ref: '#/components/schemas/AlertRouteTemplateBindingPayloadV3'
        summary:
          $ref: '#/components/schemas/AlertRouteAutoGeneratedTemplateBindingPayloadV3'
      required:
        - name
      type: object
    AlertMessageDestinationPayloadV3:
      example:
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
        ms_teams_targets:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          channel_visibility: public
        slack_targets:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          channel_visibility: public
      properties:
        condition_groups:
          description: The conditions that must be met for this channel config to be used
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
        ms_teams_targets:
          $ref: '#/components/schemas/AlertRouteChannelTargetPayloadV3'
        slack_targets:
          $ref: '#/components/schemas/AlertRouteChannelTargetPayloadV3'
      required:
        - condition_groups
      type: object
    EngineParamBindingPayloadV3:
      example:
        array_value:
          - literal: SEV123
            reference: incident.severity
        value:
          literal: SEV123
          reference: incident.severity
      properties:
        array_value:
          description: If set, this is the array value of the step parameter
          example:
            - literal: SEV123
              reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingValuePayloadV3'
          type: array
        value:
          $ref: '#/components/schemas/EngineParamBindingValuePayloadV3'
      type: object
    AlertRouteAlertSourceV3:
      example:
        alert_source_id: 01FCNDV6P870EA6S7TK1DSYDG0
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Priority
                  reference: alert.priority
      properties:
        alert_source_id:
          description: The alert source ID that will match for the route
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        condition_groups:
          description: >-
            What conditions should alerts from this source meet to be included
            in this alert route?
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
      required:
        - alert_source_id
        - condition_groups
      type: object
    ConditionGroupV3:
      example:
        conditions:
          - operation:
              label: Lawrence Jones
              value: 01FCQSP07Z74QMMYPDDGQB9FTG
            param_bindings:
              - array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            subject:
              label: Priority
              reference: alert.priority
      properties:
        conditions:
          description: >-
            All conditions in this list must be satisfied for the group to be
            satisfied
          example:
            - operation:
                label: Lawrence Jones
                value: 01FCQSP07Z74QMMYPDDGQB9FTG
              param_bindings:
                - array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              subject:
                label: Priority
                reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionV3'
          type: array
      required:
        - conditions
      type: object
    AlertRouteEscalationConfigV3:
      example:
        auto_cancel_escalations: false
        escalation_targets:
          - escalation_paths:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            users:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
        when_alert_joins_group:
          grace_period_seconds: 60
          mode: on_each_new_alert
      properties:
        auto_cancel_escalations:
          description: Should we auto cancel escalations when all alerts are resolved?
          example: false
          type: boolean
        escalation_targets:
          description: Targets for escalation
          example:
            - escalation_paths:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              users:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/AlertRouteEscalationTargetV3'
          type: array
        when_alert_joins_group:
          $ref: '#/components/schemas/AlertRouteWhenAlertJoinsGroupV3'
      required:
        - escalation_targets
        - auto_cancel_escalations
      type: object
    ExpressionV3:
      example:
        else_branch:
          result:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        label: Team Slack channel
        operations:
          - branches:
              branches:
                - condition_groups:
                    - conditions:
                        - operation:
                            label: Lawrence Jones
                            value: 01FCQSP07Z74QMMYPDDGQB9FTG
                          param_bindings:
                            - array_value:
                                - literal: SEV123
                                  reference: incident.severity
                              value:
                                literal: SEV123
                                reference: incident.severity
                          subject:
                            label: Priority
                            reference: alert.priority
                  result:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
              returns:
                array: true
                type: IncidentStatus
            filter:
              condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
            navigate:
              reference: '1235'
              reference_label: Teams
            operation_type: navigate
            parse:
              returns:
                array: true
                type: IncidentStatus
              source: metadata.annotations["github.com/repo"]
            returns:
              array: true
              type: IncidentStatus
        reference: abc123
        returns:
          array: true
          type: IncidentStatus
        root_reference: incident.status
      properties:
        else_branch:
          $ref: '#/components/schemas/ExpressionElseBranchV3'
        label:
          description: The human readable label of the expression
          example: Team Slack channel
          type: string
        operations:
          example:
            - branches:
                branches:
                  - condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - literal: SEV123
                                    reference: incident.severity
                                value:
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Priority
                              reference: alert.priority
                    result:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                returns:
                  array: true
                  type: IncidentStatus
              filter:
                condition_groups:
                  - conditions:
                      - operation:
                          label: Lawrence Jones
                          value: 01FCQSP07Z74QMMYPDDGQB9FTG
                        param_bindings:
                          - array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                        subject:
                          label: Priority
                          reference: alert.priority
              navigate:
                reference: '1235'
                reference_label: Teams
              operation_type: navigate
              parse:
                returns:
                  array: true
                  type: IncidentStatus
                source: metadata.annotations["github.com/repo"]
              returns:
                array: true
                type: IncidentStatus
          items:
            $ref: '#/components/schemas/ExpressionOperationV3'
          type: array
        reference:
          description: A short ID that can be used to reference the expression
          example: abc123
          type: string
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
        root_reference:
          description: >-
            The root reference for this expression (i.e. where the expression
            starts)
          example: incident.status
          type: string
      required:
        - label
        - reference
        - returns
        - root_reference
        - operations
      type: object
    AlertRouteIncidentConfigV3:
      example:
        auto_decline_enabled: false
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Priority
                  reference: alert.priority
        enabled: false
        template:
          custom_fields:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              merge_strategy: first-wins
          incident_mode:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          incident_type:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          name:
            autogenerated: false
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          severity:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            merge_strategy: first-wins
          start_in_triage:
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          summary:
            autogenerated: false
            binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
      properties:
        auto_decline_enabled:
          description: >-
            Should triage incidents be declined when alerts are resolved? Only
            set when incident creation is enabled.
          example: false
          type: boolean
        condition_groups:
          description: >-
            What condition groups must be true for this alert route to create an
            incident? Only set when incident creation is enabled.
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
        enabled:
          description: Whether incident creation is enabled for this alert route
          example: false
          type: boolean
        template:
          $ref: '#/components/schemas/AlertRouteIncidentTemplateV3'
      required:
        - enabled
      type: object
    AlertMessageConfigV3:
      example:
        destinations:
          - condition_groups:
              - conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Priority
                      reference: alert.priority
            ms_teams_targets:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              channel_visibility: abc123
            slack_targets:
              binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              channel_visibility: abc123
        template:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        destinations:
          description: The destinations (Slack/Teams channels) alert messages are sent to
          example:
            - condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
              ms_teams_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: abc123
              slack_targets:
                binding:
                  array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
                channel_visibility: abc123
          items:
            $ref: '#/components/schemas/AlertMessageDestinationV3'
          type: array
        template:
          $ref: '#/components/schemas/EngineParamBindingV3'
      required:
        - destinations
      type: object
    ExpressionBranchesOptsPayloadV3:
      example:
        branches:
          - condition_groups:
              - conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: alert.priority
            result:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
        returns:
          array: true
          type: IncidentStatus
      properties:
        branches:
          description: The branches to apply for this operation
          example:
            - condition_groups:
                - conditions:
                    - operation: one_of
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject: alert.priority
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/ExpressionBranchPayloadV3'
          type: array
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
      required:
        - branches
        - returns
      type: object
    ExpressionCastOptsPayloadV3:
      example:
        returns:
          array: true
          type: IncidentStatus
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
      required:
        - returns
      type: object
    ExpressionConcatenateOptsPayloadV3:
      example:
        reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
      properties:
        reference:
          description: The reference that you want to concatenate with
          example: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
          type: string
      required:
        - reference
      type: object
    ExpressionFilterOptsPayloadV3:
      example:
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
      properties:
        condition_groups:
          description: >-
            The condition groups to apply in this filter. Only one group needs
            to be satisfied for the filter to pass.
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
      required:
        - condition_groups
      type: object
    ExpressionNavigateOptsPayloadV3:
      example:
        reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
      properties:
        reference:
          description: The reference that you want to navigate to
          example: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
          type: string
      required:
        - reference
      type: object
    ExpressionParseOptsPayloadV3:
      example:
        returns:
          array: true
          type: IncidentStatus
        source: metadata.annotations["github.com/repo"]
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
        source:
          description: Source expression that is evaluated to a result
          example: metadata.annotations["github.com/repo"]
          type: string
      required:
        - source
        - returns
      type: object
    GroupingKeyV3:
      example:
        reference: alert.title
      properties:
        reference:
          description: A reference to a property of the alert to group on
          example: alert.title
          type: string
      required:
        - reference
      type: object
    AlertRouteCustomFieldBindingPayloadV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
        merge_strategy: first-wins
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
        custom_field_id:
          description: ID of the custom field
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        merge_strategy:
          description: The strategy to use when multiple alerts match this route
          enum:
            - first-wins
            - last-wins
            - append
          example: first-wins
          type: string
      required:
        - custom_field_id
        - binding
        - merge_strategy
      type: object
    AlertRouteTemplateBindingPayloadV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      type: object
    AlertRouteAutoGeneratedTemplateBindingPayloadV3:
      example:
        autogenerated: false
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        autogenerated:
          description: Whether this attribute is autogenerated using AI or not
          example: false
          type: boolean
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      type: object
    AlertRouteSeverityBindingPayloadV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        merge_strategy: first-wins
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
        merge_strategy:
          description: >-
            Strategy for merging severity when multiple alerts create/update the
            same incident
          enum:
            - first-wins
            - max
          example: first-wins
          type: string
      required:
        - merge_strategy
      type: object
    AlertRouteChannelTargetPayloadV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        channel_visibility: public
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
        channel_visibility:
          description: The visibility of the channel
          enum:
            - public
            - private
            - dm
            - group_chat
            - assistant
          example: public
          type: string
      required:
        - binding
        - channel_visibility
      type: object
    EngineParamBindingValuePayloadV3:
      example:
        literal: SEV123
        reference: incident.severity
      properties:
        literal:
          description: If set, this is the literal value of the step parameter
          example: SEV123
          type: string
        reference:
          description: >-
            If set, this is the reference into the trigger scope that is the
            value of this parameter
          example: incident.severity
          type: string
      type: object
    ConditionV3:
      example:
        operation:
          label: Lawrence Jones
          value: 01FCQSP07Z74QMMYPDDGQB9FTG
        param_bindings:
          - array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        subject:
          label: Priority
          reference: alert.priority
      properties:
        operation:
          $ref: '#/components/schemas/ConditionOperationV3'
        param_bindings:
          description: Bindings for the operation parameters
          example:
            - array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingV3'
          type: array
        subject:
          $ref: '#/components/schemas/ConditionSubjectV3'
      required:
        - subject
        - operation
        - param_bindings
      type: object
    AlertRouteEscalationTargetV3:
      example:
        escalation_paths:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        users:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        escalation_paths:
          $ref: '#/components/schemas/EngineParamBindingV3'
        users:
          $ref: '#/components/schemas/EngineParamBindingV3'
      type: object
    AlertRouteWhenAlertJoinsGroupV3:
      example:
        grace_period_seconds: 60
        mode: on_each_new_alert
      properties:
        grace_period_seconds:
          description: >-
            How long to wait before escalating once an alert joins the group, in
            seconds. Only applies when mode is 'on_each_new_alert'.
          example: 60
          format: int32
          type: integer
        mode:
          description: >-
            When a subsequent alert joins an existing group, when should we
            escalate again?
          enum:
            - on_priority_increase
            - on_each_new_alert
          example: on_each_new_alert
          type: string
      required:
        - mode
      type: object
    ExpressionElseBranchV3:
      example:
        result:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        result:
          $ref: '#/components/schemas/EngineParamBindingV3'
      required:
        - result
      type: object
    ExpressionOperationV3:
      example:
        branches:
          branches:
            - condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          returns:
            array: true
            type: IncidentStatus
        filter:
          condition_groups:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
        navigate:
          reference: '1235'
          reference_label: Teams
        operation_type: navigate
        parse:
          returns:
            array: true
            type: IncidentStatus
          source: metadata.annotations["github.com/repo"]
        returns:
          array: true
          type: IncidentStatus
      properties:
        branches:
          $ref: '#/components/schemas/ExpressionBranchesOptsV3'
        filter:
          $ref: '#/components/schemas/ExpressionFilterOptsV3'
        navigate:
          $ref: '#/components/schemas/ExpressionNavigateOptsV3'
        operation_type:
          description: The type of the operation
          enum:
            - navigate
            - filter
            - concatenate
            - count
            - min
            - max
            - sum
            - random
            - first
            - parse
            - branches
            - cast
          example: navigate
          type: string
        parse:
          $ref: '#/components/schemas/ExpressionParseOptsV3'
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
      required:
        - operation_type
        - returns
      type: object
    ReturnsMetaV3:
      example:
        array: true
        type: IncidentStatus
      properties:
        array:
          description: Whether the return value should be single or multi-value
          example: true
          type: boolean
        type:
          description: >-
            Expected return type of this expression (what to try casting the
            result to)
          example: IncidentStatus
          type: string
      required:
        - type
        - array
      type: object
    AlertRouteIncidentTemplateV3:
      example:
        custom_fields:
          - binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
            merge_strategy: first-wins
        incident_mode:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        incident_type:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        name:
          autogenerated: false
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        severity:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          merge_strategy: first-wins
        start_in_triage:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        summary:
          autogenerated: false
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
      properties:
        custom_fields:
          description: Custom fields configuration
          example:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              merge_strategy: first-wins
          items:
            $ref: '#/components/schemas/AlertRouteCustomFieldBindingV3'
          type: array
        incident_mode:
          $ref: '#/components/schemas/AlertRouteTemplateBindingV3'
        incident_type:
          $ref: '#/components/schemas/AlertRouteTemplateBindingV3'
        name:
          $ref: '#/components/schemas/AlertRouteAutoGeneratedTemplateBindingV3'
        severity:
          $ref: '#/components/schemas/AlertRouteSeverityBindingV3'
        start_in_triage:
          $ref: '#/components/schemas/AlertRouteTemplateBindingV3'
        summary:
          $ref: '#/components/schemas/AlertRouteAutoGeneratedTemplateBindingV3'
      required:
        - name
      type: object
    AlertMessageDestinationV3:
      example:
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Priority
                  reference: alert.priority
        ms_teams_targets:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          channel_visibility: abc123
        slack_targets:
          binding:
            array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
          channel_visibility: abc123
      properties:
        condition_groups:
          description: The conditions that must be met for this channel config to be used
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
        ms_teams_targets:
          $ref: '#/components/schemas/AlertRouteChannelTargetV3'
        slack_targets:
          $ref: '#/components/schemas/AlertRouteChannelTargetV3'
      required:
        - condition_groups
      type: object
    EngineParamBindingV3:
      example:
        array_value:
          - literal: SEV123
            reference: incident.severity
        value:
          literal: SEV123
          reference: incident.severity
      properties:
        array_value:
          description: If array_value is set, this helps render the values
          example:
            - literal: SEV123
              reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingValueV3'
          type: array
        value:
          $ref: '#/components/schemas/EngineParamBindingValueV3'
      type: object
    ExpressionBranchPayloadV3:
      example:
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: alert.priority
        result:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        condition_groups:
          description: >-
            When one of these condition groups are satisfied, this branch will
            be evaluated
          example:
            - conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV3'
          type: array
        result:
          $ref: '#/components/schemas/EngineParamBindingPayloadV3'
      required:
        - condition_groups
        - result
      type: object
    ConditionOperationV3:
      example:
        label: Lawrence Jones
        value: 01FCQSP07Z74QMMYPDDGQB9FTG
      properties:
        label:
          description: Human readable label to be displayed for user to select
          example: Lawrence Jones
          type: string
        value:
          description: Unique identifier for this option
          example: 01FCQSP07Z74QMMYPDDGQB9FTG
          type: string
      required:
        - label
        - value
      type: object
    ConditionSubjectV3:
      example:
        label: Priority
        reference: alert.priority
      properties:
        label:
          description: Human readable identifier for the subject
          example: Priority
          type: string
        reference:
          description: Reference into the scope for the value of the subject
          example: alert.priority
          type: string
      required:
        - label
        - reference
      type: object
    ExpressionBranchesOptsV3:
      example:
        branches:
          - condition_groups:
              - conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Priority
                      reference: alert.priority
            result:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
        returns:
          array: true
          type: IncidentStatus
      properties:
        branches:
          description: The branches to apply for this operation
          example:
            - condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Priority
                        reference: alert.priority
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/ExpressionBranchV3'
          type: array
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
      required:
        - branches
        - returns
      type: object
    ExpressionFilterOptsV3:
      example:
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Priority
                  reference: alert.priority
      properties:
        condition_groups:
          description: >-
            The condition groups to apply in this filter. Only one group needs
            to be satisfied for the filter to pass.
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
      required:
        - condition_groups
      type: object
    ExpressionNavigateOptsV3:
      example:
        reference: '1235'
        reference_label: Teams
      properties:
        reference:
          description: The reference within the scope to navigate to
          example: '1235'
          type: string
        reference_label:
          description: The name of the reference to navigate to
          example: Teams
          type: string
      required:
        - reference
        - reference_label
      type: object
    ExpressionParseOptsV3:
      example:
        returns:
          array: true
          type: IncidentStatus
        source: metadata.annotations["github.com/repo"]
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV3'
        source:
          description: Source expression that is evaluated to a result
          example: metadata.annotations["github.com/repo"]
          type: string
      required:
        - source
        - returns
      type: object
    AlertRouteCustomFieldBindingV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
        merge_strategy: first-wins
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingV3'
        custom_field_id:
          description: ID of the custom field
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        merge_strategy:
          description: The strategy to use when multiple alerts match this route
          enum:
            - first-wins
            - last-wins
            - append
          example: first-wins
          type: string
      required:
        - custom_field_id
        - binding
        - merge_strategy
      type: object
    AlertRouteTemplateBindingV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingV3'
      type: object
    AlertRouteAutoGeneratedTemplateBindingV3:
      example:
        autogenerated: false
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        autogenerated:
          description: Whether this attribute is autogenerated using AI or not
          example: false
          type: boolean
        binding:
          $ref: '#/components/schemas/EngineParamBindingV3'
      required:
        - autogenerated
      type: object
    AlertRouteSeverityBindingV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        merge_strategy: first-wins
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingV3'
        merge_strategy:
          description: >-
            Strategy for merging severity when multiple alerts create/update the
            same incident
          enum:
            - first-wins
            - max
          example: first-wins
          type: string
      required:
        - merge_strategy
      type: object
    AlertRouteChannelTargetV3:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        channel_visibility: abc123
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingV3'
        channel_visibility:
          description: The visibility of the channel
          example: abc123
          type: string
      required:
        - binding
        - channel_visibility
      type: object
    EngineParamBindingValueV3:
      example:
        literal: SEV123
        reference: incident.severity
      properties:
        literal:
          description: If set, this is the literal value of the step parameter
          example: SEV123
          type: string
        reference:
          description: >-
            If set, this is the reference into the trigger scope that is the
            value of this parameter
          example: incident.severity
          type: string
      type: object
    ExpressionBranchV3:
      example:
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Priority
                  reference: alert.priority
        result:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        condition_groups:
          description: >-
            When one of these condition groups are satisfied, this branch will
            be evaluated
          example:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Priority
                    reference: alert.priority
          items:
            $ref: '#/components/schemas/ConditionGroupV3'
          type: array
        result:
          $ref: '#/components/schemas/EngineParamBindingV3'
      required:
        - condition_groups
        - result
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key from your incident.io dashboard (Settings → API keys)

````