Mist 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-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-utilities-upgrade-api-openapi.yml Raw ↑
openapi: 3.2.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 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:
  schemas:
    upgrade_org_devices_item_site_upgrades:
      description: Site-level upgrade jobs created for an organization upgrade
      items:
        $ref: '#/components/schemas/upgrade_org_devices_item_site_upgrade'
      type: array
    upgrade_devices_targets_failed:
      description: List of device MAC addresses that failed to upgrade
      items:
        type: string
      type: array
    upgrade_org_devices_upgrade:
      additionalProperties: false
      description: Upgrade entry for a single site within an organization upgrade job
      properties:
        site_id:
          $ref: '#/components/schemas/site_id'
          description: Identifier of the site for this upgrade entry
        upgrade:
          $ref: '#/components/schemas/upgrade_org_devices_upgrade_info'
          description: Site-level job details for this upgrade entry
      type: object
    ssr_upgrade:
      description: Request to upgrade a single SSR device
      properties:
        channel:
          $ref: '#/components/schemas/ssr_upgrade_channel'
          description: Firmwa

# --- 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