Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Swagger integration
{
  "openapi": "3.0.3",
  "info": {
    "title": "QPAPI",
    "description": "QPAPI is a REST API for the QP hardware",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "Capture",
      "description": "Everything capture related"
    },
    {
      "name": "Search",
      "description": "Everything search related"
    },
    {
      "name": "File Manager",
      "description": "Everything file manager related"
    },
    {
      "name": "Service Manager",
      "description": "Everything service manager related"
    },
    {
      "name": "Request",
      "description": "Everything request related"
    },
    {
      "name": "Etc",
      "description": "Everything request related"
    }
  ],
  "paths": {
    "/capture/capture_settings": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture settings",
        "description": "Get capture settings such as port status, file naming, directory paths, capture methods, size configurations, compression, rotation, synchronization, and other specific settings related to data capture operations.",
        "operationId": "capture_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_settings example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "Port0": "on",
                          "Port_Alias": "Floor3",
                          "Filename": "20200213_144347",
                          "CapDir": "/cifs/capture/records/Port0",
                          "Timestamp": "microsecond",
                          "Cap2Disk": "capture",
                          "IncFile": "on",
                          "SegmentSize": "bysize",
                          "Bytesize": "1000",
                          "Sizeunit": "MB",
                          "compress": "false",
                          "Rotation": "on",
                          "SyncDetect": "false",
                          "Merge_Ports": "off",
                          "Port_Slicing": "",
                          "Filtering_Enable": "off",
                          "Inc_Resume": "0"
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      },
      "put": {
        "tags": [
          "Capture"
        ],
        "summary": "Set capture settings",
        "description": "Set capture settings such as port status, file naming, directory paths, capture methods, size configurations, compression, rotation, synchronization, and other specific settings related to data capture operations.",
        "operationId": "set_capture_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "requestBody": {
          "description": "Capture Settings",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureSettings"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CaptureSettings"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CaptureSettings"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "SUCCESS"
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/capture_settings_help": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture settings help information",
        "description": "Get capture settings help information of parameters that can be set in the capture settings.",
        "operationId": "capture_settings_help",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_settings example": {
                    "value": {
                      "Port#": {
                          "Description": "Port number.  Usually key is Port followed by the number.  Example key: Port0.  (Note: this is not currently used)",
                          "Type": "str",
                          "Required": "False",
                          "Default": "on",
                          "Enum": [
                              "on",
                              "off"
                          ],
                          "Notes": "This is not currently used."
                      },
                      "Port_Alias": {
                          "Description": "Port alias to get capture settings for.",
                          "Type": "str",
                          "Required": "False",
                          "Default": "",
                          "Example": [
                              "Port 0",
                              "Name of Port 0",
                              "ID of Port 0",
                              "etc"
                          ]
                      },
                      "CapDir": {
                          "Description": "Directory to store capture files.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "/cifs/capture/records/",
                          "Example": "/cifs/capture/records/Port1",
                          "Notes": "This directory must exist on the system and be writable by the user running the script."
                      },
                      "Timestamp": {
                          "Description": "Timestamp format to use for capture files.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "nanosecond",
                          "Enum": [
                              "nanosecond",
                              "microsecond",
                              "millisecond",
                              "second"
                          ]
                      },
                      "Cap2Disk": {
                          "Description": "Capture to disk setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "capture",
                          "Enum": [
                              "capture",
                              "nocapture"
                          ]
                      },
                      "IncFile": {
                          "Description": "Increment file name setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "on",
                          "Enum": [
                              "on",
                              "off"
                          ]
                      },
                      "SegmentSize": {
                          "Description": "Segment size setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "bysize",
                          "Enum": [
                              "bysize",
                              "bytime"
                          ]
                      },
                      "Bytesize": {
                          "Description": "Bytesize setting.",
                          "Type": "int",
                          "Required": "True",
                          "Default": "1000",
                          "Example": "1000",
                          "Notes": "This is the number of bytes to capture before creating a new file.  This is only used if SegmentSize is set to bysize."
                      },
                      "Sizeunit": {
                          "Description": "Size unit setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "MB",
                          "Enum": [
                              "MB",
                              "GB",
                              "TB",
                              "PB"
                          ],
                          "Notes": "At the moment, MB is the only unit that is supported."
                      },
                      "compress": {
                          "Description": "Compression setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "false",
                          "Enum": [
                              "true",
                              "false"
                          ]
                      },
                      "Rotation": {
                          "Description": "Rotation setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "on",
                          "Enum": [
                              "on",
                              "off"
                          ]
                      },
                      "SyncDetect": {
                          "Description": "Sync detect setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "false",
                          "Enum": [
                              "true",
                              "false"
                          ]
                      },
                      "Merge_Ports": {
                          "Description": "Merge ports setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "off",
                          "Enum": [
                              "on",
                              "off"
                          ]
                      },
                      "Filtering_Enable": {
                          "Description": "Filtering enable setting.",
                          "Type": "str",
                          "Required": "True",
                          "Default": "off",
                          "Enum": [
                              "on",
                              "off"
                          ]
                      },
                      "Inc_Resume": {
                          "Description": "Increment resume setting.",
                          "Type": "int",
                          "Required": "True",
                          "Default": "0",
                          "Example": "14530",
                          "Notes": "This is the number to start incrementing the file name at.  This is only used if IncFile is set to on."
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/capture/capture_filter_settings": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture filter settings",
        "description": "Get capture filter settings such as IP address, port number, protocol, and other specific settings related to virtual capture setting operations.",
        "operationId": "capture_filter_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/port_num_required"
          },
          {
            "$ref": "#/components/parameters/filter_num"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_filter_settings example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "Filter": "Filter0",
                          "Color": "0",
                          "Priority": "0",
                          "Filtering_Enable": "on",
                          "VLAN_ID": "",
                          "Cap_Unfiltered": "",
                          "IPV4": "192.168.1.180|0|AND|192.168.1.100|0",
                          "IPV6": "",
                          "IP_ALL": "192.168.1.180|0|AND|192.168.1.100|0",
                          "Protocol_Select": "other_port",
                          "Port_Number_Entry": "",
                          "Port_Type": "any",
                          "IP0": "",
                          "IP1": "",
                          "IP2": "",
                          "IP3": "",
                          "IPD0": "",
                          "IPD1": "",
                          "IPD2": "",
                          "IPD3": "",
                          "IP_COND": "",
                          "ALL_TCP": "false",
                          "HTTP": "false",
                          "HTTPS": "false",
                          "TELNET": "false",
                          "SSH": "false",
                          "RSH": "false",
                          "FTP": "false",
                          "SMTP": "false",
                          "POP3": "false",
                          "NNTP": "false",
                          "NNTPS": "false",
                          "IRC": "false",
                          "LDAP": "false",
                          "ALL_UDP": "false",
                          "DNS": "false",
                          "TFTP": "false",
                          "SNTP": "false",
                          "NETBIOS": "false",
                          "NTP": "false",
                          "DHCP": "false",
                          "BOOTP": "false",
                          "GTP_CNTL": "false",
                          "GTP_USER": "false",
                          "GTP_V0U": "false",
                          "GTP_V1U": "false",
                          "GTP_V1V2": "false",
                          "CAP_NAME": "20240627_121351",
                          "CAP_DIR": "",
                          "Inc_Resume": "0",
                          "Custom_Filter": ""
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      },
      "put": {
        "tags": [
          "Capture"
        ],
        "summary": "Set capture filter settings",
        "description": "Get capture filter settings such as IP address, port number, protocol, and other specific settings related to virtual capture setting operations.",
        "parameters": [
          {
            "$ref": "#/components/parameters/port_num_required"
          },
          {
            "$ref": "#/components/parameters/filter_num"
          }
        ],
        "requestBody": {
          "description": "Capture Settings",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilterSettings"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/FilterSettings"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/FilterSettings"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "SUCCESS"
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/capture_scheduler": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture scheduler settings",
        "description": "Get capture scheduler settings such as port status, start time, and end time.",
        "operationId": "capture_scheduler",
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_scheduler example": {
                    "value": {
                      "ports": {
                          "0": "on",
                          "1": "on"
                      },
                      "is_enabled": true,
                      "start_hour": 0,
                      "duration": 1,
                      "current_time": "06/27/2024, 12:31:02 PM",
                      "start_time": "06/28/2024, 12:00:00 AM",
                      "end_time": "06/28/2024, 01:00:00 AM"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      },
      "put": {
        "tags": [
          "Capture"
        ],
        "summary": "Set capture scheduler settings",
        "description": "Get capture scheduler settings such as port status, start time, and end time.",
        "parameters": [
          {
            "$ref": "#/components/parameters/ports"
          },
          {
            "$ref": "#/components/parameters/duration"
          },
          {
            "$ref": "#/components/parameters/start_hour"
          }
        ],
        "requestBody": {
          "description": "Capture Settings",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureScheduler"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CaptureScheduler"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CaptureScheduler"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "SUCCESS"
          },
          "422": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/is_capturing": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Check if a port is capturing",
        "description": "Check if a port is capturing. If no port is specified, check all ports. Port must be a valid port number, or 'ALL' for all ports.\n\n_Port parameter is optional._",
        "operationId": "is_capturing",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "Is_cap example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "0": false,
                          "1": false,
                          "2": false,
                          "3": false,
                          "4": false,
                          "5": false
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        },
        "security": [
          {
            "qp_user": []
          },
          {
            "api_key": []
          }
        ]
      }
    },
    "/capture/start_capture": {
      "post": {
        "tags": [
          "Capture"
        ],
        "summary": "Start capturing",
        "description": "Start capturing.  If no port is specified, start capturing on all ports. Port must be a valid port number, or 'ALL' for all ports.\n\n_Port parameter is optional._",
        "operationId": "start_capture",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "start_capture example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "0": "Capture started on port 0"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/stop_capture": {
      "post": {
        "tags": [
          "Capture"
        ],
        "summary": "Stop capturing",
        "description": "Stop capturing.  If no port is specified, stop capturing on all ports. Port must be a valid port number, or 'ALL' for all ports.\n\n_Port parameter is optional._",
        "parameters": [
          {
            "$ref": "#/components/parameters/port"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "stop_capture example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "0": "Capture stopped on port 0"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/capture_stats": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture statistics",
        "description": "Returns the status and network traffic statistics for monitored ports.",
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_stats example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                        "DATETIME": "01/10/2020 13:25:02",
                        "1": {
                          "PORT_NUM": "1",
                          "RX_BYTES_SEC": "0000000000000000",
                          "RX_PACKETS_SEC": "0000000000000000"
                        },
                        "0": {
                          "PORT_NUM": "0",
                          "RX_BYTES_SEC": "0000000000000000",
                          "RX_PACKETS_SEC": "0000000000000000"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/reset_capture_stats": {
      "post": {
        "tags": [
          "Capture"
        ],
        "summary": "Reset capture statistics",
        "description": "Reset capture statistics",
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "reset_capture_stats example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": "Capture stats successfully reset"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/port_link_state": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture port link state",
        "description": "Checking capture link state on all ports",
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "port_link_state example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                        "0": "up",
                        "1": "up"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/capture/capture_usage": {
      "get": {
        "tags": [
          "Capture"
        ],
        "summary": "Get capture usage",
        "description": "Get a log of actions performed on the capture settings and operations for different ports. Each log entry includes a timestamp, an action description, and the user who performed the action.",
        "parameters": [
          {
            "$ref": "#/components/parameters/tail"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "capture_usage example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": [
                          {
                              "timestamp": "Fri May 10 15:53:20 UTC 2024",
                              "action": "Capture SETTINGS EDITING on Port 0 using the GUI by user",
                              "user": "admin"
                          },
                          {
                              "timestamp": "Fri May 10 15:53:26 UTC 2024",
                              "action": "Capture SETTINGS EDITING on Port 1 using the GUI by user",
                              "user": "admin"
                          },
                          {
                              "timestamp": "Fri May 10 15:53:26 UTC 2024",
                              "action": "Capture SETTINGS EDITING on Port 1 using the GUI by user",
                              "user": "admin"
                          },
                          {
                              "timestamp": "Tue 14 May 2024 03:29:03 PM UTC",
                              "action": "Capture STARTED on Port 0 using the CLI",
                              "user": "root"
                          }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/search/packet_search": {
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Get packet search result",
        "description": "Get packet search result. BPF, expression, packet slice can be used to filter the search result. The response contains a task_id, which can be passed to the endpoint /request/status to check the status of the search results.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PacketSearch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "packet_search example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "task_id": "e5682203-fb23-4f0e-8b79-1ec4454b823b"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/search/time_search": {
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Get time search result",
        "description": "Get time search result. This endpoint allows users to perform searches within a time_range window starting from the current time of the request and going back time_range seconds from that time. Time range, syntax, expression, port number, packet slice can be used to filter the search result. The response contains a task_id, which can be passed to the endpoint /request/status to check the status of the search results.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TimeSearch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "time_search example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": {
                          "port": null,
                          "capture_directory": null,
                          "time_range": 1,
                          "args": [
                              null,
                              "/cifs/capture/permanent/search_results/20240626-113324",
                              1,
                              "",
                              "udp",
                              0
                          ]
                      },
                      "task_id": "674851e4-eb7c-43f6-858e-4f3489753a1c"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/search/date_time_search": {
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Get date and time search result",
        "description": "Get date and time search result. This endpoint allows users to perform searches based on a specific start time and end time. start time, end time, syntax, expression, port number, packet slice can be used to filter the search result. The response contains a task_id, which can be passed to the endpoint /request/status to check the status of the search results.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/DateTimeSearch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "date_time_search example": {
                    "value": {
                      "status": "SUCCESS",
                      "task_id": "37192b0b-7814-4e47-8b24-77b9d1a437e2",
                      "msg": {
                          "port": null,
                          "capture_directory": "/cifs/capture/permanent/date_time_search/",
                          "start_time": "2023-02-03 10:49:00",
                          "end_time": "2023-02-03 10:50:00",
                          "args": [
                              "/cifs/capture/permanent/date_time_search/",
                              "/cifs/capture/permanent/search_results/20240709-151553",
                              "2023-02-03 10:49:00",
                              "2023-02-03 10:50:00",
                              null,
                              "udp",
                              0
                          ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/search/directory_search": {
      "post": {
        "tags": [
          "Search"
        ],
        "summary": "Run directory packet search result",
        "description": "Run packet search for all files in a specified directory. BPF, expression, packet slice can be used to filter the search result. When capture is in progress, the search will be performed on the files that are already captured. The response contains a task_id, which can be passed to the endpoint /request/status to check the status of the search results.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/DirectorySearch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "directory_search example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": "packet search is in progress",
                      "task_id": "f5128ebb-fcef-48ef-acc2-e451a93667ce"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/servicefile_manager/getdownload_service_statuspcap": {
      "get": {
        "tags": [
          "ServiceFile Manager"
        ],
        "summary": "GetDownload a servicepcap statusfile",
        "description": "GetDownload a servicepcap statusfile of the input service. service name does not be a full name, it can be a partial name.under /cifs/capture directory",
        "operationId": "downloadfile",
        "parameters": [
          {
            "$ref": "#/components/parameters/servicefilename"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
   },
          "application/json400": {
            "description": "ERROR"
  "examples": {       },
           "get_service_status example"500": {
            "description": "ERROR"
      "value": {   }
        }
      }
   "status": "SUCCESS" },
    "/file_manager/display_directory": {
      "get": {
        "msgtags": {[
          "File Manager"
        ],
        "qmanager_api.servicesummary": "enabled"Display capture directories",
        "description": "Display capture directories. If parameter is empty, display all directories under /records and /permanent",
  }      "operationId": "displaydirs",
        "parameters": [
    }      {
            }"$ref": "#/components/parameters/directory"
          }
     }   ],
        "responses": {
 }         "200": {
  }           }"description": "SUCCESS",
            "400content": {
              "descriptionapplication/json": {
"FAILED"           },     "examples": {
    "500": {             "descriptiondisplay_directory example": "ERROR"{
          }         } "value": {
    }     },     "/service_manager/restart_service": {       "poststatus": "SUCCESS",
 {         "tags": [           "msg"Service: [
Manager"         ],         "summary": "Restart service        "/cifs/capture/records/Port0",
        "description": "Restart service. Parameter needs to be a full service name.",         "parameters": [/cifs/capture/records/Port1"
            {          ]
  "$ref": "#/components/parameters/service"           }      }
  ],         "responses": {      }
    "200": {           }
 "description": "SUCCESS",            }
"content": {           }
   "application/json": {      },
          "examples400": {
                  "restart_service example": {"description": "FAILED"
          },
          "value500": {
  
                   "status"description": "SUCCESSERROR",
          }
        }
  "msg": "nfs-server.service restarted"  }
    },
    "/service_manager/get_service_status": {
      "get": }{
        "tags": [
        }  "Service Manager"
        ],
    }    "summary": "Get a service status",
      }  "description": "Get a service status of the input service. service name }does not be a full name, it can be a partial }name.",
 
        "400parameters": [
          {
            "description$ref": "FAILED#/components/parameters/service"
          },
          "500": {
   ],
        "descriptionresponses": "ERROR"{
          }"200": {
       }     "description":  }"SUCCESS",
       },     "/service_manager/enable_servicecontent": {
      "post": {         "tagsapplication/json": [{
          "Service Manager"     "examples": {
  ],         "summary": "Enable service",     "get_service_status example": {
 "description": "Enable service. Parameter needs to be a full service name.",         "parametersvalue": [{
          {             "$refstatus": "#/components/parameters/service"
   SUCCESS",
      }         ],         "responsesmsg": {
            "200": {             "descriptionqmanager_api.service": "SUCCESSenabled",
              "content": {       }
       "application/json": {            }
    "examples": {
                  "enable_service example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": "nfs-server.service enabled"
                    }
                  }
 
              }
              }
 
          }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/service_manager/disablerestart_service": {
      "post": {
        "tags": [
          "Service Manager"
        ],
        "summary": "DisableRestart service",
        "description": "DisableRestart service. Parameter needs to be a full service name.",
        "parameters": [
          {
            "$ref": "#/components/parameters/service"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "disablerestart_service example": {
                    "value": {
                      "status": "SUCCESS",
                      "msg": "nfs-server.service disabledrestarted"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/service_manager/listenable_all_servicesservice": {
      "getpost": {
        "tags": [
          "Service Manager"
        ],
        "summary": "ListEnable all servicesservice",
        "description": "List all services in the systemEnable service. Parameter needs to be a full service name.",
        "parameters": [
        ],  {
      "responses": {           "200$ref": {"#/components/parameters/service"
          }
   "description": "SUCCESS",    ],
        "contentresponses": {

             "application/json"200": {
   
            "examplesdescription": {"SUCCESS",
                  "list_all_services example"content": {
     
              "valueapplication/json": {
     
                "statusexamples": "SUCCESS",{
                      "msg""enable_service example": {
   
                      "accounts-daemon.service"value": "enabled",
   {
                      "apache-htcacheclean.servicestatus": "disabledSUCCESS",
                         "msg": "apache2nfs-server.service": "enabled"
 
                    }
                    }
                  }
                }

             }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/request/statusservice_manager/disable_service": {
      "getpost": {
        "tags": [
          "RequestService Manager"
        ],
        "summary": "Get a task statusDisable service",
        "description": "GetDisable aservice. taskParameter statusneeds basedto onbe thea taskfull id passed in the parameterservice name.",
        "parameters": [
          {
            "$ref": "#/components/parameters/task_idservice"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "systemdisable_timeservice example": {
                    "value": {
                      "taskstatus": null"SUCCESS",
                      "readymsg": true,
"nfs-server.service disabled"
                    }
"result": {                 }
         "time": "20240628-134640",      }
              }
     "Input Filename": "/cifs/capture/records/Port0/qpapi_1111.pcap",     }
          },
          "Output Filename400": "/cifs/capture/permanent/qpapi_search.pcap",{
            "description": "FAILED"
            "BPF Syntax": "src host 172.16.131.10 and src port 8080"},
          "500":  {
             "Filter Expressionsdescription": "httpERROR",
          }
        }
      "Total}
Packets Filtered": 31,  },
    "/service_manager/list_all_services": {
         "get": {
        "Total Packets Processedtags": 704182,[
          "Service Manager"
        ],
      "PCAP File Size"summary": 4026,"List all services",
        "description": "List all services in the system.",
         "Average Packet Sizeparameters": 113.1,[
        ],
        "responses": {
          "Packet Filtered200": true{
            "description": "SUCCESS",
        },       "content": {
               "statusapplication/json": "SUCCESS",{
                      "completed_at"examples": "2024-06-28 20:46:40.032663+00:00",{
                  "list_all_services example": {
  "success": true                 "value": {
  }                   } "status": "SUCCESS",
              }        "msg": {
     }             }        "accounts-daemon.service": "enabled",
 },           "400": {             "descriptionapache-htcacheclean.service": "FAILEDdisabled",
          },                "500apache2.service": {"enabled"
               "description": "ERROR"      }
    }         }       }
    }   },   "security": [     {}  }
],   "servers": [     {       "url": "https://{ip_addr}:8080/api/v1",}
       "description": "QP server"     },
     {       "url": "http://{ip_addr}:8080/api/v1",}
        "description": "QP server"},
    }   ],   "components400": {
    "parameters": {       "portdescription": {"FAILED"
         "name": "port", },
          "in500": "query", {
            "description": "Port NumberERROR",
        "required": false, }
       "schema": {}
      }
   "type": "string" },
    "/request/status": {
      "defaultget": "ALL",{
          "enumtags": [
          "Request"
    "ALL",    ],
        "0summary",: "Get a task status",
        "1description",: "Get a task status based on the task id passed in the parameter"2",
        "parameters": [
     "3",     {
       "4",     "$ref": "#/components/parameters/task_id"
      "5"    }
      ]  ],
      }  "responses": {
   },       "port_num200": {
            "namedescription": "portSUCCESS",
        "in": "query",
        "descriptioncontent": "Port{
Number",         "required": false,         "schema"application/json": {
          "type": "integer",           "enum"examples": {
 [             0,    "system_time example": {
      1,             2, "value": {
          3,            "task": 4null,
            5           ]"ready": true,
        }       },       "port_num_requiredresult": {
        "name": "port",         "in": "query",         "descriptiontime": "Port Number20240628-134640",
        "required": true,         "schema": {           "type"Input Filename": "integer/cifs/capture/records/Port0/qpapi_1111.pcap",
          "enum": [             0,  "Output Filename": "/cifs/capture/permanent/qpapi_search.pcap",
        1,             2,     "BPF Syntax": "src host 172.16.131.10 and src port 38080",
            4,             5, "Filter Expressions": "http",
         6,             7    "Total Packets Filtered": 31,
   ]         }       },       "filenameTotal Packets Processed": {704182,
                "name": "filename",         "inPCAP File Size": "query"4026,
        "description": "Filename",         "required": true,       "Average Packet "schemaSize": {113.1,
              "type": "string",           "examplePacket Filtered": "/cifs/capture/permanent/qpapi.pcap"true
           }       },    },
  "directory": {         "name": "directory",         "instatus": "querySUCCESS",
        "description": "Directory path",              "requiredcompleted_at": true,"2024-06-28 20:46:40.032663+00:00",
          "schema": {           "typesuccess": "string",true
          "example": "/cifs/capture/permanent/qpapi"         }
       },       "input_directory": {   }
     "name": "input_directory",         "in": "query", }
              }
"description": "Input directory path",         "required": true,}
         "schema": { },
          "type400": "string", {
            "exampledescription": "/cifs/capture/permanent/qpapi"
FAILED"
       }   },
   },       "output_directory500": {
            "namedescription": "output_directoryERROR",
        "in": "query", }
       "description": "Output directory path", }
      }
   "required": true},
   
    "schema/etc/auth": {
 
        "typeget": "string",
 {
        "exampletags": "/cifs/capture/permanent/qpapi"[
        }  "Etc"
    },    ],
  "syntax": {         "namesummary": "syntaxGet an auth id",
        "indescription": "query",Get an auth id      "description": "BPF syntax"for qpapi",
        "requiredparameters": false,[
         "schema": {
            "type$ref": "string",#/components/parameters/user"
          "example": "ip host 192.168.1.120"
 }
        ],
      }  "responses": {
   },       "search_file_count200": {
            "namedescription": "search_file_countSUCCESS",
            "incontent": "query",{
        "description": "File counts to search at once",
 "application/json": {
      "required": false,         "schemaexamples": {
 
        "type": "integer",         "auth  "defaultexample": 5,{
          "example": 10         }"value": {
     },       "expression": {         "nametask": "expression",null,
            "in": "query",         "descriptionready": "Expression",true,
           "required": false,           "schemaresult": {
          "type": "string",                "exampletime": "password"
   20240628-134640",
    }       },       "tail": {        "Input Filename"name": "tail/cifs/capture/records/Port0/qpapi_1111.pcap",
         "in": "query",           "description      "Output Filename": "Tail/cifs/capture/permanent/qpapi_search.pcap",
        "required": false,
        "schema": {          "BPF Syntax"type": "integer",src host 172.16.131.10 and src port      "default": 10,8080",
           "example": 5         }     "Filter  }Expressions": "http",
      "loop_replay": {         "name": "loop_replay",         "inTotal Packets Filtered": "query"31,

       "description": "Loop replay counts",         "required": true,       "Total Packets Processed"schema": {704182,
          "type": "integer",           "example": 0   "PCAP File Size": 4026,
  }       },       "service": {         "nameAverage Packet Size": "service"113.1,
        "in": "query",         "description": "Service name",         "required"Packet Filtered": true,
         "schema": {           "type": "string" },
          "example": "qmanager_api.service"            }
"status": "SUCCESS",
     },       "time_range": {         "namecompleted_at": "time_range",2024-06-28 20:46:40.032663+00:00",
            "in": "query",         "descriptionsuccess": true
  "Time range for a search",         "required": false,    }
    "schema": {           "type": "integer", }
         "default": 1,      }
    "example": 600         }
      },      }
 "capture_directory": {        },
"name": "capture_directory",         "in400": "query",{
            "description": "FAILED"Input
 directory path",        },
"required": true,         "schema500": {
            "typedescription": "stringERROR",
          "example": "/cifs/capture/records/Port0"}
        }
      },
    },
    "packet_slice/etc/check_auth": {
 
      "nameget": "packet_slice",{
        "intags": "query",[
         "description "Etc"
        ],
        "summary": "PacketCheck an sliceauth (bytes)id",
        "requireddescription": false"Check an auth id for qpapi",
        "schemaparameters": [
{          {
"type": "integer",           "example$ref": 120 "#/components/parameters/user"
          },
      },    {
  "filter_num": {         "name$ref": "filter_num",#/components/parameters/subscription_key"
        "in": "query",  }
      "description": "Filter number"],
        "requiredresponses": {
true,          "schema200": {
            "typedescription": "integerSUCCESS",
            "examplecontent": 0{
        }       },"application/json": {
      "start_hour": {         "nameexamples": "start_hour",{
        "in": "query",         "descriptioncheck_auth example": "Time{
to start capturing (military time)",         "required": true,         "schemavalue": {
          "type": "integer",           "exampletask": 22null,
        }       },       "durationready": true,
  {          "name": "duration",         "inresult": "query", {
               "description": "Capture duration",         "requiredtime": true,"20240628-134640",
              "schema": {           "typeInput Filename": "integer/cifs/capture/records/Port0/qpapi_1111.pcap",
          "example":  1         }     "Output  }Filename": "/cifs/capture/permanent/qpapi_search.pcap",
      "ports": {         "name": "ports",         "inBPF Syntax": "query",src host 172.16.131.10 and src     "description": "Ports"port 8080",
        "required": true,         "schema": {       "Filter    Expressions"type": "integerhttp",
            "example": 0         }    "Total Packets Filtered": }31,
      "task_id": {         "name": "task_id",         "inTotal Packets Processed": "query"704182,
        "description": "Task ID",            "required": true,     "PCAP File   Size"schema": {4026,
          "type": "string",           "example": "e2e9ba08-c88c-4d47-b9ca-c01257d5ff80"   "Average Packet Size": 113.1,
  }       }     },     "schemas": {       "CaptureSettingsPacket Filtered": true
{         "type": "object",         "properties": {  },
        "Filename": {             "typestatus": "stringSUCCESS",
          },            "CapDir": {completed_at": "2024-06-28 20:46:40.032663+00:00",
                      "typesuccess": "string"true
               },     }
     "Timestamp": {            }
"enum": [               "µs",}
              "ns"}
            ]}
          },
          "Cap2Disk400": {
            "typedescription": "stringFAILED"
          },
          "IncFile500": {
            "enumdescription": ["ERROR"
          }
   "on",     }
      }
  "off"  }
  },
  "security": [
   ] {}
  ],
  "servers": [
  },    {
      "Compressionurl": "https://{hostname}:8080/api/v1",
      "description": "QP server"
   "enum": [ },
    {
         "on",
      "url": "http://{hostname}:8080/api/v1",
       "offdescription": "QP server"
       }
  ],
  "components": {
    "parameters": {
},           "Rotationport": {
  
         "enumname": ["port",
             "in": "onquery",
     
        "offdescription": "Port Number",
        "required": false,
]        "schema": {
 },
          "SegmentSizetype": {"string",
            "typedefault": "stringALL",
            "enum": [
              "10SECALL",
 
            "15SEC0",
 
            "30SEC1",
              "1MIN2",
 
            "2MIN3",
 
            "3MIN4",

             "5MIN5",
          ]
   "10MIN",     }
      },
  "20MIN",    "port_num": {
        "name": "30MINport",
        "in": "query",
     10000,   "description": "Port Number",
        "required": 100000false,
        "schema": {
    1000000,               2000000"type": "integer",
          "enum": [
  10000000,          0,
    "bysize"         1,
   ]         2,
 }         }       }3,
      "CaptureScheduler": {     4,
   "type": "object",        5
"properties": {         ]
 "ports": {      }
      "type": "object",
     },
      "exampleport_num_required": {
   
          "0name": "offport",
     
        "1in": "offquery",
        "description": "Port Number",
 }           }"required": true,
          "is_enabledschema": {

           "type": "booleaninteger",
 
          "enum": [
              true0,
            1,
 false           2,
 ]           }3,
          "start_hour": { 4,
           "type": "integer" 5,
            "enum": [6,
            7
  0,        ]
      1,  }
      },
     2, "filename": {
            3"name": "filename",
        "in": "query",
    4,    "description": "Filename",
        "required": 5true,
        "schema": {
    6,      "type": "string",
       7,   "example": "/cifs/capture/permanent/qpapi.pcap"
        }
 8,     },
      "directory": {
 9,       "name": "directory",
      10,  "in": "query",
        "description": "Directory  11path",
        "required": true,
    12,    "schema": {
         13, "type": "string",
          "example":  14,"/cifs/capture/permanent/qpapi"
        }
      15},
      "input_directory": {
      16,  "name": "input_directory",
           17"in": "query",
        "description": "Input directory path",
  18,      "required": true,
       19, "schema": {
            20"type": "string",
              21,"example": "/cifs/capture/permanent/qpapi"
        }
      22},
      "output_directory": {
      23  "name": "output_directory",
         ]"in": "query",
        "description":  },
 "Output directory path",
        "required": true,
        "durationschema": {
 
          "type": "integerstring",
           "example": "enum": [/cifs/capture/permanent/qpapi"
        }
      0},
      "syntax": {
      1,  "name": "syntax",
           2"in": "query",
        "description": "BPF syntax",
   3,     "required": false,
        4,
"schema": {
             5"type": "string",
          "example": "ip host  6,192.168.1.120"
        }
      7},
      "search_file_count": {
      8,  "name": "search_file_count",
           9"in": "query",
        "description": "File counts to search at 10once",
        "required": false,
        "schema": {
    11,      "type": "integer",
        12  "default": 5,
         ] "example": 10
        },
      },
      "current_timeexpression": {
        "name": "expression",
        "typein": "stringquery",
  
         "exampledescription": "Expression"06/27/2024,
11:57:57 AM"           },
 "required": false,
        "start_timeschema": {
            "type": "string",
 
          "example": "06/28/2024, 10:00:00 AM""password"
        }
   },   },
       "end_timetail": {

           "typename": "stringtail",
   
        "examplein": "query"06/28/2024,
11:00:00 AM"       "description": "Tail",
  }         }
      },"required": false,
        "FilterSettingsschema": {
          "type": "objectinteger",
          "propertiesdefault": {10,
          "Filterexample": {5
        }
   "type": "string",  },
          "description"loop_replay": {
"filter  numbers are different depending on the QP series"name": "loop_replay",
        "in": "query",
        "exampledescription": "Filter0Loop replay counts",
          },
 "required": true,
        "Colorschema": {

           "type": "integer",
            "enumexample": [0
        }
     0 },
      "service": {
      1,  "name": "service",
           2"in": "query",
        "description": "Service name",
   3,     "required": true,
        4,
"schema": {
          "type": "string",
 5,         "example": "qmanager_api.service"
    6,    }
      },
   7   "time_range": {
        ]
"name": "time_range",
         },
 "in": "query",
        "Prioritydescription": {"Time range for a search",
        "typerequired": "integer"false,
            "enumschema": [{
              0"type": "integer",
              "default": 1,
          "example": 600
  2,      }
        3},
      "capture_directory": {
      4,  "name": "capture_directory",
           5"in": "query",
        "description": "Input directory path",
  6,      "required": true,
       7 "schema": {
          ]
"type": "string",
         }, "example": "/cifs/capture/records/Port0"
        "Filtering_Enable": {}
      },
      "enumpacket_slice": [{
             "name": "onpacket_slice",
             "in": "query",
        "description": "Packet slice (bytes)",
]           },
"required": false,
         "VLAN_IDschema": {
 
          "type": "integer",
            "example": 21120
        }
  },    },
      "Capfilter_Unfilterednum": {
   
        "enumname": ["filter_num",
              "on"in": "query",
              "description": "Filter number",
        "required": true,
]        "schema": {
 },           "IPV4type": {
"integer",
           "typeexample": "string",0
        }
   "example src ip": "192.168.1.100|-|-" },
      "start_hour": {
    "example   dst ip"name": "-|-|192.168.1.100start_hour",
        "in": "query",
   "example src ip or dst ip"description": "192.168.1.100|0|OR|192.168.1.134|0Time to start capturing (military time)",
        "required": true,
  "example src ip and dst ip": "192.168.1.100|0|AND|192.168.1.134|0",
 "schema": {
          "type": "example src ip or dst ip with cidr": "192.168.1.100|24|OR|192.168.1.134|24","integer",
          "example": 22
        }
   "example src ip and},
dst ip with cidr": "192.168.1.100|24|AND|192.168.1.134|24"
  "duration": {
         },
 "name": "duration",
        "IPV6in": {
 "query",
          "typedescription": "stringCapture duration",
   
        "examplerequired": "2001:db8:3333:4444:5555:6666:7777:8888|-|-"true,
          },"schema": {
          "IP_ALLtype": {
"integer",
           "typeexample": "string"1
        }
  },    },
      "Protocol_Selectports": {
   
        "typename": "stringports",
  
         "enumin": ["query",
        "description": "Ports",
    "tcp",      "required": true,
        "udpschema",: {
            "type": "other_portinteger",
          "example": 0
]        }
  },    },
      "Porttask_Number_Entryid": {
 
          "typename": "integertask_id",
   
        "examplein": 80"query",
        "description": "Task }ID",

         "Port_Typerequired": {
  true,
        "schema": {
          "type": "string",
           "example": "enum": [e2e9ba08-c88c-4d47-b9ca-c01257d5ff80"
        }
      "tcp"},
      "user": {
      "udp  "name": "user",
        "in": "query",
        "anydescription": "User name",
        "required": true,
]           },"schema": {
          "IP0type": {
 "string",
          "typeexample": "stringadmin"
        }
 },     },
      "IP1subscription_key": {
   
        "typename": "stringsubscription_key",
          }"in": "query",
          "IP2description": {
   "Subscription key",
        "typerequired": "string"true,
        "schema": {
},
          "IP3type": {"string",
            "typeexample": "string"eyJhciOiJIUzR5cCI6VCJ9.eyJ1c2VWRtaW4iLW4iLCJpYXQiO1ODA5NTV9.KjMOhT1"
        }
      },
     },
    "IPD0schemas": {
      "CaptureSettings": {
        "type": "stringobject",
          },"properties": {
          "IPD1Filename": {
            "type": "string"
          },
          "IPD2CapDir": {
            "type": "string"
          },
          "IPD3Timestamp": {
            "typeenum": "string"[
              },"µs",
              "IP_CONDns":
{            ]
"type": "string"
          },
          "ALL_TCPCap2Disk": {
            "type": "boolean",string"
          },
          "enumIncFile": [{
            "enum": [
true,              "on",
false             ] "off"
         },   ]
       "HTTP": {  },
          "typeCompression": "boolean",{
            "enum": [
              true"on",
              false"off"
            ]
          },
          "HTTPSRotation": {
            "type": "boolean",
            "enum": [
              true"on",
              false"off"
            ]
          },
          "TELNETSegmentSize": {
            "type": "booleanstring",
            "enum": [
              true"10SEC",
              false"15SEC",
            ]     "30SEC",
     },           "SSH1MIN":,
{             "type": "boolean2MIN",
              "enum3MIN":,
[               true"5MIN",
              false"10MIN",
            ]      "20MIN",
    },           "RSH30MIN":,
{             "type": "boolean" 10000,
            "enum": [  100000,
              true1000000,
              false2000000,
            ]  10000000,
        },
          "FTPbysize":
{            ]
"type": "boolean",         }
   "enum": [    }
          true},
      "CaptureScheduler": {
      false  "type": "object",
         ]
          },"properties": {
          "SMTPports": {
            "type": "booleanobject",
            "enumexample": [{
               true"0": "off",
              false"1": "off"
            ]}
          },
          "POP3is_enabled": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NNTPstart_hour": {
            "type": "booleaninteger",
            "enum": [
              true0,
              1,
 false             ]2,
          },    3,
      "NNTPS": {       4,
     "type": "boolean",        5,
    "enum": [         6,
     true,         7,
     false         8,
   ]           }9,
          "IRC": {   10,
         "type": "boolean",    11,
        "enum": [     12,
         true,     13,
         false     14,
       ]       15,
   },           "LDAP": {16,
             "type": "boolean" 17,
            "enum": [  18,
              true19,
              false20,
             ] 21,
         },     22,
              23
     "ALL_UDP": {       ]
       "type": "boolean",  },
          "enumduration": [{
            "type": "integer",
    true,        "enum": [
     false         0,
   ]           }1,
          "DNS": {   2,
         "type": "boolean",    3,
        "enum": [     4,
         true,     5,
         false     6,
       ]       7,
   },           "TFTP": {8,
             "type": "boolean", 9,
             "enum": [ 10,
              true11,
              false12
            ]
          },
          "SNTPcurrent_time": {
            "type": "booleanstring",
            "enumexample": [
 "06/27/2024, 11:57:57 AM"
          },
 true,         "start_time": {
    false        "type": "string",
   ]           },
 "example": "06/28/2024, 10:00:00 AM"
        "NETBIOS": {  },
          "typeend_time": "boolean",{
            "enumtype": ["string",
            "example":  true,"06/28/2024, 11:00:00 AM"
          }
   false     }
      },
]      "FilterSettings": {
   },
      "type": "object",
        "NTPproperties": {

           "typeFilter": "boolean",{
            "enumtype": ["string",
            "description": "filter true,numbers are different depending on the QP series",
       false             ]"example": "Filter0"
          },
          "DHCPColor": {
            "type": "booleaninteger",
            "enum": [
              true0,
              false1,
            ]  2,
        },      3,
    "BOOTP": {             "type": "boolean",4,
             "enum": [ 5,
              true6,
              false7
            ]
          },
          "GTP_CNTLPriority": {
            "type": "booleaninteger",
            "enum": [
              true0,
              false1,
            ]  2,
        },           "GTP_USER": {3,
             "type": "boolean", 4,
             "enum": [ 5,
              true6,
              false7
            ]
          },
          "GTPFiltering_V0UEnable": {
            "typeenum": "boolean",[
              "enumon":,
[              ""
true,            ]
  false         },
   ]           },
          "GTP_V1U"VLAN_ID": {
            "type": "booleaninteger",
            "enumexample": [
              true,
              false
            ]21
           },
          "GTPCap_V1V2Unfiltered": {
            "type": "boolean",
            "enum": [
              true"on",
              false""
            ]
          },
          "CAP_NAMEIPV4": {
            "type": "booleanstring",
            "enumexample src ip": ["192.168.1.100|-|-",
            "example  truedst ip": "-|-|192.168.1.100",
            "example src falseip or dst ip": "192.168.1.100|0|OR|192.168.1.134|0",
        ]    "example src ip and    },
          "CAP_DIR": {
dst ip": "192.168.1.100|0|AND|192.168.1.134|0",
            "typeexample src ip or dst ip with cidr": "string192.168.1.100|24|OR|192.168.1.134|24",
            "example src ip and dst ip with cidr": "/cifs/capture/permanent/qpapi192.168.1.100|24|AND|192.168.1.134|24"
          },
          "Inc_ResumeIPV6": {
            "type": "string",
            "example": "2001:db8:3333:4444:5555:6666:7777:8888|-|-"
          },
          "CustomIP_FilterALL": {
            "type": "string" 
         }
        }
  },
   },       "InputOutputDirProtocol_Select": {
            "type": "objectstring",
            "propertiesenum": [
   {           "input_directorytcp":,
{             "type": "stringudp",
              "descriptionother_port":
 "Path to the input directory",       ]
     "example": "/cifs/capture/permanent/qpapi_1"
          },
          "outputPort_Number_directoryEntry": {
            "type": "stringinteger",
            "descriptionexample": "Path to the output directory", 80
          },
          "Port_Type": {
            "exampletype": "/cifs/capture/permanent/qpapi_2"string",
          }
  "enum": [
       }       }"tcp",
      "TimeSearch": {        "udp",
              "type": "object",any"
            ]
         "properties": { },
          "portIP0": {
            "type": "integerstring",
          },
 "description": "Select the port if the capture is in progress","IP1": {
            "exampletype": 0"string"
          },
          "capture_directoryIP2": {
            "type": "string",
          },
    "description": "Path to the capture directory",      "IP3": {
            "exampletype": "/cifs/capture/records/Port0string"
          },
          "time_rangeIPD0": {
            "type": "integerstring",
          },
 "description": "Time range for a search (sec). Default is 1 second",
            "default"IPD1": 1,{
            "exampletype": 600"string"
          },
          "expressionIPD2": {
            "type": "string",
          },
          "descriptionIPD3": "Expression",{
            "exampletype": "passwordstring"
          },
          "syntaxIP_COND": {
            "type": "string",
            "description": "BPF syntax",
 },
          "exampleALL_TCP": "src{
 host 192.168.1.122"           },"type": "boolean",
            "packet_sliceenum": {[
             "type": "integer" true,
            "description": "Packet slice (bytes)", false
            "example":]
120           },
          "inline_txtHTTP": {
            "type": "stringboolean",
            "descriptionenum": "Path to the inline text file",
  [
              true,
          "example": "/data/mgr/html/filterfile_upload/qpapi.txt"   false
       }     ]
   }       },
          "DateTimeSearchHTTPS": {
            "type": "objectboolean",
         "properties": {   "enum": [
              true,
              false
            ]
          },
          "portTELNET": {
            "type": "integerboolean",
            "descriptionenum": "Select the port if the capture is in progress" [
              true,
            "example": 0  false
            ]
          },
          "capture_directorySSH": {
            "type": "stringboolean",
            "descriptionenum": "Path to the capture directory", [
              true,
              false
   "example": "/cifs/capture/records/Port0"         ]
          },
          "start_timeRSH": {
            "type": "stringboolean",
            "descriptionenum": "Start time. Valid format is YYYY-MM-DD HH:MM:SS (2023-07-04 14:30:00), YYYY/MM/DD HH:MM:SS (2023/07/04 14:30:00), YYYYMMDD HHMMSS (20230704 143000), YYYY-MM-DDTHH:MM:SS (2023-07-04T14:30:00), YYYYMMDDTHHMMSS (20230704T143000), YYY-MM-DD (2023-07-04), YYYY/MM/DD (2023/07/04), YYYYMMDD (20230704 [
              true,
              false
            ]
          },
          "FTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "SMTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "POP3": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NNTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NNTPS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "IRC": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "LDAP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "ALL_UDP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "DNS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "TFTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "SNTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NETBIOS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "DHCP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "BOOTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_CNTL": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_USER": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V0U": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V1U": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V1V2": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_NAME": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_DIR": {
            "type": "string",
            "example": "/cifs/capture/permanent/qpapi"
          },
          "Inc_Resume": {
            "type": "string"
          },
          "Custom_Filter": {
            "type": "string"
          }
        }
      },
      "InputOutputDir": {
        "type": "object",
        "properties": {
          "input_directory": {
            "type": "string",
            "description": "Path to the input directory",
            "example": "/cifs/capture/permanent/qpapi_1"
          },
          "output_directory": {
            "type": "string",
            "description": "Path to the output directory",
            "example": "/cifs/capture/permanent/qpapi_2"
          }
        }
      },
      "TimeSearch": {
        "type": "object",
        "properties": {
          "port": {
            "type": "integer",
            "description": "Select the port if the capture is in progress",
            "example": 0
          },
          "capture_directory": {
            "type": "string",
            "description": "Path to the capture directory",
            "example": "/cifs/capture/records/Port0"
          },
          "time_range": {
            "type": "integer",
            "description": "Time range for a search (sec). Default is 1 second",
            "default": 1,
            "example": 600
          },
          "expression": {
            "type": "string",
            "description": "Expression",
            "example": "password"
          },
          "syntax": {
            "type": "string",
            "description": "BPF syntax",
            "example": "src host 192.168.1.122"
          },
          "packet_slice": {
            "type": "integer",
            "description": "Packet slice (bytes)",
            "example": 120
          },
          "inline_txt": {
            "type": "string",
            "description": "Path to the inline text file",
            "example": "/data/mgr/html/filterfile_upload/qpapi.txt"
          },
          "output_filename": {
            "type": "string",
            "description": "Name of output merged pcap filename",
            "example": "port0.pcap"
          },
          "vxlan": {
            "type": "boolean",
            "description": "VXLAN is true or false",
            "example": "true"
          },
          "vxlanid": {
            "type": "integer",
            "description": "VXLAN ID",
            "example": 1234
          },
          "vlan": {
            "type": "boolean",
            "description": "VLAN is true or false",
            "example": "true"
          },
          "vlanid": {
            "type": "integer",
            "description": "VLAN ID",
            "example": 21
          }
        }
      },
      "DateTimeSearch": {
        "type": "object",
        "properties": {
          "port": {
            "type": "integer",
            "description": "Select the port if the capture is in progress",
            "example": 0
          },
          "capture_directory": {
            "type": "string",
            "description": "Path to the capture directory",
            "example": "/cifs/capture/records/Port0"
          },
          "start_time": {
            "type": "string",
            "description": "Start time. Valid format is YYYY-MM-DD HH:MM:SS (2023-07-04 14:30:00), YYYY/MM/DD HH:MM:SS (2023/07/04 14:30:00), YYYYMMDD HHMMSS (20230704 143000), YYYY-MM-DDTHH:MM:SS (2023-07-04T14:30:00), YYYYMMDDTHHMMSS (20230704T143000), YYY-MM-DD (2023-07-04), YYYY/MM/DD (2023/07/04), YYYYMMDD (20230704)",
            "example": "2023-07-04 14:30:00"
          },
          "end_time": {
            "type": "string",
            "description": "End time. Valid format is YYYY-MM-DD HH:MM:SS (2023-07-04 14:30:00), YYYY/MM/DD HH:MM:SS (2023/07/04 14:30:00), YYYYMMDD HHMMSS (20230704 143000), YYYY-MM-DDTHH:MM:SS (2023-07-04T14:30:00), YYYYMMDDTHHMMSS (20230704T143000), YYY-MM-DD (2023-07-04), YYYY/MM/DD (2023/07/04), YYYYMMDD (20230704)",
            "example": "2023-07-04 15:30:00"
          },
          "expression": {
            "type": "string",
            "description": "Expression",
            "example": "password"
          },
          "syntax": {
            "type": "string",
            "description": "BPF syntax",
            "example": "src host 192.168.1.122"
          },
          "packet_slice": {
            "type": "integer",
            "description": "Packet slice (bytes)",
            "example": "2023-07-04 14:30:00"120
          },
          "endinline_timetxt": {
            "type": "string",
            "description": "End time. Valid format is YYYY-MM-DD HH:MM:SS (2023-07-04 14:30:00), YYYY/MM/DD HH:MM:SS (2023/07/04 14:30:00), YYYYMMDD HHMMSS (20230704 143000), YYYY-MM-DDTHH:MM:SS (2023-07-04T14:30:00), YYYYMMDDTHHMMSS (20230704T143000), YYY-MM-DD (2023-07-04), YYYY/MM/DD (2023/07/04), YYYYMMDD (20230704)Path to the inline text file",
            "example": "/data/mgr/html/filterfile_upload/qpapi.txt"
          },
          "output_filename": {
            "type": "string",
            "description": "Name of output merged pcap filename",
            "example": "2023-07-04 15:30:00port0.pcap"
          },
          "expressionvxlan": {
            "type": "stringboolean",
            "description": "ExpressionVXLAN is true or false",
            "example": "passwordtrue"
          },
          "syntaxvxlanid": {
            "type": "stringinteger",
            "description": "BPFVXLAN syntaxID",
            "example": "src host 192.168.1.122"1234
          },
          "packet_slicevlan": {
            "type": "integerboolean",
            "description": "Packet slice (bytes)VLAN is true or false",
            "example": 120"true"
          },
          "inline_txtvlanid": {
            "type": "stringinteger",

           "description": "Path to the inline text file "description": "VLAN ID",
            "example": "/data/mgr/html/filterfile_upload/qpapi.txt"21
          }
        }
      },
      "DirectorySearch": {
        "type": "object",
        "properties": {
          "port": {
            "type": "integer",
            "description": "Select the port if the capture is in progress",
            "example": 0
          },
          "inputcapture_directory": {
            "type": "string",
            "description": "Path to the input directory",
            "example": "/cifs/capture/records/Port0"
          },
          "expression": {
            "type": "string",
            "description": "Expression",
            "example": "password"
          },
          "syntax": {
            "type": "string",
            "description": "BPF syntax",
            "example": "src host 192.168.1.122"
          },
          "packet_slice": {
            "type": "integer",
            "description": "Packet slice (bytes)",
            "example": 120
          },
          "inline_txt": {
            "type": "string",
            "description": "Path to the inline text file",
            "example": "/data/mgr/html/filterfile_upload/qpapi.txt"
          },
         }
 "output_filename": {
     },       "PacketSearchtype": {"string",
            "typedescription": "objectName of output merged pcap filename",
            "propertiesexample": { "port0.pcap"
          },
          "filenamevxlan": {
            "type": "stringboolean",
            "description": "PathVXLAN is totrue theor filenamefalse",
            "example": "/cifs/capture/records/Port0/qpapi_1111.pcaptrue"
          },
          "expressionvxlanid": {
            "type": "stringinteger",
            "description": "ExpressionVXLAN ID",
            "example": "password"1234
          },
          "syntaxvlan": {
            "type": "stringboolean",
            "description": "BPF syntaxVLAN is true or false",
            "example": "true"
          },
          "src host 192.168.1.122""vlanid": {
            "type": "integer",
            "description": "VLAN ID",
  },           "packet_sliceexample": {21
          }
  "type": "integer",     }
      },
"description": "Packet slice (bytes)",   "PacketSearch": {
        "exampletype": 120"object",
          },"properties": {
          "inline_txtfilename": {
            "type": "string",
            "description": "Path to the inline text filefilename",
            "example": "/datacifs/mgrcapture/htmlrecords/filterfile_uploadPort0/qpapi_1111.txtpcap"
          },
        }
  "expression": {
     },       "HeaderSearchtype": {"string",
            "typedescription": "objectExpression",
            "propertiesexample": { "password"
          },
          "filenamesyntax": {
            "type": "string",
            "description": "Path to the filenameBPF syntax",
            "example": "/cifs/capture/records/Port0/qpapi_1111.pcapsrc host 192.168.1.122"
          },
          "expressionpacket_slice": {
            "type": "stringinteger",
            "description": "ExpressionPacket slice (bytes)",
            "example": "password"120
          },
          "syntaxinline_txt": {
            "type": "string",
            "description": "BPF syntaxPath to the inline text file",
            "example": "src host 192.168.1.122/data/mgr/html/filterfile_upload/qpapi.txt"
          }
        }
      }
    },
    "securitySchemes": {
      "qp_user": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "TODO FINISH THIS"
      },
      "api_key": {
        "type": "apiKey",
        "description": "API key needed to access the endpoints",
        "name": "api_key",
        "in": "header"
      }
    }
  }
}