openapi: 3.2.0 info: title: Mist Sites Devices - Wired - Virtual Chassis 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: Sites Devices - Wired - Virtual Chassis description: API Calls specific to the Juniper Switches Virtual Chassis managed by Mist paths: /api/v1/sites/{site_id}/devices/{device_id}/set_vc_port_mode: parameters: [] post: tags: - Sites Devices - Wired - Virtual Chassis summary: changeSiteSwitchVcPortMode description: 'Change VCP port mode Some switch model allows changing VCP port behaviors, e.g. - use them as regular network ports - change vcp protocol Note, this command will reboot the switch' operationId: changeSiteSwitchVcPortMode 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: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/vc_port' - description: Request Body examples: - mode: network contentMediaType: application/json examples: Example: value: mode: network 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}/devices/{device_id}/vc: parameters: [] delete: tags: - Sites Devices - Wired - Virtual Chassis summary: deleteSiteVirtualChassis description: 'When all the member switches of VC are removed and only member ID 0 is left, the cloud would detect this situation and automatically changes the single switch to non-VC role. For some unexpected cases that the VC is gone and disconnected, the API below could be used to change the state of VC’s switches to be standalone. After it is executed, all the switches will be shown as standalone switches under Inventory.' operationId: deleteSiteVirtualChassis 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 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 get: tags: - Sites Devices - Wired - Virtual Chassis summary: getSiteDeviceVirtualChassis description: 'Get VC Status The API returns a combined view of the VC status which includes topology and stats_' operationId: getSiteDeviceVirtualChassis 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 responses: '200': description: Example response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_virtual_chassis_config' - description: Combined virtual chassis status, topology, and member statistics examples: - config_type: nonprovisioned id: 00000000-0000-0000-1000-52d9107af289 mac: 52d9107af289 members: - boot_partition: junos cpld_version: '6' cpu_stat: idle: 69 interrupt: 1 load_avg: - 0.8 - 1.09 - 1.07 system: 11 user: 19 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 0 mac: 52d9107af289 memory_stat: usage: 42 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 40.4 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW0000000000 temperatures: - celsius: 33 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-1/1/0 port_id: vcp-0/1/0 vc_mode: HiGiG vc_role: master vc_state: present version: 21.4R3-S4.18 - boot_partition: junos cpld_version: '6' cpu_stat: idle: 76 interrupt: 0 load_avg: - 0.96 - 0.87 - 0.76 system: 6 user: 17 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 1 mac: d0dd4991652d memory_stat: usage: 18 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 21.2 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW3619300922 temperatures: - celsius: 32 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 0 neighbor_port_id: vcp-0/1/0 port_id: vcp-1/1/0 vc_mode: HiGiG vc_role: backup vc_state: present version: 21.4R3-S4.18 model: EX2300-48P num_routing_engines: 1 org_id: 1e9a61a9-bc42-42ca-bf67-1ad87443d9b8 serial: JW3619300157 site_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b status: connected type: switch vc_mac: 52d9107af289 contentMediaType: application/json examples: Example: value: config_type: nonprovisioned id: 00000000-0000-0000-1000-52d9107af289 mac: 52d9107af289 members: - boot_partition: junos cpld_version: '6' cpu_stat: idle: 69 interrupt: 1 load_avg: - 0.8 - 1.09 - 1.07 system: 11 user: 19 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 0 mac: 52d9107af289 memory_stat: usage: 42 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 40.4 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW0000000000 temperatures: - celsius: 33 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-1/1/0 port_id: vcp-0/1/0 vc_mode: HiGiG vc_role: master vc_state: present version: 21.4R3-S4.18 - boot_partition: junos cpld_version: '6' cpu_stat: idle: 76 interrupt: 0 load_avg: - 0.96 - 0.87 - 0.76 system: 6 user: 17 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 1 mac: d0dd4991652d memory_stat: usage: 18 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 21.2 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW3619300922 temperatures: - celsius: 32 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 0 neighbor_port_id: vcp-0/1/0 port_id: vcp-1/1/0 vc_mode: HiGiG vc_role: backup vc_state: present version: 21.4R3-S4.18 model: EX2300-48P num_routing_engines: 1 org_id: 1e9a61a9-bc42-42ca-bf67-1ad87443d9b8 serial: JW3619300157 site_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b status: connected type: switch vc_mac: 52d9107af289 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_virtual_chassis_config' - description: Combined virtual chassis status, topology, and member statistics examples: - config_type: nonprovisioned id: 00000000-0000-0000-1000-52d9107af289 mac: 52d9107af289 members: - boot_partition: junos cpld_version: '6' cpu_stat: idle: 69 interrupt: 1 load_avg: - 0.8 - 1.09 - 1.07 system: 11 user: 19 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 0 mac: 52d9107af289 memory_stat: usage: 42 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 40.4 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW0000000000 temperatures: - celsius: 33 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-1/1/0 port_id: vcp-0/1/0 vc_mode: HiGiG vc_role: master vc_state: present version: 21.4R3-S4.18 - boot_partition: junos cpld_version: '6' cpu_stat: idle: 76 interrupt: 0 load_avg: - 0.96 - 0.87 - 0.76 system: 6 user: 17 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 1 mac: d0dd4991652d memory_stat: usage: 18 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 21.2 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW3619300922 temperatures: - celsius: 32 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 0 neighbor_port_id: vcp-0/1/0 port_id: vcp-1/1/0 vc_mode: HiGiG vc_role: backup vc_state: present version: 21.4R3-S4.18 model: EX2300-48P num_routing_engines: 1 org_id: 1e9a61a9-bc42-42ca-bf67-1ad87443d9b8 serial: JW3619300157 site_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b status: connected type: switch vc_mac: 52d9107af289 contentMediaType: application/vnd.api+json examples: Example: value: config_type: nonprovisioned id: 00000000-0000-0000-1000-52d9107af289 mac: 52d9107af289 members: - boot_partition: junos cpld_version: '6' cpu_stat: idle: 69 interrupt: 1 load_avg: - 0.8 - 1.09 - 1.07 system: 11 user: 19 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 0 mac: 52d9107af289 memory_stat: usage: 42 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 40.4 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW0000000000 temperatures: - celsius: 33 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 1 neighbor_port_id: vcp-1/1/0 port_id: vcp-0/1/0 vc_mode: HiGiG vc_role: master vc_state: present version: 21.4R3-S4.18 - boot_partition: junos cpld_version: '6' cpu_stat: idle: 76 interrupt: 0 load_avg: - 0.96 - 0.87 - 0.76 system: 6 user: 17 fans: - airflow: out name: Fan Tray 0 Fan 0 rpm: 0 status: ok - airflow: out name: Fan Tray 1 Fan 0 rpm: 0 status: ok fpc_idx: 1 mac: d0dd4991652d memory_stat: usage: 18 model: EX2300-48P pics: - index: 0 model_number: EX2300-48P port_groups: - count: 48 type: GE - index: 1 model_number: EX2300-48P port_groups: - count: 4 type: SFP/SFP+ poe: max_power: 750 power_draw: 21.2 status: AT_MODE poe_version: 2.1.1.19.3 (type1) psus: - name: Power Supply 0 status: ok recovery_version: 21.4R3-S4.18 serial: JW3619300922 temperatures: - celsius: 32 name: CPU Sensor status: ok - celsius: 29 name: PSU Sensor status: ok type: fpc uboot_version: U-Boot 2016.01-rc1 (Nov 11 2016 - 14:26:00 -0800) 1.3.2 uptime: 27636720 vc_links: - neighbor_module_idx: 0 neighbor_port_id: vcp-0/1/0 port_id: vcp-1/1/0 vc_mode: HiGiG vc_role: backup vc_state: present version: 21.4R3-S4.18 model: EX2300-48P num_routing_engines: 1 org_id: 1e9a61a9-bc42-42ca-bf67-1ad87443d9b8 serial: JW3619300157 site_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b status: connected type: switch vc_mac: 52d9107af289 '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: - Sites Devices - Wired - Virtual Chassis summary: createSiteVirtualChassis description: 'For models (e.g. EX3400 and up) having dedicated VC ports, it is easier to form a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new VC and update the inventory. In case that the user would like to choose the dedicated switch as a VC master or for EX2300-C-12P and EX2300-C-12T which doesn''t have dedicated VC ports, below are procedures to automate the VC creation: 1. Power on the switch that is chosen as the VC master first, and then powering on the other member switches. 2. Claim or adopt all these switches under the same organization''s Inventory 3. Assign these switches into the same Site 4. Wait for all the switches to be connected to Mist 5. Invoke vc command on the switch chosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically. 6. Connect the cables to the VC ports for these switches 7. Wait for the VC to be formed. The Org''s inventory will be updated for the new VC.' operationId: createSiteVirtualChassis 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: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/virtual_chassis_config' - description: Request Body examples: - '{"members":[{"mac":"aff827549235","vc_ports":["xe-0/1/0"],"vc_role":"master"},{"mac":"8396cd006c8c","vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"backup"},{"mac":"8396cd00888c","vc_ports":["xe-0/1/0"],"vc_role":"linecard"}]}' - '{"members":[{"mac":"aff827549235","member_id":0,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"master"},{"mac":"8396cd006c8c","member_id":1,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"linecard"},{"mac":"8396cd00888c","member_id":2,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"backup"}],"preprovisioned":true}' contentMediaType: application/json examples: create-a-VC-with-three-members: value: members: - mac: aff827549235 vc_ports: - xe-0/1/0 vc_role: master - mac: 8396cd006c8c vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: backup - mac: 8396cd00888c vc_ports: - xe-0/1/0 vc_role: linecard create-a-pre-provisioned-VC-with-three-members: value: members: - mac: aff827549235 member_id: 0 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: master - mac: 8396cd006c8c member_id: 1 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: linecard - mac: 8396cd00888c member_id: 2 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: backup preprovisioned: true 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 put: tags: - Sites Devices - Wired - Virtual Chassis summary: updateSiteVirtualChassisMember description: 'The VC creation and adding member switch API will update the device'' s virtual chassis config which is applied after VC is formed to create JUNOS pre-provisioned virtual chassis configuration. **Note:** Update Device''s VC config can achieve similar purpose by directly modifying current virtual_chassis config. However, it cannot fulfill requests to enabling vc_ports on new members that are yet to belong to current VC. ## Change to use preprovisioned VC To switch the VC to use preprovisioned VC, enable preprovisioned in virtual_chassis config. Both vc_role master and backup will be matched to routing-engine role in Junos preprovisioned VC config. In this config, fpc0 has to be the same as the mac of device_id. Use renumber if you want to replace fpc0 which involves device_id change. **Notice:** to configure preprovisioned VC, every member of the VC must be in the inventory. ## Add new members For models (e.g. EX4300 and up) having dedicated VC ports, it is easier to add new member switches into a VC by just connecting cables with the dedicated VC ports. Cloud will detect the new members and update the inventory. For EX2300 VC, adding new members requires to follow the procedures below: 1. Powering on the new member switches and ensuring cables are not connected to any VC ports. 2. Claim or adopt all new member switches under the VC''s organization Inventory 3. Assign all new member switches to the same Site as the VC 4. Invoke vc command to add switches to the VC. 5. Connect the cables to the VC ports for these switches 6. After a while, the Org''s Inventory shows that new switches has been added into the VC. ## Removing member switch To remove a member switch from the VC, following the procedures below: 1. Ensuring the VC is connected to the cloud first 2. Unplug the cable from the VC port of the switch 3. Waiting for the VC state (vc_state) of this switch is changed to not-present 4. Invoke update_vc with remove to remove this switch from the VC 5. The Org''s Inventory shows the switch is removed. Please notice that member ID 0 (fpc0) cannot be removed. When a VC has two switches left, unplugging the cable may result in the situation that fpc0 becomes a line card (LC). When this situation is happening, please re-plug in the cable, wait for both switches becoming present (show virtual-chassis) and then removing the cable again. ## Renumber a member switch When a member switch doesn'' t work properly and needed to be replaced, the renumber API could be used. The following two types of renumber are supported: 1. Replace a non-fpc0 member switch 2. Replace fpc0. When fpc0 is replaced, PAPI device config and JUNOS config will be both updated. For renumber to work, the following procedures are needed: 1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. 2. Adding the new member switch to the VC 3. Waiting for the VC state (vc_state) of this VC to be updated to API server 4. Invoke vc with renumber to replace\ the new member switch from fpc X to ## Perprovision VC members By specifying "preprovision" op, you can convert the current VC to pre-provisioned mode, update VC members as well as specify vc_ports when adding new members for device models without dedicated vc ports. Use renumber for fpc0 replacement which involves device_id change. Note: 1. vc_ports is used for adding new members and not needed if * the device model has dedicated vc ports, or * no new member is added 2. New VC members to be added should exist in the same Site as the VC' operationId: updateSiteVirtualChassisMember 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: Request Body content: application/json: schema: allOf: - $ref: '#/components/schemas/virtual_chassis_update' - description: Request Body examples: - '{"members":[{"mac":"aff827549235","member_id":2,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"linecard"},{"mac":"8396cd00777c","member_id":3,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"linecard"}],"op":"add"}' - '{"members":[{"mac":"aff827549235","member_id":0,"vc_ports":["xe-0/1/0","xe-0/1/1"]},{"mac":"8396cd00777c","member_id":1,"vc_ports":["xe-0/1/0","xe-0/1/1"],"vc_role":"backup"}],"op":"preprovision"}' - '{"members":[{"mac":"aff827549235","member_id":0,"vc_role":"master"},{"mac":"8396cd006c8c","member_id":1,"vc_role":"linecard"}],"op":"preprovision","remove_inventory":true}' - '{"members":[{"member":2},{"member":3}],"op":"remove"}' - '{"member":3,"new-member":2,"op":"renumber"}' contentMediaType: application/json examples: adding-two-new-switches-as-line-cards-into-the-VC: value: members: - mac: aff827549235 member_id: 2 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: linecard - mac: 8396cd00777c member_id: 3 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: linecard op: add convert-to-pre-provisioned-VC: value: members: - mac: aff827549235 member_id: 0 vc_ports: - xe-0/1/0 - xe-0/1/1 - mac: 8396cd00777c member_id: 1 vc_ports: - xe-0/1/0 - xe-0/1/1 vc_role: backup op: preprovision remove-preprovision-members-and-clean-up-inventory: value: members: - mac: aff827549235 member_id: 0 vc_role: master - mac: 8396cd006c8c member_id: 1 vc_role: linecard op: preprovision remove_inventory: true removing-two-switches-from-VC: value: members: - member: 2 - member: 3 op: remove renumber-member-ID-3-to-member-ID-2: value: member: 3 new-member: 2 op: renumber 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}/devices/{device_id}/vc/convert_to_virtualmac: parameters: [] post: tags: - Sites Devices - Wired - Virtual Chassis summary: convertSiteVirtualChassisToVirtualMac description: 'Converts an FPC0-based VC to a Virtualmac VC, removing the limitation where the device ID must change whenever FPC0 is renumbered or removed. HTTP400 Error possible reasons: - The device is not an OC device - Virtualmac VC is disabled in the Org Knob settings - The VC is already a Virtualmac VC - The VC is currently disconnected - The device is standalone - A new FPC0 exists with its own device config, causing ambiguity.' operationId: convertSiteVirtualChassisToVirtualMac 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 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/{device_id}/vc/vc_port: parameters: [] post: tags: - Sites Devices - Wired - Virtual Chassis summary: setSiteVcPort description: Set VC port operationId: setSiteVcPort 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/virtual_chassis_port' - examples: - '{"members":[{"member":0,"vc_ports":["xe-0/1/1"]},{"member":2,"vc_ports":["xe-0/1/1"]}],"op":"delete"}' - '{"members":[{"member":0,"vc_ports":["xe-0/1/1"]},{"member":2,"vc_ports":["xe-0/1/1"]}],"op":"set"}' contentMediaType: application/json examples: delete-VC-port-of-xe-0/1/1-of-member-0-and-member-2: value: members: - member: 0 vc_ports: - xe-0/1/1 - member: 2 vc_ports: - xe-0/1/1 op: delete set-VC-port-of-xe-0/1/1-of-member-0-and-member-2: value: members: - member: 0 vc_ports: - xe-0/1/1 - member: 2 vc_ports: - xe-0/1/1 op: set 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 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 vc_port_mode2: title: vc_port_mode2 enum: - network - vcp-higig - vcp-hgoe type: string description: 'Virtual Chassis port mode to apply. enum: `network`, `vcp-higig`, `vcp-hgoe`.' 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 virtual_chassis_config_member_vc_role2: title: virtual_chassis_config_member_vc_role2 enum: - backup - linecard - master type: string description: 'Role of this member in the Virtual Chassis. enum: `backup`, `linecard`, `master`.' virtual_chassis_member_update_vc_role2: title: virtual_chassis_member_update_vc_role2 enum: - backup - linecard - master type: string description: 'Required if `op`==`add` or `op`==`preprovision`; role of the member in the Virtual Chassis. enum: `backup`, `linecard`, `master`.' module_stat_item_psus_item: title: module_stat_item_psus_item type: object properties: name: type: string description: Power supply label reported by the device examples: - Power Supply 0 status: type: string description: Operational status reported for the power supply examples: - ok description: Power supply status for a device module module_stat_item_pics_item: title: module_stat_item_pics_item type: object properties: index: type: integer description: PIC index within the device module contentEncoding: int32 model_number: type: string description: Model number reported for the PIC port_groups: type: array items: $ref: '#/components/schemas/module_stat_item_pics_item_port_groups_item' description: Port groups provided by this PIC description: Physical Interface Card summary for a device module 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 response_virtual_chassis_config: title: response_virtual_chassis_config type: object properties: config_type: type: string description: Provisioning mode of the virtual chassis configuration readOnly: true id: type: string description: Unique value identifying the virtual chassis device record contentEncoding: uuid readOnly: true examples: - 53f10664-3ce8-4c27-b382-0ef66432349f locating: type: boolean description: Whether locate mode is active for the virtual chassis device readOnly: true mac: type: string description: Device MAC address for the virtual chassis device record members: minItems: 1 uniqueItems: true type: array items: $ref: '#/components/schemas/stats_switch_module_stat_item' description: Virtual chassis member module statistics and topology details model: type: string description: Switch model for the virtual chassis device record readOnly: true num_routing_engines: type: integer description: Number of routing engines in the virtual chassis contentEncoding: int32 examples: - 1 org_id: type: string description: Organization identifier for the virtual chassis device contentEncoding: uuid readOnly: true examples: - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61 serial: type: string description: Device serial number reported for the virtual chassis readOnly: true site_id: type: string description: Identifier of the site containing the virtual chassis contentEncoding: uuid readOnly: true examples: - 441a1214-6928-442a-8e92-e1d34b8ec6a6 status: type: string description: Connection status of the virtual chassis device readOnly: true type: type: string description: Device type for the virtual chassis record vc_mac: type: string description: Virtual Chassis MAC address used to identify the VC device readOnly: true description: Combined virtual chassis status, topology, and member statistics vc_port: title: vc_port type: object properties: mode: allOf: - $ref: '#/components/schemas/vc_port_mode2' - description: 'Virtual Chassis port mode to apply. enum: `network`, `vcp-higig`, `vcp-hgoe`.' description: Request to change the Virtual Chassis port mode on a switch cpu_stat1: title: cpu_stat1 type: object properties: idle: type: - number - 'null' description: Percentage of CPU time that is idle readOnly: true interrupt: type: - number - 'null' description: Percentage of CPU time being used by interrupts readOnly: true load_avg: type: array items: type: number description: Load averages for the last 1, 5, and 15 minutes system: type: - number - 'null' description: Percentage of CPU time being used by system processes readOnly: true usage: type: - number - 'null' description: Overall CPU usage percentage readOnly: true user: type: - number - 'null' description: Percentage of CPU time being used by user processes readOnly: true description: Processor utilization statistics for the switch module module_stat_item_poe1: title: module_stat_item_poe1 type: object properties: max_power: type: number description: Total PoE power budget available to the module, in watts examples: - 250 power_draw: type: number description: Current PoE power draw on the module, in watts examples: - 120.3 status: type: string description: Operational status of PoE on the module description: Power over Ethernet telemetry for the switch module config_vc_port_member: title: config_vc_port_member required: - member type: object properties: member: type: number description: Virtual Chassis member ID whose VC ports are being configured vc_ports: uniqueItems: true type: array items: type: string description: Port names to configure as Virtual Chassis ports on the member description: Virtual Chassis member and port list for a VC port operation stats_switch_module_stat_item: title: stats_switch_module_stat_item type: object properties: backup_version: type: - string - 'null' description: Backup software version stored on the switch module readOnly: true bios_version: type: - string - 'null' description: BIOS firmware version reported for the switch module readOnly: true boot_partition: type: string description: Active boot partition used by the switch module cpld_version: type: - string - 'null' description: CPLD firmware version reported for the switch module readOnly: true cpu_stat: allOf: - $ref: '#/components/schemas/cpu_stat1' - description: Processor utilization statistics for the switch module errors: type: array items: $ref: '#/components/schemas/module_stat_item_errors_items' description: Hardware error records reported for the switch module fans: uniqueItems: true type: array items: $ref: '#/components/schemas/module_stat_item_fans_items' description: Cooling fan status records for the switch module fpc_idx: type: integer description: FPC index identifying this switch module contentEncoding: int32 readOnly: true fpga_version: type: - string - 'null' description: FPGA firmware version reported for the switch module readOnly: true last_seen: type: - number - 'null' description: Time when Mist last observed this switch module, in epoch seconds readOnly: true examples: - 1470417522 locating: type: boolean description: Whether the switch module locator indicator is active mac: type: string description: Switch module MAC address reported by Mist examples: - fc3342123456 memory_stat: allOf: - $ref: '#/components/schemas/memory_stat1' - description: Utilization statistics for switch module memory model: type: - string - 'null' description: Switch module model name reported by Mist readOnly: true examples: - EX4300-48P optics_cpld_version: type: - string - 'null' description: Optics CPLD firmware version reported for the switch module readOnly: true pending_version: type: - string - 'null' description: Pending software version staged for the switch module readOnly: true pics: type: array items: $ref: '#/components/schemas/module_stat_item_pics_item' description: Physical Interface Card status records for the switch module poe: allOf: - $ref: '#/components/schemas/module_stat_item_poe1' - description: Power over Ethernet telemetry for the switch module poe_version: type: - string - 'null' description: PoE controller firmware version reported for the switch module readOnly: true power_cpld_version: type: - string - 'null' description: Power CPLD firmware version reported for the switch module readOnly: true psus: uniqueItems: true type: array items: $ref: '#/components/schemas/module_stat_item_psus_item' description: Power supply status records for the switch module re_fpga_version: type: - string - 'null' description: Routing Engine FPGA firmware version reported for the switch module readOnly: true recovery_version: type: - string - 'null' description: Recovery software version stored on the switch module readOnly: true serial: type: - string - 'null' description: Switch module serial number reported by Mist readOnly: true examples: - PX8716230021 status: type: - string - 'null' description: Connection status reported for the switch module readOnly: true temperatures: uniqueItems: true type: array items: $ref: '#/components/schemas/module_stat_item_temperatures_item' description: Temperature sensor readings for the switch module tmc_fpga_version: type: - string - 'null' description: TMC FPGA firmware version reported for the switch module readOnly: true type: type: - string - 'null' description: Module type reported for the switch module readOnly: true uboot_version: type: - string - 'null' description: U-Boot firmware version reported for the switch module readOnly: true uptime: type: - integer - 'null' description: Elapsed time since the switch module last booted, in seconds contentEncoding: int32 readOnly: true vc_links: uniqueItems: true type: array items: $ref: '#/components/schemas/module_stat_item_vc_links_item' description: Virtual chassis link records for the switch module vc_mode: type: - string - 'null' description: Virtual chassis mode reported for the switch module readOnly: true vc_role: type: - string - 'null' description: 'enum: `master`, `backup`, `linecard`' readOnly: true examples: - master vc_state: type: - string - 'null' description: Virtual chassis state reported for the switch module readOnly: true version: type: - string - 'null' description: Software version running on the switch module readOnly: true description: Hardware module status and firmware inventory for a switch module_stat_item_temperatures_item: title: module_stat_item_temperatures_item type: object properties: celsius: type: number description: Temperature reading for the sensor, in degrees Celsius examples: - 45 name: type: string description: Temperature sensor label reported by the device examples: - CPU status: type: string description: Operational status reported for the temperature sensor examples: - ok description: Temperature sensor reading for a device module module_stat_item_vc_links_item: title: module_stat_item_vc_links_item type: object properties: neighbor_module_idx: type: integer description: Index of the neighboring module connected through this virtual chassis link contentEncoding: int32 examples: - 1 neighbor_port_id: type: string description: Port identifier on the neighboring module for this virtual chassis link examples: - vcp-255/1/0 port_id: type: string description: Local port identifier for this virtual chassis link examples: - vcp-255/1/0 description: Virtual chassis link endpoint for a device module virtual_chassis_member_update: title: virtual_chassis_member_update type: object properties: mac: type: string description: Required if `op`==`add` or `op`==`preprovision`; MAC address of the member to add or preprovision member: type: integer description: Required if `op`==`remove`; member ID to remove from the Virtual Chassis contentEncoding: int32 member_id: type: integer description: Required if `op`==`preprovision`. Optional if `op`==`add`; target member ID for the Virtual Chassis member contentEncoding: int32 vc_ports: type: array items: type: string description: Required if `op`==`add` or `op`==`preprovision`; port names to use as Virtual Chassis ports vc_role: allOf: - $ref: '#/components/schemas/virtual_chassis_member_update_vc_role2' - description: 'Required if `op`==`add` or `op`==`preprovision`; role of the member in the Virtual Chassis. enum: `backup`, `linecard`, `master`.' description: Member update for a Virtual Chassis add, remove, or preprovision operation module_stat_item_pics_item_port_groups_item: title: module_stat_item_pics_item_port_groups_item type: object properties: count: type: integer description: Number of ports in this PIC port group contentEncoding: int32 type: type: string description: Port media or interface type for this PIC port group description: Port group summary for a PIC memory_stat1: title: memory_stat1 required: - usage type: object properties: usage: type: number description: Current memory utilization percentage for the device or master Routing Engine description: Utilization statistics for switch module memory virtual_chassis_update: title: virtual_chassis_update type: object properties: member: type: integer description: Only if `op`==`renumber`; existing member ID to renumber contentEncoding: int32 members: type: array items: $ref: '#/components/schemas/virtual_chassis_member_update' description: Member updates for add, remove, or preprovision operations new-member: type: integer description: Only if `op`==`renumber`; new member ID to assign contentEncoding: int32 op: allOf: - $ref: '#/components/schemas/virtual_chassis_update_op2' - description: 'Action to perform on the Virtual Chassis. enum: `add`, `preprovision`, `remove`, `renumber`.' remove_inventory: type: boolean description: Only if `op`==`preprovision`. When removing members from a pre-provisioned VC, set to `true` to delete the inventory records for removed members (e.g. for RMA). Members being removed must be in "not-present" state. default: false description: Virtual Chassis member update request module_stat_item_fans_items: title: module_stat_item_fans_items type: object properties: airflow: type: string description: Direction of airflow reported for the fan examples: - out name: type: string description: Fan label reported by the device examples: - Fan 0 rpm: type: integer description: Current fan speed in revolutions per minute contentEncoding: int32 status: type: string description: Operational status reported for the fan examples: - ok description: Cooling fan telemetry for a device module module_stat_item_errors_items: title: module_stat_item_errors_items required: - since - type type: object properties: feature: type: string description: Affected feature associated with this module error condition examples: - Mist-Management minimum_version: type: string description: Minimum software version associated with this module error examples: - 128T-6.0.0-1 reason: type: string description: Human-readable reason for the module error condition since: type: integer description: Epoch timestamp when the module error condition began contentEncoding: int32 examples: - 1657497600 type: type: string description: Module error type code reported by the device examples: - FW_UPGRADE_REQUIRED_BY_FEATURE description: Error condition reported for a device module virtual_chassis_config: title: virtual_chassis_config type: object properties: locating: type: boolean description: Whether the Virtual Chassis is currently in locate mode readOnly: true members: type: array items: $ref: '#/components/schemas/virtual_chassis_config_member' description: Virtual Chassis members and their expected roles and VC ports preprovisioned: type: boolean description: Whether to create the Virtual Chassis in pre-provisioned mode default: false description: Virtual Chassis creation or configuration request 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 virtual_chassis_config_member: title: virtual_chassis_config_member required: - mac - vc_role type: object properties: locating: type: boolean description: Whether this Virtual Chassis member is currently in locate mode readOnly: true mac: type: string description: Member MAC address; for FPC0 this matches the device MAC address member_id: type: integer description: Member ID used for a pre-provisioned Virtual Chassis contentEncoding: int32 vc_ports: uniqueItems: true type: array items: type: string description: Port names to use as Virtual Chassis ports on this member vc_role: allOf: - $ref: '#/components/schemas/virtual_chassis_config_member_vc_role2' - description: 'Role of this member in the Virtual Chassis. enum: `backup`, `linecard`, `master`.' description: Virtual Chassis member configuration 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 virtual_chassis_port_operation2: title: virtual_chassis_port_operation2 enum: - delete - set type: string description: 'Action to perform on the specified Virtual Chassis ports. enum: `delete`, `set`.' virtual_chassis_update_op2: title: virtual_chassis_update_op2 enum: - add - preprovision - remove - renumber type: string description: 'Action to perform on the Virtual Chassis. enum: `add`, `preprovision`, `remove`, `renumber`.' virtual_chassis_port: title: virtual_chassis_port required: - members - op type: object properties: members: uniqueItems: true type: array items: $ref: '#/components/schemas/config_vc_port_member' description: Virtual Chassis members and ports affected by the operation op: allOf: - $ref: '#/components/schemas/virtual_chassis_port_operation2' - minLength: 1 description: 'Action to perform on the specified Virtual Chassis ports. enum: `delete`, `set`.' description: Request to set or delete Virtual Chassis ports on members 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