Mist Utilities WAN API

API Calls to use Devices Troubleshooting tools specific to WAN Assurance

OpenAPI Specification

mist-utilities-wan-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 Utilities WAN 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 to use Devices Troubleshooting tools specific to WAN Assurance
  name: Utilities WAN
paths:
  /api/v1/sites/{site_id}/devices/{device_id}/clear_arp:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: 'Clear ARP cache for SSR, SRX and Switch


        Clear the entire ARP cache or a subset if arguments are provided.


        *Note*: port_id is optional if neither vlan nor ip is specified'
      operationId: clearSiteSsrArpCache
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_clear_arp'
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: clearSiteSsrArpCache
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/clear_bgp:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: Clear routes associated with one or all BGP neighbors
      operationId: clearSiteSsrBgpRoutes
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  neighbor: all
                  type: in
                  vrf: TestVrf
            schema:
              $ref: '#/components/schemas/utils_clear_bgp'
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '400':
          description: Parameter neighbor absent
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: clearSiteBgpRoutes
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/clear_session:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: Clear session
      operationId: clearSiteDeviceSession
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  port_id: ge-0/0/1.10
            schema:
              $ref: '#/components/schemas/utils_clear_session'
      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: clearSiteDeviceSession
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/release_dhcp:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Releases an active DHCP lease.\n\n\nThe output will be available through websocket.\n\nAs there can be multiple commands issued against the same Device at the same\ntime and the output all goes through the same websocket stream, session is\nintroduced for demux.\n\n\n\n#### Subscribe to Device Command outputs\n\n\n`WS /api-ws/v1/stream`\n\n\n```json\n\n{ \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\" }\n\n```\n\n\n\n#### Example output from ws stream\n\n\n```json\n{\n    \"event\": \"data\",\n    \"channel\": \"/sites/d6fb4f96-3ba4-4cf5-8af2-a8d7b85087ac/devices/00000000-0000-0000-1000-0200010edbca/cmd\",\n    \"data\": \"{\\\"event\\\": \\\"data\\\", \\\"channel\\\": \\\"/sites/d6fb4f96-xxxx-xxxx-xxxx-a8d7b85087ac/devices/0200010edbca/cmd\\\",\\\"data\\\": {\\\"session\\\": \\\"356b2150-7307-4165-8411-52794c1ee8b0\\\",\\\"raw\\\": \\\"Releasing dhcp...\\\"}}\"\n}\n{\n    \"event\": \"data\",\n    \"channel\": \"/sites/d6fb4f96-3ba4-4cf5-8af2-a8d7b85087ac/devices/00000000-0000-0000-1000-0200010edbca/cmd\",\n    \"data\": \"{\\\"event\\\": \\\"data\\\", \\\"channel\\\": \\\"/sites/d6fb4f96-xxxx-xxxx-xxxx-a8d7b85087ac/devices/0200010edbca/cmd\\\",\\\"data\\\": {\\\"session\\\": \\\"356b2150-7307-4165-8411-52794c1ee8b0\\\",\\\"raw\\\": \\\"Successfully released DHCP lease.\\\"}}\"\n}\n```"
      operationId: releaseSiteSsrDhcpLease
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  port_id: ge-0/0/1.10
            schema:
              $ref: '#/components/schemas/utils_release_dhcp'
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '400':
          description: Parameter `port ` absent
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: releaseSiteSsrDhcpLease
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/resolve_dns:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "DNS resolutions are performed on the Device.\n\nThe output will be available through websocket. As there can be multiple commands issued against the same SSR at the same time and the output all goes through the same websocket stream, `session` is used for demux.\n \n #### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n    \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\n Router      | Hostname               | Resolved | Last Resolved        | Expiration\n-------------|------------------------|----------|----------------------|---------------------\n test-device | xxx.yyy.net            | Y        | 2022-03-28T03:56:49Z | 2022-03-28T03:57:49Z\n```"
      operationId: testSiteSsrDnsResolution
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: testSiteSsrDnsResolution
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/run_top:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Run top command on switches and SRX. The output will be available through websocket. \n\nAs there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n  \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```"
      operationId: runSiteSrxTopCommand
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSessionWithUrl'
        '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: runSiteSrxTopCommand
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/service_ping:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Ping from SSR\n\nService Ping can be performed from the Device. The output will be available through websocket. As there can be multiple command issued against the same device at the same time and the output all goes through the same websocket stream, session is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n    \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```json\n{\n    \"event\": \"data\",\n    \"channel\": \"/sites/4ac1dcf4-9d8b-7211-65c4-057819f0862b/devices/00000000-0000-0000-1000-5c5b350e0060/cmd\",\n    \"data\": {\n        \"session\": \"session_id\",\n        \"raw\": \"64 bytes from 23.211.0.110: seq=8 ttl=58 time=12.323 ms\\n\"\n    }\n}\n```"
      operationId: servicePingFromSsr
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  count: 10
                  host: 1.1.1.1
                  service: web-session
            schema:
              $ref: '#/components/schemas/utils_service_ping'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: servicePingFromSsr
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_database:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get OSPF Database from SSR and SRX. The output will be available through websocket. \n\nAs there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n  \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n#### Example output from ws stream\n```\n===== ==================== ========== ======= ======== ================ =================== =================\nVrf   Neighbor Router ID   Priority   State   Uptime   Dead Timer Due   Interface Address   Interface State\n===== ==================== ========== ======= ======== ================ =================== =================\n      1.0.0.3                     1   Full       852               38   172.16.3.2          Backup\n      1.0.0.4                     1   Full       811               33   172.16.3.2          DROther\n      1.0.0.3                     1   Full       852               38   172.16.4.2          Backup\n      1.0.0.4                     1   Full       811               34   172.16.4.2          DROther\n```"
      operationId: showSiteGatewayOspfDatabase
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_show_ospf_database'
        description: All attributes are optional
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteGatewayOspfDatabase
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_interfaces:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get OSPF interfaces from SSR and SRX. The output will be available through websocket. \n\nAs there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n  \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n#### Example output from ws stream\n```\n===== ================== =================== ============== =============== =========== ========= ===========\nVrf   Device Interface   Network Interface   Interface Up   IP address      OSPF Type   Area ID   Area Type\n===== ================== =================== ============== =============== =========== ========= ===========\n      net1               g1                          True   172.16.1.2/24   Broadcast   0.0.0.0   default\n      net3               g3                          True   172.16.3.2/24   Broadcast   0.0.0.0   default\n      net4               g4                          True   172.16.4.2/24   Broadcast   0.0.0.4   default\n```"
      operationId: showSiteGatewayOspfInterfaces
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_show_ospf_interfaces'
        description: All attributes are optional
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteGatewayOspfInterfaces
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_neighbors:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get OSPF Neighbors from SSR and SRX. The output will be available through websocket. \n\nAs there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n  \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n#### Example output from ws stream\n```\n===== ==================== ========== ======= ======== ================ =================== =================\nVrf   Neighbor Router ID   Priority   State   Uptime   Dead Timer Due   Interface Address   Interface State\n===== ==================== ========== ======= ======== ================ =================== =================\n      1.0.0.3                     1   Full       852               38   172.16.3.2          Backup\n      1.0.0.4                     1   Full       811               33   172.16.3.2          DROther\n      1.0.0.3                     1   Full       852               38   172.16.4.2          Backup\n      1.0.0.4                     1   Full       811               34   172.16.4.2          DROther\n```"
      operationId: showSiteGatewayOspfNeighbors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_show_ospf_neighbors'
        description: All attributes are optional
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteGatewayOspfNeighbors
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_summary:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get OSPF summary from SSR and SRX. The output will be available through websocket. \n\nAs there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n  \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n\n#### Example output from ws stream\n```\n===== =========== ========== ============= ==================== ========= =========== =============\nVrf   Router ID   ABR Type   ASBR Router   External LSA Count   Area ID   Area Type   Area Border\n                                                                                      Router\n===== =========== ========== ============= ==================== ========= =========== =============\n      1.0.0.2     cisco            False                    0   0.0.0.0\n      1.0.0.2     cisco            False                    0   0.0.0.4   default\n```"
      operationId: showSiteGatewayOspfSummary
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_show_ospf_summary'
        description: All attributes are optional
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteGatewayOspfSummary
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_route:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get routes from SSR, SRX and Switch. \n\nThe output will be available through websocket. As there can be multiple commands issued against the same device at the same time and the output all goes through the same websocket stream, `session` is introduced for demux.\n\n#### Subscribe to Device Command outputs\n`WS /api-ws/v1/stream`\n\n```json\n{\n    \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\"\n}\n```\n##### Example output from ws stream\n```\nadmin@labsystem1.fiedler# show bgp neighbors\nBGP neighbor is 192.168.4.1, remote AS 4200000001, local AS 4200000128, external\nlink\n  BGP version 4, remote router ID 1.1.1.1\n  BGP state = Established, up for 00:27:25\n  Last read 00:00:25, hold time is 90, keepalive interval is 30 seconds\n  Configured hold time is 90, keepalive interval is 30 seconds\n  Neighbor capabilities:\n    4 Byte AS: advertised and received\n    Route refresh: advertised and received(old &amp; new)\n    Address family IPv4 Unicast: advertised and received\n    Graceful Restart Capability: advertised and received\n      Remote Restart timer is 120 seconds\n      Address families by peer:\n        none\n        ...\n```"
      operationId: showSiteSsrAndSrxRoutes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/utils_show_route'
        description: All attributes are optional
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteSsrAndSrxRoutes
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_service_path:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get service path information of the Device.\n\n\nThe output will be available through websocket. As there can be multiple command\nissued against the same device at the same time and the output all goes through\nthe same websocket stream, session is introduced for demux.\n\n\n\n#### Subscribe to Device Command outputs\n\n`WS /api-ws/v1/stream`\n\n\n```json\n{ \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\" }\n```\n\n#### Example output from ws stream\n\n```json\n{\n      \"channel\": \"/sites/d6fb4f96-xxxx-xxxx-xxxx-xxxxxxxxxxxx/devices/00000000-0000-0000-1000-xxxxxxxxxxxx/cmd\",\n      \"event\": \"data\",\n      \"data\": {\n              \"session\": \"5cb8a6db-d11a-42cd-bed7-19e9f29e637\",\n              \"raw\": \"{\\\"status\\\":\\\"SUCCESS\\\",\\\"finished\\\":true,\\\"rows\\\":[{\\\"service\\\":\\\"management\\\",\\\"type\\\":\\\"service-agent\\\",\\\"network_interface\\\":\\\"ge-0/0/0\\\",\\\"destination\\\":\\\"\\\",\\\"gateway_ip\\\":\\\"192.168.1.1\\\",\\\"vector\\\":\\\"\\\",\\\"cost\\\":0,\\\"rate\\\":0,\\\"state\\\":\\\"Up\\\",\\\"capacity\\\":\\\"0/unlimited\\\",\\\"meetsSLA\\\":\\\"Yes\\\"},{\\\"service\\\":\\\"management\\\",\\\"type\\\":\\\"service-agent\\\",\\\"network_interface\\\":\\\"ge-0/0/1\\\",\\\"destination\\\":\\\"\\\",\\\"gateway_ip\\\":\\\"192.168.0.1\\\",\\\"vector\\\":\\\"\\\",\\\"cost\\\":0,\\\"rate\\\":0,\\\"state\\\":\\\"Up\\\",\\\"capacity\\\":\\\"0/unlimited\\\",\\\"meetsSLA\\\":\\\"Yes\\\"}]}\"\n      }\n}\n```"
      operationId: showSiteSsrServicePath
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  node: node0
                  service_name: any
            schema:
              $ref: '#/components/schemas/utils_show_service_path'
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteSsrServicePath
      tags:
      - Utilities WAN
  /api/v1/sites/{site_id}/devices/{device_id}/show_session:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/device_id'
    post:
      description: "Get active sessions passing through the Device.\n\n\nThe output will be available through websocket. As there can be multiple command\nissued against the same device at the same time and the output all goes through\nthe same websocket stream, session is introduced for demux.\n\n\n\n#### Subscribe to Device Command outputs\n\n`WS /api-ws/v1/stream`\n\n\n```json \n{ \"subscribe\": \"/sites/{site_id}/devices/{device_id}/cmd\" }\n```\n\n\n#### Example output from ws stream\n\n```json \n{\n      \"channel\": \"/sites/d6fb4f96-xxxx-xxxx-xxxx-xxxxxxxxxxxx/devices/00000000-0000-0000-1000-xxxxxxxxxxxx/cmd\",\n      \"event\": \"data\",\n      \"data\": {\n              \"session\": \"f517bf29-1141-41ae-a084-17cacb0ccb57\",\n              \"raw\": \"{\\\"status\\\":\\\"SUCCESS\\\",\\\"finished\\\":true,\\\"rows\\\":[{\\\"session_id\\\":\\\"a04b1cc7-dcc1-40a6-a010-0fe46ca38551\\\",\\\"direction\\\":\\\"forward\\\",\\\"service\\\":\\\"internet\\\",\\\"tenant\\\":\\\"SRV.PRD-Core\\\",\\\"device_interface\\\":\\\"ge-0/0/3\\\",\\\"network_interface\\\":\\\"ge-0/0/3.100\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"source_ip\\\":\\\"10.3.20.101\\\",\\\"source_port\\\":45733,\\\"destination_ip\\\":\\\"13.38.46.35\\\",\\\"destination_port\\\":443,\\\"nat_ip\\\":\\\"192.168.1.115\\\",\\\"nat_port\\\":45256,\\\"payload_encrypted\\\":false,\\\"timeout\\\":1581,\\\"uptime\\\":319},{\\\"session_id\\\":\\\"a04b1cc7-dcc1-40a6-a010-0fe46ca38551\\\",\\\"direction\\\":\\\"reverse\\\",\\\"service\\\":\\\"internet\\\",\\\"tenant\\\":\\\"SRV.PRD-Core\\\",\\\"device_interface\\\":\\\"ge-0/0/0\\\",\\\"network_interface\\\":\\\"ge-0/0/0\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"source_ip\\\":\\\"13.38.46.35\\\",\\\"source_port\\\":443,\\\"destination_ip\\\":\\\"192.168.1.115\\\",\\\"destination_port\\\":45256,\\\"nat_ip\\\":\\\"0.0.0.0\\\",\\\"nat_port\\\":0,\\\"payload_encrypted\\\":false,\\\"timeout\\\":1581,\\\"uptime\\\":319}]}\\n\"\n      }\n}\n```"
      operationId: showSiteSsrAndSrxSessions
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  node: node0
                  service_name: any
            schema:
              $ref: '#/components/schemas/utils_show_session'
      responses:
        '200':
          $ref: '#/components/responses/WebsocketSession'
        '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: showSiteSsrAndSrxSessions
      tags:
      - Utilities WAN
components:
  schemas:
    websocket_session_with_url:
      additionalProperties: false
      description: Response containing a WebSocket session handle and connection URL
      properties:
        session:
          description: Identifier used to correlate output on the WebSocket stream
          examples:
          - 19e73828-937f-05e6-f709-e29efdb0a82b
          type: string
        url:
          description: WebSocket URL returned for connecting to this session
          examples:
          - wss://api-ws.mist.com/ssh?jwt=xxxx
          type: string
      required:
      - session
      - url
      type: object
    utils_show_route:
      description: Route table lookup request for device command output
      properties:
        duration:
          default: 0
          description: Refresh duration in seconds; set only when `interval` is nonzero
          maximum: 300
          minimum: 0
          type: integer
        interval:
          default: 0
          description: Refresh interval in seconds for repeated command output
          maximum: 10
          minimum: 0
          type: integer
        neighbor:
          description: BGP neighbor IP address filter for received or advertised routes
          examples:
          - 192.168.4.1
          type: string
        node:
          $ref: '#/components/schemas/ha_cluster_node'
          description: HA cluster node on which to show routes
        prefix:
          description: IPv4 or IPv6 prefix filter for route entries
          examples:
          - 192.168.0.5/30
          type: string
        protocol:
          $ref: '#/components/schemas/utils_show_route_protocol'
          description: Routing protocol filter for route entries
        route:
          description: "if neighbor is specified, received / advertised; if not specified, both will be shown\n  * for SSR, show bgp neighbors 10.250.18.202 received-routes/advertised-routes\n  * for SRX and Switches, show route receive-protocol/advertise-protocol bgp 192.168.255.12"
          examples:
          - advertised
          type: string
        vrf:
          description: Routing instance or VRF filter for route entries
          examples:
          - default
          type: string
      type: object
    websocket_session:
      additionalProperties: false
      description: Response containing the WebSocket session handle for asynchronous command output
      properties:
        session:
          description: Identifier used to correlate output on the WebSocket stream
          examples:
          - 19e73828-937f-05e6-f709-e29efdb0a82b
          type: string
      required:
      - session
      type: object
    utils_clear_bgp:
      description: Request to clear BGP sessions on a device
      properties:
        neighbor:
          default: all
          description: can be ip, ipv6, all
          type: string
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to clear BGP sessions
        type:
          $ref: '#/components/schemas/utils_clear_bgp_type'
          description: BGP clear operation type to run
        vrf:
          description: Routing instance or VRF containing the BGP session
          type: string
      required:
      - neighbor
      - type
      type: object
    utils_clear_bgp_type:
      default: hard
      description: 'enum: `hard`, `in`, `out`, `soft`'
      enum:
      - hard
      - in
      - out
      - soft
      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
    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
    utils_release_dhcp:
      description: Request 

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-utilities-wan-api-openapi.yml