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": "Download a pcap file under /cifs/capture directory"Create,
   an inline text file for packet search"operationId": "downloadfile",
        "parameters": [
          {
            "$ref": "#/components/parameters/filename"
          },
        ],
  {      "responses": {
     "$ref": "#/components/parameters/syntax"    "200": {
     }       "description": "SUCCESS"
],         "responses": { },
          "200400": {
            "description": "SUCCESS",ERROR"
          },
          "content500": {
 
            "application/jsondescription": {"ERROR"
          }
     "examples": {  }
      }
    },
    "create_inline_txt_file example/file_manager/display_directory": {
           "get": {
        "valuetags": {[
          "File Manager"
          "status": "SUCCESS"],
        "summary": "Display capture   directories",
        "msgdescription": "InlineDisplay textcapture filedirectories. created"If parameter is empty, display all directories under /records and /permanent",
        "operationId": "displaydirs",
}        "parameters":  [
        }  {
              }
  "$ref": "#/components/parameters/directory"
           }
         ],
  }           },"responses": {
           "400200": {
            "description": "FAILED"SUCCESS",
            "content": {
   },           "500application/json": {
                "descriptionexamples": "ERROR"{
          }         }
  "display_directory example": {
   }     },     "/search/delete_inline_txt_file": {       "postvalue": {
          "tags": [           "Searchstatus": "SUCCESS",
       ],         "summary": "Delete an inline text file for packet search","msg": [
         "description": "Delete an inline text file for packet search",         "parameters": [/cifs/capture/records/Port0",
            {             "$ref": "#/cifs/componentscapture/parametersrecords/filenamePort1"
            }          ],
        "responses": {           "200":}
{             "description": "SUCCESS",    }
        "content": {       }
       "application/json": {      }
          "examples": { }
          },
      "delete_inline_txt_file example    "400": {
       
            "valuedescription": {"FAILED"
           },
          "status500": "SUCCESS",
      {
               "msgdescription": "Inline text file deletedERROR"
          }
         }
      }
    },
    "/service_manager/get_service_status": {
}      "get": {
        "tags": }[
          "Service Manager"
  }      ],
      }  "summary": "Get a service status",
    },    "description": "Get a service status of the "400": {
            "description": "FAILED"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": "SUCCESS",enabled"
                "content": {     }
         "application/json": {          }
      "examples": {           }
       "display_inline_txt_file example": {       }
             "value": {}
            }
         "status": "SUCCESS" },
          "400": {
            "msgdescription": {"FAILED"
            },
           "/data/mgr/html/filterfile_upload/big_flow_IPs.txt"500": "src{
host 172.16.133.57 or src host 68.64.21.62",        "description": "ERROR"
          }
        }
      }
    },
    "/data/mgr/html/filterfile_upload/malip.txt": "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": [
       }   {
           } "$ref": "#/components/parameters/service"
          }
          }],
 
        "400responses": {
            "description200": {
 "FAILED"           },"description": "SUCCESS",
            "500content": {
              "descriptionapplication/json": "ERROR"{
          }      "examples": {
 }       }     },     "/service_manager/getrestart_service_status example": {
      "get": {         "tags": [   "value": {
                      "status"Service: Manager""SUCCESS",
            ],          "summarymsg": "Get a nfs-server.service statusrestarted",
        "description": "Get a service status of the input service. service name does not}
be a full name, it can be a partial name.",         "parameters":}
[           {     }
       "$ref": "#/components/parameters/service"      }
    }        }
],         "responses": { },
          "200400": {
            "description": "SUCCESS",FAILED"
          },
          "content500": {
 
            "application/jsondescription": {"ERROR"
          }
     "examples": {  }
      }
    },
    "get/service_manager/enable_service_status example": {
      "post": {
        "tags": [
     "value": {    "Service Manager"
        ],
        "statussummary": "SUCCESSEnable service",
        "description": "Enable service. Parameter needs to be a full service name.",
        "msgparameters": {[
          {
               "qmanager_api.service"$ref": "enabled#/components/parameters/service"
          }
        ],
  }      "responses": {
          "200": {
   }         "description": "SUCCESS",
        }    "content": {
           }   "application/json": {
          }      "examples": {
     }           },  "enable_service example": {
      "400": {             "descriptionvalue": {
"FAILED"           },           "500status": {"SUCCESS",
            "description": "ERROR"         "msg":  }"nfs-server.service enabled"
        }       }     },
    "/service_manager/restart_service": {       "post": {     }
   "tags": [           "Service Manager"}
        ],      }
  "summary": "Restart service",        }
"description": "Restart service. Parameter needs to be a full service name."},
          "parameters400": [
          {
            "$refdescription": "#/components/parameters/serviceFAILED"
          }
  ,
     ],         "responses500": {
            "200description": {"ERROR"
          }
 "description": "SUCCESS",       }
      }
    },
    "content/service_manager/disable_service": {
      "post": {
        "application/jsontags": {[
          "Service Manager"
    "examples": {   ],
        "summary": "Disable service",
    "restart_service example": {  "description": "Disable service. Parameter needs to be a full service name.",
        "valueparameters": {[
          {
            "status$ref": "SUCCESS",#/components/parameters/service"
          }
        ],
        "msgresponses": "nfs-server.service restarted"
   {
          "200": {
            "description": "SUCCESS",
   }         "content": {
        }      "application/json": {
         }       "examples": {
      }             }
"disable_service example": {
         },           "400value": {
                      "descriptionstatus": "FAILEDSUCCESS",
           },           "500msg": {
"nfs-server.service disabled"
           "description": "ERROR"        }
  }         }       }
    },     "/service_manager/enable_service": {       }
      "post": {       }
 "tags": [          }
"Service Manager"         ]},
          "summary400": {
  "Enable service",         "description": "FAILED"Enable
  service. Parameter needs to be a full service name."},
          "parameters500": {
[           { "description": "ERROR"
          "$ref": "#/components/parameters/service"}
        }
  }    }
    ]},
    "/service_manager/list_all_services": {
      "responsesget": {
          "200tags": {[
          "Service  "descriptionManager":
"SUCCESS",        ],
    "content": {   "summary": "List all services",
        "application/jsondescription": {"List all services in the system.",
           "examplesparameters": {[
        ],
         "enable_service exampleresponses": {
          "200": {
            "valuedescription": {"SUCCESS",
            "content": {
        "status": "SUCCESS",     "application/json": {
                "msgexamples": "nfs-server.service enabled"{
                  "list_all_services example": {
}                   } "value": {
              }        "status": "SUCCESS",
     }             }    "msg":  {
    },           "400": {             "descriptionaccounts-daemon.service": "FAILEDenabled",
            },              "500apache-htcacheclean.service": "disabled",
  {             "description": "ERROR"           }"apache2.service": "enabled"
        }       }     },  }
  "/service_manager/disable_service": {       "post": {         "tags":}
[           "Service Manager"      }
  ],         "summary": "Disable service",   }
     "description": "Disable service. Parameter needs to be a full service}
name.",         "parameters": [  }
        {  },
          "$ref400": "#/components/parameters/service"{
          }  "description": "FAILED"
     ],         "responses": {},
            "200500": {
            "description": "SUCCESSERROR",
          }
 "content": {      }
      }
 "application/json   },
    "/request/status": {
      "get": {
        "examplestags": {[
          "Request"
       "disable_service example": { ],
        "summary": "Get a task status",
        "valuedescription": {"Get a task status based on the task id passed in the parameter",
          "statusparameters": [
"SUCCESS",          {
            "msg$ref": "nfs-server.service disabled""#/components/parameters/task_id"
          }
        ],
  }      "responses": {
          "200": }{
            "description": "SUCCESS",
  }          "content": {
   }           "application/json": {
}           },     "examples": {
    "400": {             "descriptionsystem_time example": "FAILED"{
          },           "500value": {
             "description": "ERROR"         "task": null,
  }         }       }    "ready": }true,
    "/service_manager/list_all_services": {       "get": {         "tagsresult": [{
          "Service Manager"         ],         "summarytime": "List all services",20240628-134640",
           "description": "List all services in the system.",         "parametersInput Filename": ["/cifs/capture/records/Port0/qpapi_1111.pcap",
        ],         "responses": {        "Output  Filename": "200": {/cifs/capture/permanent/qpapi_search.pcap",
             "description": "SUCCESS",            "BPF "contentSyntax": {"src host 172.16.131.10 and src port 8080",
        "application/json": {                 "examplesFilter Expressions": {
"http",
                 "list_all_services example": {       "Total Packets Filtered": 31,
          "value": {               "Total Packets Processed": 704182,
    "status": "SUCCESS",                     "PCAP File Size"msg": {4026,
                          "accounts-daemon.serviceAverage Packet Size": "enabled"113.1,
                          "apache-htcacheclean.servicePacket Filtered": "disabled",true
                      },
   "apache2.service": "enabled"                  "status": "SUCCESS",
   }                     "completed_at": "2024-06-28 20:46:40.032663+00:00",
                      "success": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
    "/requestetc/statusauth": {
      "get": {
        "tags": [
          "RequestEtc"
        ],
        "summary": "Get aan taskauth statusid",
        "description": "Get a task status based on the taskan auth id passed in the parameterfor qpapi",
        "parameters": [
          {
            "$ref": "#/components/parameters/task_iduser"
          }
        ],
        "responses": {
          "200": {
            "description": "SUCCESS",
            "content": {
              "application/json": {
                "examples": {
                  "system_timeauth example": {
                    "value": {
                      "task": null,
                      "ready": true,
                      "result": {
                          "time": "20240628-134640",
                          "Input Filename": "/cifs/capture/records/Port0/qpapi_1111.pcap",
                          "Output Filename": "/cifs/capture/permanent/qpapi_search.pcap",
                          "BPF Syntax": "src host 172.16.131.10 and src port 8080",
                          "Filter Expressions": "http",
                          "Total Packets Filtered": 31,
                          "Total Packets Processed": 704182,
                          "PCAP File Size": 4026,
                          "Average Packet Size": 113.1,
                          "Packet Filtered": true
                      },
                      "status": "SUCCESS",
                      "completed_at": "2024-06-28 20:46:40.032663+00:00",
                      "success": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "FAILED"
          },
          "500": {
            "description": "ERROR"
          }
        }
      }
    },
  },   "security/etc/check_auth": [
    {}{
   ],   "serversget": {
[     {   "tags": [
  "url": "https://{ip_addr}:8080/api/v1",       "description": Etc"QP
server"     },   ],
 {       "urlsummary": "http://{ip_addr}:8080/api/v1Check an auth id",
        "description": "QPCheck server"an auth id for qpapi",
}   ],     "componentsparameters": {[
     "parameters": {    {
  "port": {         "name$ref": "port",#/components/parameters/user"
         "in": "query", },
          {
 "description": "Port Number",         "required$ref": false,"#/components/parameters/subscription_key"
        "schema": {   }
       "type": "string",
  ],
        "defaultresponses": "ALL",{
          "enum200": [{
            "description": "ALLSUCCESS",
            "0",content": {
              "1application/json",: {
           "2",     "examples": {
      "3",            "check_auth example"4",: {
           "5"         "value": {
]         }       },       "port_numtask": null,
   {         "name": "port",         "inready": "query",true,
           "description": "Port Number",         "requiredresult": false,{
              "schema": {           "typetime": "integer20240628-134640",
          "enum": [             0,  "Input Filename": "/cifs/capture/records/Port0/qpapi_1111.pcap",
        1,             2,     "Output Filename": "/cifs/capture/permanent/qpapi_search.pcap",
     3,             4,        "BPF Syntax": "src host  5
   172.16.131.10 and src port 8080",
      ]         }       },    "Filter  Expressions": "port_num_required": {http",
         "name": "port",         "in": "query",       "Total Packets Filtered"description": "Port Number"31,

       "required": true,         "schema": {         "Total Packets "typeProcessed": "integer"704182,
          "enum": [             0,  "PCAP File Size": 4026,
       1,             2,      "Average Packet      3Size": 113.1,
            4,             5, "Packet Filtered": true
         6,             7},
          ]         }       }"status": "SUCCESS",
      "filename": {         "name": "filename",         "in"completed_at": "query",
     2024-06-28 20:46:40.032663+00:00",
  "description": "Filename",         "required": true,         "schemasuccess": {true
          "type": "string",         }
 "example": "/cifs/capture/permanent/qpapi.pcap"         }       },
      "directory": {         "name": "directory",}
         "in": "query",    }
    "description": "Directory path",      }
  "required": true,       },
 "schema": {           "type400": "string", {
            "exampledescription": "/cifs/capture/permanent/qpapiFAILED"
        }   },
   },       "input_directory500": {
            "namedescription": "input_directoryERROR",
        "in": "query", }
       "description": "Input directory path", }
        }
 "required": true,  }
   },
  "schemasecurity": {[
    {}
  ],
  "typeservers": [
"string",    {
      "exampleurl": "https:/cifs/capture/permanent/qpapi"
{hostname}:8080/api/v1",
      "description": "QP server"
    },
    {
      "url": "http://{hostname}:8080/api/v1",
      "description": "QP server"
    }
  ],
  "components": {
    "parameters": {
      "output_directoryport": {
        "name": "output_directoryport",
        "in": "query",
        "description": "OutputPort directory pathNumber",
        "required": truefalse,
        "schema": {
          "type": "string",
          "exampledefault": "/cifs/capture/permanent/qpapi"ALL",
          }"enum": [
     },       "syntaxALL":,
  {         "name": "syntax0",
           "in": "query1",
            "description2":,
  "BPF syntax",         "required": false,3",
            "schema4":,
{           "type": "string5",
          "example": "ip host 192.168.1.120"
  ]
        }
      },
      "searchport_file_countnum": {
        "name": "search_file_countport",
        "in": "query",
        "description": "FilePort countsNumber",
to search at once",
        "required": false,
        "schema": {
          "type": "integer",
          "defaultenum": 5,[
          "example": 10 0,
       }       }1,
 
    "expression": {       2,
 "name": "expression",         "in": "query",
     3,
   "description": "Expression",         "required": false,
    4,
   "schema": {           "type": "string",5
          "example": "password"]
         }
      },
      "tailport_num_required": {
        "name": "tailport",
        "in": "query",
        "description": "TailPort Number",
        "required": falsetrue,
        "schema": {
          "type": "integer",
          "defaultenum": 10,[
          "example": 5 0,
       }     1,
 },       "loop_replay": {   2,
     "name": "loop_replay",      3,
  "in": "query",         "description": "Loop replay counts",4,
           "required": true5,
           "schema": { 6,
          "type": "integer", 7
         "example": 0]
        }
      },
      "servicefilename": {
        "name": "servicefilename",
        "in": "query",
        "description": "Service nameFilename",
        "required": true,
        "schema": {
          "type": "string",
          "example": "qmanager_api.service/cifs/capture/permanent/qpapi.pcap"
        }
      },
      "time_rangedirectory": {
        "name": "time_rangedirectory",
        "in": "query",
        "description": "Time range for a searchDirectory path",
        "required": falsetrue,
        "schema": {
          "type": "integerstring",
          "defaultexample": 1,
          "example": 600 "/cifs/capture/permanent/qpapi"
        }
      },
      "captureinput_directory": {
        "name": "captureinput_directory",
        "in": "query",
        "description": "Input directory path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "/cifs/capture/recordspermanent/Port0qpapi"
        }
      },
      "packetoutput_slicedirectory": {
        "name": "packetoutput_slicedirectory",
        "in": "query",
        "description": "PacketOutput slicedirectory (bytes)path",
        "required": falsetrue,
        "schema": {
          "type": "integerstring",
          "example": 120"/cifs/capture/permanent/qpapi"
        }
      },
      "filter_numsyntax": {
        "name": "filter_numsyntax",
        "in": "query",
        "description": "FilterBPF numbersyntax",
        "required": truefalse,
        "schema": {
          "type": "integerstring",
          "example": 0"ip host 192.168.1.120"
        }
      },
      "startsearch_file_hourcount": {
        "name": "startsearch_file_hourcount",
        "in": "query",
        "description": "TimeFile counts to startsearch capturing (military time)at once",
        "required": truefalse,
        "schema": {
          "type": "integer",
          "default": 5,
          "example": 2210
        }
      },
      "durationexpression": {
        "name": "durationexpression",
        "in": "query",
        "description": "Capture durationExpression",
        "required": truefalse,
        "schema": {
          "type": "integerstring",
          "example": 1"password"
        }
      },
      "portstail": {
        "name": "portstail",
        "in": "query",
        "description": "PortsTail",
        "required": truefalse,
        "schema": {
          "type": "integer",
          "default": 10,
          "example": 05
        }
      },
      "taskloop_idreplay": {
        "name": "taskloop_idreplay",
        "in": "query",
        "description": "TaskLoop replay IDcounts",
        "required": true,
        "schema": {
          "type": "stringinteger",
          "example": "e2e9ba08-c88c-4d47-b9ca-c01257d5ff80"0
        }
      }
,
   },     "schemasservice": {
        "CaptureSettingsname": {"service",
        "typein": "objectquery",
        "propertiesdescription": {
 "Service name",
        "Filenamerequired": {
 true,
          "typeschema": "string"
          },{
          "CapDirtype": {"string",
            "typeexample": "stringqmanager_api.service"
        }
  },    },
      "Timestamptime_range": {
        "name": "time_range",
  "enum": [     "in": "query",
        "µsdescription",: "Time range for a  search",
        "nsrequired": false,
        "schema":  {
]           }"type": "integer",
          "Cap2Diskdefault": {1,
            "typeexample": "string"600
        }
  },    },
      "IncFilecapture_directory": {
   
        "enumname": ["capture_directory",
              "on"in": "query",
        "description": "Input directory path",
  "off"        "required": true,
    ]           },"schema": {
          "Compressiontype": {"string",
          "example":  "enum": ["/cifs/capture/records/Port0"
        }
      "on"},
      "packet_slice": {
        "offname": "packet_slice",
        "in": "query",
 ]       "description": "Packet   },
 slice (bytes)",
        "Rotationrequired": {
   false,
        "enumschema": [{
              "on"type": "integer",
 
            "offexample": 120
           ]
  }
       },
   
      "SegmentSizefilter_num": {
   
        "typename": "stringfilter_num",
 
          "enumin": ["query",
        "description": "Filter number",
   "10SEC",     "required": true,
        "15SECschema",: {
            "type": "30SECinteger",
          "example": 0
  "1MIN",      }
      },
 "2MIN",     "start_hour": {
        "3MINname": "start_hour",
             "in": "5MINquery",
        "description": "Time to start capturing (military time)"10MIN",
        "required": true,
        "20MINschema",: {
          "type":   "30MINinteger",
              10000,"example": 22
        }
      100000},
      "duration": {
      1000000,  "name": "duration",
           2000000"in": "query",
        "description": "Capture duration",
   10000000,     "required": true,
        "bysizeschema": {
           ]"type": "integer",
          "example": }1
        }
      },
      "CaptureSchedulerports": {
        "typename": "objectports",
        "propertiesin": {"query",
          "portsdescription": {
   "Ports",
        "typerequired": "object"true,
 
          "exampleschema": {
  
           "0type": "offinteger",
 
            "1example": "off"
   0
        }
 
        },
   
      "istask_enabledid": {
            "typename": "booleantask_id",

           "enumin": ["query",
        "description": "Task ID",
        "required": true,
        "schema": {
        false  "type": "string",
         ] "example": "e2e9ba08-c88c-4d47-b9ca-c01257d5ff80"
        },
      },
      "start_houruser": {
  
         "typename": "integeruser",
 
          "enumin": ["query",
        "description": "User name",
   0,     "required": true,
        1,
"schema": {
          "type": "string",
 2,         "example": "admin"
    3,    }
      },
   4,   "subscription_key": {
        "name":  5,"subscription_key",
        "in": "query",
     6,   "description": "Subscription key",
        "required": 7true,
        "schema": {
    8,      "type": "string",
       9,   "example": "eyJhciOiJIUzR5cCI6VCJ9.eyJ1c2VWRtaW4iLW4iLCJpYXQiO1ODA5NTV9.KjMOhT1"
        }
 10,     }
    },
    11,
"schemas": {
      "CaptureSettings": {
     12,   "type": "object",
        "properties": {
  13,        "Filename": {
     14,       "type": "string"
      15,    },
          16,
"CapDir": {
             17,"type": "string"
          },
   18,       "Timestamp": {
      19,      "enum": [
       20,       "µs",
       21,       "ns"
       22,     ]
         23 },
          "Cap2Disk": ]{
          },  "type": "string"
       "duration": {  },
          "typeIncFile": "integer",{
            "enum": [
              0"on",
              1,"off"
            ]
 2,         },
     3,     "Compression": {
        4,    "enum": [
         5,      "on",
        6,      "off"
        7,    ]
          8},
          "Rotation": {
  9,          "enum": [
   10,               11"on",
              12"off"
            ]
          },
          "current_timeSegmentSize": {
            "type": "string",
            "exampleenum": "06/27/2024, 11:57:57 AM" [
              },"10SEC",
              "start_time15SEC":,
{             "type": "string30SEC",
              "example1MIN": "06/28/2024, 10:00:00 AM",
              }"2MIN",
              "end_time3MIN":,
{             "type": "string5MIN",
              "example10MIN": "06/28/2024, 11:00:00 AM",
             } "20MIN",
       }       }"30MIN",
      "FilterSettings": {       10000,
 "type": "object",         "properties": {  100000,
        "Filter": {     1000000,
       "type": "string",      2000000,
      "description": "filter numbers are different depending on the QP series"10000000,
             "example": "Filter0bysize"
 
        },    ]
      "Color": {    }
        "type": "integer",}
      },
      "enumCaptureScheduler": [{
        "type": "object",
     0,   "properties": {
          1,
"ports": {
             2"type": "object",
            "example": {
3,               4"0": "off",
              5,
"1": "off"
            }
6,           },
   7       "is_enabled": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "Prioritystart_hour": {
            "type": "integer",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
   ]           }9,
              "Filtering_Enable": {10,
             "enum": [ 11,
              "on",12,
              13,
     ""         14,
   ]           }15,
           "VLAN_ID": {   16,
             "type": "integer", 17,
             "example": 21 18,
              }19,
           "Cap_Unfiltered": {   20,
             "enum": [ 21,
              "on"22,
              ""23
            ]
          },
          "IPV4duration": {
            "type": "stringinteger",
            "example src ip": "192.168.1.100|-|-",
enum": [
              0,
           "example dst ip": "-|-|192.168.1.100",
            "example src ip2,
or dst ip": "192.168.1.100|0|OR|192.168.1.134|0",           3,
 "example src ip and dst ip": "192.168.1.100|0|AND|192.168.1.134|0",       4,
     "example  src ip or dst ip with cidr": "192.168.1.100|24|OR|192.168.1.134|24", 5,
              "example6,
src ip and dst ip with cidr": "192.168.1.100|24|AND|192.168.1.134|24"       7,
   },           "IPV6": {8,
             "type": "string", 9,
             "example": "2001:db8:3333:4444:5555:6666:7777:8888|-|-" 10,
              11,
 },           "IP_ALL": { 12
           "type": "string"  ]
          },
          "Protocolcurrent_Selecttime": {
            "type": "string",
            "enumexample": [
 "06/27/2024, 11:57:57 AM"
            "tcp",
 },
            "udpstart_time",: {
            "type": "other_port"string",
            "example": "06/28/2024,  ]10:00:00 AM"
          },
          "Portend_Number_Entrytime": {
            "type": "integerstring",
            "example": "06/28/2024, 11:00: 8000 AM"
          }
        },
      },
      "Port_TypeFilterSettings": {
   
        "type": "stringobject",
   
        "enumproperties": [{
              "tcpFilter",: {
            "type": "udpstring",
            "description": "filter numbers are different depending on "any"the QP series",
             ]"example": "Filter0"
          },
          "IP0Color": {
            "type": "stringinteger",
          },   "enum": [
      "IP1": {       0,
     "type": "string"        1,
  },           "IP2": { 2,
            "type": "string" 3,
         },     4,
     "IP3": {        5,
    "type": "string"         6,
 },           "IPD0": { 7
           "type": "string" ]
          },
          "IPD1Priority": {
            "type": "integer",
            "string"enum": [
              }0,
          "IPD2":  {  1,
          "type": "string"   2,
       },       3,
   "IPD3": {          4,
  "type": "string"           }5,
             "IP_COND": { 6,
            "type": "string" 7
         },   ]
       "ALL_TCP": {  },
          "typeFiltering_Enable": "boolean",{
            "enum": [
              true"on",
              false""
            ]
          },
          "HTTPVLAN_ID": {
            "type": "booleaninteger",
            "enumexample": [21
          },
   true,       "Cap_Unfiltered": {
       false     "enum": [
      ]        "on",
  },            "HTTPS": {"
            ]
      "type": "boolean",    },
          "enumIPV4": [{
              true"type": "string",
            "example src false
ip": "192.168.1.100|-|-",
           ] "example dst ip": "-|-|192.168.1.100",
      },      "example src ip or dst "TELNETip": {"192.168.1.100|0|OR|192.168.1.134|0",
            "typeexample src ip and dst ip": "boolean192.168.1.100|0|AND|192.168.1.134|0",
            "enum":example [src ip or dst ip with cidr": "192.168.1.100|24|OR|192.168.1.134|24",
       true,     "example src ip and dst ip with cidr": "192.168.1.100|24|AND|192.168.1.134|24"
 false             ]
          }},
          "SSHIPV6": {
            "type": "booleanstring",
            "enumexample": ["2001:db8:3333:4444:5555:6666:7777:8888|-|-"
              true},
          "IP_ALL": {
  false          "type": "string" 
]           },
          "RSHProtocol_Select": {
            "type": "booleanstring",
            "enum": [
              "tcp",
              true"udp",
              false"other_port"
            ]
          },
          "FTPPort_Number_Entry": {
            "type": "booleaninteger",
            "enumexample": [80
          },
   true,       "Port_Type": {
       false     "type": "string",
      ]      "enum": [
   },           "SMTPtcp":,
{             "type": "booleanudp",
              "enum": [any"
            ]
        true,  },
          "IP0": {
false             ]"type": "string"
          },
          "POP3IP1": {
            "type": "booleanstring",
          },
 "enum": [        "IP2": {
     true,       "type": "string"
      false    },
        ]  "IP3": {
       },     "type": "string"
       "NNTP": {  },
          "typeIPD0": "boolean",{
            "enumtype": ["string"
              true},
          "IPD1":  {
 false             ]"type": "string"
          },
          "NNTPSIPD2": {
            "type": "boolean",string"
          },
          "enumIPD3": [ {
            "type": "string"
        true,  },
          "IP_COND": {
false             ]"type": "string"
          },
          "IRCALL_TCP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "LDAPHTTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "ALL_UDPHTTPS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "DNSTELNET": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "TFTPSSH": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "SNTPRSH": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NETBIOSFTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "NTPSMTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "DHCPPOP3": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "BOOTPNNTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_CNTLNNTPS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_USERIRC": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V0ULDAP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTPALL_V1UUDP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "GTP_V1V2DNS": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_NAMETFTP": {
            "type": "boolean",
            "enum": [
              true,
              false
            ]
          },
          "CAP_DIRSNTP": {
            "type": "stringboolean",
            "exampleenum": "/cifs/capture/permanent/qpapi" [
              }true,
            "Inc_Resume": { false
           "type": "string" ]
          },
          "Custom_FilterNETBIOS": {
            "type": "stringboolean",
           } "enum": [
       }       }true,
      "InputOutputDir":  {      false
  "type": "object",          ]
         "properties": { },
          "input_directoryNTP": {
            "type": "stringboolean",
            "descriptionenum": "Path to the input directory" [
              true,
            "example": "/cifs/capture/permanent/qpapi_1"
 false
         },   ]
       "output_directory": {  },
          "typeDHCP": "string",{
            "descriptiontype": "Path to the output directoryboolean",
            "exampleenum": "/cifs/capture/permanent/qpapi_2"[
          }    true,
    }       },   false
   "TimeSearch": {        ]
"type": "object",         "properties": {},
           "portBOOTP": {
            "type": "integerboolean",
            "descriptionenum": "Select the port if the capture is in progress",
  [
              true,
              false
          "example": 0  ]
          },
          "captureGTP_directoryCNTL": {
            "type": "stringboolean",
            "descriptionenum": "Path to the capture directory", [
              true,
      "example": "/cifs/capture/records/Port0"        false
            ]
          },
          "timeGTP_rangeUSER": {
            "type": "integerboolean",
            "descriptionenum": "Time range for a search (sec). Default is 1 second" [
              true,
            "default": 1, false
           "example": 600]
          },
          "expressionGTP_V0U": {
            "type": "stringboolean",
            "descriptionenum": "Expression", [
              true,
              false
   "example": "password"         ]
          },
          "syntaxGTP_V1U": {
            "type": "stringboolean",
            "descriptionenum": "BPF syntax", [
              true,
              false
        "example": "src host 192.168.1.122"    ]
          },
          "packetGTP_sliceV1V2": {
            "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"
      }
    }
  }
}