Juniper Mist AI Utilities Upgrade API

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

Operations 29

GET /api/v1/orgs/{org_id}/devices/upgrade listOrgDeviceUpgrades #
POST /api/v1/orgs/{org_id}/devices/upgrade upgradeOrgDevices #
GET /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id} getOrgDeviceUpgrade #
POST /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}/cancel cancelOrgDeviceUpgrade #
GET /api/v1/orgs/{org_id}/devices/versions listOrgAvailableDeviceVersions #
POST /api/v1/orgs/{org_id}/jsi/devices/{device_mac}/upgrade upgradeOrgJsiDevice #
GET /api/v1/orgs/{org_id}/mxedges/upgrade listOrgMxEdgeUpgrades #
POST /api/v1/orgs/{org_id}/mxedges/upgrade upgradeOrgMxEdges #
GET /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id} getOrgMxEdgeUpgrade #
PUT /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id} updateOrgMxEdgeUpgrade #
POST /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}/cancel cancelOrgMxEdgeUpgrade #
GET /api/v1/orgs/{org_id}/ssr/upgrade listOrgSsrUpgrades #
POST /api/v1/orgs/{org_id}/ssr/upgrade upgradeOrgSsrs #
GET /api/v1/orgs/{org_id}/ssr/upgrade/{upgrade_id}/cancel getOrgSsrUpgrade #
POST /api/v1/orgs/{org_id}/ssr/upgrade/{upgrade_id}/cancel cancelOrgSsrUpgrade #
GET /api/v1/orgs/{org_id}/ssr/versions listOrgAvailableSsrVersions #
GET /api/v1/sites/{site_id}/devices/upgrade listSiteDeviceUpgrades #
POST /api/v1/sites/{site_id}/devices/upgrade upgradeSiteDevices #
GET /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id} getSiteDeviceUpgrade #
POST /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}/cancel cancelSiteDeviceUpgrade #
GET /api/v1/sites/{site_id}/devices/versions listSiteAvailableDeviceVersions #
POST /api/v1/sites/{site_id}/devices/{device_id}/upgrade upgradeDevice #
GET /api/v1/sites/{site_id}/mxedges/upgrade listSiteMxEdgeUpgrades #
POST /api/v1/sites/{site_id}/mxedges/upgrade upgradeSiteMxEdges #
GET /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id} getSiteMxEdgeUpgrade #
PUT /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id} updateSiteMxEdgeUpgrade #
POST /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id}/cancel cancelSiteMxEdgeUpgrade #
GET /api/v1/sites/{site_id}/ssr/upgrade/{upgrade_id} getSiteSsrUpgrade #
POST /api/v1/sites/{site_id}/ssr/{device_id}/upgrade upgradeSsr #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mist-ai-utilities-upgrade-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

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

    >

    > Date: **May 13, 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 Utilities Upgrade API
  version: 2604.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: []
- basicAuth: []
- basicAuth: []
  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: Get List of Org multiple devices upgrades
      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: Upgrade Multiple Sites (Only supported for Access Points upgrades)
      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: Get Multiple Devices Upgrade
      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: Best effort to cancel an upgrade. Devices which are already upgraded wont be touched
      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: Get List of Available Device Versions
      operationId: listOrgAvailableDeviceVersions
      parameters:
      - 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:
          examples:
          - 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: Upgrade
      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: Get List of Org Mist Edge Upgrades
      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: Upgrade Mist Edges
      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: Get Mist Edge Upgrade
      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 Mist Edge Upgrade. 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 Mist Edge Upgrade. Best effort to cancel an upgrade. Devices which are already upgraded won't be touched.
      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: Get List of Org SSR Upgrades
      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: Upgrade Org SSRs
      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: Get Specific Org SSR Upgrade
      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: 'Best effort to cancel an upgrade. Devices which are already upgraded wont be touched↵

        '
      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: Get available version for SSR
      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: Get all upgrades for site
      operationId: listSiteDeviceUpgrades
      parameters:
      - 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: Get List of Available Device Versions
      operationId: listSiteAvailableDeviceVersions
      parameters:
      - 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: Get List of Site Mist Edge Upgrades
      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:
  schemas:
    upgrade_org_devices_item_site_upgrades:
      items:
        $ref: '#/components/schemas/upgrade_org_devices_item_site_upgrade'
      type: array
    upgrade_devices_targets_failed:
      description: List of devices MAC Addresses which have failed to upgrade
      items:
        type: string
      type: array
    upgrade_org_devices_upgrade:
      additionalProperties: false
      properties:
        site_id:
          $ref: '#/components/schemas/site_id'
        upgrade:
          $ref: '#/components/schemas/upgrade_org_devices_upgrade_info'
      type: object
    ssr_upgrade:
      properties:
        channel:
          $ref: '#/components/schemas/ssr_upgrade_channel'
        reboot_at:
          description: Reboot start time in epoch seconds, default is start_time, -1 disables reboot
          type: integer
        start_time:
          description: 128T firmware download start time in epoch seconds, default is now, -1 disables download
          type: integer
        version:
          default: stable
          description: 128T firmware version to upgrade (e.g. 5.3.0-93)
          minLength: 1
          type: string
      required:
      - version
      type: object
    response_ssr_upgrades:
      items:
        $ref: '#/components/schemas/response_ssr_upgrade'
      type: array
    response_ssr_upgrade:
      additionalProperties: false
      properties:
        channel:
          minLength: 1
          type: string
        counts:
          $ref: '#/components/schemas/response_ssr_upgrade_counts'
        device_type:
          type: string
        id:
          $ref: '#/components/schemas/id'
        status:
          minLength: 1
          type: string
        strategy:
          minLength: 1
          type: string
        versions:
          additionalProperties:
            type: string
          type: object
      required:
      - status
      - strategy
      - versions
      - channel
      - id
      - counts
      - device_type
      type: object
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    upgrade_devices_targets_downloaded:
      description: List of devices MAC Addresses which have the firmware downloaded
      items:
        type: string
      type: array
    device_version_item:
      additionalProperties: false
      properties:
        model:
          description: Device model (as seen in the device stats)
          type: string
        tag:
          description: Annotation, stable / beta / alpha. Or it can be empty or nothing which is likely a dev build
          type: string
        version:
          description: Firmware version
          type: string
      required:
      - model
      - version
      type: object
    upgrade_org_devices_item:
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/id'
        site_upgrades:
          $ref: '#/components/schemas/upgrade_org_devices_item_site_upgrades'
      type: object
    ssr_upgrade_multi:
      properties:
        channel:
          $ref: '#/components/schemas/ssr_upgrade_channel'
        device_ids:
          $ref: '#/components/schemas/ssr_upgrade_multi_device_ids'
        reboot_at:
          description: Reboot start time in epoch seconds, default is start_time, -1 disables reboot
          type: integer
        start_time:
          

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