Mist Sites Devices - Wired - Virtual Chassis API

API Calls specific to the Juniper Switches Virtual Chassis managed by Mist

OpenAPI Specification

mist-sites-devices-wired-virtual-chassis-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Sites Devices - Wired - Virtual Chassis API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: API Calls specific to the Juniper Switches Virtual Chassis managed by Mist
  name: Sites Devices - Wired - Virtual Chassis
paths:
  /api/v1/sites/{site_id}/devices/{device_id}/set_vc_port_mode:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      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
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  mode: network
            schema:
              $ref: '#/components/schemas/vc_port'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: changeSiteSwitchVcPortMode
      tags:
      - Sites Devices - Wired - Virtual Chassis
  /api/v1/sites/{site_id}/devices/{device_id}/vc:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    delete:
      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
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: deleteSiteVirtualChassis
      tags:
      - Sites Devices - Wired - Virtual Chassis
    get:
      description: 'Get VC Status


        The API returns a combined view of the VC status which includes topology and stats_'
      operationId: getSiteDeviceVirtualChassis
      responses:
        '200':
          $ref: '#/components/responses/VirtualChassis'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getSiteDeviceVirtualChassis
      tags:
      - Sites Devices - Wired - Virtual Chassis
    post:
      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.  \nIn 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:\n1. Power on the switch that is chosen as the VC master first, and then powering on the other member switches.\n2. Claim or adopt all these switches under the same organization's Inventory\n3. Assign these switches into the same Site\n4. Wait for all the switches to be connected to Mist\n5. Invoke vc command on the switch chosen to be the VC master. For EX2300-C-12P, VC ports will be created automatically.\n6. Connect the cables to the VC ports for these switches\n7. Wait for the VC to be formed. The Org's inventory will be updated for the new VC."
      operationId: createSiteVirtualChassis
      requestBody:
        content:
          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
            schema:
              $ref: '#/components/schemas/virtual_chassis_config'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: createSiteVirtualChassis
      tags:
      - Sites Devices - Wired - Virtual Chassis
    put:
      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.\n\n**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.\n\n\n## Change to use preprovisioned VC\nTo 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.\n\nIn 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.\n\n**Notice:** to configure preprovisioned VC, every member of the VC must be in the inventory.\n\n## Add new members\nFor 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.\n\nFor EX2300 VC, adding new members requires to follow the procedures below:\n1. Powering on the new member switches and ensuring cables are not connected to any VC ports.\n2. Claim or adopt all new member switches under the VC's organization Inventory\n3. Assign all new member switches to the same Site as the VC\n4. Invoke vc command to add switches to the VC.\n5. Connect the cables to the VC ports for these switches\n6. After a while, the Org's Inventory shows that new switches has been added into the VC.\n\n## Removing member switch\nTo remove a member switch from the VC, following the procedures below:\n\n1. Ensuring the VC is connected to the cloud first\n2. Unplug the cable from the VC port of the switch\n3. Waiting for the VC state (vc_state) of this switch is changed to not-present\n4. Invoke update_vc with remove to remove this switch from the VC\n5. The Org's Inventory shows the switch is removed.\n\nPlease 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.\n\n## Renumber a member switch\nWhen 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:\n\n1. Replace a non-fpc0 member switch\n2. Replace fpc0. When fpc0 is replaced, PAPI device config and JUNOS config will be both updated.\n\nFor renumber to work, the following procedures are needed: \n1. Ensuring the VC is connected to the cloud and the state of the member switch to be replaced must be non present. \n2. Adding the new member switch to the VC \n3. Waiting for the VC state (vc_state) of this VC to be updated to API server \n4. Invoke vc with renumber to replace\\ the new member switch from fpc X to\n\n## Perprovision VC members\nBy 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.\n\nNote: \n1. vc_ports is used for adding new members and not needed if \n  * the device model has dedicated vc ports, or \n  * no new member is added \n2. New VC members to be added should exist in the same Site as the VC"
      operationId: updateSiteVirtualChassisMember
      requestBody:
        content:
          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
            schema:
              $ref: '#/components/schemas/virtual_chassis_update'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: updateSiteVirtualChassisMember
      tags:
      - Sites Devices - Wired - Virtual Chassis
  /api/v1/sites/{site_id}/devices/{device_id}/vc/convert_to_virtualmac:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      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.\n\n\nHTTP400 Error possible reasons:\n  - The device is not an OC device\n  - Virtualmac VC is disabled in the Org Knob settings\n  - The VC is already a Virtualmac VC\n  - The VC is currently disconnected\n  - The device is standalone\n  - A new FPC0 exists with its own device config, causing ambiguity."
      operationId: convertSiteVirtualChassisToVirtualMac
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: convertSiteVirtualChassisToVirtualMac
      tags:
      - Sites Devices - Wired - Virtual Chassis
  /api/v1/sites/{site_id}/devices/{device_id}/vc/vc_port:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: Set VC port
      operationId: setSiteVcPort
      requestBody:
        content:
          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
            schema:
              $ref: '#/components/schemas/virtual_chassis_port'
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: setSiteVcPort
      tags:
      - Sites Devices - Wired - Virtual Chassis
components:
  schemas:
    virtual_chassis_config_member:
      additionalProperties: false
      description: Virtual Chassis member configuration
      properties:
        locating:
          description: Whether this Virtual Chassis member is currently in locate mode
          readOnly: true
          type: boolean
        mac:
          description: Member MAC address; for FPC0 this matches the device MAC address
          type: string
        member_id:
          description: Member ID used for a pre-provisioned Virtual Chassis
          type: integer
        vc_ports:
          $ref: '#/components/schemas/strings'
          description: Port names to use as Virtual Chassis ports on this member
        vc_role:
          $ref: '#/components/schemas/virtual_chassis_config_member_vc_role'
          description: Role of this member in the Virtual Chassis
      required:
      - mac
      - vc_role
      type: object
    stats_switch_module_stat_item:
      additionalProperties: false
      description: Hardware module status and firmware inventory for a switch
      properties:
        backup_version:
          description: Backup software version stored on the switch module
          readOnly: true
          type:
          - string
          - 'null'
        bios_version:
          description: BIOS firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        boot_partition:
          description: Active boot partition used by the switch module
          type: string
        cpld_version:
          description: CPLD firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        cpu_stat:
          $ref: '#/components/schemas/cpu_stat'
          description: Processor utilization statistics for the switch module
        errors:
          $ref: '#/components/schemas/module_stat_item_errors'
          description: Hardware error records reported for the switch module
        fans:
          $ref: '#/components/schemas/module_stat_item_fans'
          description: Cooling fan status records for the switch module
        fpc_idx:
          description: FPC index identifying this switch module
          readOnly: true
          type: integer
        fpga_version:
          description: FPGA firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        last_seen:
          $ref: '#/components/schemas/last_seen'
          description: Time when Mist last observed this switch module, in epoch seconds
        locating:
          description: Whether the switch module locator indicator is active
          type: boolean
        mac:
          description: Switch module MAC address reported by Mist
          examples:
          - fc3342123456
          type: string
        memory_stat:
          $ref: '#/components/schemas/memory_stat'
          description: Utilization statistics for switch module memory
        model:
          description: Switch module model name reported by Mist
          examples:
          - EX4300-48P
          readOnly: true
          type:
          - string
          - 'null'
        optics_cpld_version:
          description: Optics CPLD firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        pending_version:
          description: Pending software version staged for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        pics:
          $ref: '#/components/schemas/module_stat_item_pics'
          description: Physical Interface Card status records for the switch module
        poe:
          $ref: '#/components/schemas/module_stat_item_poe'
          description: Power over Ethernet telemetry for the switch module
        poe_version:
          description: PoE controller firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        power_cpld_version:
          description: Power CPLD firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        psus:
          $ref: '#/components/schemas/module_stat_item_psus'
          description: Power supply status records for the switch module
        re_fpga_version:
          description: Routing Engine FPGA firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        recovery_version:
          description: Recovery software version stored on the switch module
          readOnly: true
          type:
          - string
          - 'null'
        serial:
          description: Switch module serial number reported by Mist
          examples:
          - PX8716230021
          readOnly: true
          type:
          - string
          - 'null'
        status:
          description: Connection status reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        temperatures:
          $ref: '#/components/schemas/module_stat_item_temperatures'
          description: Temperature sensor readings for the switch module
        tmc_fpga_version:
          description: TMC FPGA firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        type:
          description: Module type reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        uboot_version:
          description: U-Boot firmware version reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        uptime:
          description: Elapsed time since the switch module last booted, in seconds
          readOnly: true
          type:
          - integer
          - 'null'
        vc_links:
          $ref: '#/components/schemas/module_stat_item_vc_links'
          description: Virtual chassis link records for the switch module
        vc_mode:
          description: Virtual chassis mode reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        vc_role:
          description: 'enum: `master`, `backup`, `linecard`'
          examples:
          - master
          readOnly: true
          type:
          - string
          - 'null'
        vc_state:
          description: Virtual chassis state reported for the switch module
          readOnly: true
          type:
          - string
          - 'null'
        version:
          description: Software version running on the switch module
          readOnly: true
          type:
          - string
          - 'null'
      type: object
    module_stat_item_errors:
      description: Used to report all error states the device node is running into. An error should always have `type` and `since` fields, and could have some other fields specific to that type.
      items:
        $ref: '#/components/schemas/module_stat_item_errors_items'
      type: array
    virtual_chassis_port_operation:
      description: 'Action to perform on the specified Virtual Chassis ports. enum: `delete`, `set`'
      enum:
      - delete
      - set
      minLength: 1
      type: string
    config_vc_port_member:
      additionalProperties: false
      description: Virtual Chassis member and port list for a VC port operation
      properties:
        member:
          description: Virtual Chassis member ID whose VC ports are being configured
          type: number
        vc_ports:
          $ref: '#/components/schemas/strings'
          description: Port names to configure as Virtual Chassis ports on the member
      required:
      - member
      type: object
    virtual_chassis_config:
      description: Virtual Chassis creation or configuration request
      properties:
        locating:
          description: Whether the Virtual Chassis is currently in locate mode
          readOnly: true
          type: boolean
        members:
          $ref: '#/components/schemas/virtual_chassis_config_members'
          description: Virtual Chassis members and their expected roles and VC ports
        preprovisioned:
          default: false
          description: Whether to create the Virtual Chassis in pre-provisioned mode
          type: boolean
      type: object
    virtual_chassis_update_op:
      description: 'enum: `add`, `preprovision`, `remove`, `renumber`'
      enum:
      - add
      - preprovision
      - remove
      - renumber
      type: string
    strings:
      description: Unique string values returned or accepted by this schema
      items:
        type: string
      type: array
      uniqueItems: true
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    response_http429:
      additionalProperties: false
      description: Standard HTTP 429 rate limit error response
      properties:
        detail:
          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
          type: string
      type: object
    org_id:
      description: Unique identifier of a Mist organization
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    response_http401:
      additionalProperties: false
      description: Standard HTTP 401 authentication error response
      properties:
        detail:
          description: Human-readable explanation of the authentication error
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    memory_stat:
      additionalProperties: false
      description: Memory utilization statistics for a device; in a virtual chassis, this reports the master Routing Engine
      properties:
        usage:
          description: Current memory utilization percentage for the device or master Routing Engine
          type: number
      required:
      - usage
      type: object
    virtual_chassis_update:
      description: Virtual Chassis member update request
      properties:
        member:
          description: Only if `op`==`renumber`; existing member ID to renumber
          type: integer
        members:
          $ref: '#/components/schemas/virtual_chassis_update_members'
          description: Member updates for add, remove, or preprovision operations
        new-member:
          description: Only if `op`==`renumber`; new member ID to assign
          type: integer
        op:
          $ref: '#/components/schemas/virtual_chassis_update_op'
          description: Action to perform on the Virtual Chassis
        remove_inventory:
          default: false
          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.
          type: boolean
      type: object
    module_stat_item_pics_item:
      additionalProperties: false
      description: Physical Interface Card summary for a device module
      properties:
        index:
          description: PIC index within the device module
          type: integer
        model_number:
          description: Model number reported for the PIC
          type: string
        port_groups:
          $ref: '#/components/schemas/module_stat_item_pics_item_port_groups'
          description: Port groups provided by this PIC
      type: object
    response_http403:
      additionalProperties: false
      description: Standard HTTP 403 permission error response
      properties:
        detail:
          description: Human-readable explanation of the permission error
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    vc_port:
      description: Request to change the Virtual Chassis port mode on a switch
      properties:
        mode:
          $ref: '#/components/schemas/vc_port_mode'
          description: Virtual Chassis port mode to apply
      type: object
    module_stat_item_pics:
      description: Physical Interface Card summaries for a device module
      items:
        $ref: '#/components/schemas/module_stat_item_pics_item'
      type: array
    module_stat_item_vc_links:
      description: Virtual chassis link records for a device module
      items:
        $ref: '#/components/schemas/module_stat_item_vc_links_item'
      type: array
      uniqueItems: true
    cpu_stat:
      additionalProperties: false
      description: CPU utilization breakdown for a device
      properties:
        idle:
          description: Percentage of CPU time that is idle
          readOnly: true
          type:
          - number
          - 'null'
        interrupt:
          description: Percentage of CPU time being used by interrupts
          readOnly: true
          type:
          - number
          - 'null'
        load_avg:
          $ref: '#/components/schemas/cpu_stat_load_avg'
          description: Load averages for the last 1, 5, and 15 minutes
        system:
          description: Percentage of CPU time being used by system processes
          readOnly: true
          type:
          - number
          - 'null'
        usage:
          description: Overall CPU usage percentage
          readOnly: true
          type:
          - number
          - 'null'
        user:
          description: Percentage of CPU time being used by user processes
          readOnly: true
          type:
          - number
          - 'null'
      type: object
    module_stat_item_fans_items:
      additionalProperties: false
      description: Cooling fan telemetry for a device module
      properties:
        airflow:
          description: Direction of airflow reported for the fan
          examples:
          - out
          type: string
        name:
          description: Fan label reported by the device
          examples:
          - Fan 0
          type: string
        rpm:
          description: Current fan speed in revolutions per minute
          type: integer
        status:
          description: Operational status reported for the fan
          examples:
          - ok
          type: string
      type: object
    vc_port_mode:
      description: 'enum: `network`, `vcp-higig`, `vcp-hgoe`'
      

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-sites-devices-wired-virtual-chassis-api-openapi.yml