Juniper Mist AI Utilities PCAPs API

API Calls to start, stop or managed Packet Captures at the device level

OpenAPI Specification

mist-ai-utilities-pcaps-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2604.1.1**

    >

    > Date: **May 13, 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 PCAPs API
  version: 2604.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: []
- basicAuth: []
- basicAuth: []
  csrfToken: []
tags:
- description: API Calls to start, stop or managed Packet Captures at the device level
  name: Utilities PCAPs
paths:
  /api/v1/orgs/{org_id}/pcaps:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: Get List of Org Packet Captures
      operationId: listOrgPacketCaptures
      parameters:
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/PcapsSearch'
        '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: listOrgPacketCaptures
      tags:
      - Utilities PCAPs
  /api/v1/orgs/{org_id}/pcaps/capture:
    parameters:
    - $ref: '#/components/parameters/org_id'
    delete:
      description: Stop current Org capture
      operationId: stopOrgPacketCapture
      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: stopOrgPacketCapture
      tags:
      - Utilities PCAPs
    get:
      description: Get Org Capturing status
      operationId: getOrgCapturingStatus
      responses:
        '200':
          $ref: '#/components/responses/PcapStatus'
        '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: getOrgCapturingStatus
      tags:
      - Utilities PCAPs
    post:
      description: "Initiate a Packet Capture\n\n**NOTE**: For packet captures of org level Mist Edges only. Use [Start Site Packet Capture](/#operations/startSitePacketCapture) for site level Mist Edges. \n\nThe output will be available through websocket. As there can be multiple commands issued against the same AP 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\": \"/orgs/:org_id/pcaps\"\n}\n```\n#### Response (MxEdge)\n```json\n{\n  \"event\": \"data\"\n  \"channel\": \"/orgs/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n  \"data\": {\n      \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n      \"pcap_dict\": {\n          \"dst_mac\": \"68:ec:c5:09:2e:87\",\n          \"src_mac\": \"8c:3b:ad:e0:47:40\", \n          \"vlan\": 1, \n          \"src_ip\": \"34.224.147.117\", \n          \"dst_ip\": \"192.168.1.55\",\n          \"dst_port\": 51635, \n          \"src_port\": 443,\n          \"protocol\": \"TCP\", \n          \"mxedge_id\": \"00000000-0000-0000-1000-001122334455\",\n          \"direction\": \"tx\", \n          \"timestamp\": 1652247615, \n          \"length\": 159.0, \n          \"lost_messages\": 0,\n          \"interface\": \"port0\",\n          \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq \\n                    2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n          }, \n      \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n    }\n}\n```\n#### Stop Response\n```json\n{\n  \"event\": \"data\"\n  \"channel\": \"/orgs/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n  \"data\": {\n      \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\",\n      \"pcap_dict\": null\n  }\n}\n```"
      operationId: startOrgPacketCapture
      requestBody:
        content:
          application/json:
            examples:
              MxEdge-Packet-Capture:
                value:
                  duration: 600
                  format: stream
                  max_pkt_len: 1500
                  mxedges:
                    00000000-0000-0000-1000-001122334455:
                      interfaces:
                        port1:
                          tcpdump_expression: udp port 67 or udp port 68
                  num_packets: 100
                  type: mxedge
            schema:
              $ref: '#/components/schemas/capture_org'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/PcapStart'
        '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: startOrgPacketCapture
      tags:
      - Utilities PCAPs
  /api/v1/sites/{site_id}/pcaps:
    parameters:
    - $ref: '#/components/parameters/site_id'
    get:
      description: Get List of Site Packet Captures
      operationId: listSitePacketCaptures
      parameters:
      - description: Optional client mac filter
        in: query
        name: client_mac
        schema:
          type: string
      - $ref: '#/components/parameters/start'
      - $ref: '#/components/parameters/end'
      - $ref: '#/components/parameters/duration'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/PcapsSearch'
        '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: listSitePacketCaptures
      tags:
      - Utilities PCAPs
  /api/v1/sites/{site_id}/pcaps/capture:
    parameters:
    - $ref: '#/components/parameters/site_id'
    delete:
      description: Stop current capture
      operationId: stopSitePacketCapture
      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: stopSitePacketCapture
      tags:
      - Utilities PCAPs
    get:
      description: Get Capturing status
      operationId: getSiteCapturingStatus
      responses:
        '200':
          $ref: '#/components/responses/PcapStatus'
        '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: getSiteCapturingStatus
      tags:
      - Utilities PCAPs
    post:
      description: "Initiate a Site Packet Capture\n\nThe output will be available through websocket. As there can be multiple commands issued against the same AP 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}/pcaps\"\n}\n```\n#### Response (MxEdge)\n```json\n{\n    \"event\": \"data\"\n    \"channel\": \"/sites/{site_id}/pcaps\"\n    \"data\": {\n         \"capture_id\": \"6b1be4fb-b239-44d9-9d3b-cb1ff3af1721\",\n     \"lost_messages\": 0\n         \"pcap_dict\": {\n             \"channel_frequency\": 2412,\n             \"channel\": \"1\",\n             \"datarate\": \"1.0 Mbps\",\n             \"rssi\": -75, \n             \"dst\": \"78:bd:bc:ca:0b:0a\",\n             \"src\": \"18:b8:1f:4c:91:c0\",\n             \"bssid\": \"18:b8:1f:4c:91:c0\",\n             \"frame_type\": \"Management\", \n             \"frame_subtype\": \"Probe Response\", \n         \"proto\": \"802.11\", \n             \"ap_mac\": \"d4:20:b0:81:99:2e\", \n             \"direction\": \"tx\", \n             \"timestamp\": 1652246543, \n             \"length\": 416.0,\n             \"interface\": \"radiotap\",\n             \"info\": \"1652246544.467733 1683216786us tsft 1.0 Mb/s 2412 MHz 11g -75dBm signal -82dBm noise antenna 0 Probe Response (ATTKmsWiVS) [1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 Mbit] CH: 2, PRIVACY\\\\n\",\n         }, \n        \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAEEh7Yh5VBwCgAQAAoAEAAAAAKwBvCADAAQAAAIw7reCS2VNkAAAAABACbAmABLWuAAEAEBgAAwACAABQADoBeL28ygsKGLgfTJHAGLgfTJHAcIZ2WDlBJQAAAGQAERUACkFUVEttc1dpVlMBCIKEi5YkMEhsAwECBwZVUyABCx4gAQAjAhkAKgEEMgQMEhhgMBQBAAAPrAQBAAAPrAQBAAAPrAIMAAsFAQAbAABGBTIIAQAALRqtCR////8AAAAAAAAAAAAAAAAAAAAAAAAAAD0WAggVAAAAAAAAAAAAAAAAAAAAAAAAAH8IBAAIAAAAAEDdkwBQ8gQQSgABEBBEAAECEDsAAQMQRwAQn2481frn3KT+uGod2ERx+RAhAAtBcnJpcywgSW5jLhAjAApCR1cyMTAtNzAwECQACkJHVzIxMC03MDAQQgAKQkdXMjEwLTcwMBBUAAgABgBQ8gQAARARAA5BcnJpcyBXaXJlbGVzcxAIAAIgCBA8AAEBEEkABgA3KgABIN0JABAYAgEQHAAA3RgAUPICAQGEAAOkAAAnpAAAQkNeAGIyLwAzjakr\"\n}\n```\n\n#### Response (Wired)\n```json\n{\n    \"event\": \"data\"\n    \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n    \"data\": {\n        \"capture_id\": \"f039b1b4-a23e-48b2-906a-0da40524de73\", \n        \"pcap_dict\": {\n             \"dst_mac\": \"68:ec:c5:09:2e:87\",\n             \"src_mac\": \"8c:3b:ad:e0:47:40\", \n             \"vlan\": 1, \n             \"src_ip\": \"34.224.147.117\", \n             \"dst_ip\": \"192.168.1.55\",\n             \"dst_port\": 51635, \n             \"src_port\": 443,\n             \"proto\": \"TCP\", \n             \"ap_mac\": \"d4:20:b0:81:99:2e\",\n             \"direction\": \"tx\", \n             \"timestamp\": 1652247615, \n             \"length\": 159.0, \n             \"interface\": \"wired\",\n             \"info\": \"1652247616.007409 IP ec2-34-224-147-117.compute-1.amazonaws.com.https > ip-192-168-1-55.ec2.internal.51635: Flags [P.], seq 2192123968:2192124057, ack 4035166782, win 12, options [nop,nop,TS val 597467050 ecr 740580660], length 89\\\\n\",\n             }, \n        \"pcap_raw\": \"1MOyoQIABAAAAAAAAAAAAP//AAABAAAAQEx7YhMzAACfAAAAnwAAAGjsxQkuh4w7reBHQIEAAAEIAEUAAI1bLEAAKAZ/CiLgk3XAqAE3AbvJs4KpKEDwg8I+gBgADFf9AAABAQgKI5yfqiwkXTQXAwMAVKY5JopoKQrVEn0/3ld4YntctGEH/rTZuwtCvzSncFw71QJveJi9uxHs57KC8w9Apph3YvXJrmWg7M37+o+YV0KH/xmr626s5Bkhb3QhKOu+NoNEmA==\"\n\n    }\n}\n```\n\n#### Stop Response (Wired/Wireless)\n```json\n{\n    \"event\": \"data\"\n    \"channel\": \"/sites/67970e46-4e12-11e6-9188-0242ac110007/pcaps\"\n    \"data\": {\n      \"capture_id\": \"a2f7374d-6a70-41fd-8a3f-71e42573baaf\", \n      \"lost_messages\": 0,\n      \"pcap_dict\": null\n    }\n}\n```"
      operationId: startSitePacketCapture
      requestBody:
        content:
          application/json:
            examples:
              AP-New-Wireless-Client-Associations-Packet-Capture:
                value:
                  client_mac: 60a10a773412
                  duration: 600
                  includes_mcast: false
                  max_pkt_len: 128
                  num_packets: 100
                  type: new_assoc
              AP-Radiotap-Packet-Capture:
                value:
                  duration: 600
                  max_pkt_len: 68
                  num_packets: 100
                  type: radiotap
              AP-Radiotap-Packet-Capture-and-Wired-Packet-Capture:
                value:
                  ap_mac: string
                  client_mac: 38f9d3972ff1
                  duration: 600
                  max_pkt_len: 128
                  num_packets: 1024
                  ssid: string
                  type: radiotap,wired
              AP-Scan-radio-Packet-Capture:
                value:
                  ap_mac: null
                  band: '24'
                  bandwidth: 20
                  channel: 1
                  client_mac: 38f9d3972ff1
                  duration: 600
                  format: stream
                  max_pkt_len: 68
                  num_packets: 100
                  tcpdump_expression: tcp port 80
                  type: scan
              AP-Wired-Packet-Capture:
                value:
                  duration: 600
                  max_pkt_len: 68
                  num_packets: 100
                  tcpdump_expression: tcp port 80
                  type: wired
              AP-Wireless-Packet-Capture:
                value:
                  ap_mac: null
                  band: '24'
                  duration: 600
                  max_pkt_len: 128
                  num_packets: 100
                  type: wireless
              Client-Packet-Capture:
                value:
                  client_mac: 60a10a773412
                  duration: 300
                  includes_mcast: false
                  max_pkt_len: 128
                  num_packets: 1000
                  type: client
              SSR-Packet-Capture:
                value:
                  duration: 600
                  format: stream
                  gateways:
                    '001122334455':
                      ports:
                        ge-0/0/0:
                          tcpdump_expression: tcp
                        ge-0/0/1:
                          tcpdump_expression: port 443
                        ge-1/0/0:
                          tcpdump_expression: tcp
                        ge-1/0/1:
                          tcpdump_expression: port 443
                    '001122334466':
                      ports:
                        ge-0/0/0:
                          tcpdump_expression: udp
                        ge-0/0/1:
                          tcpdump_expression: port 32768
                  max_pkt_len: 1500
                  num_packets: 100
                  type: gateway
              Switch-Packet-Capture:
                value:
                  duration: 600
                  format: stream
                  max_pkt_len: 1500
                  num_packets: 100
                  switches:
                    '001122334455':
                      ports:
                        ge-0/0/0:
                          tcpdump_expression: udp
                        ge-0/0/1: {}
                        ge-1/0/0: {}
                        ge-1/0/1: {}
                    '001122334466':
                      ports:
                        ge-0/0/0: {}
                        ge-0/0/1: {}
                  tcpdump_expression: port 443
                  type: switch
            schema:
              $ref: '#/components/schemas/capture_site'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/PcapStart'
        '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: startSitePacketCapture
      tags:
      - Utilities PCAPs
  /api/v1/sites/{site_id}/pcaps/{pcap_id}:
    parameters:
    - $ref: '#/components/parameters/site_id'
    - $ref: '#/components/parameters/pcap_id'
    put:
      description: Update or add notes to a completed packet capture
      operationId: updateSitePacketCapture
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  notes: wired pcap test
            schema:
              $ref: '#/components/schemas/notes_string'
      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: updateSitePacketCapture
      tags:
      - Utilities PCAPs
components:
  schemas:
    capture_radiotap_type:
      description: 'enum: `radiotap`'
      enum:
      - radiotap
      examples:
      - radiotap
      type: string
    response_pcap_status_gateways:
      description: Information on gateways to capture packets on if a gateway capture type is specified
      items:
        type: string
      type: array
    strings:
      items:
        type: string
      type: array
      uniqueItems: true
    capture_wired_type:
      description: 'enum: `wired`'
      enum:
      - wired
      examples:
      - wired
      type: string
    response_pcap_status_aps:
      description: List of target APs to capture packets
      items:
        type: string
      type: array
    capture_gateway_gateways_ports:
      additionalProperties:
        $ref: '#/components/schemas/capture_gateway_gateways_port'
      description: Property key is the port ID
      type: object
    pcap_type:
      description: 'enum: `client`, `gateway`, `new_assoc`, `radiotap`, `radiotap,wired`, `wired`, `wireless`'
      enum:
      - client
      - gateway
      - new_assoc
      - radiotap
      - radiotap,wired
      - wired
      - wireless
      examples:
      - client
      type: string
    response_pcap_search:
      additionalProperties: false
      properties:
        end:
          type: integer
        limit:
          type: integer
        next:
          type: string
        results:
          $ref: '#/components/schemas/response_pcap_search_results'
        start:
          type: integer
        total:
          type: integer
      required:
      - end
      - limit
      - results
      - start
      type: object
    timestamp:
      description: Epoch (seconds)
      format: double
      readOnly: true
      type: number
    capture_tcpdump_expression:
      description: tcpdump expression
      examples:
      - tcp port 80
      type:
      - string
      - 'null'
    response_pcap_search_item_pcap_aps:
      additionalProperties:
        $ref: '#/components/schemas/response_pcap_search_item_pcap_aps_item'
      examples:
      - 5c5b35000010:
          band: '6'
          bandwidth: '20'
          channel: 133
          tcpdump_expression: null
      type: object
    capture_scan_aps:
      additionalProperties: false
      description: Property key is the AP MAC address (e.g. "5c5b35000001"). All optionals, parent parameters will be used if not defined
      properties:
        band:
          $ref: '#/components/schemas/capture_scan_aps_band'
        channel:
          description: Specify the channel value where scan PCAP has to be started
          type: string
        tcpdump_expression:
          description: tcpdump expression, port specific if specified under ports dict, otherwise applicable across ports if specified at top level of payload. Port specific value overrides top level value when both exist.
          type: string
        width:
          description: Specify the bandwidth value with respect to the channel.
          type: string
      type: object
    capture_switch_format:
      default: stream
      description: 'enum: `stream`'
      enum:
      - stream
      type: string
    capture_mxedge_type:
      description: 'enum: `mxedge`'
      enum:
      - mxedge
      examples:
      - mxedge
      type: string
    capture_wireless:
      additionalProperties: false
      description: Initiate a Wireless Packet Capture
      properties:
        ap_mac:
          examples:
          - null
          type:
          - string
          - 'null'
        band:
          $ref: '#/components/schemas/capture_wireless_band'
        duration:
          $ref: '#/components/schemas/capture_duration'
        format:
          $ref: '#/components/schemas/capture_wireless_format'
        max_pkt_len:
          $ref: '#/components/schemas/capture_max_pkt_length'
        num_packets:
          $ref: '#/components/schemas/capture_num_packets'
        ssid:
          type: string
        type:
          $ref: '#/components/schemas/capture_wireless_type'
        wlan_id:
          description: WLAN ID
          format: uuid
          type: string
      required:
      - type
      type: object
    response_pcap_search_item_pcap_aps_item:
      additionalProperties: false
      properties:
        band:
          type: string
        bandwidth:
          type: string
        channel:
          type: integer
        tcpdump_expression:
          type:
          - string
          - 'null'
      type: object
    capture_mxedge:
      additionalProperties: false
      description: Initiate a Mist Edge Packet Capture
      properties:
        duration:
          default: 600
          description: Duration of the capture, in seconds. Default is 600, minimum is 60 and maximum is 10800 (3h)
          examples:
          - 600
          maximum: 10800
          minimum: 60
          type: integer
        format:
          $ref: '#/components/schemas/capture_mxedge_format'
        max_pkt_len:
          default: 512
          description: Max_len of each packet to capture. Default is 512, minimum is 64 and maximum is 2048
          examples:
          - 512
          maximum: 2048
          minimum: 64
          type: integer
        mxedges:
          additionalProperties:
            $ref: '#/components/schemas/capture_mxedge_mxedges'
          description: Dict of Mist Edges to capture on, property key is the Mist Edge ID. Property value is a dict of interfaces to capture for the given mxedge (e.g. port1, kni0, lacp0, ipsec, drop, oobm)
          type: object
        num_packets:
          default: 1024
          description: Number of packets to capture. Default is 1024, maximum is 10000, minimum 1, or 0 for unlimited (local/remote streaming only)
          examples:
          - 100
          maximum: 10000
          minimum: 0
          type: integer
        tcpdump_expression:
          description: tcpdump expression, applicable across all interfaces if specified at top level. An interface-specific value (under the `interfaces` dict) overrides this top-level value.
          type: string
        type:
          $ref: '#/components/schemas/capture_mxedge_type'
        tzsp_host:
          description: Required if `format`==`tzsp`. Remote host accessible to mxedges over the network for receiving the captured packets
          examples:
          - 192.168.1.2
          type: string
        tzsp_port:
          default: 37008
          description: Optional port on remote host for receiving the captured packets. Default is 37008 (TZSP)
          maximum: 65535
          minimum: 1
          type: integer
      required:
      - type
      type: object
    response_http401:
      additionalProperties: false
      properties:
        detail:
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    capture_max_pkt_length:
      default: 512
      examples:
      - 128
      maximum: 2048
      minimum: 64
      type:
      - integer
      - 'null'
    capture_radiotapwired_band:
      default: '24'
      description: 'only used for radiotap. enum: `24`, `24,5,6`, `5`, `6`'
      enum:
      - '24'
      - 24,5,6
      - '5'
      - '6'
      examples:
      - '24'
      type: string
    capture_scan_format:
      default: pcap
      description: 'enum: `pcap`, `stream`'
      enum:
      - pcap
      - stream
      examples:
      - stream
      type: string
    capture_duration:
      default: 600
      description: Duration of the capture, in seconds
      examples:
      - 300
      maximum: 86400
      minimum: 60
      type:
      - integer
      - 'null'
    capture_switch_type:
      description: 'enum: `switch`'
      enum:
      - switch
      examples:
      - switch
      type: string
    capture_new_assoc:
      additionalProperties: false
      description: Initiate a packet Capture for New Wireless Client Associations
      properties:
        ap_mac:
          examples:
          - a83a79a947ee
          type: string
        client_mac:
          description: Client mac, required if `type`==`client`; optional otherwise
          examples:
          - 60a10a773412
          type: string
        duration:
          $ref: '#/components/schemas/capture_duration'
        includes_mcast:
          default: false
          type: boolean
        max_pkt_len:
          $ref: '#/components/schemas/capture_max_pkt_length'
        num_packets:
          $ref: '#/components/schemas/capture_num_packets'
        ssid:
          description: Optional filter by ssid
          examples:
          - null
          type: string
        type:
          $ref: '#/components/schemas/capture_new_assoc_type'
      required:
      - type
      type: object
    capture_radiotapwired:
      additionalProperties: false
      description: Initiate a Radiotap Packet Capture and Wired Packet Capture
      properties:
        ap_mac:
          examples:
          - null
          type:
          - string
          - 'null'
        band:
          $ref: '#/components/schemas/capture_radiotapwired_band'
        client_mac:
          examples:
          - 38f9d3972ff1
          type:
          - string
          - 'null'
        duration:
          $ref: '#/components/schemas/capture_duration'
        format:
          $ref: '#/components/schemas/capture_radiotapwired_format'
        max_pkt_len:
          $ref: '#/components/schemas/capture_max_pkt_length'
        num_packets:
          $ref: '#/components/schemas/capture_num_packets'
        radiotap_tcpdump_expression:
          description: tcpdump expression for radiotap interface (802.11 + radio headers)
          examples:
          - type
          type: string
        ssid:
          examples:
          - test
          type:
          - string
          - 'null'
        tcpdump_expression:
          $ref: '#/components/schemas/capture_tcpdump_expression'
        type:
          $ref: '#/components/schemas/capture_radiotapwired_type'
        wired_tcpdump_expression:
          $ref: '#/components/schemas/capture_tcpdump_expression'
        wireless_tcpdump_expression:
          description: tcpdump expression for radiotap interface (802.11)
          type: string
        wlan_id:
          description: WLAN id associated with the respective ssid.
          examples:
          - fac8e973-feb9-421a-b381-aabbc4b61f5a
          type:
          - string
          - 'null'
      required:
      - type
      type: object
    capture_mxedge_mxedges_interfaces:
      additionalProperties: false
      description: Property key is the Port name (e.g. "port1", "kni0", "lacp0", "ipsec", "drop", "oobm"), currently limited to specifying one interface per mxedge
      properties:
        tcpdump_expression:
          description: tcpdump expression common for wired,radiotap
          type: string
      type: object
    capture_mxedge_format:
      default: stream
      description: "PCAP format. enum: \n    * `stream`: to Mist cloud\n    * `tzsp`: stream packets (over UDP as TZSP packets) to a remote host (typically running Wireshark)"
      enum:
      - stream
      - tzsp
      type: string
    response_pcap_status_failed:
      description: List of APs where configuration attempt failed
      items:
        type: string
      type: array
    response_pcap_status_mxedges_item:
      additionalProperties: false
      properties:
        interfaces:
          additionalProperties:
            $ref: '#/components/schemas/capture_mxedge_mxedges_interfaces'
          description: Dict of interfaces to capture on, property key is the port name
          type: object
      type: object
    capture_site:
      discriminator:
        mapping:
          client: '#/components/schemas/capture_client'
          gateway: '#/components/schemas/capture_gateway'
          new_assoc: '#/components/schemas/capture_new_assoc'
          radiotap: '#/components/schemas/capture_radiotap'
          radiotap,wired: '#/components/schemas/capture_radiotapwired'
          scan: '#/components/schemas/capture_scan'
          switch: '#/components/schemas/capture_switch'
          wired: '#/components/schemas/capture_wired'
          wireless: '#/components/schemas/capture_wireless'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/capture_client'
      - $ref: '#/components/schemas/capture_gateway'
      - $ref: '#/components/schemas/capture_new_assoc'
      - $ref: '#/components/schemas/capture_radiotap'
      - $ref: '#/components/schemas/capture_radiotapwired'
      - $ref: '#/components/schemas/capture_scan'
      - $ref: '#/components/schemas/capture_switch'
      - $ref: '#/components/schemas/capture_wired'
      - $ref: '#/components/schemas/capture_wireless'
    response_pcap_search_item_aps:
      items:
        $ref: '#/components/schemas/response_pcap_search_item_ap'
      type: arr

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