Mist Utilities Upgrade API

API Calls used to manage device upgrades for a single device, at the site level or at the organization level.

OpenAPI Specification

mist-utilities-upgrade-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Utilities Upgrade API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: API Calls used to manage device upgrades for a single device, at the site level or at the organization level.
  name: Utilities Upgrade
paths:
  /api/v1/orgs/{org_id}/devices/upgrade:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List organization-level device upgrade jobs, including the site-level upgrade jobs created under each organization upgrade.
      operationId: listOrgDeviceUpgrades
      responses:
        '200':
          $ref: '#/components/responses/OrgDeviceUpgradeList'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgDeviceUpgrades
      tags:
      - Utilities Upgrade
    post:
      description: Start an organization-level device upgrade job across selected sites. The request selects device type, sites, models, firmware versions, and upgrade strategy; AP-specific and Junos-specific options apply only where supported.
      operationId: upgradeOrgDevices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/upgrade_org_devices'
      responses:
        '200':
          $ref: '#/components/responses/OrgDeviceUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeOrgDevices
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Retrieve details for an organization-level device upgrade job, including per-site upgrade status and device targets.
      operationId: getOrgDeviceUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OrgDeviceUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgDeviceUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}/cancel:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/upgrade_id'
    post:
      description: Cancel an organization-level device upgrade job on a best-effort basis. Devices that have already completed the upgrade are not changed.
      operationId: cancelOrgDeviceUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: cancelOrgDeviceUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/devices/versions:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List available firmware versions for organization devices, optionally filtered by device type and model.
      operationId: listOrgAvailableDeviceVersions
      parameters:
      - description: 'Filter results by type. enum: `ap`, `gateway`, `switch`'
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/device_type_default_ap'
      - description: Fetch version for device model, use/combine with `type` as needed (for switch and gateway devices). Accepts multiple comma-separated values.
        in: query
        name: model
        schema:
          examples:
          - AP27,AP27E
          - AP43
          type: string
      responses:
        '200':
          $ref: '#/components/responses/DeviceVersion'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgAvailableDeviceVersions
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/jsi/devices/{device_mac}/upgrade:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/device_mac'
    post:
      description: Start a software upgrade for a JSI-connected device identified by MAC address using the requested target version.
      operationId: upgradeOrgJsiDevice
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  version: 3.1.5
            schema:
              $ref: '#/components/schemas/version_string'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeOrgJsiDevice
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/mxedges/upgrade:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List Mist Edge upgrade requests for the organization, including status, rollout strategy, target versions, and per-status target counts.
      operationId: listOrgMxEdgeUpgrades
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgradesArray'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgMxEdgeUpgrades
      tags:
      - Utilities Upgrade
    post:
      description: Schedule a Mist Edge upgrade for selected Mist Edges, using service target versions or an optional Linux distro upgrade with rollout strategy and canary settings.
      operationId: upgradeOrgMxEdges
      requestBody:
        content:
          application/json:
            examples:
              Upgrade_MxEdge:
                value:
                  allow_downgrades:
                    mxagent: false
                    tunterm: true
                  canary_phases:
                  - 5
                  - 25
                  - 50
                  - 100
                  channel: stable
                  max_failure_percentage: 5
                  max_failures:
                  - 1
                  - 1
                  - 5
                  - 5
                  mxedge_ids:
                  - 387804a7-3474-85ce-15a2-f9a9684c9c90
                  start_time: 1624399840
                  strategy: serial
                  versions:
                    mxagent: latest
                    radsecproxy: <version>
                    tunterm: default
              Upgrade_MxEdge_Distro:
                value:
                  canary_phases:
                  - 5
                  - 25
                  - 50
                  - 100
                  distro: buster
                  max_failure_percentage: 5
                  max_failures:
                  - 1
                  - 1
                  - 5
                  - 5
                  mxedge_ids:
                  - 387804a7-3474-85ce-15a2-f9a9684c9c90
                  start_time: 1624399840
                  strategy: serial
            schema:
              $ref: '#/components/schemas/mxedge_upgrade_multi'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeOrgMxEdges
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Retrieve status, rollout strategy, target versions, and target counts for a specific Mist Edge upgrade request.
      operationId: getOrgMxEdgeUpgrade
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgMxEdgeUpgrade
      tags:
      - Utilities Upgrade
    put:
      description: Update a queued Mist Edge upgrade request, such as target versions, rollout strategy, start time, or target Mist Edge IDs. Only upgrades in `queued` state can be updated.
      operationId: updateOrgMxEdgeUpgrade
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/mxedge_upgrade_multi'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: updateOrgMxEdgeUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}/cancel:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/upgrade_id'
    post:
      description: Cancel a Mist Edge upgrade request on a best-effort basis. Mist Edges that have already been upgraded are not changed.
      operationId: cancelOrgMxEdgeUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: cancelOrgMxEdgeUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/ssr/upgrade:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List SSR firmware upgrade jobs for the organization, including status, rollout strategy, target versions, release channel, and device counts.
      operationId: listOrgSsrUpgrades
      responses:
        '200':
          $ref: '#/components/responses/SsrUpgradesArray'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgSsrUpgrades
      tags:
      - Utilities Upgrade
    post:
      description: Create an SSR firmware upgrade job for selected devices, with firmware version or channel, rollout strategy, and optional download or reboot timing.
      operationId: upgradeOrgSsrs
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  channel: stable
                  device_ids:
                  - 00000000-0000-0000-1000-5c5b3500001f
                  - 00000000-0000-0000-1000-5c5b35000020
                  strategy: big_bang
                  version: 5.3.0-93
            schema:
              $ref: '#/components/schemas/ssr_upgrade_multi'
      responses:
        '200':
          $ref: '#/components/responses/SsrUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeOrgSsrs
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/ssr/upgrade/{upgrade_id}/cancel:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Return detailed status for an SSR firmware upgrade job, including target device IDs grouped by upgrade status.
      operationId: getOrgSsrUpgrade
      responses:
        '200':
          $ref: '#/components/responses/SsrUpgradeStatus'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgSsrUpgrade
      tags:
      - Utilities Upgrade
    post:
      description: Cancel an SSR firmware upgrade job on a best-effort basis. Devices that have already upgraded are not changed.
      operationId: cancelOrgSsrUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: cancelOrgSsrUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/orgs/{org_id}/ssr/versions:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List SSR firmware versions available for upgrade, optionally filtered by release channel and one or more SSR MAC addresses.
      operationId: listOrgAvailableSsrVersions
      parameters:
      - $ref: '#/components/parameters/ssr_version_channel'
      - description: Optional. MAC address, or comma separated MAC address list.
        in: query
        name: mac
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/SsrVersions'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgAvailableSsrVersions
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/devices/upgrade:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: List device upgrade operations for a site, optionally filtered by upgrade status. Use [List Org Device Upgrades](/#operations/listOrgDeviceUpgrades) to retrieve device upgrade operations across the organization.
      operationId: listSiteDeviceUpgrades
      parameters:
      - description: 'Filter results by status. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`'
        in: query
        name: status
        schema:
          $ref: '#/components/schemas/upgrade_device_status'
      responses:
        '200':
          $ref: '#/components/responses/UpgradeSiteDevicesList'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listSiteDeviceUpgrades
      tags:
      - Utilities Upgrade
    post:
      description: 'Upgrade Site Device


        **Note**: this call doesn’t guarantee the devices to be upgraded right away (they may be offline)'
      operationId: upgradeSiteDevices
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/upgrade_site_devices'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/UpgradeId'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeSiteDevices
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Get Site Device Upgrade
      operationId: getSiteDeviceUpgrade
      responses:
        '200':
          $ref: '#/components/responses/SiteDeviceUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getSiteDeviceUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}/cancel:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/upgrade_id'
    post:
      description: Best effort to cancel an upgrade. Devices which are already upgraded wont be touched
      operationId: cancelSiteDeviceUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: cancelSiteDeviceUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/devices/versions:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: List firmware versions available for devices in a site, optionally filtered by device type and model. Use [List Org Available Device Versions](/#operations/listOrgAvailableDeviceVersions) to retrieve available device versions across the organization.
      operationId: listSiteAvailableDeviceVersions
      parameters:
      - description: 'Filter results by type. enum: `ap`, `gateway`, `switch`'
        in: query
        name: type
        schema:
          $ref: '#/components/schemas/device_type_default_ap'
      - description: Fetch version for device model, use/combine with `type` as needed (for switch and gateway devices)
        in: query
        name: model
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/DeviceVersion'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listSiteAvailableDeviceVersions
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/devices/{device_id}/upgrade:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: Device Upgrade
      operationId: upgradeDevice
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  version: 3.1.5
            schema:
              $ref: '#/components/schemas/device_upgrade'
      responses:
        '200':
          $ref: '#/components/responses/UpgradeDevice'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeDevice
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/mxedges/upgrade:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: List Mist Edge upgrade operations for a site. Use [List Org Mist Edge Upgrades](/#operations/listOrgMxEdgeUpgrades) to retrieve Mist Edge upgrade operations across the organization.
      operationId: listSiteMxEdgeUpgrades
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgradesArray'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listSiteMxEdgeUpgrades
      tags:
      - Utilities Upgrade
    post:
      description: 'Upgrade Mist Edges in a Site.


        See [Org Mist Edges](/#tag/Utilities-Upgrade/operation/upgradeOrgMxEdges) for package upgrades


        See [Org Mist Edges Distro](/#tag/Utilities-Upgrade/operation/upgradeOrgMxEdges) for distro upgrades'
      operationId: upgradeSiteMxEdges
      requestBody:
        content:
          application/json:
            examples:
              Upgrade_MxEdge:
                value:
                  allow_downgrades:
                    mxagent: false
                    tunterm: true
                  canary_phases:
                  - 5
                  - 25
                  - 50
                  - 100
                  channel: stable
                  max_failure_percentage: 5
                  max_failures:
                  - 1
                  - 1
                  - 5
                  - 5
                  mxedge_ids:
                  - 387804a7-3474-85ce-15a2-f9a9684c9c90
                  start_time: 1624399840
                  strategy: serial
                  versions:
                    mxagent: latest
                    radsecproxy: <version>
                    tunterm: default
              Upgrade_MxEdge_Distro:
                value:
                  canary_phases:
                  - 5
                  - 25
                  - 50
                  - 100
                  distro: buster
                  max_failure_percentage: 5
                  max_failures:
                  - 1
                  - 1
                  - 5
                  - 5
                  mxedge_ids:
                  - 387804a7-3474-85ce-15a2-f9a9684c9c90
                  start_time: 1624399840
                  strategy: serial
            schema:
              $ref: '#/components/schemas/mxedge_upgrade_multi'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeSiteMxEdges
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Get Mist Edge Upgrade
      operationId: getSiteMxEdgeUpgrade
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getSiteMxEdgeUpgrade
      tags:
      - Utilities Upgrade
    put:
      description: Update Mist Edge Upgrade. Only upgrades in `queued` state can be updated.
      operationId: updateSiteMxEdgeUpgrade
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/mxedge_upgrade_multi'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/MxEdgeUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: updateSiteMxEdgeUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id}/cancel:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/upgrade_id'
    post:
      description: Cancel Mist Edge Upgrade. Best effort to cancel an upgrade. MxEdges which are already upgraded won't be touched.
      operationId: cancelSiteMxEdgeUpgrade
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: cancelSiteMxEdgeUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/ssr/upgrade/{upgrade_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/upgrade_id'
    get:
      description: Get Specific Site SSR Upgrade
      operationId: getSiteSsrUpgrade
      responses:
        '200':
          $ref: '#/components/responses/SsrUpgradeStatus'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getSiteSsrUpgrade
      tags:
      - Utilities Upgrade
  /api/v1/sites/{site_id}/ssr/{device_id}/upgrade:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: Upgrade Site SSR device
      operationId: upgradeSsr
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  channel: stable
                  version: 5.3.1-170-93
            schema:
              $ref: '#/components/schemas/ssr_upgrade'
      responses:
        '200':
          $ref: '#/components/responses/SsrUpgrade'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: upgradeSsr
      tags:
      - Utilities Upgrade
components:
  parameters:
    ssr_version_channel:
      description: 'SSR release channel used to filter available versions. enum: `alpha`, `beta`, `stable`'
      in: query
      name: channel
      schema:
        $ref: '#/components/schemas/ssr_version_channel'
    upgrade_id:
      in: path
      name: upgrade_id
      required: true
      schema:
        examples:
        - 000000ab-00ab-00ab-00ab-0000000000ab
        format: uuid
        type: string
    device_id:
      in: path
      name: device_id
      required: true
      schema:
        examples:
        - 000000ab-00ab-00ab-00ab-0000000000ab
        format: uuid
        type: string
    device_mac:
      in: path
      name: device_mac
      required: true
      schema:
        examples:
        - 0000000000ab
        pattern: ^[0-9a-fA-F]{12}$
        type: string
    org_id:
      in: path
      name: org_id
      required: true
      schema:
        examples:
        - 000000ab-00ab-00ab-00ab-0000000000ab
        format: uuid
        type: string
    site_id:
      in: path
      name: site_id
     

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-utilities-upgrade-api-openapi.yml