openapi: 3.1.0 info: contact: email: tmunzer@juniper.net name: Thomas Munzer description: '> Version: **2604.1.1** > > Date: **May 13, 2026**
NOTE:
Some important API changes will be introduced. Please make sure to read the announcements
--- ## 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: 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: 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: 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_devices_targets_downloading: description: List of devices MAC Addresses which are currently downloading the firmware items: type: string type: array upgrade_org_devices_version: additionalProperties: false properties: firmware_type: $ref: '#/components/schemas/upgrade_org_devices_version_firmware_type' force: default: false description: If `firmware_type`==`ap`, set to `true` if upgrade is needed when target version <= running version type: boolean model_version: $ref: '#/components/schemas/upgrade_org_devices_version_model_version' version: description: version of the firmware to deploy type: string type: object response_site_device_upgrades_item: additionalProperties: false properties: counts: $ref: '#/components/schemas/upgrade_site_devices_counts' current_phase: description: Current canary or rrm phase in progress type: integer enable_p2p: description: Whether to allow local AP-to-AP FW upgrade type: boolean force: description: Whether to force upgrade when requested version is same as running version type: boolean id: $ref: '#/components/schemas/id' max_failure_percentage: description: Percentage of failures allowed type: integer max_failures: $ref: '#/components/schemas/upgrade_devices_max_failures' reboot_at: description: reboot start time in epoch type: integer start_time: description: Firmware download start time in epoch type: integer status: $ref: '#/components/schemas/upgrade_device_status' strategy: $ref: '#/components/schemas/upgrade_device_strategy' target_version: description: Version to upgrade to minLength: 1 type: string upgrade_plan: additionalProperties: true description: a dictionary of rrm phase number to devices part of that phase type: object required: - id type: object strings: items: type: string type: array uniqueItems: true response_ssr_upgrade_status_targets: additionalProperties: false properties: failed: $ref: '#/components/schemas/strings' queued: $ref: '#/components/schemas/strings' success: $ref: '#/components/schemas/strings' upgrading: $ref: '#/components/schemas/strings' required: - queued - upgrading - success - failed type: object upgrade_device_rrm_node_order: default: fringe_to_center description: 'For APs only and if `strategy`==`rrm`. Used in rrm to determine whether to start upgrade from fringe or center AP’s. enum: `center_to_fringe`, `fringe_to_center`' enum: - center_to_fringe - fringe_to_center type: string mxedge_upgrade_multi_mxedge_ids: description: List of mxedge IDs to upgrade. If not specified, it means all the org mxedges. items: format: uuid type: string type: array response_site_device_upgrade: additionalProperties: false properties: canary_phases: $ref: '#/components/schemas/response_site_device_upgrade_canary_phases' current_phase: description: Current canary or rrm phase in progress type: integer enable_p2p: default: false description: Whether to allow local AP-to-AP FW upgrade type: boolean force: description: Whether to force upgrade when requested version is same as running version type: boolean id: $ref: '#/components/schemas/id' max_failure_percentage: description: Percentage of failures allowed type: integer max_failures: $ref: '#/components/schemas/upgrade_devices_max_failures' p2p_cluster_size: default: 10 description: size to split the devices for p2p type: integer p2p_parallelism: default: 1 description: number of parallel p2p download batches to create type: integer reboot_at: description: reboot start time in epoch type: integer start_time: description: Firmware download start time in epoch type: integer status: $ref: '#/components/schemas/upgrade_device_status' strategy: $ref: '#/components/schemas/upgrade_device_strategy' target_version: description: Version to upgrade to minLength: 1 type: string targets: $ref: '#/components/schemas/upgrade_devices_targets' upgrade_plan: $ref: '#/components/schemas/upgrade_devices_plans' required: - id type: object upgrade_org_devices: properties: all_sites: default: false description: If `true`, will upgrade all sites in this org type: boolean canary_phases: $ref: '#/components/schemas/upgrade_device_canary_phases' device_type: $ref: '#/components/schemas/device_type' download_strategy: $ref: '#/components/schemas/upgrade_org_devices_download_strategy' max_failure_percentage: $ref: '#/components/schemas/upgrade_devices_max_failure_percentage' max_failures: $ref: '#/components/schemas/upgrade_devices_max_failures' models: $ref: '#/components/schemas/upgrade_org_devices_models' p2p_cluster_size: default: 10 description: For APs only and if `enable_p2p`==`true`. examples: - 0 minimum: 0 type: integer p2p_parallelism: description: For APs only and if `enable_p2p`==`true`. Number of parallel p2p download batches to create type: integer reboot_at: deprecated: true description: For Switches and Gateways only and if `reboot`==`true`. Reboot start time in epoch seconds, default is `start_time` examples: - 1624399840 type: integer reboot_datetime: description: Process start date and time, ISO8601 format. Exclude timezone component if site local timezone needs to be used examples: - '2024-06-13 15:00:00-07:00' type: string reboot_strategy: $ref: '#/components/schemas/upgrade_device_strategy' rrm_first_batch_percentage: description: For APs only and if `strategy`==`rrm`. Percentage of APs that need to be present in the first RRM batch examples: - 2 type: integer rrm_max_batch_percentage: description: For APs only and if `strategy`==`rrm`. Max percentage of APs that need to be present in each RRM batch examples: - 10 type: integer rrm_mesh_upgrade: $ref: '#/components/schemas/upgrade_device_rrm_mesh_upgrade' rrm_node_order: $ref: '#/components/schemas/upgrade_device_rrm_node_order' rrm_slow_ramp: description: For APs only and if `strategy`==`rrm`. True will make rrm batch sizes slowly ramp up type: boolean rules: $ref: '#/components/schemas/upgrade_device_rules' site_ids: $ref: '#/components/schemas/upgrade_org_devices_site_ids' snapshot: default: false description: For Junos devices only. Perform recovery snapshot after device is rebooted type: boolean start_datetime: description: Process start date and time, ISO8601 format examples: - '2024-06-13 15:00:00-07:00' type: string start_time: deprecated: true description: Upgrade start time in epoch seconds, default is now examples: - 1624399840 type: integer strategy: $ref: '#/components/schemas/upgrade_device_strategy' versions: $ref: '#/components/schemas/upgrade_org_devices_versions' type: object device_version: items: $ref: '#/components/schemas/device_version_item' type: array uniqueItems: true upgrade_devices_targets_downloaded: description: List of devices MAC Addresses which have the firmware downloaded items: type: string type: array upgrade_device_rules: description: "Rules used to identify devices which will be selected for upgrade. Device will be selected as long as it satisfies any one rule \nProperty key defines the type of matching, value is the string to match. e.g:\n * `match_name`: Device name must match the property value\n * `match_name[0:3]`: Device name must match the first 3 letters of the property value\n * `match_name[2:6]`: Device name must match the property value from the 2nd to the 6th letter\n * `match_model`: Device model must match the property value\n * `match_model[1:3]`: Device model must match the property value from the 1st to the 3rd letter\n * `match_role`: Device role must match the property value\n * `match_role[0:3]`: Device role must match the property value from the 1st to the 3rd letter\n * `match_evpn_role`: Device EVPN topology role must match the property value\n * `match_evpn_role[0:3]`: Device EVPN topology role must match the property value from the 1st to the 3rd letter" examples: - - match_model: AP43 match_name[2:8]: access - match_model: AP45 items: $ref: '#/components/schemas/upgrade_device_rule' type: array timestamp: description: Epoch (seconds) format: double readOnly: true type: number upgrade_device_canary_phases: default: - 1 - 10 - 50 - 100 description: Only if `strategy`==`canary`. Phases for canary deployment. Each phase represents percentage of devices that need to be upgraded in that phase. default is [1, 10, 50, 100] items: type: integer type: array ssr_versions: items: $ref: '#/components/schemas/ssr_version' type: array uniqueItems: true upgrade_devices_targets_reboot_in_progress: description: List of devices MAC Addresses which are rebooting items: type: string type: array upgrade_devices_targets: additionalProperties: false properties: download_requested: $ref: '#/components/schemas/upgrade_devices_targets_download_requested' downloaded: $ref: '#/components/schemas/upgrade_devices_targets_downloaded' downloading: $ref: '#/components/schemas/upgrade_devices_targets_downloading' failed: $ref: '#/components/schemas/upgrade_devices_targets_failed' reboot_in_progress: $ref: '#/components/schemas/upgrade_devices_targets_reboot_in_progress' rebooted: $ref: '#/components/schemas/upgrade_devices_targets_rebooted' scheduled: $ref: '#/components/schemas/upgrade_devices_targets_scheduled' skipped: $ref: '#/components/schemas/upgrade_devices_targets_skipped' total: description: Count of devices part of this upgrade type: integer upgraded: $ref: '#/components/schemas/upgrade_devices_targets_upgraded' readOnly: true type: object response_mxedge_upgrade: additionalProperties: false properties: channel: minLength: 1 type: string counts: $ref: '#/components/schemas/mxedge_upgrade_response_counts' id: $ref: '#/components/schemas/id' status: minLength: 1 type: string strategy: minLength: 1 type: string versions: additionalProperties: true type: object required: - status - strategy - versions - channel - id - counts type: object upgrade_site_devices: properties: canary_phases: $ref: '#/components/schemas/upgrade_device_canary_phases' device_ids: $ref: '#/components/schemas/upgrade_site_devices_device_ids' enable_p2p: description: For APs only. Whether to allow local AP-to-AP FW upgrade type: boolean force: default: false description: '`force`==`true` will force upgrade when requested version is same as running version' type: boolean max_failure_percentage: $ref: '#/components/schemas/upgrade_devices_max_failure_percentage' max_failures: $ref: '#/components/schemas/upgrade_devices_max_failures' models: $ref: '#/components/schemas/upgrade_device_models' p2p_cluster_size: default: 10 description: For APs only and if `enable_p2p`==`true`. examples: - 0 minimum: 0 type: integer p2p_parallelism: description: For APs only and if `enable_p2p`==`true`. Number of parallel p2p download batches to create type: integer reboot: default: false description: For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed type: boolean reboot_at: description: For Switches and Gateways only and if `reboot`==`true`. Reboot start time in epoch seconds, default is `start_time` examples: - 1624399840 type: integer rrm_first_batch_percentage: description: For APs only and if `strategy`==`rrm`. Percentage of APs that need to be present in the first RRM batch examples: - 2 type: integer rrm_max_batch_percentage: description: For APs only and if `strategy`==`rrm`. Max percentage of APs that need to be present in each RRM batch examples: - 10 type: integer rrm_mesh_upgrade: $ref: '#/components/schemas/upgrade_device_rrm_mesh_upgrade' rrm_node_order: $ref: '#/components/schemas/upgrade_device_rrm_node_order' rrm_slow_ramp: description: For APs only and if `strategy`==`rrm`. True will make rrm batch sizes slowly ramp up type: boolean rules: $ref: '#/components/schemas/upgrade_device_rules' snapshot: default: false description: For Junos devices only. Perform recovery snapshot after device is rebooted type: boolean start_time: description: Upgrade start time in epoch seconds, default is now examples: - 1624399840 type: integer strategy: $ref: '#/components/schemas/upgrade_device_strategy' version: description: Specific version / stable, default is to use the latest available version examples: - 3.1.5 type: string type: object 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 upgrade_device_strategy: default: big_bang description: 'enum: `big_bang` (upgrade all at once), `canary`, `rrm` (APs only), `serial` (one at a time)' enum: - big_bang - canary - rrm - serial type: string device_type: description: 'enum: `ap`, `gateway`, `switch`' enum: - ap - gateway - switch type: string response_http401: additionalProperties: false properties: detail: examples: - Authentication credentials were not provided. type: string type: object ssr_upgrade_multi_device_ids: description: List of 128T device IDs to upgrade items: format: uuid type: string type: array upgrade_org_devices_upgrade_infos: items: $ref: '#/components/schemas/upgrade_org_devices_upgrade' type: array upgrade_org_devices_upgrade_info: additionalProperties: false properties: id: $ref: '#/components/schemas/id' start_time: examples: - 1717658765 type: integer status: $ref: '#/components/schemas/upgrade_device_status' targets: $ref: '#/components/schemas/upgrade_devices_targets' type: object 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 upgrade_org_devices_versions: items: $ref: '#/components/schemas/upgrade_org_devices_version' type: array upgrade_info_status: description: 'enum: `error`, `inprogress`, `scheduled`, `starting`, `success`' enum: - error - inprogress - scheduled - starting - success type: string upgrade_org_devices_item_site_upgrades: items: $ref: '#/components/schemas/upgrade_org_devices_item_site_upgrade' type: array upgrade_devices_targets_download_requested: description: List of devices MAC Addresses which cloud has requested to download firmware items: type: string type: array device_upgrade: properties: reboot: default: false description: For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed type: boolean reboot_at: description: For Switches and Gateways only and if `reboot`==`true`. Reboot start time in epoch seconds, default is `start_time` type: integer snapshot: default: false description: For Junos devices only. Perform recovery snapshot after device is rebooted type: boolean start_time: description: Firmware download start time in epoch type: integer version: default: stable description: Specific version / `stable`, default is to use the latest type: string required: - version type: object upgrade_devices_targets_scheduled: description: List of devices MAC Addresses which cloud has scheduled an upgrade for items: type: string type: array version_string: properties: version: type: string type: object mxedge_upgrade_multi: properties: allow_downgrades: $ref: '#/components/schemas/mxedge_upgrade_multi_allow_downgrades' canary_phases: $ref: '#/components/schemas/upgrade_device_canary_phases' channel: $ref: '#/components/schemas/mxedge_upgrade_channel' distro: description: Distro upgrade, optional, to specific codename (e.g. bullseye) with highest qualified versions type: string max_failure_percentage: default: 5 description: Failure threshold before we stop the upgrade and mark it as failed type: integer mxedge_ids: $ref: '#/components/schemas/mxedge_upgrade_multi_mxedge_ids' start_time: description: Upgrade start time in epoch seconds, default is now type: integer strategy: $ref: '#/components/schemas/mxedge_upgrade_strategy' versions: $ref: '#/components/schemas/mxedge_upgrade_version' required: - mxedge_ids type: object response_upgrade_org_devices: additionalProperties: false properties: enable_p2p: description: Whether to allow local AP-to-AP FW upgrade type: boolean force: description: Whether to force upgrade when requested version is same as running version type: boolean id: $ref: '#/components/schemas/id' strategy: $ref: '#/components/schemas/upgrade_device_strategy' target_version: description: Version to upgrade to examples: - 0.14.29411 type: string upgrades: $ref: '#/components/schemas/upgrade_org_devices_upgrade_infos' type: object upgrade_devices_plans: additionalProperties: $ref: '#/components/schemas/upgrade_devices_plan' description: If `strategy`!=`big_bang`, a dictionary of phase number to devices part of that phase type: object upgrade_site_devices_counts: additionalProperties: false properties: download_requested: description: Count of devices which cloud has requested to download firmware type: integer downloaded: description: Count of ap's which have the firmware downloaded type: integer failed: description: Count of devices which have failed to upgrade type: integer reboot_in_progress: description: Count of devices which are rebooting type: integer rebooted: description: Count of devices which have rebooted successfully type: integer scheduled: description: Count of devices which cloud has scheduled an upgrade for type: integer skipped: description: Count of devices which skipped upgrade since requested version was same as running version. Use force to always upgrade type: integer total: description: Count of devices part of this upgrade type: integer upgraded: description: Count of devices which have upgraded successfully type: integer readOnly: true type: object upgrade_device_models: description: Models which will be selected for upgrade items: type: string type: array ssr_version_channel: default: stable description: 'enum: `stable`, `beta`, `alpha`' enum: - alpha - beta - stable type: string 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 mxedge_upgrade_multi_allow_downgrades: additionalProperties: false description: Whether downgrade is allowed when running version is higher than expected version for each service properties: mxagent: default: false type: boolean mxdas: default: false type: boolean mxocproxy: default: false type: boolean radsecproxy: default: false type: boolean tunterm: default: false type: boolean type: object response_site_device_upgrade_canary_phases: default: - 1 - 10 - 50 - 100 description: phases for canary deployment. Each phase represents percentage of devices that need to be upgraded in that phase. items: type: integer type: array mxedge_upgrade_response_counts: additionalProperties: false properties: failed: type: integer queued: type: integer success: type: integer upgrading: type: integer required: - queued - upgrading - success - failed type: object upgrade_org_devices_download_strategy: default: big_bang description: "enum:\n * `big_bang`: download all at once, no orchestration\n * `serial`: one at a time'\n * `canary`: upgrade in phases" enum: - canary - big_bang - serial type: string 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 response_ssr_upgrade_counts: additionalProperties: false properties: failed: type: integer queued: type: integer success: type: integer upgrading: type: integer required: - queued - upgrading - success - failed 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 ssr_version: additionalProperties: false properties: default: readOnly: true type: boolean package: readOnly: true type: string tags: $ref: '#/components/schemas/strings' version: readOnly: true type: string required: - package - version type: object response_ssr_upgrades: items: $ref: '#/components/schemas/response_ssr_upgrade' type: array mxedge_upgrade_strategy: default: big_bang description: "enum:\n * `big_bang`: upgrade all at once, no orchestration\n * `serial`: one at a time'\n * `canary`: upgrade in phases" enum: - canary - big_bang - serial type: string upgrade_devices_max_failure_percentage: default: 5 description: If `strategy`!=`big_bang`. percentage of failures allowed across the entire upgrade maximum: 100 minimum: 0 type: integer upgrade_devices_targets_skipped: description: List of devices MAC Addresses which skipped upgrade since requested version was same as running version. Use force to always upgrade items: type: string type: array response_device_upgrade: additionalProperties: false properties: status: $ref: '#/components/schemas/upgrade_info_status' timestamp: $ref: '#/components/schemas/timestamp' required: - timestamp - status type: object response_upgrade_id: additionalProperties: false properties: upgrade_id: examples: - 4316c116-0acb-4c43-8f06-6723154e741e format: uuid type: string required: - upgrade_id type: object response_http429: additionalProperties: false properties: detail: examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold type: string type: object upgrade_org_devices_site_ids: description: Only devices belonging to these sites will be selected for upgrade. Will be ignored if `all_sites`==`true` items: format: uuid type: string type: array ssr_upgrade_channel: default: stable description: 'upgrade channel to follow. enum: `alpha`, `beta`, `stable`' enum: - alpha - beta - stable type: string upgrade_device_status: description: 'status upgrade is in. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `upgrading`, `queued`' enum: - cancelled - completed - created - downloaded - downloading - failed - queued - upgrading type: string upgrade_site_devices_device_ids: description: id's of devices which will be selected for upgrade items: format: uuid type: string type: array ssr_upgrade_strategy: default: big_bang description: "enum:\n * `big_bang`: upgrade all at once\n * `serial`: one at a time" enum: - big_bang - serial type: string upgrade_devices_max_failures: description: If `strategy`==`canary`. Number of failures allowed within each phase. Only applicable for `canary`. Array length should be same as `canary_phases`. Will be used if provided, else `max_failure_percentage` will be used items: type: integer type: array upgrade_device_rule: additionalProperties: type: string type: object id: description: Unique ID of the object instance in the Mist Organization examples: - 53f10664-3ce8-4c27-b382-0ef66432349f format: uuid readOnly: true type: string upgrade_org_devices_version_model_version: additionalProperties: type: string description: If `firmware_type`==`junos`, used to select different versions for different models (Overrides `version` for the specified models). Property key is the hadware model (e.g. `EX4400-24MP`), Property value is the firmware version (e.g. `23.4R1.9`) type: object upgrade_org_devices_version_firmware_type: description: 'enum: `ap`, `junos`' enum: - ap - junos type: string upgrade_devices_plan: description: List of Devices MAC Addresses part of the phase items: type: string type: array response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object upgrade_device_rrm_mesh_upgrade: default: sequential description: 'For APs only and if `strategy`==`rrm`. Whether to upgrade mesh AP’s parallelly or sequentially at the end of the upgrade. enum: `parallel`, `sequential`' enum: - parallel - sequential type: string mxedge_upgrade_channel: default: stable description: 'upgrade channel to follow. enum: `alpha`, `beta`, `stable`' enum: - alpha - beta - stable type: string site_id: examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 format: uuid readOnly: true type: string upgrade_devices_targets_failed: description: List of devices MAC Addresses which have failed to upgrade items: type: string type: array upgrade_org_devices_list: items: $ref: '#/components/schemas/upgrade_org_devices_item' type: array response_http404: additionalProperties: false properties: id: type: string type: object upgrade_devices_targets_upgraded: description: Count of devices which have upgraded successfully items: type: string type: array mxedge_upgrade_version: additionalProperties: false description: Version to upgrade for each service, `current` / `latest` / `default` / specific version (e.g. `2.5.100`).\nIgnored if distro upgrade, `tunterm`, `radsecproxy`, `mxagent`, `mxocproxy`, `mxdas` or `mxnacedge` properties: mxagent: default: current type: string mxdas: default: current type: string mxocproxy: default: current type: string radsecproxy: default: current type: string tunterm: default: current type: string required: - mxagent - tunterm type: object device_type_default_ap: default: ap description: 'enum: `ap`, `gateway`, `switch`' enum: - ap - gateway - switch type: string response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object upgrade_devices_targets_rebooted: description: List of devices MAC Addresses which have rebooted successfully items: type: string type: array response_mxedge_upgrades: items: $ref: '#/components/schemas/response_mxedge_upgrade' type: array 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: description: 128T firmware download start time in epoch seconds, default is now, -1 disables download type: integer strategy: $ref: '#/components/schemas/ssr_upgrade_strategy' version: description: 128T firmware version to upgrade (e.g. 5.3.0-93) minLength: 1 type: string required: - device_ids type: object response_ssr_upgrade_status: additionalProperties: false properties: channel: minLength: 1 type: string device_type: type: string id: $ref: '#/components/schemas/id' status: minLength: 1 type: string targets: $ref: '#/components/schemas/response_ssr_upgrade_status_targets' versions: additionalProperties: true type: object required: - status - versions - channel - id - targets type: object upgrade_org_devices_item_site_upgrade: additionalProperties: false properties: site_id: $ref: '#/components/schemas/site_id' upgrade_id: examples: - ebbdbd0b-1bcf-4e55-8a6a-3416049a52b1 format: uuid type: string type: object response_site_device_upgrades: items: $ref: '#/components/schemas/response_site_device_upgrades_item' type: array upgrade_org_devices_models: description: Only devices of these model types will be selected for upgrade items: $ref: '#/components/schemas/strings' type: array parameters: device_id: in: path name: device_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string org_id: in: path name: org_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string upgrade_id: in: path name: upgrade_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string site_id: in: path name: site_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string ssr_version_channel: description: SSR version channel in: query name: channel schema: $ref: '#/components/schemas/ssr_version_channel' device_mac: in: path name: device_mac required: true schema: examples: - 0000000000ab pattern: ^[0-9a-fA-F]{12}$ type: string examples: HTTP403Example: value: detail: You do not have permission to perform this action. SsrUpgradeStatusExample: value: channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} DeviceVersionExample: value: - model: AP41 tag: stable version: v0.1.543 - model: AP21 version: v0.1.545 UpgradeIdExample: value: upgrade_id: 4316c116-0acb-4c43-8f06-6723154e741e UpgradeDeviceExample: value: status: inprogress timestamp: 1428949501 SsrUpgradeExample: value: channel: stable counts: failed: 0 queued: 1 success: 0 upgrading: 1 device_type: gateway id: ceef2c8a-e2e6-447a-8b27-cb4f3ec1adae status: upgrading strategy: serial versions: {} SsrUpgradesArrayExample: value: - channel: stable counts: failed: 0 queued: 1 success: 0 upgrading: 1 device_type: gateway id: ceef2c8a-e2e6-447a-8b27-cb4f3ec1adae status: upgrading strategy: serial versions: {} UpgradeSiteDevicesListExample: value: - counts: download_requested: 0 downloaded: 0 failed: 0 reboot_in_progress: 0 rebooted: 0 skipped: 0 total: 0 enable_p2p: true force: true id: 472f6eca-6276-4993-bfeb-53cbbbba6f28 start_time: 0 status: created strategy: big_bang target_version: string SsrVersionsExample: value: - default: true package: SSR version: 5.3.1-17 HTTP429Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold OrgDeviceUpgradeExample: value: enable_p2p: true force: true id: 31223085-405d-4b64-8aea-9c5b98098b4b strategy: big_bang target_version: 0.14.29411 upgrades: - site_id: 1bbe6e79-2583-403c-be1a-9881b4691ab6 upgrade: id: 473f6eca-6276-4993-bfeb-53cbbbba6f18 start_time: 1717658765 status: upgrading targets: download_requested: - 5c5b3550bd2e downloaded: - 003e7316ff9e total: 4 upgraded: - 5c5b3550bd2e - 003e7316ff9e OrgDeviceUpgradeListExample: value: - id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 site_upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade_id: 174bda0-06a3-40ee-b918-d9cbde303690 HTTP400Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' SiteDeviceUpgradeExample: value: canary_phases: - 1 - 10 - 50 - 100 current_phase: 0 enable_p2p: true force: false id: b910de88-0e0e-43a0-b20e-a43aa8788917 max_failure_percentage: 5 max_failures: - 5 - 5 - 5 - 5 p2p_cluster_size: 10 p2p_parallelism: 2 reboot_at: 1738233315 start_time: 1738232698 status: created strategy: canary target_version: 0.14.29633 targets: downloaded: - 30783a619182 total: 2 upgraded: - a8378280da5e upgrade_plan: '1': - 30783a619182 '2': - a8378280da5e HTTP401Example: value: detail: Authentication credentials were not provided. responses: OrgDeviceUpgradeList: content: application/json: examples: Example: $ref: '#/components/examples/OrgDeviceUpgradeListExample' schema: $ref: '#/components/schemas/upgrade_org_devices_list' application/vnd.api+json: examples: Example: $ref: '#/components/examples/OrgDeviceUpgradeListExample' schema: $ref: '#/components/schemas/upgrade_org_devices_list' description: OK SsrUpgradeStatus: content: application/json: examples: Example: $ref: '#/components/examples/SsrUpgradeStatusExample' schema: $ref: '#/components/schemas/response_ssr_upgrade_status' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SsrUpgradeStatusExample' schema: $ref: '#/components/schemas/response_ssr_upgrade_status' description: OK HTTP403: content: application/json: examples: Example: $ref: '#/components/examples/HTTP403Example' schema: $ref: '#/components/schemas/response_http403' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP403Example' schema: $ref: '#/components/schemas/response_http403' description: Permission Denied UpgradeSiteDevicesList: content: application/json: examples: Example: $ref: '#/components/examples/UpgradeSiteDevicesListExample' schema: $ref: '#/components/schemas/response_site_device_upgrades' application/vnd.api+json: examples: Example: $ref: '#/components/examples/UpgradeSiteDevicesListExample' schema: $ref: '#/components/schemas/response_site_device_upgrades' description: Example response SsrVersions: content: application/json: examples: Example: $ref: '#/components/examples/SsrVersionsExample' schema: $ref: '#/components/schemas/ssr_versions' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SsrVersionsExample' schema: $ref: '#/components/schemas/ssr_versions' description: OK OK: description: OK HTTP401: content: application/json: examples: Example: $ref: '#/components/examples/HTTP401Example' schema: $ref: '#/components/schemas/response_http401' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP401Example' schema: $ref: '#/components/schemas/response_http401' description: Unauthorized SsrUpgradesArray: content: application/json: examples: Example: $ref: '#/components/examples/SsrUpgradesArrayExample' schema: $ref: '#/components/schemas/response_ssr_upgrades' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SsrUpgradesArrayExample' schema: $ref: '#/components/schemas/response_ssr_upgrades' description: Example response UpgradeId: content: application/json: examples: Example: $ref: '#/components/examples/UpgradeIdExample' schema: $ref: '#/components/schemas/response_upgrade_id' application/vnd.api+json: examples: Example: $ref: '#/components/examples/UpgradeIdExample' schema: $ref: '#/components/schemas/response_upgrade_id' description: OK MxEdgeUpgradesArray: content: application/json: schema: $ref: '#/components/schemas/response_mxedge_upgrades' application/vnd.api+json: schema: $ref: '#/components/schemas/response_mxedge_upgrades' description: Example response UpgradeDevice: content: application/json: examples: Example: $ref: '#/components/examples/UpgradeDeviceExample' schema: $ref: '#/components/schemas/response_device_upgrade' application/vnd.api+json: examples: Example: $ref: '#/components/examples/UpgradeDeviceExample' schema: $ref: '#/components/schemas/response_device_upgrade' description: OK MxEdgeUpgrade: content: application/json: schema: $ref: '#/components/schemas/response_mxedge_upgrade' application/vnd.api+json: schema: $ref: '#/components/schemas/response_mxedge_upgrade' description: Example response DeviceVersion: content: application/json: examples: Example: $ref: '#/components/examples/DeviceVersionExample' schema: $ref: '#/components/schemas/device_version' application/vnd.api+json: examples: Example: $ref: '#/components/examples/DeviceVersionExample' schema: $ref: '#/components/schemas/device_version' description: OK SiteDeviceUpgrade: content: application/json: examples: Example: $ref: '#/components/examples/SiteDeviceUpgradeExample' schema: $ref: '#/components/schemas/response_site_device_upgrade' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SiteDeviceUpgradeExample' schema: $ref: '#/components/schemas/response_site_device_upgrade' description: OK HTTP404: content: application/json: schema: $ref: '#/components/schemas/response_http404' application/vnd.api+json: schema: $ref: '#/components/schemas/response_http404' description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist HTTP429: content: application/json: examples: Example: $ref: '#/components/examples/HTTP429Example' schema: $ref: '#/components/schemas/response_http429' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP429Example' schema: $ref: '#/components/schemas/response_http429' description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold SsrUpgrade: content: application/json: examples: Example: $ref: '#/components/examples/SsrUpgradeExample' schema: $ref: '#/components/schemas/response_ssr_upgrade' application/vnd.api+json: examples: Example: $ref: '#/components/examples/SsrUpgradeExample' schema: $ref: '#/components/schemas/response_ssr_upgrade' description: Example response OrgDeviceUpgrade: content: application/json: examples: Example: $ref: '#/components/examples/OrgDeviceUpgradeExample' schema: $ref: '#/components/schemas/response_upgrade_org_devices' application/vnd.api+json: examples: Example: $ref: '#/components/examples/OrgDeviceUpgradeExample' schema: $ref: '#/components/schemas/response_upgrade_org_devices' description: OK HTTP400: content: application/json: examples: Example: $ref: '#/components/examples/HTTP400Example' schema: $ref: '#/components/schemas/response_http400' application/vnd.api+json: examples: Example: $ref: '#/components/examples/HTTP400Example' schema: $ref: '#/components/schemas/response_http400' description: Bad Syntax securitySchemes: apiToken: description: "Like many other API providers, it’s also possible to generate API Tokens to be used (in HTTP Header) for authentication. An API token ties to a Admin with equal or less privileges.\n\n**Format**:\n API Token value format is `Token {apitoken}`\n\n**Notes**:\n* an API token generated for a specific admin has the same privilege as the user\n* an API token will be automatically removed if not used for > 90 days\n* SSO admins cannot generate these API tokens. Refer Org level API tokens which can have privileges of a specific Org/Site for more information." in: header name: Authorization type: apiKey basicAuth: description: While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth. scheme: basic type: http csrfToken: description: "This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery), all the POST / PUT / DELETE APIs needs to have CSRF token in the AJAX Request header when using Login/Password authentication (with or without MFA)\n\n\nThe CSRF Token is sent back by Mist in the Cookies from the Login Response API Call:\n`cookies[csrftoken]` \n\nThe CSRF Token must be added in the HTTP Request Headers:\n```\nX-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx\n```" in: header name: X-CSRFToken type: apiKey