> ## 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 a particular escalation path template.

🔑 Requires the `escalation_path_templates.update` scope.


## OpenAPI

````yaml /openapi/tags/escalation-path-templates-v2.json put /v2/escalation_path_templates/{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\nLimits are token buckets that refill continuously rather than resetting on a fixed window boundary. The default\nbucket holds 1200 requests and refills at 20 per second, so you can burst up to the full bucket and then sustain\n20 requests/second indefinitely. There is no boundary at which your quota resets to full in one step.\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.\n\n### Rate limit headers\n\nResponses to requests authenticated with an API key carry your current allowance, so you can pace yourself rather\nthan waiting to be throttled:\n\n```\nX-RateLimit-Limit: 60, 1200;window=60, 60;window=60\nX-RateLimit-Remaining: 59\nX-RateLimit-Used: 1\nX-RateLimit-Reset: 1785173199\n```\n\n| Header | Meaning |\n| --- | --- |\n| `X-RateLimit-Limit` | The quota that binds this request, followed by every limit that applied and the window it applies over |\n| `X-RateLimit-Remaining` | Requests you can make right now against the binding limit |\n| `X-RateLimit-Used` | Requests you have spent against it |\n| `X-RateLimit-Reset` | Unix timestamp (seconds) at which that limit will be back to full |\n\nMore than one limit can apply to a request: your API key's overall limit, and for some endpoints a lower limit of\ntheir own. `X-RateLimit-Limit` lists all of them, each with its window, so `1200;window=60` means 1200 requests per\nminute. Because our limits refill continuously rather than resetting on a boundary, that window is what tells you\nthe rate you can sustain: 1200 per 60 seconds is 20 requests/second indefinitely.\n\n`Remaining`, `Used` and `Reset` describe whichever limit has the least allowance left, since that is the one you\nwill hit first.\n\n`X-RateLimit-Remaining` may lag by a small number of requests under high concurrency, and can move by more than the\nrequests you made, because limits scoped to your whole organisation are shared with your other API keys.\n\nHeaders are omitted rather than guessed if we cannot determine your allowance for a request.\n\n### Exceeding a rate limit\n\nWhen you exceed a rate limit the API responds with `429 Too Many Requests` and a `Retry-After` header giving the\nnumber of seconds to wait:\n\n```\nX-RateLimit-Limit: 1200, 1200;window=60\nX-RateLimit-Remaining: 0\nX-RateLimit-Used: 1200\nX-RateLimit-Reset: 1785173199\nRetry-After: 1\n```\n\nPrefer `Retry-After` over `X-RateLimit-Reset` when deciding how long to back off. `Retry-After` is when a single\nrequest will succeed; `X-RateLimit-Reset` is the later point at which your whole allowance has returned. It is a\nduration rather than a timestamp, so it does not depend on your clock agreeing with ours.\n\nThe 429 also carries a JSON body with the same information:\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\": \"2025-04-17T11:17:18Z\"\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`), as an RFC3339 timestamp\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: >
      Create and manage reusable, parameterised escalation path templates.


      An escalation path template declares parameters and a binding-aware path.
      Escalation

      paths built from a template bind those parameters to concrete values.
    name: Escalation Path Templates V2
paths:
  /v2/escalation_path_templates/{id}:
    put:
      tags:
        - Escalation Path Templates V2
      summary: Update
      description: Update a particular escalation path template.
      operationId: Escalation Path Templates V2_Update
      parameters:
        - description: Unique identifier for this template.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          in: path
          name: id
          required: true
          schema:
            description: Unique identifier for this template.
            example: 01FCNDV6P870EA6S7TK1DSYDG0
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: Pages the team on-call, then a fallback user
              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: incident.severity
                            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: incident.severity
                      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
              name: Team on-call
              params:
                - allowed_value_types:
                    - literal
                  array: true
                  default_value:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  description: What slack channel should we send the message to?
                  label: To date
                  name: severity
                  optional: true
                  type: IncidentSeverity
              path:
                - delay:
                    delay_interval_condition: active
                    delay_seconds: 300
                    delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  escalation_path:
                    escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  if_else:
                    conditions:
                      - operation: one_of
                        param_bindings:
                          - array_value:
                              - literal: SEV123
                                reference: incident.severity
                            value:
                              literal: SEV123
                              reference: incident.severity
                        subject: incident.severity
                    else_path:
                      - {}
                    then_path:
                      - {}
                  level:
                    ack_mode: all
                    retry_config:
                      attempts: 3
                      interval_seconds: 300
                    round_robin_config:
                      enabled: false
                      rotate_after_seconds: 120
                    targets:
                      - binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        schedule_mode: currently_on_call
                        selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                        type: schedule
                        urgency: high
                    time_to_ack_interval_condition: active
                    time_to_ack_seconds: 1800
                    time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  notify_channel:
                    targets:
                      - binding:
                          array_value:
                            - literal: SEV123
                              reference: incident.severity
                          value:
                            literal: SEV123
                            reference: incident.severity
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        schedule_mode: currently_on_call
                        selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                        type: schedule
                        urgency: high
                    time_to_ack_interval_condition: active
                    time_to_ack_seconds: 1800
                    time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  repeat:
                    repeat_times: 3
                    to_node: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: if_else
              repeat_config:
                delay_repeat_on_activity: false
                repeat_after_seconds: 1800
              working_hours:
                - id: abc123
                  name: abc123
                  timezone: abc123
                  weekday_intervals:
                    - end_time: '17:00'
                      start_time: '09:00'
                      weekday: monday
            schema:
              $ref: '#/components/schemas/EscalationPathTemplatesUpdatePayloadV2'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                escalation_path_template:
                  description: abc123
                  expressions:
                    - else_branch:
                        result:
                          array_value:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            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:
                                              - label: Lawrence Jones
                                                literal: SEV123
                                                reference: incident.severity
                                            value:
                                              label: Lawrence Jones
                                              literal: SEV123
                                              reference: incident.severity
                                        subject:
                                          label: Incident Severity
                                          reference: incident.severity
                                result:
                                  array_value:
                                    - label: Lawrence Jones
                                      literal: SEV123
                                      reference: incident.severity
                                  value:
                                    label: Lawrence Jones
                                    literal: SEV123
                                    reference: incident.severity
                            returns:
                              array: true
                              type: IncidentStatus
                          cast:
                            returns:
                              array: true
                              type: IncidentStatus
                          concatenate:
                            reference: '1235'
                            reference_label: Teams
                          filter:
                            condition_groups:
                              - conditions:
                                  - operation:
                                      label: Lawrence Jones
                                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                                    param_bindings:
                                      - array_value:
                                          - label: Lawrence Jones
                                            literal: SEV123
                                            reference: incident.severity
                                        value:
                                          label: Lawrence Jones
                                          literal: SEV123
                                          reference: incident.severity
                                    subject:
                                      label: Incident Severity
                                      reference: incident.severity
                          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
                  has_historical_escalation_path_versions: false
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: Team on-call
                  params:
                    - allowed_value_types:
                        - literal
                      array: true
                      default_value:
                        array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      description: What slack channel should we send the message to?
                      label: To date
                      name: severity
                      optional: true
                      type: IncidentSeverity
                  path:
                    - delay:
                        delay_interval_condition: active
                        delay_seconds: 300
                        delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      escalation_path:
                        escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      if_else:
                        conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - label: Lawrence Jones
                                    literal: SEV123
                                    reference: incident.severity
                                value:
                                  label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Incident Severity
                              reference: incident.severity
                        else_path:
                          - {}
                        then_path:
                          - {}
                      level:
                        ack_mode: all
                        retry_config:
                          attempts: 3
                          interval_seconds: 300
                        round_robin_config:
                          enabled: false
                          rotate_after_seconds: 120
                        targets:
                          - binding:
                              array_value:
                                - label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                              value:
                                label: Lawrence Jones
                                literal: SEV123
                                reference: incident.severity
                            id: 01FCNDV6P870EA6S7TK1DSYDG0
                            schedule_mode: currently_on_call
                            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                            type: schedule
                            urgency: high
                        time_to_ack_interval_condition: active
                        time_to_ack_seconds: 1800
                        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      notify_channel:
                        targets:
                          - binding:
                              array_value:
                                - label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                              value:
                                label: Lawrence Jones
                                literal: SEV123
                                reference: incident.severity
                            id: 01FCNDV6P870EA6S7TK1DSYDG0
                            schedule_mode: currently_on_call
                            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                            type: schedule
                            urgency: high
                        time_to_ack_interval_condition: active
                        time_to_ack_seconds: 1800
                        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      repeat:
                        repeat_times: 3
                        to_node: 01FCNDV6P870EA6S7TK1DSYDG0
                      type: if_else
                  repeat_config:
                    delay_repeat_on_activity: false
                    repeat_after_seconds: 1800
                  working_hours:
                    - id: abc123
                      name: abc123
                      timezone: abc123
                      weekday_intervals:
                        - end_time: '17:00'
                          start_time: '09:00'
                          weekday: monday
              schema:
                $ref: '#/components/schemas/EscalationPathTemplatesUpdateResultV2'
          description: OK response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            invalid_request_error: There was a problem with the request, like a
            missing header or querying a resource that doesn't exist.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: 'authentication_error: Authentication failed.'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            resource_forbidden: Access to this resource is forbidden for the
            authenticated user.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: 'not_found: The referenced resource could not be found.'
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            method_not_allowed: The endpoint does not support this operation for
            the specified resource.
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            not_acceptable: Requested a media type this endpoint does not
            support.
        '408':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: |-
            request_timeout: The request took too long to process.

            client_timeout: The request was cancelled by the client.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            conflict: Request conflicted with current state of the resource,
            likely a concurrent update.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: 'precondition_failed: A required condition hasn''t been met.'
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: 'payload_too_large: The request payload is too large.'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            validation_error: A required field was not provided, or the provided
            data was invalid.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            too_many_requests: Too many requests hit the API too quickly. We
            recommend an exponential backoff of your requests.


            rate_limit_reached: The rate limit associated with this resource or
            API key has been exceeded. Try again later.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: 'api_error: Something went wrong and has been reported internally.'
components:
  schemas:
    EscalationPathTemplatesUpdatePayloadV2:
      example:
        description: Pages the team on-call, then a fallback user
        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: incident.severity
                      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: incident.severity
                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
        name: Team on-call
        params:
          - allowed_value_types:
              - literal
            array: true
            default_value:
              array_value:
                - label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              value:
                label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
            description: What slack channel should we send the message to?
            label: To date
            name: severity
            optional: true
            type: IncidentSeverity
        path:
          - delay:
              delay_interval_condition: active
              delay_seconds: 300
              delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            escalation_path:
              escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            if_else:
              conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: incident.severity
              else_path:
                - {}
              then_path:
                - {}
            level:
              ack_mode: all
              retry_config:
                attempts: 3
                interval_seconds: 300
              round_robin_config:
                enabled: false
                rotate_after_seconds: 120
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            notify_channel:
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            repeat:
              repeat_times: 3
              to_node: 01FCNDV6P870EA6S7TK1DSYDG0
            type: if_else
        repeat_config:
          delay_repeat_on_activity: false
          repeat_after_seconds: 1800
        working_hours:
          - id: abc123
            name: abc123
            timezone: abc123
            weekday_intervals:
              - end_time: '17:00'
                start_time: '09:00'
                weekday: monday
      properties:
        description:
          description: A description of what this template is for.
          example: Pages the team on-call, then a fallback user
          type: string
        expressions:
          description: Expressions backing the template's binding targets.
          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: incident.severity
                        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: incident.severity
                  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/ExpressionPayloadV2'
          type: array
        name:
          description: The name of this template, for the user's reference.
          example: Team on-call
          type: string
        params:
          description: The parameters declared by this template, bound per templated path.
          example:
            - allowed_value_types:
                - literal
              array: true
              default_value:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              description: What slack channel should we send the message to?
              label: To date
              name: severity
              optional: true
              type: IncidentSeverity
          items:
            $ref: '#/components/schemas/EngineParamV2'
          type: array
        path:
          description: The nodes that form the levels and branches of this template.
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodePayloadV2'
          type: array
        repeat_config:
          $ref: '#/components/schemas/EscalationPathRepeatConfigV2'
        working_hours:
          description: The working hours for this template.
          example:
            - id: abc123
              name: abc123
              timezone: abc123
              weekday_intervals:
                - end_time: '17:00'
                  start_time: '09:00'
                  weekday: monday
          items:
            $ref: '#/components/schemas/WeekdayIntervalConfigV2'
          type: array
      required:
        - name
        - path
      type: object
    EscalationPathTemplatesUpdateResultV2:
      example:
        escalation_path_template:
          description: abc123
          expressions:
            - else_branch:
                result:
                  array_value:
                    - label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  value:
                    label: Lawrence Jones
                    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:
                                      - label: Lawrence Jones
                                        literal: SEV123
                                        reference: incident.severity
                                    value:
                                      label: Lawrence Jones
                                      literal: SEV123
                                      reference: incident.severity
                                subject:
                                  label: Incident Severity
                                  reference: incident.severity
                        result:
                          array_value:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                    returns:
                      array: true
                      type: IncidentStatus
                  cast:
                    returns:
                      array: true
                      type: IncidentStatus
                  concatenate:
                    reference: '1235'
                    reference_label: Teams
                  filter:
                    condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - label: Lawrence Jones
                                    literal: SEV123
                                    reference: incident.severity
                                value:
                                  label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Incident Severity
                              reference: incident.severity
                  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
          has_historical_escalation_path_versions: false
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: Team on-call
          params:
            - allowed_value_types:
                - literal
              array: true
              default_value:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              description: What slack channel should we send the message to?
              label: To date
              name: severity
              optional: true
              type: IncidentSeverity
          path:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Incident Severity
                      reference: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          repeat_config:
            delay_repeat_on_activity: false
            repeat_after_seconds: 1800
          working_hours:
            - id: abc123
              name: abc123
              timezone: abc123
              weekday_intervals:
                - end_time: '17:00'
                  start_time: '09:00'
                  weekday: monday
      properties:
        escalation_path_template:
          $ref: '#/components/schemas/EscalationPathTemplateV2'
      required:
        - escalation_path_template
      type: object
    ErrorResponse:
      example:
        debug:
          message: 'Something broke: and something else: and something else'
          stacktrace:
            - thing.go:123
        errors:
          - code: trial_expired
            message: Default incident call link must be a valid URL
            metadata:
              abc123: abc123
            source:
              field: default_call_url
              pointer: /settings/default_call_url
        rate_limit:
          limit: 100
          name: client_ip
          remaining: 98
          retry_after: '2020-01-01T00:00:00Z'
        request_id: 2T1p0e3j
        status: 408
        type: invalid_request_error
      properties:
        debug:
          $ref: '#/components/schemas/ErrorDebug'
        errors:
          description: List of errors that caused this request to fail
          example:
            - code: trial_expired
              message: Default incident call link must be a valid URL
              metadata:
                abc123: abc123
              source:
                field: default_call_url
                pointer: /settings/default_call_url
          items:
            $ref: '#/components/schemas/ErrorSingle'
          type: array
        rate_limit:
          $ref: '#/components/schemas/ErrorRateLimit'
        request_id:
          description: Unique identifier of the request
          example: 2T1p0e3j
          type: string
        status:
          description: HTTP status of the response
          example: 408
          format: int64
          type: integer
        type:
          description: Machine-readable identifier for the general category of error
          enum:
            - invalid_request_error
            - authentication_error
            - resource_forbidden
            - not_found
            - not_acceptable
            - method_not_allowed
            - request_timeout
            - conflict
            - precondition_failed
            - payload_too_large
            - validation_error
            - too_many_requests
            - api_error
            - rate_limit_reached
            - client_timeout
          example: invalid_request_error
          type: string
      required:
        - type
        - status
        - request_id
        - errors
      type: object
    ExpressionPayloadV2:
      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: incident.severity
                  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: incident.severity
            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/ExpressionElseBranchPayloadV2'
        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: incident.severity
                    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: incident.severity
              navigate:
                reference: catalog_attribute["01FCNDV6P870EA6S7TK1DSYD5H"]
              operation_type: navigate
              parse:
                returns:
                  array: true
                  type: IncidentStatus
                source: metadata.annotations["github.com/repo"]
          items:
            $ref: '#/components/schemas/ExpressionOperationPayloadV2'
          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
    EngineParamV2:
      example:
        allowed_value_types:
          - literal
        array: true
        default_value:
          array_value:
            - label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
          value:
            label: Lawrence Jones
            literal: SEV123
            reference: incident.severity
        description: What slack channel should we send the message to?
        label: To date
        name: severity
        optional: true
        type: IncidentSeverity
      properties:
        allowed_value_types:
          description: >-
            Which kinds of binding the dashboard should offer for this
            parameter. When empty, all types are allowed.
          example:
            - literal
          items:
            enum:
              - literal
              - reference
              - expression
            example: literal
            type: string
          type: array
        array:
          description: Whether this parameter is an array
          example: true
          type: boolean
        default_value:
          $ref: '#/components/schemas/EngineParamBindingV2'
        description:
          description: A string describing the param
          example: What slack channel should we send the message to?
          type: string
        label:
          description: Human readable label for this parameter
          example: To date
          type: string
        name:
          description: The unique identifier for the parameter
          example: severity
          type: string
        optional:
          description: Whether this parameter is optional
          example: true
          type: boolean
        type:
          description: The type of the parameter
          example: IncidentSeverity
          type: string
      required:
        - name
        - label
        - type
        - array
        - optional
        - description
      type: object
    EscalationPathTemplateNodePayloadV2:
      example:
        delay:
          delay_interval_condition: active
          delay_seconds: 300
          delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        escalation_path:
          escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        if_else:
          conditions:
            - operation: one_of
              param_bindings:
                - array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              subject: incident.severity
          else_path:
            - {}
          then_path:
            - {}
        level:
          ack_mode: all
          retry_config:
            attempts: 3
            interval_seconds: 300
          round_robin_config:
            enabled: false
            rotate_after_seconds: 120
          targets:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          time_to_ack_interval_condition: active
          time_to_ack_seconds: 1800
          time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        notify_channel:
          targets:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          time_to_ack_interval_condition: active
          time_to_ack_seconds: 1800
          time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        repeat:
          repeat_times: 3
          to_node: 01FCNDV6P870EA6S7TK1DSYDG0
        type: if_else
      properties:
        delay:
          $ref: '#/components/schemas/EscalationPathNodeDelayV2'
        escalation_path:
          $ref: '#/components/schemas/EscalationPathNodeEscalationPathV2'
        id:
          description: >-
            An ID for this node, unique within the escalation path.


            This allows you to reference the node in other nodes, such as when
            configuring a 'repeat' node.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        if_else:
          $ref: '#/components/schemas/EscalationPathTemplateNodeIfElsePayloadV2'
        level:
          $ref: '#/components/schemas/EscalationPathNodeLevelWithBindingPayloadV2'
        notify_channel:
          $ref: >-
            #/components/schemas/EscalationPathNodeNotifyChannelWithBindingPayloadV2
        repeat:
          $ref: '#/components/schemas/EscalationPathNodeRepeatV2'
        type:
          description: >-
            The type of this node. Available types are:

            * level: A set of targets (users or schedules) that should be paged,
            either all at once, or with a round-robin configuration.

            * notify_channel: Send the escalation to a Slack channel, where it
            can be acked by anyone in the channel.

            * if_else: Branch the escalation based on a set of conditions.

            * repeat: Go back to a previous node and repeat the logic from
            there.

            * delay: Pause the escalation for a configured duration before
            advancing to the next node.

            * escalation_path: Reassign the escalation to another escalation
            path, continuing from that path's first node.

            * voicemail: Send an inbound caller to voicemail. Only valid inside
            a call route's path.
          enum:
            - if_else
            - repeat
            - level
            - notify_channel
            - delay
            - voicemail
            - escalation_path
          example: if_else
          type: string
      required:
        - id
        - type
      type: object
    EscalationPathRepeatConfigV2:
      example:
        delay_repeat_on_activity: false
        repeat_after_seconds: 1800
      properties:
        delay_repeat_on_activity:
          default: false
          description: When true, incident activity resets the repeat timer.
          example: false
          type: boolean
        repeat_after_seconds:
          description: Number of seconds we'll wait before repeating an escalation.
          example: 1800
          format: int32
          maximum: 345600
          minimum: 300
          type: integer
      required:
        - repeat_after_seconds
        - delay_repeat_on_activity
      type: object
    WeekdayIntervalConfigV2:
      example:
        id: abc123
        name: abc123
        timezone: abc123
        weekday_intervals:
          - end_time: '17:00'
            start_time: '09:00'
            weekday: monday
      properties:
        id:
          description: The unique identifier for this set of working intervals
          example: abc123
          type: string
        name:
          description: A human readable label for this set of working intervals
          example: abc123
          type: string
        timezone:
          description: How to interpret all the intervals
          example: abc123
          type: string
        weekday_intervals:
          example:
            - end_time: '17:00'
              start_time: '09:00'
              weekday: monday
          items:
            $ref: '#/components/schemas/WeekdayIntervalV2'
          type: array
      required:
        - id
        - name
        - timezone
        - weekday_intervals
      type: object
    EscalationPathTemplateV2:
      properties:
        description:
          description: A description of what this template is for.
          example: abc123
          type: string
        expressions:
          description: Expressions backing the template's binding targets.
          example:
            - else_branch:
                result:
                  array_value:
                    - label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  value:
                    label: Lawrence Jones
                    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:
                                      - label: Lawrence Jones
                                        literal: SEV123
                                        reference: incident.severity
                                    value:
                                      label: Lawrence Jones
                                      literal: SEV123
                                      reference: incident.severity
                                subject:
                                  label: Incident Severity
                                  reference: incident.severity
                        result:
                          array_value:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                    returns:
                      array: true
                      type: IncidentStatus
                  cast:
                    returns:
                      array: true
                      type: IncidentStatus
                  concatenate:
                    reference: '1235'
                    reference_label: Teams
                  filter:
                    condition_groups:
                      - conditions:
                          - operation:
                              label: Lawrence Jones
                              value: 01FCQSP07Z74QMMYPDDGQB9FTG
                            param_bindings:
                              - array_value:
                                  - label: Lawrence Jones
                                    literal: SEV123
                                    reference: incident.severity
                                value:
                                  label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Incident Severity
                              reference: incident.severity
                  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/ExpressionV2'
          type: array
        has_historical_escalation_path_versions:
          description: >-
            Whether a previous escalation path version uses this template. You
            cannot restore those versions after the template is archived.
          example: false
          type: boolean
        id:
          description: Unique identifier for this template.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: The name of this template.
          example: Team on-call
          type: string
        params:
          description: The parameters declared by this template.
          example:
            - allowed_value_types:
                - literal
              array: true
              default_value:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              description: What slack channel should we send the message to?
              label: To date
              name: severity
              optional: true
              type: IncidentSeverity
          items:
            $ref: '#/components/schemas/EngineParamV2'
          type: array
        path:
          description: The nodes that form the levels and branches of this template.
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Incident Severity
                      reference: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodeV2'
          type: array
        repeat_config:
          $ref: '#/components/schemas/EscalationPathRepeatConfigV2'
        working_hours:
          description: The working hours for this template.
          example:
            - id: abc123
              name: abc123
              timezone: abc123
              weekday_intervals:
                - end_time: '17:00'
                  start_time: '09:00'
                  weekday: monday
          items:
            $ref: '#/components/schemas/WeekdayIntervalConfigV2'
          type: array
      required:
        - id
        - name
        - params
        - path
        - expressions
        - has_historical_escalation_path_versions
      type: object
    ErrorDebug:
      example:
        message: 'Something broke: and something else: and something else'
        stacktrace:
          - thing.go:123
      properties:
        message:
          description: Original internal error message
          example: 'Something broke: and something else: and something else'
          type: string
        stacktrace:
          description: Stacktrace of the error, if applicable
          example:
            - thing.go:123
          items:
            example: thing.go:123
            type: string
          type: array
      required:
        - message
        - stacktrace
      type: object
    ErrorSingle:
      example:
        code: trial_expired
        message: Default incident call link must be a valid URL
        metadata:
          abc123: abc123
        source:
          field: default_call_url
          pointer: /settings/default_call_url
      properties:
        code:
          description: Machine-readable identifier for this specific error
          example: trial_expired
          type: string
        message:
          description: Human readable description of the error
          example: Default incident call link must be a valid URL
          type: string
        metadata:
          additionalProperties:
            example: abc123
            type: string
          description: Additional metadata about the error, keyed by a string identifier
          example:
            abc123: abc123
          type: object
        source:
          $ref: '#/components/schemas/ErrorSource'
      required:
        - code
        - message
      type: object
    ErrorRateLimit:
      example:
        limit: 100
        name: client_ip
        remaining: 98
        retry_after: '2020-01-01T00:00:00Z'
      properties:
        limit:
          description: >-
            The maximum number of requests that the consumer is permitted to
            make per minute
          example: 100
          format: int64
          type: integer
        name:
          description: Which rate limit was exceeded
          example: client_ip
          type: string
        remaining:
          description: The number of requests remaining in the current rate limit window
          example: 98
          format: int64
          type: integer
        retry_after:
          description: >-
            When the client can retry, as an RFC3339 timestamp in UTC. Prefer
            the Retry-After response header, which carries the same instant as a
            number of seconds
          example: '2020-01-01T00:00:00Z'
          type: string
      required:
        - name
        - limit
        - remaining
        - retry_after
      type: object
    ExpressionElseBranchPayloadV2:
      example:
        result:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
      properties:
        result:
          $ref: '#/components/schemas/EngineParamBindingPayloadV2'
      required:
        - result
      type: object
    ExpressionOperationPayloadV2:
      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: incident.severity
              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: incident.severity
        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/ExpressionBranchesOptsPayloadV2'
        cast:
          $ref: '#/components/schemas/ExpressionCastOptsPayloadV2'
        concatenate:
          $ref: '#/components/schemas/ExpressionConcatenateOptsPayloadV2'
        filter:
          $ref: '#/components/schemas/ExpressionFilterOptsPayloadV2'
        navigate:
          $ref: '#/components/schemas/ExpressionNavigateOptsPayloadV2'
        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/ExpressionParseOptsPayloadV2'
      required:
        - operation_type
      type: object
    EngineParamBindingV2:
      example:
        array_value:
          - label: Lawrence Jones
            literal: SEV123
            reference: incident.severity
        value:
          label: Lawrence Jones
          literal: SEV123
          reference: incident.severity
      properties:
        array_value:
          description: If array_value is set, this helps render the values
          example:
            - label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingValueV2'
          type: array
        value:
          $ref: '#/components/schemas/EngineParamBindingValueV2'
      type: object
    EscalationPathNodeDelayV2:
      example:
        delay_interval_condition: active
        delay_seconds: 300
        delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        delay_interval_condition:
          description: >-
            If the delay is relative to a time window, this defines whether we
            advance when the window is active or inactive
          enum:
            - active
            - inactive
          example: active
          type: string
        delay_seconds:
          description: >-
            How long to delay before advancing to the next node in the path, in
            seconds
          example: 300
          format: int64
          type: integer
        delay_weekday_interval_config_id:
          description: >-
            If the delay is relative to a time window, this identifies which
            window it is relative to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      type: object
    EscalationPathNodeEscalationPathV2:
      example:
        escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        escalation_path_id:
          description: The ID of the escalation path to reassign to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - escalation_path_id
      type: object
    EscalationPathTemplateNodeIfElsePayloadV2:
      example:
        conditions:
          - operation: one_of
            param_bindings:
              - array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            subject: incident.severity
        else_path:
          - delay:
              delay_interval_condition: active
              delay_seconds: 300
              delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            escalation_path:
              escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            if_else:
              conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: incident.severity
              else_path:
                - {}
              then_path:
                - {}
            level:
              ack_mode: all
              retry_config:
                attempts: 3
                interval_seconds: 300
              round_robin_config:
                enabled: false
                rotate_after_seconds: 120
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            notify_channel:
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            repeat:
              repeat_times: 3
              to_node: 01FCNDV6P870EA6S7TK1DSYDG0
            type: if_else
        then_path:
          - delay:
              delay_interval_condition: active
              delay_seconds: 300
              delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            escalation_path:
              escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            if_else:
              conditions:
                - operation: one_of
                  param_bindings:
                    - array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                  subject: incident.severity
              else_path:
                - {}
              then_path:
                - {}
            level:
              ack_mode: all
              retry_config:
                attempts: 3
                interval_seconds: 300
              round_robin_config:
                enabled: false
                rotate_after_seconds: 120
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            notify_channel:
              targets:
                - binding:
                    array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            repeat:
              repeat_times: 3
              to_node: 01FCNDV6P870EA6S7TK1DSYDG0
            type: if_else
      properties:
        conditions:
          description: The condition that defines which branch to take
          example:
            - operation: one_of
              param_bindings:
                - array_value:
                    - literal: SEV123
                      reference: incident.severity
                  value:
                    literal: SEV123
                    reference: incident.severity
              subject: incident.severity
          items:
            $ref: '#/components/schemas/ConditionPayloadV2'
          type: array
        else_path:
          description: The nodes taken if the condition is not met
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodePayloadV2'
          type: array
        then_path:
          description: The nodes taken if the condition is met
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - literal: SEV123
                          reference: incident.severity
                      value:
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodePayloadV2'
          type: array
      required:
        - then_path
        - else_path
      type: object
    EscalationPathNodeLevelWithBindingPayloadV2:
      example:
        ack_mode: all
        retry_config:
          attempts: 3
          interval_seconds: 300
        round_robin_config:
          enabled: false
          rotate_after_seconds: 120
        targets:
          - binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            schedule_mode: currently_on_call
            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
            type: schedule
            urgency: high
        time_to_ack_interval_condition: active
        time_to_ack_seconds: 1800
        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        ack_mode:
          description: >-
            Controls the behaviour of acknowledgements for this level, with
            'first' cancelling all other escalations on the same level when
            someone acks
          enum:
            - all
            - first
          example: all
          type: string
        retry_config:
          $ref: '#/components/schemas/EscalationPathRetryConfigV2'
        round_robin_config:
          $ref: '#/components/schemas/EscalationPathRoundRobinConfigV2'
        targets:
          description: >-
            The targets (users or schedules), each concrete or a parameter
            binding.
          example:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          items:
            $ref: '#/components/schemas/EscalationPathTargetWithBindingPayloadV2'
          type: array
        time_to_ack_interval_condition:
          description: >-
            If the time to ack is relative to a time window, this defines
            whether we move when the window is active or inactive
          enum:
            - active
            - inactive
          example: active
          type: string
        time_to_ack_seconds:
          description: >-
            How long should we wait for this level to acknowledge before
            proceeding to the next node in the path?
          example: 1800
          format: int64
          type: integer
        time_to_ack_weekday_interval_config_id:
          description: >-
            If the time to ack is relative to a time window, this identifies
            which window it is relative to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - targets
      type: object
    EscalationPathNodeNotifyChannelWithBindingPayloadV2:
      example:
        targets:
          - binding:
              array_value:
                - literal: SEV123
                  reference: incident.severity
              value:
                literal: SEV123
                reference: incident.severity
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            schedule_mode: currently_on_call
            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
            type: schedule
            urgency: high
        time_to_ack_interval_condition: active
        time_to_ack_seconds: 1800
        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        targets:
          description: The channels to notify, each concrete or a parameter binding.
          example:
            - binding:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          items:
            $ref: '#/components/schemas/EscalationPathTargetWithBindingPayloadV2'
          type: array
        time_to_ack_interval_condition:
          description: >-
            If the time to ack is relative to a time window, this defines
            whether we move when the window is active or inactive
          enum:
            - active
            - inactive
          example: active
          type: string
        time_to_ack_seconds:
          description: >-
            How long should we wait for this level to acknowledge before moving
            on to the next node in the path?
          example: 1800
          format: int64
          type: integer
        time_to_ack_weekday_interval_config_id:
          description: >-
            If the time to ack is relative to a time window, this identifies
            which window it is relative to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - targets
      type: object
    EscalationPathNodeRepeatV2:
      example:
        repeat_times: 3
        to_node: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        repeat_times:
          description: How many times to repeat these nodes
          example: 3
          format: int64
          type: integer
        to_node:
          description: Which node ID we begin repeating from.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - to_node
        - repeat_times
      type: object
    WeekdayIntervalV2:
      example:
        end_time: '17:00'
        start_time: '09:00'
        weekday: monday
      properties:
        end_time:
          description: End time of the interval, in 24hr format
          example: '17:00'
          type: string
        start_time:
          description: Start time of the interval, in 24hr format
          example: '09:00'
          type: string
        weekday:
          description: Weekdays for use within a schedule or escalation path
          enum:
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
            - sunday
          example: monday
          type: string
          x-public-api-version: v2
      required:
        - weekday
        - start_time
        - end_time
      type: object
    ExpressionV2:
      example:
        else_branch:
          result:
            array_value:
              - label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
            value:
              label: Lawrence Jones
              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:
                                - label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                              value:
                                label: Lawrence Jones
                                literal: SEV123
                                reference: incident.severity
                          subject:
                            label: Incident Severity
                            reference: incident.severity
                  result:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
              returns:
                array: true
                type: IncidentStatus
            cast:
              returns:
                array: true
                type: IncidentStatus
            concatenate:
              reference: '1235'
              reference_label: Teams
            filter:
              condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Incident Severity
                        reference: incident.severity
            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/ExpressionElseBranchV2'
        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:
                                  - label: Lawrence Jones
                                    literal: SEV123
                                    reference: incident.severity
                                value:
                                  label: Lawrence Jones
                                  literal: SEV123
                                  reference: incident.severity
                            subject:
                              label: Incident Severity
                              reference: incident.severity
                    result:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                returns:
                  array: true
                  type: IncidentStatus
              cast:
                returns:
                  array: true
                  type: IncidentStatus
              concatenate:
                reference: '1235'
                reference_label: Teams
              filter:
                condition_groups:
                  - conditions:
                      - operation:
                          label: Lawrence Jones
                          value: 01FCQSP07Z74QMMYPDDGQB9FTG
                        param_bindings:
                          - array_value:
                              - label: Lawrence Jones
                                literal: SEV123
                                reference: incident.severity
                            value:
                              label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                        subject:
                          label: Incident Severity
                          reference: incident.severity
              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/ExpressionOperationV2'
          type: array
        reference:
          description: A short ID that can be used to reference the expression
          example: abc123
          type: string
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
        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
    EscalationPathTemplateNodeV2:
      example:
        delay:
          delay_interval_condition: active
          delay_seconds: 300
          delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        escalation_path:
          escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        if_else:
          conditions:
            - operation:
                label: Lawrence Jones
                value: 01FCQSP07Z74QMMYPDDGQB9FTG
              param_bindings:
                - array_value:
                    - label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  value:
                    label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
              subject:
                label: Incident Severity
                reference: incident.severity
          else_path:
            - {}
          then_path:
            - {}
        level:
          ack_mode: all
          retry_config:
            attempts: 3
            interval_seconds: 300
          round_robin_config:
            enabled: false
            rotate_after_seconds: 120
          targets:
            - binding:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          time_to_ack_interval_condition: active
          time_to_ack_seconds: 1800
          time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        notify_channel:
          targets:
            - binding:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          time_to_ack_interval_condition: active
          time_to_ack_seconds: 1800
          time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
        repeat:
          repeat_times: 3
          to_node: 01FCNDV6P870EA6S7TK1DSYDG0
        type: if_else
      properties:
        delay:
          $ref: '#/components/schemas/EscalationPathNodeDelayV2'
        escalation_path:
          $ref: '#/components/schemas/EscalationPathNodeEscalationPathV2'
        id:
          description: >-
            An ID for this node, unique within the escalation path.


            This allows you to reference the node in other nodes, such as when
            configuring a 'repeat' node.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        if_else:
          $ref: '#/components/schemas/EscalationPathTemplateNodeIfElseV2'
        level:
          $ref: '#/components/schemas/EscalationPathNodeLevelWithBindingV2'
        notify_channel:
          $ref: '#/components/schemas/EscalationPathNodeNotifyChannelWithBindingV2'
        repeat:
          $ref: '#/components/schemas/EscalationPathNodeRepeatV2'
        type:
          description: >-
            The type of this node. Available types are:

            * level: A set of targets (users or schedules) that should be paged,
            either all at once, or with a round-robin configuration.

            * notify_channel: Send the escalation to a Slack channel, where it
            can be acked by anyone in the channel.

            * if_else: Branch the escalation based on a set of conditions.

            * repeat: Go back to a previous node and repeat the logic from
            there.

            * delay: Pause the escalation for a configured duration before
            advancing to the next node.

            * escalation_path: Reassign the escalation to another escalation
            path, continuing from that path's first node.

            * voicemail: Send an inbound caller to voicemail. Only valid inside
            a call route's path.
          enum:
            - if_else
            - repeat
            - level
            - notify_channel
            - delay
            - voicemail
            - escalation_path
          example: if_else
          type: string
      required:
        - id
        - type
      type: object
    ErrorSource:
      example:
        field: default_call_url
        pointer: /settings/default_call_url
      properties:
        field:
          description: Field name that is the source of the error
          example: default_call_url
          type: string
        pointer:
          description: JSON pointer to the request field that is the source of the error
          example: /settings/default_call_url
          type: string
      required:
        - field
        - pointer
      type: object
    EngineParamBindingPayloadV2:
      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/EngineParamBindingValuePayloadV2'
          type: array
        value:
          $ref: '#/components/schemas/EngineParamBindingValuePayloadV2'
      type: object
    ExpressionBranchesOptsPayloadV2:
      example:
        branches:
          - condition_groups:
              - conditions:
                  - operation: one_of
                    param_bindings:
                      - array_value:
                          - literal: SEV123
                            reference: incident.severity
                        value:
                          literal: SEV123
                          reference: incident.severity
                    subject: incident.severity
            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: incident.severity
              result:
                array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/ExpressionBranchPayloadV2'
          type: array
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
      required:
        - branches
        - returns
      type: object
    ExpressionCastOptsPayloadV2:
      example:
        returns:
          array: true
          type: IncidentStatus
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
      required:
        - returns
      type: object
    ExpressionConcatenateOptsPayloadV2:
      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
    ExpressionFilterOptsPayloadV2:
      example:
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: incident.severity
      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: incident.severity
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV2'
          type: array
      required:
        - condition_groups
      type: object
    ExpressionNavigateOptsPayloadV2:
      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
    ExpressionParseOptsPayloadV2:
      example:
        returns:
          array: true
          type: IncidentStatus
        source: metadata.annotations["github.com/repo"]
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
        source:
          description: Source expression that is evaluated to a result
          example: metadata.annotations["github.com/repo"]
          type: string
      required:
        - source
        - returns
      type: object
    EngineParamBindingValueV2:
      example:
        label: Lawrence Jones
        literal: SEV123
        reference: incident.severity
      properties:
        label:
          description: Human readable label to be displayed for user to select
          example: Lawrence Jones
          type: string
        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
      required:
        - label
      type: object
    ConditionPayloadV2:
      example:
        operation: one_of
        param_bindings:
          - array_value:
              - literal: SEV123
                reference: incident.severity
            value:
              literal: SEV123
              reference: incident.severity
        subject: incident.severity
      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/EngineParamBindingPayloadV2'
          type: array
        subject:
          description: The reference of the subject in the trigger scope
          example: incident.severity
          type: string
      required:
        - subject
        - operation
        - param_bindings
      type: object
    EscalationPathRetryConfigV2:
      example:
        attempts: 3
        interval_seconds: 300
      properties:
        attempts:
          description: >-
            The total number of times we page this level, counting the initial
            page. For example, 3 means three notifications in total. Must be
            between 2 and 10.
          example: 3
          format: int64
          maximum: 10
          minimum: 2
          type: integer
        interval_seconds:
          description: >-
            How long we wait between attempts at this level, in seconds. Must be
            a whole number of minutes (divisible by 60).
          example: 300
          format: int64
          type: integer
      required:
        - attempts
        - interval_seconds
      type: object
    EscalationPathRoundRobinConfigV2:
      example:
        enabled: false
        rotate_after_seconds: 120
      properties:
        enabled:
          description: Whether round robin is enabled for this level
          example: false
          type: boolean
        rotate_after_seconds:
          description: >-
            How long should we wait before rotating to the next target in a
            round robin, if not set will stick with a single target per level.
          example: 120
          format: int64
          type: integer
      required:
        - enabled
      type: object
    EscalationPathTargetWithBindingPayloadV2:
      example:
        binding:
          array_value:
            - literal: SEV123
              reference: incident.severity
          value:
            literal: SEV123
            reference: incident.severity
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        schedule_mode: currently_on_call
        selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
        type: schedule
        urgency: high
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingPayloadV2'
        id:
          description: Uniquely identifies a concrete target. Omitted when binding is set.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        schedule_mode:
          description: >-
            Only set for schedule targets, this specifies which users to fetch
            from the schedule.
          enum:
            - currently_on_call
            - all_users_for_rota
            - all_users
            - currently_on_call_for_rota
            - next_on_call_for_rota
            - next_on_call
            - ''
          example: currently_on_call
          type: string
        selected_rota_id:
          description: >-
            For schedule targets, identifies which rota on the schedule the
            schedule_mode applies to.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        type:
          description: >-
            Controls what type of entity this target identifies, such as
            EscalationPolicy or User
          enum:
            - schedule
            - user
            - slack_channel
            - msteams_channel
          example: schedule
          type: string
          x-public-api-version: v2
        urgency:
          description: The urgency of this escalation path target
          enum:
            - high
            - low
          example: high
          type: string
      required:
        - type
        - urgency
      type: object
    ExpressionElseBranchV2:
      example:
        result:
          array_value:
            - label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
          value:
            label: Lawrence Jones
            literal: SEV123
            reference: incident.severity
      properties:
        result:
          $ref: '#/components/schemas/EngineParamBindingV2'
      required:
        - result
      type: object
    ExpressionOperationV2:
      example:
        branches:
          branches:
            - condition_groups:
                - conditions:
                    - operation:
                        label: Lawrence Jones
                        value: 01FCQSP07Z74QMMYPDDGQB9FTG
                      param_bindings:
                        - array_value:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Incident Severity
                        reference: incident.severity
              result:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
          returns:
            array: true
            type: IncidentStatus
        cast:
          returns:
            array: true
            type: IncidentStatus
        concatenate:
          reference: '1235'
          reference_label: Teams
        filter:
          condition_groups:
            - conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Incident Severity
                    reference: incident.severity
        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/ExpressionBranchesOptsV2'
        cast:
          $ref: '#/components/schemas/ExpressionCastOptsV2'
        concatenate:
          $ref: '#/components/schemas/ExpressionConcatenateOptsV2'
        filter:
          $ref: '#/components/schemas/ExpressionFilterOptsV2'
        navigate:
          $ref: '#/components/schemas/ExpressionNavigateOptsV2'
        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/ExpressionParseOptsV2'
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
      required:
        - operation_type
        - returns
      type: object
    ReturnsMetaV2:
      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
    EscalationPathTemplateNodeIfElseV2:
      example:
        conditions:
          - operation:
              label: Lawrence Jones
              value: 01FCQSP07Z74QMMYPDDGQB9FTG
            param_bindings:
              - array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
            subject:
              label: Incident Severity
              reference: incident.severity
        else_path:
          - delay:
              delay_interval_condition: active
              delay_seconds: 300
              delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            escalation_path:
              escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            if_else:
              conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Incident Severity
                    reference: incident.severity
              else_path:
                - {}
              then_path:
                - {}
            level:
              ack_mode: all
              retry_config:
                attempts: 3
                interval_seconds: 300
              round_robin_config:
                enabled: false
                rotate_after_seconds: 120
              targets:
                - binding:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            notify_channel:
              targets:
                - binding:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            repeat:
              repeat_times: 3
              to_node: 01FCNDV6P870EA6S7TK1DSYDG0
            type: if_else
        then_path:
          - delay:
              delay_interval_condition: active
              delay_seconds: 300
              delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            escalation_path:
              escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            if_else:
              conditions:
                - operation:
                    label: Lawrence Jones
                    value: 01FCQSP07Z74QMMYPDDGQB9FTG
                  param_bindings:
                    - array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Incident Severity
                    reference: incident.severity
              else_path:
                - {}
              then_path:
                - {}
            level:
              ack_mode: all
              retry_config:
                attempts: 3
                interval_seconds: 300
              round_robin_config:
                enabled: false
                rotate_after_seconds: 120
              targets:
                - binding:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            notify_channel:
              targets:
                - binding:
                    array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  schedule_mode: currently_on_call
                  selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                  type: schedule
                  urgency: high
              time_to_ack_interval_condition: active
              time_to_ack_seconds: 1800
              time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
            repeat:
              repeat_times: 3
              to_node: 01FCNDV6P870EA6S7TK1DSYDG0
            type: if_else
      properties:
        conditions:
          description: The condition that defines which branch to take
          example:
            - operation:
                label: Lawrence Jones
                value: 01FCQSP07Z74QMMYPDDGQB9FTG
              param_bindings:
                - array_value:
                    - label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  value:
                    label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
              subject:
                label: Incident Severity
                reference: incident.severity
          items:
            $ref: '#/components/schemas/ConditionV2'
          type: array
        else_path:
          description: The nodes taken if the condition is not met
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Incident Severity
                      reference: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodeV2'
          type: array
        then_path:
          description: The nodes taken if the condition is met
          example:
            - delay:
                delay_interval_condition: active
                delay_seconds: 300
                delay_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              escalation_path:
                escalation_path_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              if_else:
                conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Incident Severity
                      reference: incident.severity
                else_path:
                  - {}
                then_path:
                  - {}
              level:
                ack_mode: all
                retry_config:
                  attempts: 3
                  interval_seconds: 300
                round_robin_config:
                  enabled: false
                  rotate_after_seconds: 120
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              notify_channel:
                targets:
                  - binding:
                      array_value:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    schedule_mode: currently_on_call
                    selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    type: schedule
                    urgency: high
                time_to_ack_interval_condition: active
                time_to_ack_seconds: 1800
                time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
              repeat:
                repeat_times: 3
                to_node: 01FCNDV6P870EA6S7TK1DSYDG0
              type: if_else
          items:
            $ref: '#/components/schemas/EscalationPathTemplateNodeV2'
          type: array
      required:
        - conditions
        - then_path
        - else_path
      type: object
    EscalationPathNodeLevelWithBindingV2:
      example:
        ack_mode: all
        retry_config:
          attempts: 3
          interval_seconds: 300
        round_robin_config:
          enabled: false
          rotate_after_seconds: 120
        targets:
          - binding:
              array_value:
                - label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              value:
                label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            schedule_mode: currently_on_call
            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
            type: schedule
            urgency: high
        time_to_ack_interval_condition: active
        time_to_ack_seconds: 1800
        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        ack_mode:
          description: >-
            Controls the behaviour of acknowledgements for this level, with
            'first' cancelling all other escalations on the same level when
            someone acks
          enum:
            - all
            - first
          example: all
          type: string
        retry_config:
          $ref: '#/components/schemas/EscalationPathRetryConfigV2'
        round_robin_config:
          $ref: '#/components/schemas/EscalationPathRoundRobinConfigV2'
        targets:
          description: >-
            The targets (users or schedules), each concrete or a parameter
            binding.
          example:
            - binding:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          items:
            $ref: '#/components/schemas/EscalationPathTargetWithBindingV2'
          type: array
        time_to_ack_interval_condition:
          description: >-
            If the time to ack is relative to a time window, this defines
            whether we move when the window is active or inactive
          enum:
            - active
            - inactive
          example: active
          type: string
        time_to_ack_seconds:
          description: >-
            How long should we wait for this level to acknowledge before
            proceeding to the next node in the path?
          example: 1800
          format: int64
          type: integer
        time_to_ack_weekday_interval_config_id:
          description: >-
            If the time to ack is relative to a time window, this identifies
            which window it is relative to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - targets
      type: object
    EscalationPathNodeNotifyChannelWithBindingV2:
      example:
        targets:
          - binding:
              array_value:
                - label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              value:
                label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            schedule_mode: currently_on_call
            selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
            type: schedule
            urgency: high
        time_to_ack_interval_condition: active
        time_to_ack_seconds: 1800
        time_to_ack_weekday_interval_config_id: 01FCNDV6P870EA6S7TK1DSYDG0
      properties:
        targets:
          description: The channels to notify, each concrete or a parameter binding.
          example:
            - binding:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              schedule_mode: currently_on_call
              selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
              type: schedule
              urgency: high
          items:
            $ref: '#/components/schemas/EscalationPathTargetWithBindingV2'
          type: array
        time_to_ack_interval_condition:
          description: >-
            If the time to ack is relative to a time window, this defines
            whether we move when the window is active or inactive
          enum:
            - active
            - inactive
          example: active
          type: string
        time_to_ack_seconds:
          description: >-
            How long should we wait for this level to acknowledge before moving
            on to the next node in the path?
          example: 1800
          format: int64
          type: integer
        time_to_ack_weekday_interval_config_id:
          description: >-
            If the time to ack is relative to a time window, this identifies
            which window it is relative to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
      required:
        - targets
      type: object
    EngineParamBindingValuePayloadV2:
      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
    ExpressionBranchPayloadV2:
      example:
        condition_groups:
          - conditions:
              - operation: one_of
                param_bindings:
                  - array_value:
                      - literal: SEV123
                        reference: incident.severity
                    value:
                      literal: SEV123
                      reference: incident.severity
                subject: incident.severity
        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: incident.severity
          items:
            $ref: '#/components/schemas/ConditionGroupPayloadV2'
          type: array
        result:
          $ref: '#/components/schemas/EngineParamBindingPayloadV2'
      required:
        - condition_groups
        - result
      type: object
    ConditionGroupPayloadV2:
      example:
        conditions:
          - operation: one_of
            param_bindings:
              - array_value:
                  - literal: SEV123
                    reference: incident.severity
                value:
                  literal: SEV123
                  reference: incident.severity
            subject: incident.severity
      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: incident.severity
          items:
            $ref: '#/components/schemas/ConditionPayloadV2'
          type: array
      required:
        - conditions
      type: object
    ExpressionBranchesOptsV2:
      example:
        branches:
          - condition_groups:
              - conditions:
                  - operation:
                      label: Lawrence Jones
                      value: 01FCQSP07Z74QMMYPDDGQB9FTG
                    param_bindings:
                      - array_value:
                          - label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                        value:
                          label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                    subject:
                      label: Incident Severity
                      reference: incident.severity
            result:
              array_value:
                - label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              value:
                label: Lawrence Jones
                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:
                            - label: Lawrence Jones
                              literal: SEV123
                              reference: incident.severity
                          value:
                            label: Lawrence Jones
                            literal: SEV123
                            reference: incident.severity
                      subject:
                        label: Incident Severity
                        reference: incident.severity
              result:
                array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
          items:
            $ref: '#/components/schemas/ExpressionBranchV2'
          type: array
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
      required:
        - branches
        - returns
      type: object
    ExpressionCastOptsV2:
      example:
        returns:
          array: true
          type: IncidentStatus
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
      required:
        - returns
      type: object
    ExpressionConcatenateOptsV2:
      example:
        reference: '1235'
        reference_label: Teams
      properties:
        reference:
          description: The reference within the scope to concatenate with
          example: '1235'
          type: string
        reference_label:
          description: The name of the reference to concatenate with
          example: Teams
          type: string
      required:
        - reference
        - reference_label
      type: object
    ExpressionFilterOptsV2:
      example:
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Incident Severity
                  reference: incident.severity
      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:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Incident Severity
                    reference: incident.severity
          items:
            $ref: '#/components/schemas/ConditionGroupV2'
          type: array
      required:
        - condition_groups
      type: object
    ExpressionNavigateOptsV2:
      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
    ExpressionParseOptsV2:
      example:
        returns:
          array: true
          type: IncidentStatus
        source: metadata.annotations["github.com/repo"]
      properties:
        returns:
          $ref: '#/components/schemas/ReturnsMetaV2'
        source:
          description: Source expression that is evaluated to a result
          example: metadata.annotations["github.com/repo"]
          type: string
      required:
        - source
        - returns
      type: object
    ConditionV2:
      example:
        operation:
          label: Lawrence Jones
          value: 01FCQSP07Z74QMMYPDDGQB9FTG
        param_bindings:
          - array_value:
              - label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
            value:
              label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
        subject:
          label: Incident Severity
          reference: incident.severity
      properties:
        operation:
          $ref: '#/components/schemas/ConditionOperationV2'
        param_bindings:
          description: Bindings for the operation parameters
          example:
            - array_value:
                - label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
              value:
                label: Lawrence Jones
                literal: SEV123
                reference: incident.severity
          items:
            $ref: '#/components/schemas/EngineParamBindingV2'
          type: array
        subject:
          $ref: '#/components/schemas/ConditionSubjectV2'
      required:
        - subject
        - operation
        - param_bindings
      type: object
    EscalationPathTargetWithBindingV2:
      example:
        binding:
          array_value:
            - label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
          value:
            label: Lawrence Jones
            literal: SEV123
            reference: incident.severity
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        schedule_mode: currently_on_call
        selected_rota_id: 01FCNDV6P870EA6S7TK1DSYDG0
        type: schedule
        urgency: high
      properties:
        binding:
          $ref: '#/components/schemas/EngineParamBindingV2'
        id:
          description: Uniquely identifies a concrete target. Omitted when binding is set.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        schedule_mode:
          description: >-
            Only set for schedule targets, this specifies which users to fetch
            from the schedule.
          enum:
            - currently_on_call
            - all_users_for_rota
            - all_users
            - currently_on_call_for_rota
            - next_on_call_for_rota
            - next_on_call
            - ''
          example: currently_on_call
          type: string
        selected_rota_id:
          description: >-
            For schedule targets, identifies which rota on the schedule the
            schedule_mode applies to.
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        type:
          description: >-
            Controls what type of entity this target identifies, such as
            EscalationPolicy or User
          enum:
            - schedule
            - user
            - slack_channel
            - msteams_channel
          example: schedule
          type: string
          x-public-api-version: v2
        urgency:
          description: The urgency of this escalation path target
          enum:
            - high
            - low
          example: high
          type: string
      required:
        - type
        - urgency
      type: object
    ExpressionBranchV2:
      example:
        condition_groups:
          - conditions:
              - operation:
                  label: Lawrence Jones
                  value: 01FCQSP07Z74QMMYPDDGQB9FTG
                param_bindings:
                  - array_value:
                      - label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                    value:
                      label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                subject:
                  label: Incident Severity
                  reference: incident.severity
        result:
          array_value:
            - label: Lawrence Jones
              literal: SEV123
              reference: incident.severity
          value:
            label: Lawrence Jones
            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:
                        - label: Lawrence Jones
                          literal: SEV123
                          reference: incident.severity
                      value:
                        label: Lawrence Jones
                        literal: SEV123
                        reference: incident.severity
                  subject:
                    label: Incident Severity
                    reference: incident.severity
          items:
            $ref: '#/components/schemas/ConditionGroupV2'
          type: array
        result:
          $ref: '#/components/schemas/EngineParamBindingV2'
      required:
        - condition_groups
        - result
      type: object
    ConditionGroupV2:
      example:
        conditions:
          - operation:
              label: Lawrence Jones
              value: 01FCQSP07Z74QMMYPDDGQB9FTG
            param_bindings:
              - array_value:
                  - label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
                value:
                  label: Lawrence Jones
                  literal: SEV123
                  reference: incident.severity
            subject:
              label: Incident Severity
              reference: incident.severity
      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:
                    - label: Lawrence Jones
                      literal: SEV123
                      reference: incident.severity
                  value:
                    label: Lawrence Jones
                    literal: SEV123
                    reference: incident.severity
              subject:
                label: Incident Severity
                reference: incident.severity
          items:
            $ref: '#/components/schemas/ConditionV2'
          type: array
      required:
        - conditions
      type: object
    ConditionOperationV2:
      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
    ConditionSubjectV2:
      example:
        label: Incident Severity
        reference: incident.severity
      properties:
        label:
          description: Human readable identifier for the subject
          example: Incident Severity
          type: string
        reference:
          description: Reference into the scope for the value of the subject
          example: incident.severity
          type: string
      required:
        - label
        - reference
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key from your incident.io dashboard (Settings → API keys)

````