Mist Utilities WAN API

API Calls to use Devices Troubleshooting tools specific to WAN Assurance

Operations 14

POST /api/v1/sites/{site_id}/devices/{device_id}/clear_arp clearSiteSsrArpCache #
POST /api/v1/sites/{site_id}/devices/{device_id}/clear_bgp clearSiteBgpRoutes #
POST /api/v1/sites/{site_id}/devices/{device_id}/clear_session clearSiteDeviceSession #
POST /api/v1/sites/{site_id}/devices/{device_id}/release_dhcp releaseSiteSsrDhcpLease #
POST /api/v1/sites/{site_id}/devices/{device_id}/resolve_dns testSiteSsrDnsResolution #
POST /api/v1/sites/{site_id}/devices/{device_id}/run_top runSiteSrxTopCommand #
POST /api/v1/sites/{site_id}/devices/{device_id}/service_ping servicePingFromSsr #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_database showSiteGatewayOspfDatabase #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_interfaces showSiteGatewayOspfInterfaces #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_neighbors showSiteGatewayOspfNeighbors #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_ospf_summary showSiteGatewayOspfSummary #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_route showSiteSsrAndSrxRoutes #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_service_path showSiteSsrServicePath #
POST /api/v1/sites/{site_id}/devices/{device_id}/show_session showSiteSsrAndSrxSessions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mist-utilities-wan-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mist-utilities-wan-api-openapi.yml Raw ↑
openapi: 3.2.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 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:
    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
    utils_clear_session_session_ids:
      description: Session identifiers to clear
      examples:
      - - 88776655-0123-4567-890a-112233445566
      items:
        format: uuid
        type: string
      type: array
    utils_release_dhcp:
      description: Request to release the DHCP lease on a device interface
      properties:
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to release the DHCP lease
        port_id:
          description: Network interface whose current DHCP lease should be released
          examples:
          - ge-0/0/1.10
          minLength: 1
          type: string
      required:
      - port_id
      type: object
    utils_clear_session:
      description: To use five tuples to lookup the session to be cleared, all must be provided
      properties:
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to clear sessions
        service_name:
          description: Service name, only supported in SSR
          examples:
          - internet-wan_and_lte
          type: string
        session_ids:
          $ref: '#/components/schemas/utils_clear_session_session_ids'
          description: Session identifiers to clear
      type: object
    utils_clear_bgp_type:
      default: hard
      description: 'enum: `hard`, `in`, `out`, `soft`'
      enum:
      - hard
      - in
      - out
      - soft
      type: string
    response_http400:
      additionalProperties: false
      description: Standard HTTP 400 bad request error response
      properties:
        detail:
          description: Human-readable explanation of the bad request error
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    utils_show_ospf_summary:
      description: OSPF summary command request for SSR and SRX devices
      properties:
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to show the OSPF summary
        vrf:
          description: Routing instance or VRF filter for OSPF summary output
          examples:
          - lan
          type: string
      type: object
    utils_show_session:
      description: Active session lookup request for device command output
      properties:
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to show active sessions
        service_name:
          description: The exact service name for which to display the active sessions
          examples:
          - any
          type: string
        session_id:
          description: Identifier of the session to show in detail
          type: string
      type: object
    utils_show_ospf_database:
      description: OSPF database command request for SSR and SRX devices
      properties:
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to show the OSPF database
        self_originate:
          default: false
          description: Whether to show only self-originated OSPF database entries
          type: boolean
        vrf:
          description: Routing instance or VRF filter for OSPF database output
          examples:
          - lan
          type: string
      type: object
    utils_clear_arp:
      description: Request to clear ARP entries on a device
      properties:
        ip:
          description: The IP address for which to clear an ARP entry. port_id must be specified.
          examples:
          - 10.1.1.1
          type: string
        node:
          $ref: '#/components/schemas/ha_cluster_node_enum'
          description: HA cluster node on which to clear ARP entries
        port_id:
          description: The device interface on which t

# --- 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