openapi: 3.2.0 info: title: Mist Utilities Upgrade API description: '> Version: **2607.1.1** > > Date: **August 17, 2026** NOTE: Some important API changes will be introduced.' contact: name: Thomas Munzer email: tmunzer@juniper.net version: 2607.1.1 servers: - url: https://api.mist.com variables: {} - url: https://api.gc1.mist.com variables: {} - url: https://api.ac2.mist.com variables: {} - url: https://api.gc2.mist.com variables: {} - url: https://api.gc4.mist.com variables: {} - url: https://api.eu.mist.com variables: {} - url: https://api.gc3.mist.com variables: {} - url: https://api.ac6.mist.com variables: {} - url: https://api.gc6.mist.com variables: {} - url: https://api.ac5.mist.com variables: {} - url: https://api.gc5.mist.com variables: {} - url: https://api.gc7.mist.com variables: {} security: - apiToken: [] - csrfToken: [] tags: - name: Utilities Upgrade description: API Calls used to manage device upgrades for a single device, at the site level or at the organization level. paths: /api/v1/orgs/{org_id}/devices/upgrade: parameters: [] get: tags: - Utilities Upgrade summary: listOrgDeviceUpgrades description: List organization-level device upgrade jobs, including the site-level upgrade jobs created under each organization upgrade. operationId: listOrgDeviceUpgrades parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/upgrade_org_devices_item' description: Organization device upgrade jobs returned by a list response examples: - - id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 site_upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade_id: 174bda0-06a3-40ee-b918-d9cbde303690 contentMediaType: application/json examples: Example: value: - id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 site_upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade_id: 174bda0-06a3-40ee-b918-d9cbde303690 application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/upgrade_org_devices_item' description: Organization device upgrade jobs returned by a list response examples: - - id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 site_upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade_id: 174bda0-06a3-40ee-b918-d9cbde303690 contentMediaType: application/vnd.api+json examples: Example: value: - id: 466f6eca-6276-4993-bfeb-53cbbbba6f88 site_upgrades: - site_id: 72771e6a-6f5e-4de4-a5b9-1266c4197811 upgrade_id: 174bda0-06a3-40ee-b918-d9cbde303690 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: upgradeOrgDevices 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 parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/upgrade_org_devices' required: false responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_org_devices' - description: Organization AP upgrade job details examples: - 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 contentMediaType: application/json examples: Example: 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 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_org_devices' - description: Organization AP upgrade job details examples: - 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 contentMediaType: application/vnd.api+json examples: Example: 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 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}: parameters: [] get: tags: - Utilities Upgrade summary: getOrgDeviceUpgrade description: Retrieve details for an organization-level device upgrade job, including per-site upgrade status and device targets. operationId: getOrgDeviceUpgrade parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_org_devices' - description: Organization AP upgrade job details examples: - 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 contentMediaType: application/json examples: Example: 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 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_org_devices' - description: Organization AP upgrade job details examples: - 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 contentMediaType: application/vnd.api+json examples: Example: 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 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/devices/upgrade/{upgrade_id}/cancel: parameters: [] post: tags: - Utilities Upgrade summary: cancelOrgDeviceUpgrade 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 parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/devices/versions: parameters: [] get: tags: - Utilities Upgrade summary: listOrgAvailableDeviceVersions description: List available firmware versions for organization devices, optionally filtered by device type and model. operationId: listOrgAvailableDeviceVersions parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: type in: query description: 'Filter results by type. enum: `ap`, `gateway`, `switch`' style: form explode: true schema: allOf: - $ref: '#/components/schemas/device_type_default_ap' - description: 'Filter results by type. enum: `ap`, `gateway`, `switch`' - name: model in: query description: Fetch version for device model, use/combine with `type` as needed (for switch and gateway devices). Accepts multiple comma-separated values. style: form explode: true schema: type: string examples: - AP27,AP27E - AP43 examples: Untitled Example1: value: AP27,AP27E Untitled Example2: value: AP43 responses: '200': description: OK headers: {} content: application/json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/device_version_item' description: Available firmware versions for device models examples: - - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 contentMediaType: application/json examples: Example: value: - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 application/vnd.api+json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/device_version_item' description: Available firmware versions for device models examples: - - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 contentMediaType: application/vnd.api+json examples: Example: value: - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/jsi/devices/{device_mac}/upgrade: parameters: [] post: tags: - Utilities Upgrade summary: upgradeOrgJsiDevice description: Start a software upgrade for a JSI-connected device identified by MAC address using the requested target version. operationId: upgradeOrgJsiDevice parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: device_mac in: path description: '' required: true schema: pattern: ^[0-9a-fA-F]{12}$ type: string examples: - 0000000000ab requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/version_string' - examples: - version: 3.1.5 contentMediaType: application/json examples: Example: value: version: 3.1.5 required: false responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/mxedges/upgrade: parameters: [] get: tags: - Utilities Upgrade summary: listOrgMxEdgeUpgrades description: List Mist Edge upgrade requests for the organization, including status, rollout strategy, target versions, and per-status target counts. operationId: listOrgMxEdgeUpgrades parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: Example response headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/response_mxedge_upgrade' description: Mist Edge upgrade records returned by list upgrade operations contentMediaType: application/json application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/response_mxedge_upgrade' description: Mist Edge upgrade records returned by list upgrade operations contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: upgradeOrgMxEdges 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 parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/mxedge_upgrade_multi' - description: Request Body examples: - '{"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"}}' - '{"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"}' contentMediaType: 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 required: false responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}: parameters: [] get: tags: - Utilities Upgrade summary: getOrgMxEdgeUpgrade description: Retrieve status, rollout strategy, target versions, and target counts for a specific Mist Edge upgrade request. operationId: getOrgMxEdgeUpgrade parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false put: tags: - Utilities Upgrade summary: updateOrgMxEdgeUpgrade 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 parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/mxedge_upgrade_multi' - description: Request Body contentMediaType: application/json required: false responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/mxedges/upgrade/{upgrade_id}/cancel: parameters: [] post: tags: - Utilities Upgrade summary: cancelOrgMxEdgeUpgrade description: Cancel a Mist Edge upgrade request on a best-effort basis. Mist Edges that have already been upgraded are not changed. operationId: cancelOrgMxEdgeUpgrade parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/ssr/upgrade: parameters: [] get: tags: - Utilities Upgrade summary: listOrgSsrUpgrades description: List SSR firmware upgrade jobs for the organization, including status, rollout strategy, target versions, release channel, and device counts. operationId: listOrgSsrUpgrades parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: Example response headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/response_ssr_upgrade' description: SSR firmware upgrade jobs returned by list operations examples: - - 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: {} contentMediaType: application/json examples: Example: 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: {} application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/response_ssr_upgrade' description: SSR firmware upgrade jobs returned by list operations examples: - - 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: {} contentMediaType: application/vnd.api+json examples: Example: 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: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: upgradeOrgSsrs 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 parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/ssr_upgrade_multi' - examples: - channel: stable device_ids: - 00000000-0000-0000-1000-5c5b3500001f - 00000000-0000-0000-1000-5c5b35000020 strategy: big_bang version: 5.3.0-93 contentMediaType: 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 required: false responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade' - description: SSR firmware upgrade job summary examples: - 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: {} contentMediaType: application/json examples: Example: 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: {} application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade' - description: SSR firmware upgrade job summary examples: - 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: {} contentMediaType: application/vnd.api+json examples: Example: 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: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/ssr/upgrade/{upgrade_id}/cancel: parameters: [] get: tags: - Utilities Upgrade summary: getOrgSsrUpgrade description: Return detailed status for an SSR firmware upgrade job, including target device IDs grouped by upgrade status. operationId: getOrgSsrUpgrade parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_status' - description: Detailed status for an SSR firmware upgrade job examples: - channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} contentMediaType: application/json examples: Example: 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: {} application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_status' - description: Detailed status for an SSR firmware upgrade job examples: - channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} contentMediaType: application/vnd.api+json examples: Example: 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: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: cancelOrgSsrUpgrade description: Cancel an SSR firmware upgrade job on a best-effort basis. Devices that have already upgraded are not changed. operationId: cancelOrgSsrUpgrade parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/orgs/{org_id}/ssr/versions: parameters: [] get: tags: - Utilities Upgrade summary: listOrgAvailableSsrVersions description: List SSR firmware versions available for upgrade, optionally filtered by release channel and one or more SSR MAC addresses. operationId: listOrgAvailableSsrVersions parameters: - name: org_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: channel in: query description: 'SSR release channel used to filter available versions. enum: `alpha`, `beta`, `stable`' style: form explode: true schema: allOf: - $ref: '#/components/schemas/ssr_version_channel' - description: 'SSR release channel used to filter available versions. enum: `alpha`, `beta`, `stable`' - name: mac in: query description: Optional. MAC address, or comma separated MAC address list. style: form explode: true schema: type: string responses: '200': description: OK headers: {} content: application/json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/ssr_version' description: SSR firmware versions available for upgrade examples: - - default: true package: SSR version: 5.3.1-17 contentMediaType: application/json examples: Example: value: - default: true package: SSR version: 5.3.1-17 application/vnd.api+json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/ssr_version' description: SSR firmware versions available for upgrade examples: - - default: true package: SSR version: 5.3.1-17 contentMediaType: application/vnd.api+json examples: Example: value: - default: true package: SSR version: 5.3.1-17 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/devices/upgrade: parameters: [] get: tags: - Utilities Upgrade summary: listSiteDeviceUpgrades description: List device upgrade operations for a site, optionally filtered by upgrade status. Use List Org Device Upgrades to retrieve device upgrade operations across the organization. operationId: listSiteDeviceUpgrades parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: status in: query description: 'Filter results by status. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`' style: form explode: true schema: allOf: - $ref: '#/components/schemas/upgrade_device_status' - description: 'Filter results by status. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`' responses: '200': description: Example response headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/response_site_device_upgrades_item' description: Site device upgrade jobs returned by list operations examples: - - 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 contentMediaType: application/json examples: Example: 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 application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/response_site_device_upgrades_item' description: Site device upgrade jobs returned by list operations examples: - - 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 contentMediaType: application/vnd.api+json examples: Example: 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 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: upgradeSiteDevices description: 'Upgrade Site Device **Note**: this call doesn’t guarantee the devices to be upgraded right away (they may be offline)' operationId: upgradeSiteDevices parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/upgrade_site_devices' - description: Request Body contentMediaType: application/json required: false responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_id' - description: Response containing an upgrade job identifier examples: - upgrade_id: 4316c116-0acb-4c43-8f06-6723154e741e contentMediaType: application/json examples: Example: value: upgrade_id: 4316c116-0acb-4c43-8f06-6723154e741e application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_upgrade_id' - description: Response containing an upgrade job identifier examples: - upgrade_id: 4316c116-0acb-4c43-8f06-6723154e741e contentMediaType: application/vnd.api+json examples: Example: value: upgrade_id: 4316c116-0acb-4c43-8f06-6723154e741e '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}: parameters: [] get: tags: - Utilities Upgrade summary: getSiteDeviceUpgrade description: Get Site Device Upgrade operationId: getSiteDeviceUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_site_device_upgrade' - description: Site device upgrade job details examples: - 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 contentMediaType: application/json examples: Example: 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 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_site_device_upgrade' - description: Site device upgrade job details examples: - 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 contentMediaType: application/vnd.api+json examples: Example: 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 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/devices/upgrade/{upgrade_id}/cancel: parameters: [] post: tags: - Utilities Upgrade summary: cancelSiteDeviceUpgrade description: Best effort to cancel an upgrade. Devices which are already upgraded wont be touched operationId: cancelSiteDeviceUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/devices/versions: parameters: [] get: tags: - Utilities Upgrade summary: listSiteAvailableDeviceVersions description: List firmware versions available for devices in a site, optionally filtered by device type and model. Use List Org Available Device Versions to retrieve available device versions across the organization. operationId: listSiteAvailableDeviceVersions parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: type in: query description: 'Filter results by type. enum: `ap`, `gateway`, `switch`' style: form explode: true schema: allOf: - $ref: '#/components/schemas/device_type_default_ap' - description: 'Filter results by type. enum: `ap`, `gateway`, `switch`' - name: model in: query description: Fetch version for device model, use/combine with `type` as needed (for switch and gateway devices) style: form explode: true schema: type: string responses: '200': description: OK headers: {} content: application/json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/device_version_item' description: Available firmware versions for device models examples: - - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 contentMediaType: application/json examples: Example: value: - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 application/vnd.api+json: schema: uniqueItems: true type: array items: $ref: '#/components/schemas/device_version_item' description: Available firmware versions for device models examples: - - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 contentMediaType: application/vnd.api+json examples: Example: value: - model: AP41 tag: suggested version: v0.1.543 - model: AP21 version: v0.1.545 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/devices/{device_id}/upgrade: parameters: [] post: tags: - Utilities Upgrade summary: upgradeDevice description: Device Upgrade operationId: upgradeDevice parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: device_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/device_upgrade' - examples: - version: 3.1.5 contentMediaType: application/json examples: Example: value: version: 3.1.5 required: false responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_device_upgrade' - description: Single-device upgrade status response examples: - status: inprogress timestamp: 1428949501 contentMediaType: application/json examples: Example: value: status: inprogress timestamp: 1428949501 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_device_upgrade' - description: Single-device upgrade status response examples: - status: inprogress timestamp: 1428949501 contentMediaType: application/vnd.api+json examples: Example: value: status: inprogress timestamp: 1428949501 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/mxedges/upgrade: parameters: [] get: tags: - Utilities Upgrade summary: listSiteMxEdgeUpgrades description: List Mist Edge upgrade operations for a site. Use List Org Mist Edge Upgrades to retrieve Mist Edge upgrade operations across the organization. operationId: listSiteMxEdgeUpgrades parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: Example response headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/response_mxedge_upgrade' description: Mist Edge upgrade records returned by list upgrade operations contentMediaType: application/json application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/response_mxedge_upgrade' description: Mist Edge upgrade records returned by list upgrade operations contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false post: tags: - Utilities Upgrade summary: upgradeSiteMxEdges description: 'Upgrade Mist Edges in a Site. See Org Mist Edges for package upgrades See Org Mist Edges Distro for distro upgrades' operationId: upgradeSiteMxEdges parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/mxedge_upgrade_multi' - description: Request Body examples: - '{"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"}}' - '{"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"}' contentMediaType: 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 required: false responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id}: parameters: [] get: tags: - Utilities Upgrade summary: getSiteMxEdgeUpgrade description: Get Mist Edge Upgrade operationId: getSiteMxEdgeUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false put: tags: - Utilities Upgrade summary: updateSiteMxEdgeUpgrade description: Update Mist Edge Upgrade. Only upgrades in `queued` state can be updated. operationId: updateSiteMxEdgeUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/mxedge_upgrade_multi' - description: Request Body contentMediaType: application/json required: false responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_mxedge_upgrade' - description: Mist Edge upgrade details response contentMediaType: application/vnd.api+json '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/mxedges/upgrade/{upgrade_id}/cancel: parameters: [] post: tags: - Utilities Upgrade summary: cancelSiteMxEdgeUpgrade description: Cancel Mist Edge Upgrade. Best effort to cancel an upgrade. MxEdges which are already upgraded won't be touched. operationId: cancelSiteMxEdgeUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/ssr/upgrade/{upgrade_id}: parameters: [] get: tags: - Utilities Upgrade summary: getSiteSsrUpgrade description: Get Specific Site SSR Upgrade operationId: getSiteSsrUpgrade parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: upgrade_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_status' - description: Detailed status for an SSR firmware upgrade job examples: - channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} contentMediaType: application/json examples: Example: 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: {} application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_status' - description: Detailed status for an SSR firmware upgrade job examples: - channel: stable device_type: gateway id: 5cbcee0a-c620-4bb4-a25e-15000934e9d8 status: upgrading targets: failed: [] queued: [] success: [] upgrading: - 8e525f1d-4178-4ae1-a988-2b0176855e55 versions: {} contentMediaType: application/vnd.api+json examples: Example: 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: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false /api/v1/sites/{site_id}/ssr/{device_id}/upgrade: parameters: [] post: tags: - Utilities Upgrade summary: upgradeSsr description: Upgrade Site SSR device operationId: upgradeSsr parameters: - name: site_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: device_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/ssr_upgrade' - examples: - channel: stable version: 5.3.1-170-93 contentMediaType: application/json examples: Example: value: channel: stable version: 5.3.1-170-93 required: false responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade' - description: SSR firmware upgrade job summary examples: - 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: {} contentMediaType: application/json examples: Example: 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: {} application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_ssr_upgrade' - description: SSR firmware upgrade job summary examples: - 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: {} contentMediaType: application/vnd.api+json examples: Example: 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: {} '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false components: schemas: response_http403: title: response_http403 type: object properties: detail: type: string description: Human-readable explanation of the permission error examples: - You do not have permission to perform this action. description: Standard HTTP 403 permission error response upgrade_org_devices_download_strategy2: title: upgrade_org_devices_download_strategy2 enum: - canary - big_bang - serial type: string description: 'Firmware download orchestration strategy for the organization upgrade. enum: `canary`, `big_bang`, `serial`.' response_http400: title: response_http400 type: object properties: detail: type: string description: Human-readable explanation of the bad request error examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' description: Standard HTTP 400 bad request error response upgrade_device_strategy4: title: upgrade_device_strategy4 enum: - big_bang - canary - rrm - serial type: string description: 'Device reboot orchestration strategy for selected devices. enum: `big_bang`, `canary`, `rrm`, `serial`.' upgrade_device_strategy1: title: upgrade_device_strategy1 enum: - big_bang - canary - rrm - serial type: string description: 'Device upgrade strategy used by this job. enum: `big_bang`, `canary`, `rrm`, `serial`.' upgrade_devices_targets3: title: upgrade_devices_targets3 type: object properties: download_requested: type: array items: type: string description: Device MAC addresses for devices requested to download firmware downloaded: type: array items: type: string description: Device MAC addresses for devices that have downloaded firmware downloading: type: array items: type: string description: Device MAC addresses for devices currently downloading firmware failed: type: array items: type: string description: Device MAC addresses for devices that failed to upgrade reboot_in_progress: type: array items: type: string description: Device MAC addresses for devices currently rebooting rebooted: type: array items: type: string description: Device MAC addresses for devices that rebooted successfully scheduled: type: array items: type: string description: Device MAC addresses for devices scheduled for upgrade by the cloud skipped: type: array items: type: string description: Device MAC addresses for devices skipped because the requested version matched the running version total: type: integer description: Count of devices part of this upgrade contentEncoding: int32 upgraded: type: array items: type: string description: Device MAC addresses for devices that upgraded successfully description: Device targets grouped by upgrade and download status upgrade_device_rrm_node_order1: title: upgrade_device_rrm_node_order1 enum: - center_to_fringe - fringe_to_center type: string description: 'For APs only and if `strategy`==`rrm`. AP ordering direction for RRM upgrade batches. enum: `center_to_fringe`, `fringe_to_center`.' response_mxedge_upgrade: title: response_mxedge_upgrade required: - channel - counts - id - status - strategy - versions type: object properties: channel: minLength: 1 type: string description: Upgrade channel used to select Mist Edge package versions counts: allOf: - $ref: '#/components/schemas/mxedge_upgrade_response_counts1' - description: Per-status counts of Mist Edge targets in this upgrade id: type: string description: Upgrade identifier for this Mist Edge upgrade request contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f status: minLength: 1 type: string description: Current status of the Mist Edge upgrade strategy: minLength: 1 type: string description: Rollout strategy used for the Mist Edge upgrade versions: type: object description: Per-service target versions for this Mist Edge upgrade description: Mist Edge upgrade details response upgrade_org_devices_version: title: upgrade_org_devices_version type: object properties: firmware_type: allOf: - $ref: '#/components/schemas/upgrade_org_devices_version_firmware_type2' - description: 'Firmware family this version entry applies to. enum: `ap`, `junos`, `ssr`.' force: type: boolean description: Set to `true` to force upgrade. For `device_type`==`ap`, applies when target version <= running version. For `device_type`==`gateway` with `firmware_type`==`ssr`, applies only when target version == running version; default false default: false model_version: type: object additionalProperties: type: string description: Map of device model to firmware version; overrides `version` for the specified models version: type: string description: Firmware version to deploy for this entry description: Target firmware version entry for an organization upgrade request response_http401: title: response_http401 type: object properties: detail: type: string description: Human-readable explanation of the authentication error examples: - Authentication credentials were not provided. description: Standard HTTP 401 authentication error response ssr_upgrade: title: ssr_upgrade required: - version type: object properties: channel: allOf: - $ref: '#/components/schemas/ssr_upgrade_channel1' - description: 'Firmware release channel to use for the SSR upgrade. enum: `alpha`, `beta`, `stable`.' force: type: boolean description: When true, forces the upgrade even when the requested version matches the currently running version; default is false default: false reboot_at: type: integer description: Reboot start time in epoch seconds, default is start_time, -1 disables reboot contentEncoding: int32 start_time: type: integer description: 128T firmware download start time in epoch seconds, default is now, -1 disables download contentEncoding: int32 version: minLength: 1 type: string description: 128T firmware version to upgrade (e.g. 5.3.0-93) description: Request to upgrade a single SSR device response_ssr_upgrade_status_targets: title: response_ssr_upgrade_status_targets required: - failed - queued - success - upgrading type: object properties: failed: uniqueItems: true type: array items: type: string description: SSR device IDs that failed the upgrade queued: uniqueItems: true type: array items: type: string description: SSR device IDs queued for upgrade success: uniqueItems: true type: array items: type: string description: SSR device IDs successfully upgraded upgrading: uniqueItems: true type: array items: type: string description: SSR device IDs currently upgrading description: SSR device IDs grouped by upgrade status mxedge_upgrade_strategy2: title: mxedge_upgrade_strategy2 enum: - canary - big_bang - serial type: string description: 'Upgrade rollout strategy for the selected Mist Edges. enum: `canary`, `big_bang`, `serial`.' upgrade_device_rrm_mesh_upgrade2: title: upgrade_device_rrm_mesh_upgrade2 enum: - parallel - sequential type: string description: 'For APs only and if `strategy`==`rrm`. Mesh AP upgrade order for the site upgrade. enum: `parallel`, `sequential`.' response_upgrade_id: title: response_upgrade_id required: - upgrade_id type: object properties: upgrade_id: type: string description: Unique value identifying the queued upgrade job contentEncoding: uuid examples: - 4316c116-0acb-4c43-8f06-6723154e741e description: Response containing an upgrade job identifier response_site_device_upgrades_item: title: response_site_device_upgrades_item required: - id type: object properties: counts: allOf: - $ref: '#/components/schemas/upgrade_site_devices_counts2' - description: Device counts grouped by upgrade status for this job readOnly: true current_phase: type: integer description: Current canary or rrm phase in progress contentEncoding: int32 enable_p2p: type: boolean description: Whether to allow local AP-to-AP FW upgrade force: type: boolean description: Whether to force upgrade when requested version is same as running version id: type: string description: Unique identifier for the site device upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f max_failure_percentage: type: integer description: Percentage of failures allowed contentEncoding: int32 max_failures: type: array items: type: integer contentEncoding: int32 description: Per-phase failure thresholds configured for a canary upgrade reboot_at: type: integer description: reboot start time in epoch contentEncoding: int32 start_time: type: integer description: Firmware download start time in epoch contentEncoding: int32 status: allOf: - $ref: '#/components/schemas/upgrade_device_status1' - description: 'Current status of the site device upgrade job. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`.' strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy1' - description: 'Device upgrade strategy used by this job. enum: `big_bang`, `canary`, `rrm`, `serial`.' target_version: minLength: 1 type: string description: Version to upgrade to upgrade_plan: type: object description: a dictionary of rrm phase number to devices part of that phase description: Site device upgrade job summary upgrade_info_status2: title: upgrade_info_status2 enum: - error - inprogress - scheduled - starting - success type: string description: 'Current status of the requested device upgrade. enum: `error`, `inprogress`, `scheduled`, `starting`, `success`.' upgrade_org_devices: title: upgrade_org_devices type: object properties: all_sites: type: boolean description: If `true`, will upgrade all sites in this org; overrides `site_ids` default: false canary_phases: type: array items: type: integer contentEncoding: int32 description: Only if `strategy`==`canary`. Canary phase percentages for the organization upgrade default: - 1 - 10 - 50 - 100 device_type: allOf: - $ref: '#/components/schemas/device_type5' - description: 'Device family selected for the organization upgrade. enum: `ap`, `gateway`, `switch`.' download_strategy: allOf: - $ref: '#/components/schemas/upgrade_org_devices_download_strategy2' - description: 'Firmware download orchestration strategy for the organization upgrade. enum: `canary`, `big_bang`, `serial`.' enable_p2p: type: boolean description: For APs only. Whether to allow local AP-to-AP firmware upgrade max_failure_percentage: maximum: 100 minimum: 0 type: integer description: If `strategy`!=`big_bang`. Allowed failure percentage across the organization upgrade contentEncoding: int32 default: 5 max_failures: type: array items: type: integer contentEncoding: int32 description: If `strategy`==`canary`. Per-phase failure limits for the organization upgrade models: type: array items: type: array items: type: string description: Device models selected for the organization upgrade p2p_cluster_size: minimum: 0 type: integer description: For APs only. Size to split devices for peer-to-peer download batches; default 10 contentEncoding: int32 default: 10 examples: - 10 p2p_parallelism: type: integer description: For APs only. Number of parallel peer-to-peer download batches to create. If not set, automatically determined based on device count (<=50 uses 1, 51-100 uses 3, >100 uses 10) contentEncoding: int32 reboot_at: type: integer description: Reboot start time in epoch seconds, default is `start_time`; deprecated, use `reboot_datetime` instead contentEncoding: int32 examples: - 1624399840 deprecated: true reboot_datetime: type: string description: Reboot start time in ISO 8601 format; default is `start_datetime`. Exclude timezone component to use site local timezone examples: - 2024-06-13 15:00:00-07:00 reboot_strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy4' - description: 'Device reboot orchestration strategy for selected devices. enum: `big_bang`, `canary`, `rrm`, `serial`.' rrm_first_batch_percentage: type: integer description: For APs only and if `strategy`==`rrm`. Percentage of APs that need to be present in the first RRM batch contentEncoding: int32 examples: - 2 rrm_max_batch_percentage: type: integer description: For APs only and if `strategy`==`rrm`. Max percentage of APs that need to be present in each RRM batch contentEncoding: int32 examples: - 10 rrm_mesh_upgrade: allOf: - $ref: '#/components/schemas/upgrade_device_rrm_mesh_upgrade1' - description: 'For APs only and if `strategy`==`rrm`. Mesh AP upgrade order for the organization upgrade. enum: `parallel`, `sequential`.' rrm_node_order: allOf: - $ref: '#/components/schemas/upgrade_device_rrm_node_order1' - description: 'For APs only and if `strategy`==`rrm`. AP ordering direction for RRM upgrade batches. enum: `center_to_fringe`, `fringe_to_center`.' rrm_slow_ramp: type: boolean description: For APs only and if `strategy`==`rrm`. True will make rrm batch sizes slowly ramp up rules: type: array items: type: object additionalProperties: type: string description: Selection rules used to choose devices for this organization upgrade examples: - - match_model: AP43 match_name[2:8]: access - match_model: AP45 description: Selection rules used to choose devices for this organization upgrade examples: - - match_model: AP43 match_name[2:8]: access - match_model: AP45 site_ids: type: array items: type: string contentEncoding: uuid description: Identifiers of sites used to limit the organization upgrade snapshot: type: boolean description: For Junos devices only. Perform recovery snapshot after device is rebooted default: false start_datetime: type: string description: Firmware download start time in ISO 8601 format; default is now. Exclude timezone component to use site local timezone examples: - 2024-06-13 15:00:00-07:00 start_time: type: integer description: Firmware download start time in epoch seconds, default is now; deprecated, use `start_datetime` instead contentEncoding: int32 examples: - 1624399840 deprecated: true strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy_deprecated' - description: Deprecated; use `download_strategy` and `reboot_strategy` instead. `big_bang` (upgrade all at once, no orchestration), `serial` (one at a time), `canary`, or `rrm` (AP only); default is big_bang deprecated: true version: type: string description: Deprecated; use `versions` instead. Specific firmware version, `suggested`, or `alpha`; default is latest deprecated: true versions: type: array items: $ref: '#/components/schemas/upgrade_org_devices_version' description: Target firmware versions for this organization upgrade description: Organization-wide device upgrade request upgrade_org_devices_upgrade_info2: title: upgrade_org_devices_upgrade_info2 type: object properties: id: type: string description: Unique value identifying the site-level upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f start_time: type: integer description: Epoch timestamp, in seconds, when the site-level upgrade starts contentEncoding: int32 examples: - 1717658765 status: allOf: - $ref: '#/components/schemas/upgrade_device_status2' - description: 'Current status of the site-level upgrade job. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`.' targets: allOf: - $ref: '#/components/schemas/upgrade_devices_targets1' - description: Device targets grouped by upgrade state readOnly: true description: Site-level job details for this upgrade entry response_device_upgrade: title: response_device_upgrade required: - status - timestamp type: object properties: status: allOf: - $ref: '#/components/schemas/upgrade_info_status2' - description: 'Current status of the requested device upgrade. enum: `error`, `inprogress`, `scheduled`, `starting`, `success`.' timestamp: type: number description: Epoch timestamp when the device upgrade status was reported readOnly: true description: Single-device upgrade status response ssr_upgrade_channel1: title: ssr_upgrade_channel1 enum: - alpha - beta - stable type: string description: 'Firmware release channel to use for the SSR upgrade. enum: `alpha`, `beta`, `stable`.' response_ssr_upgrade: title: response_ssr_upgrade required: - channel - counts - device_type - id - status - strategy - versions type: object properties: channel: minLength: 1 type: string description: Firmware release channel used for the SSR upgrade counts: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_counts' - description: Device counts grouped by SSR upgrade status device_type: type: string description: Type of devices targeted by the SSR upgrade force: type: boolean description: Whether the upgrade was forced even when the requested version matched the running version default: false id: type: string description: Unique identifier for the SSR upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f status: minLength: 1 type: string description: Current status of the SSR upgrade job strategy: minLength: 1 type: string description: Upgrade strategy used by the SSR upgrade job versions: type: object additionalProperties: type: string description: SSR firmware versions included in the upgrade job description: SSR firmware upgrade job summary response_upgrade_org_devices: title: response_upgrade_org_devices type: object properties: enable_p2p: type: boolean description: Whether to allow local AP-to-AP FW upgrade force: type: boolean description: Whether to force upgrade when requested version is same as running version id: type: string description: Unique value identifying the organization upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy2' - description: 'Execution strategy used for the organization upgrade job. enum: `big_bang`, `canary`, `rrm`, `serial`.' target_version: type: string description: Firmware version targeted by the organization AP upgrade examples: - 0.14.29411 upgrades: type: array items: $ref: '#/components/schemas/upgrade_org_devices_upgrade' description: Per-site upgrade jobs created for the organization upgrade description: Organization AP upgrade job details device_version_item: title: device_version_item required: - model - version type: object properties: model: type: string description: Device model (as seen in the device stats) tag: type: string description: Annotation, suggested / alpha. Or it can be empty or nothing which is likely a dev build version: type: string description: Available firmware version for this device model description: Available firmware version for a specific device model and release tag device_type_default_ap: title: device_type_default_ap enum: - ap - gateway - switch type: string description: 'enum: `ap`, `gateway`, `switch`' ssr_version_channel: title: ssr_version_channel enum: - alpha - beta - stable type: string description: 'enum: `stable`, `beta`, `alpha`' ssr_upgrade_strategy2: title: ssr_upgrade_strategy2 enum: - big_bang - serial type: string description: 'Upgrade rollout strategy for the targeted SSR devices. enum: `big_bang`, `serial`.' mxedge_upgrade_multi: title: mxedge_upgrade_multi required: - mxedge_ids type: object properties: allow_downgrades: allOf: - $ref: '#/components/schemas/mxedge_upgrade_multi_allow_downgrades2' - description: Per-service downgrade permission settings for this upgrade canary_phases: type: array items: type: integer contentEncoding: int32 description: Canary phase percentages for phased Mist Edge upgrades default: - 1 - 10 - 50 - 100 channel: allOf: - $ref: '#/components/schemas/mxedge_upgrade_channel1' - description: 'Upgrade channel to use for qualified versions. enum: `alpha`, `beta`, `stable`.' distro: type: string description: Linux distribution codename for an optional distro upgrade, such as bullseye or `next` to upgrade to the next distro version. Uses highest qualified versions max_failure_percentage: type: integer description: Failure threshold before we stop the upgrade and mark it as failed contentEncoding: int32 default: 5 mxedge_ids: type: array items: type: string contentEncoding: uuid description: Mist Edge IDs included in the upgrade request start_time: type: integer description: Upgrade start time in epoch seconds, default is now contentEncoding: int32 strategy: allOf: - $ref: '#/components/schemas/mxedge_upgrade_strategy2' - description: 'Upgrade rollout strategy for the selected Mist Edges. enum: `canary`, `big_bang`, `serial`.' versions: allOf: - $ref: '#/components/schemas/mxedge_upgrade_version2' - description: Per-service target versions for the upgrade request description: Request to schedule upgrades for one or more Mist Edges upgrade_org_devices_item: title: upgrade_org_devices_item type: object properties: id: type: string description: Unique identifier for the organization upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f site_upgrades: type: array items: $ref: '#/components/schemas/upgrade_org_devices_item_site_upgrade' description: Per-site upgrade jobs created by this organization upgrade description: Organization device upgrade job returned by upgrade APIs upgrade_devices_targets1: title: upgrade_devices_targets1 type: object properties: download_requested: type: array items: type: string description: Device MAC addresses for devices requested to download firmware downloaded: type: array items: type: string description: Device MAC addresses for devices that have downloaded firmware downloading: type: array items: type: string description: Device MAC addresses for devices currently downloading firmware failed: type: array items: type: string description: Device MAC addresses for devices that failed to upgrade reboot_in_progress: type: array items: type: string description: Device MAC addresses for devices currently rebooting rebooted: type: array items: type: string description: Device MAC addresses for devices that rebooted successfully scheduled: type: array items: type: string description: Device MAC addresses for devices scheduled for upgrade by the cloud skipped: type: array items: type: string description: Device MAC addresses for devices skipped because the requested version matched the running version total: type: integer description: Count of devices part of this upgrade contentEncoding: int32 upgraded: type: array items: type: string description: Device MAC addresses for devices that upgraded successfully description: Device targets grouped by upgrade state upgrade_device_status2: title: upgrade_device_status2 enum: - cancelled - completed - created - downloaded - downloading - failed - queued - upgrading type: string description: 'Current status of the site-level upgrade job. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`.' upgrade_device_strategy_deprecated: title: upgrade_device_strategy_deprecated enum: - big_bang - canary - rrm - serial type: string description: Deprecated; use `download_strategy` and `reboot_strategy` instead. `big_bang` (upgrade all at once, no orchestration), `serial` (one at a time), `canary`, or `rrm` (AP only); default is big_bang deprecated: true upgrade_device_status: title: upgrade_device_status enum: - cancelled - completed - created - downloaded - downloading - failed - queued - upgrading type: string description: 'status upgrade is in. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `upgrading`, `queued`' upgrade_site_devices: title: upgrade_site_devices type: object properties: canary_phases: type: array items: type: integer contentEncoding: int32 description: Only if `strategy`==`canary`. Canary phase percentages for the site upgrade default: - 1 - 10 - 50 - 100 device_ids: type: array items: type: string contentEncoding: uuid description: Specific device IDs selected for the site upgrade enable_p2p: type: boolean description: For APs only. Whether to allow local AP-to-AP FW upgrade force: type: boolean description: '`force`==`true` will force upgrade when requested version is same as running version' default: false max_failure_percentage: maximum: 100 minimum: 0 type: integer description: If `strategy`!=`big_bang`. Allowed failure percentage across the site upgrade contentEncoding: int32 default: 5 max_failures: type: array items: type: integer contentEncoding: int32 description: If `strategy`==`canary`. Per-phase failure limits for the site upgrade models: type: array items: type: string description: Device models selected for the site upgrade p2p_cluster_size: minimum: 0 type: integer description: For APs only and if `enable_p2p`==`true`. Size to split devices for peer-to-peer download batches; default 10 contentEncoding: int32 default: 10 examples: - 10 p2p_parallelism: type: integer description: For APs only and if `enable_p2p`==`true`. Number of parallel peer-to-peer download batches to create. If not set, automatically determined based on device count (<=50 uses 1, 51-100 uses 3, >100 uses 10) contentEncoding: int32 reboot: type: boolean description: For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed default: false reboot_at: type: integer description: For Switches and Gateways only and if `reboot`==`true`. Reboot start time in epoch seconds, default is `start_time` contentEncoding: int32 examples: - 1624399840 rrm_first_batch_percentage: type: integer description: For APs only and if `strategy`==`rrm`. Percentage of APs that need to be present in the first RRM batch contentEncoding: int32 examples: - 2 rrm_max_batch_percentage: type: integer description: For APs only and if `strategy`==`rrm`. Max percentage of APs that need to be present in each RRM batch contentEncoding: int32 examples: - 10 rrm_mesh_upgrade: allOf: - $ref: '#/components/schemas/upgrade_device_rrm_mesh_upgrade2' - description: 'For APs only and if `strategy`==`rrm`. Mesh AP upgrade order for the site upgrade. enum: `parallel`, `sequential`.' rrm_node_order: allOf: - $ref: '#/components/schemas/upgrade_device_rrm_node_order1' - description: 'For APs only and if `strategy`==`rrm`. AP ordering direction for RRM upgrade batches. enum: `center_to_fringe`, `fringe_to_center`.' rrm_slow_ramp: type: boolean description: For APs only and if `strategy`==`rrm`. True will make rrm batch sizes slowly ramp up rules: type: array items: type: object additionalProperties: type: string description: Selection rules used to choose devices for this site upgrade examples: - - match_model: AP43 match_name[2:8]: access - match_model: AP45 description: Selection rules used to choose devices for this site upgrade examples: - - match_model: AP43 match_name[2:8]: access - match_model: AP45 snapshot: type: boolean description: For Junos devices only. Perform recovery snapshot after device is rebooted default: false start_time: type: integer description: Upgrade start time in epoch seconds, default is now contentEncoding: int32 examples: - 1624399840 strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy5' - description: 'Upgrade orchestration strategy for selected devices. enum: `big_bang`, `canary`, `rrm`, `serial`.' version: type: string description: Specific version / stable, default is to use the latest available version examples: - 3.1.5 description: Site device upgrade request version_string: title: version_string type: object properties: version: type: string description: Target software version for the JSI device upgrade description: JSI device upgrade target version request response_ssr_upgrade_counts: title: response_ssr_upgrade_counts required: - failed - queued - success - upgrading type: object properties: failed: type: integer description: Number of SSR devices that failed the upgrade contentEncoding: int32 queued: type: integer description: Number of SSR devices queued for upgrade contentEncoding: int32 success: type: integer description: Number of SSR devices successfully upgraded contentEncoding: int32 upgrading: type: integer description: Number of SSR devices currently upgrading contentEncoding: int32 description: Device counts grouped by SSR upgrade status upgrade_device_strategy5: title: upgrade_device_strategy5 enum: - big_bang - canary - rrm - serial type: string description: 'Upgrade orchestration strategy for selected devices. enum: `big_bang`, `canary`, `rrm`, `serial`.' mxedge_upgrade_channel1: title: mxedge_upgrade_channel1 enum: - alpha - beta - stable type: string description: 'Upgrade channel to use for qualified versions. enum: `alpha`, `beta`, `stable`.' upgrade_device_strategy2: title: upgrade_device_strategy2 enum: - big_bang - canary - rrm - serial type: string description: 'Execution strategy used for the organization upgrade job. enum: `big_bang`, `canary`, `rrm`, `serial`.' device_type5: title: device_type5 enum: - ap - gateway - switch type: string description: 'Device family selected for the organization upgrade. enum: `ap`, `gateway`, `switch`.' upgrade_org_devices_version_firmware_type2: title: upgrade_org_devices_version_firmware_type2 enum: - ap - junos - ssr type: string description: 'Firmware family this version entry applies to. enum: `ap`, `junos`, `ssr`.' upgrade_site_devices_counts2: title: upgrade_site_devices_counts2 type: object properties: download_requested: type: integer description: Count of devices which cloud has requested to download firmware contentEncoding: int32 downloaded: type: integer description: Count of ap's which have the firmware downloaded contentEncoding: int32 failed: type: integer description: Count of devices which have failed to upgrade contentEncoding: int32 reboot_in_progress: type: integer description: Count of devices which are rebooting contentEncoding: int32 rebooted: type: integer description: Count of devices which have rebooted successfully contentEncoding: int32 scheduled: type: integer description: Count of devices which cloud has scheduled an upgrade for contentEncoding: int32 skipped: type: integer description: Count of devices which skipped upgrade since requested version was same as running version. Use force to always upgrade contentEncoding: int32 total: type: integer description: Count of devices part of this upgrade contentEncoding: int32 upgraded: type: integer description: Count of devices which have upgraded successfully contentEncoding: int32 description: Device counts grouped by upgrade status for this job response_site_device_upgrade: title: response_site_device_upgrade required: - id type: object properties: canary_phases: type: array items: type: integer contentEncoding: int32 description: Canary deployment phase percentages configured for the upgrade default: - 1 - 10 - 50 - 100 current_phase: type: integer description: Current canary or rrm phase in progress contentEncoding: int32 enable_p2p: type: boolean description: Whether to allow local AP-to-AP FW upgrade default: false force: type: boolean description: Whether to force upgrade when requested version is same as running version id: type: string description: Unique identifier for the site device upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f max_failure_percentage: type: integer description: Percentage of failures allowed contentEncoding: int32 max_failures: type: array items: type: integer contentEncoding: int32 description: Per-phase failure thresholds configured for a canary upgrade p2p_cluster_size: type: integer description: size to split the devices for p2p contentEncoding: int32 default: 10 p2p_parallelism: type: integer description: number of parallel p2p download batches to create contentEncoding: int32 default: 1 reboot_at: type: integer description: reboot start time in epoch contentEncoding: int32 start_time: type: integer description: Firmware download start time in epoch contentEncoding: int32 status: allOf: - $ref: '#/components/schemas/upgrade_device_status1' - description: 'Current status of the site device upgrade job. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`.' strategy: allOf: - $ref: '#/components/schemas/upgrade_device_strategy1' - description: 'Device upgrade strategy used by this job. enum: `big_bang`, `canary`, `rrm`, `serial`.' target_version: minLength: 1 type: string description: Version to upgrade to targets: allOf: - $ref: '#/components/schemas/upgrade_devices_targets3' - description: Device targets grouped by upgrade and download status readOnly: true upgrade_plan: type: object additionalProperties: type: array items: type: string description: Phase-to-device upgrade plan for non-big-bang strategies description: Phase-to-device upgrade plan for non-big-bang strategies description: Site device upgrade job details ssr_version: title: ssr_version required: - package - version type: object properties: default: type: boolean description: Whether this is the default SSR firmware version for its channel readOnly: true package: type: string description: Firmware package name for this SSR version readOnly: true tags: uniqueItems: true type: array items: type: string description: Metadata labels associated with this SSR firmware version version: type: string description: Firmware version string available for SSR upgrades readOnly: true description: SSR firmware version available for upgrade upgrade_org_devices_upgrade: title: upgrade_org_devices_upgrade type: object properties: site_id: type: string description: Identifier of the site for this upgrade entry contentEncoding: uuid readOnly: true examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 upgrade: allOf: - $ref: '#/components/schemas/upgrade_org_devices_upgrade_info2' - description: Site-level job details for this upgrade entry description: Upgrade entry for a single site within an organization upgrade job ssr_upgrade_multi: title: ssr_upgrade_multi required: - device_ids type: object properties: channel: allOf: - $ref: '#/components/schemas/ssr_upgrade_channel1' - description: 'Firmware release channel to use for the SSR upgrade. enum: `alpha`, `beta`, `stable`.' device_ids: type: array items: type: string contentEncoding: uuid description: List of 128T device IDs to upgrade; currently only one 128T device is allowed force: type: boolean description: When true, forces the upgrade even when the requested version matches the currently running version; default is false default: false reboot_at: type: integer description: Reboot start time in epoch seconds, default is start_time, -1 disables reboot contentEncoding: int32 start_time: type: integer description: 128T firmware download start time in epoch seconds, default is now, -1 disables download contentEncoding: int32 strategy: allOf: - $ref: '#/components/schemas/ssr_upgrade_strategy2' - description: 'Upgrade rollout strategy for the targeted SSR devices. enum: `big_bang`, `serial`.' version: minLength: 1 type: string description: 128T firmware version to upgrade (e.g. 5.3.0-93) description: Request to upgrade multiple SSR devices upgrade_device_status1: title: upgrade_device_status1 enum: - cancelled - completed - created - downloaded - downloading - failed - queued - upgrading type: string description: 'Current status of the site device upgrade job. enum: `cancelled`, `completed`, `created`, `downloaded`, `downloading`, `failed`, `queued`, `upgrading`.' response_http404: title: response_http404 type: object properties: id: type: string description: Missing resource identifier, when the API includes one description: Standard HTTP 404 not found error response mxedge_upgrade_multi_allow_downgrades2: title: mxedge_upgrade_multi_allow_downgrades2 type: object properties: mxagent: type: boolean description: Whether downgrades are allowed for the mxagent service default: false mxdas: type: boolean description: Whether downgrades are allowed for the mxdas service default: false mxocproxy: type: boolean description: Whether downgrades are allowed for the mxocproxy service default: false radsecproxy: type: boolean description: Whether downgrades are allowed for the radsecproxy service default: false tunterm: type: boolean description: Whether downgrades are allowed for the tunterm service default: false description: Per-service downgrade permission settings for this upgrade response_ssr_upgrade_status: title: response_ssr_upgrade_status required: - channel - id - status - targets - versions type: object properties: channel: minLength: 1 type: string description: Firmware release channel used for the SSR upgrade device_type: type: string description: Type of devices targeted by the SSR upgrade force: type: boolean description: Whether the upgrade was forced even when the requested version matched the running version default: false id: type: string description: Unique identifier for the SSR upgrade job contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f status: minLength: 1 type: string description: Current status of the SSR upgrade job strategy: minLength: 1 type: string description: Upgrade strategy used by the SSR upgrade job targets: allOf: - $ref: '#/components/schemas/response_ssr_upgrade_status_targets' - description: SSR device IDs grouped by upgrade status versions: type: object description: SSR firmware versions included in the upgrade job description: Detailed status for an SSR firmware upgrade job mxedge_upgrade_version2: title: mxedge_upgrade_version2 required: - mxagent - tunterm type: object properties: mxagent: type: string description: Target version for the mxagent service mxdas: type: string description: Target version for the mxdas service default: current mxocproxy: type: string description: Target version for the mxocproxy service default: current radsecproxy: type: string description: Target version for the radsecproxy service default: current tunterm: type: string description: Target version for the tunterm service description: Per-service target versions for the upgrade request response_http429: title: response_http429 type: object properties: detail: type: string description: Human-readable explanation of the rate limit error examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold description: Standard HTTP 429 rate limit error response upgrade_org_devices_item_site_upgrade: title: upgrade_org_devices_item_site_upgrade type: object properties: site_id: type: string description: Identifier of the site that received this upgrade job contentEncoding: uuid readOnly: true examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 upgrade_id: type: string description: Identifier of the site-level upgrade job contentEncoding: uuid examples: - ebbdbd0b-1bcf-4e55-8a6a-3416049a52b1 description: Site upgrade mapping returned for an organization upgrade mxedge_upgrade_response_counts1: title: mxedge_upgrade_response_counts1 required: - failed - queued - success - upgrading type: object properties: failed: type: integer description: Number of Mist Edge upgrades that failed contentEncoding: int32 queued: type: integer description: Number of Mist Edge upgrades waiting to run contentEncoding: int32 success: type: integer description: Number of Mist Edge upgrades completed successfully contentEncoding: int32 upgrading: type: integer description: Number of Mist Edge upgrades currently in progress contentEncoding: int32 description: Per-status counts of Mist Edge targets in this upgrade device_upgrade: title: device_upgrade required: - version type: object properties: reboot: type: boolean description: For Switches and Gateways only (APs are automatically rebooted). Reboot device immediately after upgrade is completed default: false reboot_at: type: integer description: For Switches and Gateways only and if `reboot`==`true`. Reboot start time in epoch seconds, default is `start_time` contentEncoding: int32 snapshot: type: boolean description: For Junos devices only. Perform recovery snapshot after device is rebooted default: false start_time: type: integer description: Firmware download start time in epoch contentEncoding: int32 version: type: string description: Specific version / `stable`, default is to use the latest description: Device firmware upgrade request options upgrade_device_rrm_mesh_upgrade1: title: upgrade_device_rrm_mesh_upgrade1 enum: - parallel - sequential type: string description: 'For APs only and if `strategy`==`rrm`. Mesh AP upgrade order for the organization upgrade. enum: `parallel`, `sequential`.' securitySchemes: apiToken: type: apiKey description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed." name: Authorization in: header csrfToken: type: apiKey description: 'Session-based authentication for browser or login/password flows. After a successful [Login]($e/Admins%20Login/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session. **Format**: ``` X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx ``` For automation, API Token authentication is preferred.' name: X-CSRFToken in: header