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"
          }
        }
      }
    },
    "/searchfile_manager/create_inline_txt_filedownload_pcap": {
      "postget": {
        "tags": [
          "SearchFile Manager"
        ],
        "summary": "CreateDownload ana inline textpcap file for packet search",
        "description": "CreateDownload ana inline textpcap file for packet searchunder /cifs/capture directory",
        "parametersoperationId": [
       "downloadfile",
  {             "$ref"parameters": "#/components/parameters/filename"
      [
   },           {
            "$ref": "#/components/parameters/syntaxfilename"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
          },
          "content400": {
              "application/jsondescription": {"ERROR"
          },
          "examples500": {
            "description": "ERROR"
          }
  "create_inline_txt_file example": {    }
      }
    },
    "value/file_manager/display_directory": {
      "get": {
        "tags": [
     "status": "SUCCESS",    "File Manager"
        ],
        "msgsummary": "Inline text file created"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": {
          "400200": {
            "description": "FAILEDSUCCESS"
 ,
        },           "500"content": {
              "descriptionapplication/json": "ERROR"{
          }      "examples": {
 }       }     },     "/search/delete_inline_txt_filedisplay_directory example": {
      "post": {              "tagsvalue": [{
          "Search"         ],
        "summarystatus": "Delete an inline text file for packet searchSUCCESS",
 
      "description": "Delete an inline text file for packet search",         "parametersmsg": [
          {               "$ref": "#/cifs/componentscapture/parametersrecords/filenamePort0",
           }         ],      "/cifs/capture/records/Port1"
  "responses": {           "200": {       ]
     "description": "SUCCESS",             "content": {}
              "application/json": {   }
             "examples": {  }
              }
 "delete_inline_txt_file example": {         }
          },
"value": {         "400": {
            "statusdescription": "SUCCESSFAILED",
           },
          "msg500": {
"Inline text file deleted"         "description": "ERROR"
          }
        }
      }
    },
    "/service_manager/get_service_status": {
      "get": {
  }      "tags": [
       }   "Service Manager"
        }],
        "summary": "Get },a service status",
        "400description": {
            "description": "FAILED"
 "Get a service status of the input service. service name does not be a full name, it can be a partial name.",
        },
"parameters": [
         "500": {
            "description$ref": "ERROR#/components/parameters/service"
          }
        ],
   }     "responses": {
}     },     "/search/display_inline_txt_file200": {
      "post": {         "tags": ["description": "SUCCESS",
            "Searchcontent": {
       ],         "summaryapplication/json": "Display{
 inline text files",         "description": "Display inline text files","examples": {
        "parameters": [         "get_service_status example": {
            "$ref": "#/components/parameters/filename"           },
"value": {
         {             "$refstatus": "#/components/parameters/syntax"
SUCCESS",
         }         ],         "responsesmsg": {
          "200": {                "descriptionqmanager_api.service": "SUCCESSenabled",
             "content": {        }
      "application/json": {             }
   "examples": {               }
   "display_inline_txt_file example": {           }
         "value": {    }
                  "status": "SUCCESS",}
          },
           "msg400": {
            "description": "FAILED"
          "/data/mgr/html/filterfile_upload/big_flow_IPs.txt": "src host 172.16.133.57 or src host 68.64.21.62"},
          "500": {
            "/data/mgr/html/filterfile_upload/malip.txtdescription": "ERROR"ip host
45.141.215.80 or ip host 185.220.100.240 or ip host 185.220.101.19"  }
        }
      }
    },
    "/service_manager/restart_service": {
      "post": {
      }  "tags": [
          "Service Manager"
   }     ],
        "summary": "Restart service",
}        "description": "Restart service. Parameter needs to be }
a full service name.",
        "parameters": [
 }         {
 },           "400$ref": { "#/components/parameters/service"
          }
      "description": "FAILED" ],
         },"responses": {
          "500200": {
            "description": "ERRORSUCCESS",
          }         }
 "content": {
    }     },     "/service_manager/get_service_statusapplication/json": {
      "get": {         "tagsexamples": [{
          "Service Manager"       "restart_service example": ],{
        "summary": "Get a service status",         "descriptionvalue": "Get a service status of the input service. service name does not be a full name, it can be a partial name.",{
                      "parametersstatus": ["SUCCESS",
          {             "$refmsg": "#/components/parameters/service"nfs-server.service restarted"
           }         ],}
        "responses": {         }
 "200": {             "description": "SUCCESS", }
            "content": { }
            }
"application/json": {         },
       "examples   "400": {
                  "get_service_status example": {"description": "FAILED"
          },
          "value500": {
        
             "statusdescription": "SUCCESS",ERROR"
          }
        }
      "msg":}
{    },
    "/service_manager/enable_service": {
      "post": {
        "qmanager_api.servicetags": "enabled"[
          "Service Manager"
        ],
 }       "summary": "Enable service",
        "description": "Enable service. }Parameter needs to be a full service name.",
        "parameters": [
 }         {
       }     "$ref": "#/components/parameters/service"
        }  }
         ],
}           },"responses": {
          "400200": {
            "description": "FAILEDSUCCESS"
,
         },           "500"content": {
              "descriptionapplication/json": "ERROR"{
          }      "examples": {
 }       }     },     "/service_manager/restart_serviceenable_service example": {
        "post": {            "tagsvalue": [{
          "Service Manager"         ],         "summary"status": "Restart serviceSUCCESS",
   
    "description": "Restart service. Parameter needs to be a full service name.",         "parametersmsg": [
 "nfs-server.service enabled"
        {             "$ref": "#/components/parameters/service"}
           }       }
 ],         "responses": {     }
     "200": {        }
    "description": "SUCCESS",       }
     "content": {    },
          "application/json400": {
            "description": "FAILED"
  "examples": {       },
           "restart_service example500": {
            "description": "ERROR"
      "value": {   }
        }
      }
   "status": "SUCCESS" },
    "/service_manager/disable_service": {
      "post": {
        "msgtags": "nfs-server.service restarted"[
          "Service Manager"
        ],
}        "summary": "Disable service",
        }
         "description": "Disable service. Parameter needs to be a full service name.",
      }  "parameters": [
          {
}             }"$ref": "#/components/parameters/service"
          },
        ],
        "400responses": {
 
          "description200": "FAILED" {
             }"description": "SUCCESS",
            "500content": {
              "descriptionapplication/json": "ERROR"{
          }      "examples": {
 }       }     },     "/service_manager/enabledisable_service example": {
       "post": {             "tagsvalue": {
  [           "Service Manager"         ],"status": "SUCCESS",
         "summary": "Enable service",             "descriptionmsg": "Enable service. Parameter needs to be a full service name.",nfs-server.service disabled"
               "parameters": [    }
      {            }
"$ref": "#/components/parameters/service"           }    }
    ],         "responses": {}
          "200": { }
           "description": "SUCCESS",
 },
          "content400": {
             "description": "application/json": {FAILED"
          },
          "examples500": {
            "description": "ERROR"
     "enable_service example": {   }
        }
      }
 "value": {   },
    "/service_manager/list_all_services": {
      "get": {
        "statustags": "SUCCESS",[
          "Service Manager"
        ],
 "msg": "nfs-server.service enabled"     "summary": "List all services",
        "description": "List all services }in the system.",
        "parameters": [
      }  ],
        "responses": {
    }      "200": {
       }     "description": "SUCCESS",
      }      "content": {
   },           "400application/json": {
                "descriptionexamples": "FAILED"{
          },           "500"list_all_services example": {
            "description": "ERROR"       "value": {
  }         }       }     }"status": "SUCCESS",
    "/service_manager/disable_service": {       "post": {         "tagsmsg": [{
          "Service Manager"         ],         "summaryaccounts-daemon.service": "Disable serviceenabled",
        "description": "Disable service. Parameter needs to be a full service name.",        "apache-htcacheclean.service": "parametersdisabled":,
  [           {             "$refapache2.service": "#/components/parameters/serviceenabled"
          }         ],   }
     "responses": {           "200": {    }
        "description": "SUCCESS",         }
   "content": {            }
  "application/json": {           }
     "examples": {      }
          },
 "disable_service example": {       "400": {
            "valuedescription": {"FAILED"
           },
          "status500": "SUCCESS",
  {
                   "msg"description": "nfs-server.service disabledERROR"
           }
        }
      }
    },
    "/request/status": {
}      "get": {
        "tags": }[
          "Request"
   }     ],
       } "summary": "Get a task status",
     },   "description": "Get a task status based on the "400": {
   task id passed in the parameter",
        "descriptionparameters": [
"FAILED"          {
 },           "500$ref": {"#/components/parameters/task_id"
          }
  "description": "ERROR"      ],
        }"responses": {
       }   "200": {
  }     },     "/service_manager/list_all_servicesdescription": {"SUCCESS",
      "get": {     "content": {
  "tags": [           "Service Manager"
application/json": {
       ],         "summaryexamples": "List all services",{
        "description": "List all services in the system.",     "system_time example": {
 "parameters": [         ],         "responsesvalue": {
          "200": {             "descriptiontask": "SUCCESS"null,
            "content": {         "ready": true,
    "application/json": {                 "examplesresult": {
                  "list_all_services example": {      "time": "20240628-134640",
             "value": {                       "status"Input Filename": "SUCCESS/cifs/capture/records/Port0/qpapi_1111.pcap",
                       "msg   "Output Filename": {"/cifs/capture/permanent/qpapi_search.pcap",
                          "accounts-daemon.serviceBPF Syntax": "enabledsrc host 172.16.131.10 and src port 8080",
                          "apache-htcacheclean.serviceFilter Expressions": "disabledhttp",
                          "apache2.serviceTotal Packets Filtered": "enabled"31,
                      }    "Total Packets Processed": 704182,
             }             "PCAP File Size": 4026,
  }                 }       "Average Packet Size": 113.1,
    }             }         "Packet  },
Filtered": true
         "400": {             "description": "FAILED"},
           },           "500status": {"SUCCESS",
            "description": "ERROR"         "completed_at":  }
"2024-06-28 20:46:40.032663+00:00",
       }       }     },     "/request/statussuccess": {true
      "get": {         "tags": [   }
       "Request"         ],  }
      "summary": "Get a task status",      }
  "description": "Get a task status based on the task id passed in the}
parameter",         "parameters": [  }
        {  },
          "$ref400": "#/components/parameters/task_id"{
          }    "description": "FAILED"
    ],         "responses": {},
           "200500": {
            "description": "SUCCESSERROR",
          }
 "content": {      }
      }
 "application/json": {  },
       "/etc/auth": {
      "examplesget": {
        "tags": [
          "system_time exampleEtc":
{        ],
        "summary": "Get an auth id"value":,
{        "description": "Get an auth id for qpapi",
        "taskparameters": [
null,          {
            "ready$ref": true, "#/components/parameters/user"
          }
        ],
        "resultresponses": {
             "200": {
            "timedescription": "20240628-134640SUCCESS",
            "content": {
            "Input Filename": "/cifs/capture/records/Port0/qpapi_1111.pcap",
application/json": {
                "examples": {
       "Output Filename": "/cifs/capture/permanent/qpapi_search.pcap",         "auth example": {
               "BPF Syntax": "src host 172.16.131.10 and src port 8080",
    "value": {
                      "Filter Expressionstask": "http"null,

                         "Total Packets Filtered"ready": 31true,
  
                       "Total Packets Processedresult": 704182,{
                          "PCAP File Sizetime": 4026"20240628-134640",
                          "AverageInput Packet SizeFilename": 113.1"/cifs/capture/records/Port0/qpapi_1111.pcap",
                          "PacketOutput FilteredFilename": true"/cifs/capture/permanent/qpapi_search.pcap",
                      },    "BPF Syntax": "src host 172.16.131.10 and src         port 8080",
   "status": "SUCCESS",                       "completed_atFilter Expressions": "2024-06-28 20:46:40.032663+00:00http",
                      "success": true   "Total Packets Filtered": 31,
              }            "Total Packets Processed": 704182,
   }                 }      "PCAP File Size": 4026,
     }             }        "Average Packet  }Size": 113.1,
          "400":  {              "descriptionPacket Filtered": "FAILED"true
          },           "500": { },
            "description": "ERROR"           }
 "status": "SUCCESS",
      }       }     }   },   "securitycompleted_at": [
"2024-06-28 20:46:40.032663+00:00",
   {}   ],   "servers": [     {       "urlsuccess": "https://{ip_addr}:8080/api/v1",true
      "description": "QP server"     },     {  }
    "url": "http://{ip_addr}:8080/api/v1",       "description": "QP server"     }
  ],   "components": {     "parameters": {    }
  "port": {         "name": "port", }
       "in": "query",     }
   "description": "Port Number",     },
   "required": false,         "schema400": {
            "typedescription": "stringFAILED",
          "default": "ALL"},
          "enum500": [{
            "ALLdescription",: "ERROR"
           "0",}
        }
   "1",   }
    },
    "2",
  /etc/check_auth": {
         "3get",:    {
        "4tags",: [
           "5Etc"
 
        ],
        }
   "summary": "Check an auth id",
  },       "port_numdescription": { "Check an auth id for qpapi",
        "nameparameters": "port", [
          {
  "in": "query",         "description$ref": "Port Number",#/components/parameters/user"
         "required": false},
         "schema": {
            "type$ref": "integer",#/components/parameters/subscription_key"
          "enum":}
[        ],
    0,    "responses": {
       1,   "200": {
        2,    "description": "SUCCESS",
       3,     "content": {
      4,        "application/json": {
   5           ]  "examples":  {
    }       },       "port_num_requiredcheck_auth example": {
        "name": "port",           "invalue": "query", {
           "description": "Port Number",         "requiredtask": truenull,
        "schema": {              "typeready": "integer"true,
          "enum":  [          "result": {
 0,             1,             2"time": "20240628-134640",
            3,             4, "Input Filename": "/cifs/capture/records/Port0/qpapi_1111.pcap",
         5,             6,    "Output Filename": "/cifs/capture/permanent/qpapi_search.pcap",
      7           ]         }
      }"BPF Syntax": "src host 172.16.131.10 and src port 8080",
      "filename": {         "name": "filename",         "inFilter Expressions": "queryhttp",
        "description": "Filename",         "required": true,       "Total Packets "schemaFiltered": {31,
          "type": "string",           "example": "/cifs/capture/permanent/qpapi.pcap"   "Total Packets Processed": 704182,
  }       },       "directory": {         "namePCAP File Size": "directory"4026,
        "in": "query",         "description": "Directory path",      "Average Packet  "requiredSize": true,113.1,
           "schema": {               "typePacket Filtered": "string", true
            "example": "/cifs/capture/permanent/qpapi"         },
      },       "input_directory": {         "namestatus": "input_directorySUCCESS",
            "in": "query",         "descriptioncompleted_at": "Input directory path",2024-06-28 20:46:40.032663+00:00",
            "required": true,         "schemasuccess": {true
          "type": "string",         }
 "example": "/cifs/capture/permanent/qpapi"         }       },
            "output_directory": {   }
     "name": "output_directory",        }
"in": "query",         "description": "Output directory}
path",         "required": true},
          "schema400": {
            "typedescription": "string",FAILED"
          },
          "500": {
            "exampledescription": "/cifs/capture/permanent/qpapi"ERROR"
          }
        },
      }
"syntax": {   }
  },
  "namesecurity": "syntax",[
    {}
  ],
  "inservers": "query", [
    {
      "descriptionurl": "BPF syntaxhttps://{hostname}:8080/api/v1",
 
      "requireddescription": false, "QP server"
    },
   "schema": {
   
      "typeurl": "stringhttp://{hostname}:8080/api/v1",
   
      "exampledescription": "ipQP host 192.168.1.120"server"
    }
  ],
 } "components": {
    },"parameters": {
      "search_file_countport": {
        "name": "search_file_countport",
        "in": "query",
        "description": "File counts to search at oncePort Number",
        "required": false,
        "schema": {
          "type": "integerstring",
          "default": 5"ALL",
          "exampleenum": 10[
        }    "ALL",
    },        "expression0":,
 {         "name":  "expression1",
           "in": "query2",
          "description":  "Expression3",
    
   "required": false,         "schema4":,
{           "type": "string5",
          "example": "password"]
        }
      },
      "tailport_num": {
        "name": "tailport",
        "in": "query",
        "description": "TailPort Number",
        "required": false,
        "schema": {
          "type": "integer",
          "defaultenum": 10,
[
         "example": 5   0,
     }       }1,
 
    "loop_replay": {       2,
 "name": "loop_replay",         "in": "query",
  3,
      "description": "Loop replay counts",         "required": true,
 4,
      "schema": {           "type": "integer",5
          ]
"example": 0         }
      },
      "serviceport_num_required": {
        "name": "serviceport",
        "in": "query",
        "description": "ServicePort nameNumber",
        "required": true,
        "schema": {
          "type": "stringinteger",
          "exampleenum": "qmanager_api.service" [
            0,
}       },     1,
 "time_range": {         "name": "time_range" 2,
        "in": "query",     3,
   "description": "Time range for a search",      4,
  "required": false,         "schema": {5,
           "type": "integer" 6,
          "default": 1, 7
         "example": 600]
        }
      },
      "capture_directoryfilename": {
        "name": "capture_directoryfilename",
        "in": "query",
        "description": "Input directory pathFilename",
        "required": true,
        "schema": {
          "type": "string",
          "example": "/cifs/capture/recordspermanent/Port0qpapi.pcap"
        }
      },
      "packet_slicedirectory": {
        "name": "packet_slicedirectory",
        "in": "query",
        "description": "Packet slice (bytes)Directory path",
        "required": falsetrue,
        "schema": {
          "type": "integerstring",
          "example": 120"/cifs/capture/permanent/qpapi"
        }
      },
      "filterinput_numdirectory": {
        "name": "filterinput_numdirectory",
        "in": "query",
        "description": "FilterInput directory numberpath",
        "required": true,
        "schema": {
          "type": "integerstring",
          "example": 0"/cifs/capture/permanent/qpapi"
        }
      },
      "startoutput_hourdirectory": {
        "name": "startoutput_hourdirectory",
        "in": "query",
        "description": "TimeOutput to start capturing (military time)directory path",
        "required": true,
        "schema": {
          "type": "integerstring",
          "example": 22"/cifs/capture/permanent/qpapi"
        }
      },
      "durationsyntax": {
        "name": "durationsyntax",
        "in": "query",
        "description": "CaptureBPF durationsyntax",
        "required": truefalse,
        "schema": {
          "type": "integerstring",
          "example": "ip host 192.168.1.120"
        }
      },
      "portssearch_file_count": {
        "name": "portssearch_file_count",
        "in": "query",
        "description": "PortsFile counts to search at once",
        "required": truefalse,
        "schema": {
          "type": "integer",
          "default": 5,
          "example": 010
        }
      },
      "task_idexpression": {
        "name": "task_idexpression",
        "in": "query",
        "description": "Task IDExpression",
        "required": truefalse,
        "schema": {
          "type": "string",
          "example": "e2e9ba08-c88c-4d47-b9ca-c01257d5ff80password"
        }
      },
    },     "schemastail": {
        "CaptureSettingsname": {"tail",
        "typein": "objectquery",
        "propertiesdescription": {
"Tail",
         "Filenamerequired": {
false,
           "typeschema": {
"string"           }"type": "integer",
          "CapDirdefault": {
 10,
          "typeexample": "string"5
        }
 },     },
      "Timestamploop_replay": {

           "enumname": ["loop_replay",
             "in": "µsquery",
    
         "nsdescription": "Loop replay counts",
         ]"required": true,
          },"schema": {
          "Cap2Disktype": {
 "integer",
          "typeexample": "string"0
        }
  },    },
      "IncFileservice": {

           "enumname": ["service",
              "on"in": "query",
              "off""description": "Service name",
        "required": true,
  ]           },"schema": {
          "Compressiontype": {"string",
          "example":  "enumqmanager_api.service":
[        }
      "on",},
      "time_range": {
        "name": "offtime_range",
        "in": "query",
  ]      "description": "Time range for a }search",
          "Rotationrequired": {
   false,
        "enumschema": [{
              "on"type": "integer",
          "default": 1,
   "off"       "example": 600
    ]    }
      },

         "SegmentSize"capture_directory": {
   
        "typename": "stringcapture_directory",
   
        "enumin": ["query",
        "description": "Input directory path",
   "10SEC",     "required": true,
        "15SECschema",: {
          "type":   "30SECstring",
              "1MIN","example": "/cifs/capture/records/Port0"
        }
     "2MIN" },
        "packet_slice": {
     "3MIN",   "name": "packet_slice",
        "in":  "5MINquery",
        "description": "Packet slice (bytes)",
   "10MIN",     "required": false,
        "20MINschema",: {
          "type":   "30MINinteger",
              10000,"example": 120
        }
      100000},
         "filter_num": {
    1000000,    "name": "filter_num",
         2000000"in": "query",
        "description": "Filter number",
   10000000,     "required": true,
        "bysizeschema": {
          "type": "integer",
]          "example": }0
        }
      },
      "CaptureSchedulerstart_hour": {
        "typename": "objectstart_hour",
        "propertiesin": {"query",
          "portsdescription": {"Time to start capturing (military time)",
        "typerequired": "object",
   true,
        "exampleschema": {
   
          "0type": "offinteger",
              "1example": "off"
22
           }
          },
          "is_enabled"duration": {
         "name": "duration",
        "typein": "booleanquery",
   
        "enumdescription": ["Capture duration",
        "required": true,
   true,     "schema": {
        false  "type": "integer",
         ] "example": 1
        },
      },
      "start_hourports": {
   
        "typename": "integerports",
   
        "enumin": ["query",
        "description": "Ports",
    0,    "required": true,
         1,"schema": {
              2"type": "integer",
          "example": 0
  3,      }
        4},
      "task_id": {
      5,  "name": "task_id",
           6"in": "query",
        "description": "Task ID",
   7,     "required": true,
        8,
"schema": {
             9"type": "string",
          "example": "e2e9ba08-c88c-4d47-b9ca-c01257d5ff80"
  10,      }
      },
 11,     "user": {
        12,"name": "user",
        "in": "query",
     13,   "description": "User name",
        "required": 14true,
        "schema": {
    15,      "type": "string",
       16,   "example": "admin"
        }
 17,     },
      "subscription_key": {
 18,         "name": "subscription_key",
     19,   "in": "query",
        "description": "Subscription 20key",
        "required": true,
    21,    "schema": {
         22, "type": "string",
          "example": "eyJhciOiJIUzR5cCI6VCJ9.eyJ1c2VWRtaW4iLW4iLCJpYXQiO1ODA5NTV9.KjMOhT1"
23         }
   ]   }
    },
  },  "schemas": {
       "durationCaptureSettings": {
  
         "type": "integerobject",
   
        "enumproperties": [{
          "Filename": {
  0,          "type": "string"
   1,       },
       2,   "CapDir": {
          3,  "type": "string"
           4},
          "Timestamp": {
  5,          "enum": [
   6,           "µs",
   7,           "ns"
      8,      ]
        9,  },
          "Cap2Disk": {
10,            "type": "string"
 11,         },
     12     "IncFile": {
      ]      "enum": [
   },           "current_timeon":,
{             "type": "stringoff",
            "example": "06/27/2024, 11:57:57 AM"]
           },
          "start_timeCompression": {
            "typeenum": "string", [
              "example": "06/28/2024, 10:00:00 AM"on",
            },  "off"
        "end_time": {   ]
         "type": "string",
  },
          "exampleRotation": "06/28/2024, 11:00:00 AM"{
            }"enum": [
       }       }"on",
      "FilterSettings": {        "off"
            "type": "object",]
         "properties": { },
          "FilterSegmentSize": {
            "type": "string",
            "descriptionenum": "filter[
numbers are different depending on the QP series",       "10SEC",
     "example": "Filter0"        "15SEC",
  },            "Color30SEC":,
{             "type": "integer1MIN",
              "enum2MIN":,
[               0"3MIN",
              1"5MIN",
              2"10MIN",
              3"20MIN",
              4"30MIN",
              510000,
              6100000,
              71000000,
            ]  2000000,
        },      10000000,
    "Priority": {         "bysize"
   "type": "integer",        ]
    "enum": [     }
        }
0,      },
      "CaptureScheduler": {
1,        "type": "object",
     2,   "properties": {
          3,
"ports": {
             4"type": "object",
            "example": {
5,               6"0": "off",
              7"1": "off"
            ]}
          },
          "Filteringis_Enableenabled": {
            "type": "boolean",
            "enum": [
              "on"true,
              ""false
            ]
          },
          "VLANstart_IDhour": {
            "type": "integer",
            "exampleenum": 21[
          },    0,
      "Cap_Unfiltered": {       1,
     "enum": [        2,
      "on",        3,
      ""        4,
    ]           },5,
              "IPV4": {6,
             "type": "string" 7,
            "example src ip": "192.168.1.100|-|-" 8,
            "example dst ip": "-|-|192.168.1.100",9,
             "example src10,
ip or dst ip": "192.168.1.100|0|OR|192.168.1.134|0",          11,
  "example src ip and dst ip": "192.168.1.100|0|AND|192.168.1.134|0",      12,
      "example src ip or dst ip with cidr": "192.168.1.100|24|OR|192.168.1.134|24" 13,
            "example src ip14,
and dst ip with cidr": "192.168.1.100|24|AND|192.168.1.134|24"         15,
 },           "IPV6": { 16,
           "type": "string",   17,
               "example": "2001:db8:3333:4444:5555:6666:7777:8888|-|-"18,
              }19,
            "IP_ALL": { 20,
           "type": "string"  21,
         },     22,
     "Protocol_Select": {        23
    "type": "string",       ]
     "enum": [    },
          "tcpduration",: {
            "type": "udpinteger",
 
            "other_portenum": [
           ]   0,
       },       1,
    "Port_Number_Entry": {         2,
   "type": "integer",          3,
  "example": 80           }4,
          "Port_Type": {   5,
         "type": "string",    6,
        "enum": [     7,
         "tcp",     8,
         "udp",     9,
         "any"     10,
       ]       11,
   },           "IP0":12
{             "type": "string"]
          },
          "IP1current_time": {
            "type": "string",
          },           "IP2": {"example": "06/27/2024, 11:57:57 AM"
          },
  "type": "string"         "start_time": {
 },           "IP3type": {"string",
            "typeexample": "string06/28/2024, 10:00:00 AM"
          },
          "IPD0end_time": {
            "type": "string"
      ,
   },           "IPD1example": {
 "06/28/2024, 11:00:00 AM"
          "type": "string"}
        }
  },    },
      "IPD2FilterSettings": {
            "type": "stringobject",
        "properties": {
},           "IPD3Filter": {
            "type": "string",
          },  "description": "filter numbers are different depending on the QP "IP_COND": {series",
            "typeexample": "stringFilter0"
          },
          "ALL_TCPColor": {
            "type": "booleaninteger",
            "enum": [
              true0,
              false1,
            ]  2,
        },      3,
    "HTTP": {         4,
   "type": "boolean",          5,
  "enum": [               true6,
              false7
            ]
          },
          "HTTPSPriority": {
            "type": "booleaninteger",
            "enum": [
              true0,
              false1,
              2,
   ]           }3,
          "TELNET": {      4,
      "type": "boolean",         5,
   "enum": [               true6,
              false7
            ]
          },
          "SSHFiltering_Enable": {
            "type":
"boolean",             "enum": [
              true"on",
              false""
            ]
          },
          "RSHVLAN_ID": {
            "type": "booleaninteger",
            "enumexample": [
              true,
           21
  false             ]
          },
          "FTPCap_Unfiltered": {
            "type":
"boolean",             "enum": [
              true"on",
              false""
            ]
          },
          "SMTPIPV4": {
            "type": "booleanstring",
            "enum": [example src ip": "192.168.1.100|-|-",
            "example dst  trueip": "-|-|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 dst ip": "192.168.1.100|0|AND|192.168.1.134|0",
       "POP3": {    "example src ip or dst ip with   "typecidr": "boolean192.168.1.100|24|OR|192.168.1.134|24",
            "enum":example [src ip and dst ip with cidr": "192.168.1.100|24|AND|192.168.1.134|24"
       true,   },
          "IPV6": false{
            ]
"type": "string",
         },   "example": "2001:db8:3333:4444:5555:6666:7777:8888|-|-"
      "NNTP":  {  },
          "typeIP_ALL": "boolean",{
            "enumtype": ["string" 
          },
  true,        "Protocol_Select": {
     false       "type": "string",
    ]        "enum": [
   },           "NNTPStcp":,
{             "type": "booleanudp",
              "enum": [other_port"
            ]
          true,},
          "Port_Number_Entry": {
            "type": "integer",
false            "example": ]80
          },
          "IRCPort_Type": {
            "type": "booleanstring",
            "enum": [
              true"tcp",
              false"udp",
             ] "any"
         },   ]
       "LDAP": {  },
          "typeIP0": "boolean",{
            "enumtype": ["string"
              true},
          "IP1": {
  false             ]"type": "string"
          },
          "ALL_UDPIP2": {
            "type": "boolean",string"
          },
          "enumIP3": [ {
            "type": "string"
        true,  },
          "IPD0": {
false             ]"type": "string"
          },
          "DNSIPD1": {
            "type": "booleanstring",
          },
 "enum": [        "IPD2": {
     true,       "type": "string"
      false    },
          "IPD3": {
            "type": "string"
          },
          "IP_COND": {
          ]   "type": "string"
          },
          "TFTPALL_TCP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "SNTPHTTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NETBIOSHTTPS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NTPTELNET": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "DHCPSSH": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "BOOTPRSH": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_CNTLFTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_USERSMTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V0UPOP3": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V1UNNTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V1V2NNTPS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_NAMEIRC": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_DIRLDAP": {
            "type": "stringboolean",
            "exampleenum": "/cifs/capture/permanent/qpapi" [
              }true,
            "Inc_Resume": { false
           "type": "string" ]
          },
          "CustomALL_FilterUDP": {
            "type": "stringboolean",
          }
  "enum": [
       }       },true,
               "InputOutputDir": {false
            "type": "object",]
         "properties": { },
          "input_directoryDNS": {
            "type": "stringboolean",
            "descriptionenum": "Path to the input directory" [
              true,
            "example": "/cifs/capture/permanent/qpapi_1"
 false
         },   ]
       "output_directory": {  },
          "typeTFTP": "string",{
            "descriptiontype": "Path to the output directoryboolean",
            "exampleenum": "/cifs/capture/permanent/qpapi_2"[
          }    true,
    }       },   false
   "TimeSearch": {        ]
"type": "object",         "properties": {},
           "portSNTP": {
            "type": "integerboolean",
            "descriptionenum": "Select the port if the capture is in progress",
 [
              true,
              false
           "example": 0]
          },
          "capture_directoryNETBIOS": {
            "type": "stringboolean",
            "descriptionenum": "Path[
to the capture directory",           true,
 "example": "/cifs/capture/records/Port0"           }, false
         "time_range": {   ]
         "type": "integer" },
            "descriptionNTP": "Time{
range for a search (sec). Default is 1 second         "type": "boolean",
            "defaultenum": 1, [
              true,
              false
         "example": 600   ]
          },
          "expressionDHCP": {
            "type": "stringboolean",
            "descriptionenum": "Expression",
 [
              true,
              false
           "example": "password" ]
          },
          "syntaxBOOTP": {
            "type": "stringboolean",
            "descriptionenum": "BPF syntax",
  [
              true,
              false
            ]
          "example},
          "GTP_CNTL": "src{
host 192.168.1.122"           },"type": "boolean",
            "packet_sliceenum": {[
              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    "type": "integer",
            "description": "Packet slice (bytes(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": 120 "2023-07-04 15:30:00"
          },
          "inline_txtexpression": {
            "type": "string",
            "description": "Path to the inline text fileExpression",
            "example": "/data/mgr/html/filterfile_upload/qpapi.txt"
          }
    password"
   }       },
     
"DateTimeSearch": {         "typesyntax": "object",
        "properties": {
  
       "port": {             "type": "integerstring",

           "description": "Select the port if the capture is in progress "description": "BPF syntax",
            "example": 0 "src host 192.168.1.122"
          },
          "capturepacket_directoryslice": {
            "type": "stringinteger",
            "description": "PathPacket to the capture directoryslice (bytes)",
            "example": "/cifs/capture/records/Port0"120
          },
          "startinline_timetxt": {
            "type": "string",
            "description": "StartPath time.to Validthe formatinline 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)text file",
            "example": "2023-07-04 14:30:00/data/mgr/html/filterfile_upload/qpapi.txt"
          },
          "endoutput_timefilename": {
            "type": "string",
            "description": "EndName time.of Validoutput formatmerged 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)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": "src1234
host 192.168.1.122"
          },
          "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 fileVLAN 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": "src host 192.168.1.122""true"
          },
          "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"
      }
    }
  }
}